沙箱
沙箱(Sandbox)为智能体生成的指令提供隔离且受限的执行空间。通过严格的权限管控,确保命令在安全隔离的环境内运行,有效阻断对未经授权资源(文件、网络等)的访问或者高风险命令(权限修改等)。对于被拦截的命令,智能体会在对话流中发出风险提示,经由用户二次确认后,命令才会在沙箱外被执行。
约束与限制
| 限制类别 | 具体说明 |
|---|---|
| 操作系统 |
|
| 管控对象 |
|
文件访问控制
启用沙箱后,码道CLI对文件目录的访问权限配置如下:
| 操作系统 | 权限类型 | 目录类型 | 目录列表 |
|---|---|---|---|
| Windows | 只读 | - | 除Windows系统关键目录及用户敏感目录外,其余所有目录均开放读权限。 |
| 读写 | 项目目录及其子目录 | - | |
| 不可读不可写 | Windows系统关键目录 |
| |
| 用户敏感目录 |
| ||
| macOS | 只读 | - | 除系统敏感目录外,其余所有目录均开放读权限。 |
| 读写 | 工作空间和额外设置的读写目录 |
| |
| 不可读不可写 | 文档/桌面/下载(隐私) |
| |
| 密码/钱包/钥匙链相关 | ~/Library/Keychains | ||
| 系统级敏感配置 |
|
沙箱调用示例
默认开启沙箱,在执行风险命令时默认启用拦截。TUI开发会弹框是否被拦截,CLI开发模式直接被拦截。
如下图所示,在TUI开发模式下,执行高危命令“net user”时被拦截。

请评估风险后,按需选择执行方式。
- Allow once,仅允许本次执行,下次遇到相同命令会再次询问。
- Allow always,本次会话中,此类命令将不再询问,直接执行。
- Reject,不执行此命令,继续对话。适合您认为有风险或不必要的操作。
关闭沙箱模式
码道CLI支持的运行模式如表3。
| 参数 | 说明 |
|---|---|
| sandbox | 沙箱运行:默认严格限制,支持用户自定义命令与网络白名单 |
| always_allow | 自动运行:全自动执行,完全不受限制 |
| always_ask | 手动运行:遵循默认规则,非默认操作需手动确认 |
| whitelist | 白名单运行:白名单内自动放行,其余操作需确认 |
如果您想要关闭沙箱模式,请进到下述路径做修改:
进入“~/.codeartsdoer/cli-data/storage/permission/”路径,修改“config.json”文件。“~”表示当前用户的主目录,Windows下等同于“C:\Users\用户名\”,macOS下等同于“/Users/用户名/”
如下图所示,修改策略为自动运行。
