权限与安全
权限模式
TokenDanceCode 提供四种权限模式,让你在不同场景下选择合适的安全等级:
| 模式 | 审批弹窗 | 自动拒绝高风险 | 自动批准已知安全 | 适用场景 |
|---|---|---|---|---|
default | requires_approval 工具显示 | 否 | 否 | 交互式本地使用 |
safe | requires_approval 工具显示 | 是 — 拒绝破坏性操作 | 否 | 共享或 CI 环境 |
auto | 隐藏 — 自动批准多数工具 | 否 | 是 — 安全工具跳过弹窗 | 脚本 / 非交互 |
yolo | 隐藏 — 批准一切 | 否 | 是(一切) | 全自动运行 |
各模式实际阻塞或放行的操作:
safe:阻塞rm -rf、git push --force、chmod 777、PowerShell 的Remove-Item -Recurse,以及任何risk: "high"的工具。拒绝在 workspace 根目录之外编辑文件。default:对归为requires_approval的工具弹出审批,用户可按次同意或拒绝。auto:跳过risk: "low"和risk: "medium"且权限配置匹配当前 workspace 的工具审批。risk: "high"仍会弹出审批。yolo:无弹窗,无拒绝,所有工具立即执行。
选择建议:日常开发用 default;共享服务器或 CI 流水线用 safe;自动化脚本用 auto;完全受控的批处理场景才用 yolo。
审批桥接
当你通过 AgentHub 远程使用 TokenDanceCode 时,本地弹出的权限审批窗口会通过 SDK bridge 转发到 Hub Server。Hub Server 在网页端渲染审批面板,你点击同意或拒绝后,决策返回本地 runtime 继续执行。整个过程对工具调用透明——你看到的是统一的审批 UI,不需要关心网络细节。
安全默认值
每个工具都携带 risk、riskSummary、permissionProfiles、permissionReasons 和 safetyNotes 等元数据,供 AgentHub 调试面板展示和权限解释使用。PowerShell 工具层内置高风险命令拦截,保护本地工作区。
密钥边界:
- API key 和 token 从环境变量或
~/.config/tokendance/内的配置文件读取。 doctor命令报告 key 是否存在,但从不输出真实 key 值。- Transcript(JSONL)在写入磁盘前对包含密钥的字段做脱敏处理。