diff --git a/AGENTS.md b/AGENTS.md index 88c03409..ef0ada81 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -430,7 +430,7 @@ AI 执行以下流程时,每一步都要向用户说明在做什么: - 可写 profile 已于 2026-08-30 白名单化(此前为全局可读,导致 unrestricted/审批批准后能读授权范围外文件);白名单固有代价:祖先目录顶层文件名可列出(读文件内容仍被拒) - 持久终端 shell plan 支持 readonly 参数(`_build_macos_shell_plan` 复用 `_macos_readonly_profile_for_workspace`):受限档终端以只读 profile 创建,unrestricted 保持可写 profile - 原生文件工具对齐(`file_manager/path_mixin.py`):读 roots 与沙箱白名单同源(系统路径 + 工作区 + 授权)+ 叠加同一禁读清单——至此 host+sandbox 下全部读通道(只读/可写沙箱命令、原生 read_file)共享同一边界 -- **Linux 宿主机 = bwrap**:只读为 `--ro-bind / /`(全局只读);可写为 `--ro-bind / /` + 工作区可写 bind——**读侧仍是全局可读,尚未对齐白名单**(本机无 Linux 测试环境,刻意未动,待后续);**Windows = WSL2 最小根文件系统(白名单)**——命名空间内只有系统目录+工作区,天然符合 +- **Linux 宿主机 = bwrap**:只读为 `--ro-bind / /`(全局只读);可写为 `--ro-bind / /` + 工作区可写 bind——**读侧仍是全局可读,尚未对齐白名单**;**2026-09-04 起官方口径:Linux 宿主机沙箱未测试、未适配、不可用**(README 与官网文档已同步声明;待有 Linux 测试环境再适配);**Windows = WSL2 最小根文件系统(白名单)**——命名空间内只有系统目录+工作区,天然符合 ## 11) 多智能体对话类型(multi-agent conversation type) diff --git a/README.md b/README.md index 81192fd7..0444fe46 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ ## ⚠️ 重要声明 - **本项目处于开发中,不要用于正式生产环境。** -- 诸多设计在 **macOS** 环境下开发与验证;Windows 下沙箱执行等许多功能**无法使用或未经检验**,Linux 部分支持(`bwrap + seccomp`)。 +- 诸多设计在 **macOS** 环境下开发与验证;宿主机沙箱已在 **macOS(sandbox-exec)** 与 **Windows(WSL2)** 完成测试;**Linux 宿主机沙箱(bwrap)未测试、未适配、暂不可用**(Linux 服务器上部署多用户服务请使用 Docker 模式,容器隔离在 Linux 宿主上已实测生效)。 - 本项目的大量设计借鉴了 **Codex、Claude Code、OpenCode、OpenClaw** 等智能体产品的优秀实践,特此致谢。 ## 核心特性 @@ -32,7 +32,7 @@ | | `host` 模式(默认) | `web` 模式(值 `web` 或 `docker`) | |---|---|---| | **定位** | 本地个人智能体 | 线上多人 AI 服务 | -| **终端执行** | 宿主机 OS 级沙箱(macOS `sandbox-exec` / Linux `bwrap+seccomp` / Windows WSL2) | 每个用户独立的 Docker 容器 | +| **终端执行** | 宿主机 OS 级沙箱(macOS `sandbox-exec` / Windows WSL2,均已实测;Linux 未适配、暂不可用) | 每个用户独立的 Docker 容器 | | **可登录账号** | host 与 web 两个数据源的账号**均可登录** | **仅 web 数据源账号**(host 账号无法登录,即被封堵) | | **数据目录** | `<数据根>/host/`(同时可读 web 数据) | `<数据根>/web/` | | **默认监听** | `127.0.0.1`(仅本机) | `0.0.0.0`(对外服务) |