核心机制
权限与审批
居民到底能碰到什么、什么时候需要你点批准、全自动档留下了什么、什么数据会离开本机。
群岛把「居民能做什么」收成两档,把「越界的那一下」收成一张卡。理解这两件东西,你就理解了全部安全模型。
两个权限档位
档位是每位居民各自的,在居民档案卡里改,只有岛主能改(居民自己动不了,对话里也改不了)。
| 档位 | 行为 | 留痕 |
|---|---|---|
| 半自动(默认) | 危险操作与工作区外写入 → 弹审批卡等你决定 | 全部工具调用与审批问答进审计 |
| 全自动 | 不弹卡,直接执行 | 每笔原应弹卡的操作在回合时间线留「全自动放行」回执签,可回看 |
存量迁移口径:老版本的「完全访问」→ 全自动;「只读 / 工作区」→ 半自动。
全自动不是无记录
全自动只是「不用你每次点」,不是「没有痕迹」。审批门本身不会消失——每一笔越界操作都会被记下来,并在回合时间线里留一粒回执签。
工作区:权限的边界
每位居民有一个真实目录作为默认工作区,默认在 ~/群岛/<居民名>-<短号>/,Finder 里直接可见。也可以在居民档案里指到你的真实项目目录。
- 写在工作区内 = 正常操作,不打扰你。
- 写到工作区外 = 越界,半自动档弹卡;全自动档放行但留痕。
- 工作区的位置与权限语义完全解耦——不是「默认目录就自动安全」,看的是它指哪。
什么会触发审批卡
内置默认清单包括:
- 破坏性命令:
rm -rf、sudo、覆盖性重定向到工作区外等; - 会改远端或公开内容的操作:
git push等; - 任何工作区外的写入;
- 通过技能包/服务能力调用的外部服务(每次调用都过同一道审批门)。
卡面会用人话说清后果,比如 git push 写的是「推送到远程仓库,会公开或覆盖远端内容」。
审批卡的四个键
半自动档下,输入行会整个被替换成决策面板:
| 按键 | 决策 | 作用范围 |
|---|---|---|
Esc | 拒绝 | 这一次 |
Enter | 允许 | 这一次 |
⌘ + Enter | 本回合不再问 | 到本回合结束 |
⌥ + Enter | 以后全自动 | 把这位居民转成全自动档 + 本卡放行 |
四条硬规则:
- 批准当次有效,不会顺延成默认。
- 批准的就是执行的:卡上展示的参数不会被改写后再执行。
- 窗口全部关闭时一律拒绝(fail-closed),不会因为没界面就默认放行。
- 「本回合不再问」只对本回合、本会话生效,不会泄漏给同一居民的并行任务会话或单聊。
待审在哪看
审批卡可能落在你没在看的会话里,所以有四路召唤:
- 侧栏该会话的头像角标;
- 侧栏顶部的待审横条;
- 聊天头部的琥珀色提示线;
- Dock 图标角标。
有未处理审批时,该会话在消息列表里置顶。
审计与回看
- 全部本机工具调用与审批的「问 / 答」都写进一张 append-only 审计表。
- 居民档案的**「文件」页签**列出 TA 经手写过的所有文件——由审计记录推导,点行用系统默认程序打开,行角按钮在 Finder 里定位。
- 回合时间线保留每一次工具调用的事件签:执行中转圈,完成带收尾摘要(如「执行 npm test · exit 0 · 2.3s」),被拒 / 中止 / 失败均有标注。
任务会话的隔离模式(更严)
任务会话绑定 git 仓库时默认启用独立工作树:任务在自己的分支上干活,你的原目录逐字节不动。在这种模式下:
- 文件工具的相对路径与写入范围切到工作树,工作树外写入是硬拒绝,不走审批——没有「批准一下就能越界」这个选项。
- 终端命令默认在工作树里跑,提交自动署居民自己的群岛身份。
- 绑定前有安全前置检查:仓库必须干净、不能有进行中的 merge/rebase、不能是裸仓库或子模块。任何一项不满足就拒绝绑定并说明原因,不会静默降级。
- 非 git 目录走直连模式:改动直接落在目录里,授权卡会明示「无隔离」。
细节见任务的三种形态。
已知的残余面
经绝对路径调用 shell 的越界操作,隔离工作树管不住,由既有的审批档位兜底。这是有意的取舍:与其假装隔离,不如让它显式经过审批。
哪些数据会离开本机
| 内容 | 是否出本机 |
|---|---|
| 居民的对话上下文 | 会——不发给模型服务就生成不了回复 |
| 联网搜索 / 云端抓取兜底 | 会——查询词或网址发到云端服务 |
| 邮局信件 | 会——信件要经中继才能送到朋友的岛 |
| 积分与用量 | 会——计费需要 |
| 居民、记忆、聊天记录、工作区文件 | 不会作为云端存档。服务端不保存一份你的岛,也没有跨设备同步 |
「发给模型用于推理」和「云端保存一份」是两件不同的事。群岛的做法是前者必须、后者不做。积分不足时服务端会直接 403 兜底,不会悄悄降级到别的通道。
检查清单
新装之后,花两分钟做这几件事:
- 打开每位居民的档案,确认权限档位是你要的(默认半自动)。
- 确认工作区指向正确的目录——尤其是给居民指过真实项目的人。
- 知道四个审批快捷键分别是什么,不会误触。
- 知道「本回合不再问」不等于永久放行。
适用版本:v1.5.2 及以后·最后更新:2026-11-13
发现写错或过时?点上方「编辑此页」提 PR,或在 常见问题 里找到反馈入口。