DSCC
主页 / guides / permissions

权限体系

DSCC 的每次工具调用都要经过权限模式裁决。模式定义在 crates/runtime/src/permissions.rs:4–23。

模式

模式 别名 级别
ReadOnly read-only、default、plan 只读
WorkspaceWrite workspace-write、acceptEdits、auto cwd 内可写
DangerFullAccess danger-full-access、dontAsk 无限制
Prompt prompt 每次询问
Allow allow 静默全部放行

裁决逻辑

来自 permissions.rs:88–135:

  1. 当前模式 ≥ 所需模式 → 放行。
  2. 当前模式为 Allow → 放行。
  3. 当前模式为 Prompt → 询问。
  4. 当前为 WorkspaceWrite 且所需为 DangerFullAccess → 询问。
  5. 其他 → 拒绝。

每工具要求

各工具通过 PermissionPolicy.tool_requirements: BTreeMap<String, PermissionMode>(permissions.rs:50–73)声明所需模式。未知工具的默认回退是 DangerFullAccess。

设置模式的方式

自低到高(冲突时高优先级生效):

来源 示例
settings.permissions.defaultMode 全局或项目配置文件
DSCC_PERMISSION_MODE 环境变量 export DSCC_PERMISSION_MODE=workspace-write
--permission-mode CLI 参数 dscc --permission-mode read-only prompt ...
/permissions <mode> 会话中途切换

相关