new work zone - #710
new work zone#710
Conversation
feat(workspace): unify file tools and add directory-bound projects
|
本轮 review 修复已更新至 改动
验证
正文中的旧描述需以当前实现为准通用文件操作现在使用 FileSystemToolkit,磁盘 IO 在宿主工具侧执行,Core 管理授权与审批;shell 具有独立审批及会话 grant。正文中“统一通过 LocalFileToolkit”“磁盘操作集中到 Core”“不提供任意 Shell”的旧表述未反映当前实现。本账号无法修改此 PR 正文,因此在此补充说明。 |
|
新增本地工作区绑定和工具审批,并将 host_file 授权限定为产品策略:非本地部署不注入 policy,准备成功默认放行;本地/Desktop 根据 Core 冻结的可信上下文使用“始终询问 / 按需确认 / 完全信任”。缺失本地上下文不会降级放行。
验证:
LazyLLM gitlink 固定为联合验证使用的 ff55fd156ccc03da4fc176cfc947c53fbd4bfdf5,对应 LazyLLM #1320。本轮未运行全量前端类型检查,不撤销此前未通过的记录;未验证 Windows 原生 IO,也未执行生产部署。能力声明不是进程沙箱。 AI 参与:Codex 主导实现,方案由用户确认。 |
变更为本地和 Desktop 会话提供工作区绑定、权限选择和工具审批。通用文件操作由 LazyLLM 支持 allow_all、always_ask、ask_as_needed,以及 shell 和具备稳定身份的工具授权。审批绑定调用参数摘要与 run/lease 身份,保留权限快照、撤销、超时、幂等和不确定结果处理。 Core 文件执行协议仅接受 删除 workspace 的 ReadPolicy/WritePolicy,权限统一由会话 PermissionMode 决定。新增增量迁移,支持 PostgreSQL 和 SQLite 升级/回滚,SQLite 保留数据、索引和绑定;回滚恢复两列为 allow。同步 v0_3 聚合结构,不改写已共享增量迁移。 依赖LazyLLM 后续清理 PR:LazyAGI/LazyLLM#1323 。本 PR 的 gitlink 指向其提交 验证(2026-09-16)在现有容器完成以下验证,未启动 evo、未部署、未操作开发业务数据:
升级边界先更新 LazyLLM,再在没有执行中审批的窗口协调更新 Core 与 Algorithm。不提供旧协议混跑兼容,不清空业务数据。本次清理仅针对本 PR 及关联 LazyLLM PR 新增内容;原有未提交的平台身份、前端及运行配置修改未纳入提交。 |
修改内容为本机目录提供工作区授权、会话绑定和三档权限控制。LazyLLM 工具负责实际执行,Core 统一校验目录身份、执行状态及审批;文件工具、Shell 和 MCP 调用遵守对应权限规则。
验证
已知边界
详细验收记录:docs/workspace-identity-validation-20260916.md。 |
What
LocalFileToolkit操作文件main,LazyLLM gitlink 与官方保持一致Why
原有文件工具主要用于内部产物目录,无法安全访问用户选择的本机目录,也缺少统一的权限检查和逐次审批。此次实现将目录授权和磁盘操作集中到 Core,避免 Agent、SubAgent 或 Workflow 绕过权限直接操作宿主文件。
Tests(2026-09-11 更新)
当前前端验证状态
pnpm typecheck:all未通过,撤回此前“前端 typecheck 通过”的笼统表述。frontend/node_modules,各自保留对应提交的源码与 tsconfig,均在 frontend 目录执行pnpm typecheck:all。ffffc4e1message.test.ts(49,1)与(49,2)TS1128,多余});导致语法错误,不能据此判断语义类型错误数量a67353b187f77a0aa67353b1的 486 条中,485 条也出现在临时 base 副本,另有 1 条conversationHistory.test.tsTS2345;该差异在87f77a0a修复。修复后 head 相对该临时副本无独有诊断。此结果不等于全量 typecheck 通过,也不是干净依赖安装或 CI 验证。NODE_OPTIONS=--no-experimental-webstorage pnpm test ...规避 Node 26 原生 webstorage 与 jsdom 冲突。git diff --check通过。历史验证记录(本轮未重新执行,不代表当前 head 已通过)
go vet ./...;工作区 Chat、SubAgent、Workflow、审批、迁移及并发回归。边界(诚实声明)