Skip to content

文件变更与操作审批 ​

操作分为结构化文件工具、真实命令与外部服务,分别提供不同保证。会话四档权限见会话与 Agent。

结构化文件变更 ​

edit/write 生成通用变更集,不在生成时修改文件。工作区内修改、完全权限需审批两档,在文本 diff 或文件管理影响清单中审阅后应用;完全权限无需审批档,只自动应用本次写工具新产生的操作。读取、切档或新回合不会顺带应用旧 pending。

  • 文本编辑、新建限 Markdown/TXT,支持唯一替换、指定 occurrence、追加和多处替换;保留 BOM/CRLF。
  • 支持文件、目录的创建、删除、移动和重命名,二进制仅管理文件,不编辑正文。
  • 目录完整枚举隐藏与未索引内容,展示源、目标、影响数量与必要警告;目录整体作为一个确认单元,独立操作可以分别选择。
  • 禁止操作知识库根、将目录移入自身、覆盖目标、链接逃逸及重叠操作。同卷可跨授权知识库移动;跨卷拒绝,不复制后删除。
  • 删除只使用系统回收站;回收站失败则操作失败,不永久删除。
  • 移动更新索引、应用内部文件引用与历史;Markdown 正文的相对链接不自动重写,预览会提示。

后端只接受会话 ID、变更集 ID 与操作选择,路径、正文和原始版本从持久化记录重载。应用前完成全量路径与冲突检查,加锁后重查磁盘 hash、完整目录清单及目标存在性。读取失败直接报错,不使用快照正文兜底。单文件文本原子替换并保留历史。

批次逐项保存状态,失败即停止后续项,界面展示已完成、失败和未执行。已完成项不能再次确认执行;整批不承诺跨文件、回收站、数据库的事务原子性。

只读和 Plan 仍可查看、拒绝旧变更,但不能应用。文件 diff 本身就是审批,不再叠加同义弹窗。

命令与外部操作 ​

exec、browser、MCP、联网搜索/抓取及工作区外读取共用一次性操作审批。完全权限需审批档逐次确认,MCP 自报只读也不能免批;无需审批档经相同权限、功能与来源校验后自动执行。

请求绑定会话、权限版本、工具名、准确参数和唯一请求 ID。前端仅提交决定。关闭、拒绝、停止、300 秒超时、切档、收缩范围、Plan 变化、重启或迟到决定都不能触发执行。准备外部文件 diff 如需读取正文,先审批读取,再审阅变更。

真实命令以当前系统用户权限执行,不逐项预览命令内部的修改,也不保证失败时没有副作用。外部服务可能有远端副作用,这些不受文件 diff 或本地 hash 检查保护。完全权限不会主动请求管理员权限,应用不提供文件系统沙箱隔离。

旧数据 ​

旧权限档位会迁移到当前四档模型,缺失或非法值收为只读。已有草稿转为通用变更集并保留评论;不能安全恢复的草稿显示冲突并要求重新提出,不自动执行。

基于 Apache-2.0 许可发布