dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH web plugin: take over the native approval window so a reject can carry a description the model will see.
DeepSeek Harness Web 插件: 接管原生提权窗口, 并在原生 plan 审查卡上补一个拒绝入口. 拒绝时可以填写描述, 模型会看到这段话.
原生审批点 "拒绝" 只会回一条固定的 rejected, 模型不知道为什么被拒. 本插件用同一张提权卡片接住这次询问, 点拒绝后切到同款拒绝窗口, 描述可选; 留空则不追加描述, 只受下面那条尾句改写影响.
plan 审查卡原生没有拒绝输入框. 本插件不重画这张卡: 卡片, 摘要, 右侧栏里的完整计划, "去聊天里说" / "确认执行" 都由原生渲染, 插件只在卡上多挂一个拒绝入口, 点开弹窗填写描述; 描述走 exit_plan_mode 的 Keep planning custom, 不是提权那条 post-execute.
Web 端装进 web profile:
dsh plugin --profile web add azazo1/dsh-reject-message
固定版本:
dsh plugin --profile web add azazo1/dsh-reject-message#v0.1.0
本地目录:
dsh plugin --profile web add "link:$(pwd)"
装完重启 dsh web, 浏览器里刷新一次页面. 卸载: dsh plugin --profile web remove dsh-reject-message.
桌面端装进 desktop profile. 它由 Electron 应用独占管理, dsh plugin 会拒绝 --profile desktop, 所以要用应用内的插件管理器: 在插件页的安装入口填上面命令里对应的包名或本地目录. 装上后重启应用, 窗口刷新一次.
引擎版本线要求 @deepseek-ai/dsh-* 不低于 0.2.0-rc.1, 且仍在 0.2.x 上 (peerDependencies 与 devDependencies 都写作 >=0.2.0-rc.1 <0.3.0). 更早的引擎线装不上这个版本.
web 与 desktop 两个 profile 跑的是同一套 Web 应用, 桌面端只是多起一个 Host 子进程并给 <html> 打上平台标记, 所以同一份包在两边通用, 不需要分别构建.
开发检查: just verify.
cordis.patch.yml 行配置:
| 键 | 默认 | 说明 |
|---|---|---|
maxLength | 4000 | 拒绝描述最大字符数 |
Client 以 conversation.composer 优先级 -1 只接管 kind === 'approval'; 遇到标准二选一的 kind === 'plan-review' 时先登记这次 pending, 再返回 null 让原生 ui-user-questions 渲染原生审查卡. 插件另注册 conversation.plan-review.actions 里的拒绝入口, 按卡片的 requestKey 取回 pending 提交答案. 提权拒绝走 Host rejectMessage/record 和 tools/post-execute; plan 拒绝把描述放进 questions 答案的 custom. 审批和审查生命周期仍由原生 waterfall 负责.