deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
中文 | English
有些高风险操作值得你亲自点头,但同一个任务里,不该让你为同一件事反复点头。
dsh-turn-approval 为 DeepSeek Harness(DSH)Web 审批卡片增加 「允许本次任务」:当 Agent 请求 danger-full-access 时,你可以只授权当前任务余下时间内的同类升级。任务结束后,授权自动消失。

默认的 DSH 权限保持 workspace-write + ask,不会被本插件改成全局高权限。
当 Agent 需要工作区外的高权限操作时,审批卡片会显示:
[拒绝] [允许一次] [允许本次任务]
danger-full-access 请求自动放行;turn/end 后立即失效。建议固定到一个 commit SHA,确保日后仓库更新不会静默改变本机运行的代码:
dsh plugin --profile web add github:arrow949/dsh-turn-approval#<commit-sha>
插件为已提交构建产物的纯 ESM JavaScript;从 GitHub 安装时不需要 prepare 脚本或 pnpm allowBuilds 权限。
dsh plugin --profile web add ./dsh-turn-approval
安装后重启 DSH Web,并在浏览器中硬刷新(Ctrl+Shift+R)。出现第三个按钮即表示插件已加载。
workspace-write + ask。danger-full-access 时,阅读审批原因与命令。查看当前 profile 是否挂载了插件层:
dsh --profile web --dump-config
卸载:
dsh plugin --profile web remove dsh-turn-approval
卸载后,Node half 与 client half 会一并移除,审批卡片自动回到 DSH 官方默认的两个按钮;不会遗留对官方文件的修改。
session + turn,不会把整个 session 切换为 full access。danger-full-access 升级;workspace-write 和其他审批仍逐一询问。点击「允许本次任务」后,插件会先向宿主建立任务授权。若端点返回非 2xx 或网络请求失败,卡片会明确提示失败并保持可重试;它不会假装授权已建立,也不会静默降级为“允许一次”。
本包是官方定义的 DSH bundle:package.json 声明 dsh.bundle.patch,cordis.patch.yml 将插件加入 profile。client half 通过官方 conversation.composer chain 槽位,以更高优先级渲染审批卡片;不修改任何 DSH 官方 bundle 文件,卸载即还原。
当前外观复用官方 ApprovalPanel 的内部 CSS 类名。若未来 DSH 改动该组件结构或 CSS module 类名,本插件可能需要发布兼容更新;这不是修改官方文件。
仅支持 DSH Web:headless profile 没有 UI 入口,任务授权端点不会注册。
在用户明确要求安装本插件后,执行:
dsh plugin --profile web add github:arrow949/dsh-turn-approval#<commit-sha>
dsh --profile web --dump-config
然后提示用户重启 DSH Web 并硬刷新浏览器。不要修改 DSH 官方 bundle 文件。卸载命令为:
dsh plugin --profile web remove dsh-turn-approval
pnpm install
pnpm test
当前测试覆盖 turn 与 session 隔离、类型隔离、端点防伪造、重启 fail-closed,以及 Cordis 集成链路。
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。