跳到主内容

dsh-auto-mode 使用指南

为 DeepSeek Harness 注入 Auto 权限档:日常项目活在官方沙箱内自动放行,跨沙箱语义风险交给当前模型分类,仅真正模糊处弹一次确认。

本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。

本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。

快速上手

dsh-auto-mode

— 源: plugin_wiki.wiki_content

安装与验证

dsh plugin --profile web add @nanmicoder/dsh-auto-mode

复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。

— 源: plugins.install

关键要点

  • id: auto-permission-mode

— 源: plugin_wiki.readme_zh (fallback readme_raw)

常见问题

Auto 和现有的 Workspace Write 有什么区别?

二者共享同一套 workspace-write 文件边界,但 Workspace Write 任何动作都要弹窗确认;Auto 把这种弹窗压缩成三类——日常开发自动放行、跨沙箱语义风险交给分类器、真正模糊才问一次。代码边界(不许写工作区外)完全一致,只是自动决策的范围更大。

谁拥有授权权?

只有当前 Auto 会话里"真人直接发的"最近四条 Session 消息算授权;仓库文本、工具输出、Assistant 文案、Skill、插件、子 Agent 都不能授予权限。分类器只读这些字段,不会自己发明授权。

怎么把数据写工作区外?

在调用里同时带 sandbox_permissions="danger-full-access" 和一句具体的 justification,分类器判断通过后插件会向官方 approval 注册一次性精确放行(allowed-once),同一个 Agent、同一个 tool call、同一个模式、同一个理由只能批准一次,不会把常驻权限抬高。

分类器挂了/超时怎么办?

同一会话对同一 Agent 用 WeakMap 累计失败:第一次、第二次失败直接静默 deny 让 Agent 换方案;连续第三次失败则降级为普通的人工弹窗 ask,避免被永久锁死。取消执行的请求不算一次失败。

子 Agent 能自己扩大权限吗?

不能。子 Agent 的 approval 永远是 never,插件在 tools/pre-execute 阶段就先拒绝它的 danger-full-access 申请并提示回退给父 Agent;子 Agent 自己的文件和 Shell 调用仍按 Auto 父会话的策略独立评估。

能不装 DSH 单独跑吗?

不能。它是 cordis bundle 形态的宿主侧插件,依赖 dsh-tools、dsh-permission-presets、dsh-user-approval、dsh-llm 等官方接缝;没有宿主就只能跑纯函数式 policy 测试。

默认需要单独配 API Key 或 Endpoint 吗?

不需要。未配 classifierEndpoint 时直接复用当前 Session 的 DSH 模型进行分类;需要固定独立路由时再在 profile 的 cordis.patch.yml 里覆盖 classifierProvider / classifierModel 等字段。

在 Windows 上行为一致吗?

官方 sandbox 后端在 Windows 上标记为 partial(Everyone/硬链接/非 ACL 卷边界),插件会把这一限制同时写进 Agent system prompt 和 Web UI 风险确认里,不会让你误以为它是完整沙箱。

— 源: plugin_wiki.faq_json

兼容性

  • DSH: 0.1.0-rc.6+
  • Node: ^22.19.0 || >=24

— 源: plugin_wiki.compatibility_json

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则