← Back to home@yanwenzong1-pixel

xinlan-dsh-plugin

DSH 扩展坞|给 DeepSeek Harness(DSH)插上更多接口:输入框预存文案/预存命令一键追加、一句话把整件事派给 PTC 子代理、长任务中断分级报警。DSH plugins for DeepSeek Harness: quick-append / ptc-task / dialogue-alert

Stars
2
Language
JavaScript
Created
Sep 24, 2026
Updated
Oct 13, 2026
GitHub repo

Introduction

DSH 扩展坞

给 DeepSeek Harness(DSH)插上更多接口 —— 3 个开箱即用的插件,clone 完不用构建就能装。

License DSH 无需构建

English · 中文

DSH 插件 · DeepSeek Harness · DeepSeek 外部插件 · cordis patch bundle · AI Agent 提效 · 子代理任务派发


30 秒看懂它能干什么

你每天的麻烦插件装上之后
反复贴同一段提示词、同一串命令⚡ 闪电追加一键追加预存文案/命令,按工作区各存各的;配 LLM 优化:自动读项目说明文档+最近 3 轮对话,把草稿补成精准需求
想把一整件事丢给子代理,又受不了中间输出刷屏🧩 一键派活子代理用 PTC(code)模式写一段程序跑完,中间输出留在程序里,只把结论路径回给你
长任务跑着跑着断了、花超了,事后才发现🔔 报警铃铛被非主动原因中断立刻分级响铃;侧栏顺带显示 DeepSeek 对话数与余额

三个插件都只在 DSH 侧加载,不改 DSH 源码、不碰你的会话数据。

快速上手(约 1 分钟)

git clone https://github.com/yanwenzong1-pixel/xinlan-dsh-plugin.git
cd xinlan-dsh-plugin

dsh plugin --profile web add ./dsh-quick-append
dsh plugin --profile web add ./dsh-ptc-task
dsh plugin --profile web add ./dsh-dialogue-alert-message

重启 dsh web(或刷新页面)即可。装上「闪电追加」后,输入框右侧会多出 ⚡ 和 🔧 两个按钮。

  • --profile web 换成你自己的 profile 名(web / headless / 自定义)即可。
  • dsh plugin … add 会把插件装进 profile,并自动把声明了 dsh.bundle.patch 的包登记进 dsh.profile.bundles,不需要手改 JSON。
  • 卸载:dsh plugin --profile web remove @dsh-external/dsh-quick-append。
  • 不需要构建:三个插件的 lib/ 都已随仓库提交(main 直接指向 lib/index.js),clone 下来即可加载。
不想用 CLI?手改 profile(等价做法)

编辑 <DSH_HOME>/profiles/<name>/package.json,把插件加进依赖与 bundles 层栈:

{
  "dependencies": {
    "@dsh-external/dsh-quick-append": "link:C:/绝对路径/dsh-quick-append"
  },
  "dsh": {
    "profile": {
      "bundles": [/* 内置 bundle… */, "@dsh-external/dsh-quick-append"]
    }
  }
}

然后在该 profile 目录跑一次 pnpm install,再重启 dsh web。

界面

预存命令菜单(7 条全可见)编辑弹窗(视口 460px,20 条可滚动)
预存命令菜单编辑弹窗

0.5.2 起,菜单与弹窗都按内容自适应高度、超长列表只有一个滚动区,并且装得下就不滚、装不下给滚动提示——不会再出现"列表被裁掉、最后几条点不到"。

插件清单

别名目录包名版本一句话
⚡ 闪电追加dsh-quick-append/@dsh-external/dsh-quick-append0.5.2输入框「快速追加」按钮 + 预存命令菜单与编辑弹窗
🧩 一键派活dsh-ptc-task/@dsh-external/dsh-ptc-task0.1.0向宿主注册 ptc_task 工具,把整件事交给 PTC 作用域子代理
🔔 报警铃铛dsh-dialogue-alert-message/@dsh-external/dsh-dialogue-alert-message0.2.3对话中断分级报警 + 侧栏对话数与余额显示(空间不够自动收成图标)

⚡ 闪电追加 · 详细说明

🔥 重点能力:LLM 优化 —— 把一句草稿补成能直接开工的精准需求

开启「LLM 优化」后再点闪电,不是"多接几个字":宿主侧 LLM 会先读你的项目说明文档与最近 3 轮对话,再对提示词做扩充和细节补充。作者自测口径:大幅降低开发难度;提示词优化后精确度提升数倍,有效减少描述歧义。

优化上下文由三部分组成(都有代码落点,不是黑盒):

上下文内容依据
你的草稿输入框现有内容(可带图片,多模态一起交给模型)请求字段固定 ['draft','context','cwd','images'],src/lib/optimize.ts
项目说明文档项目根 5 份规范(README.md + 4 份 SPEC)、docs/ 全部文档、各插件 SPEC/README/DESIGN;按标题剔除「更新日志/变更记录/验收清单/路线图」等非约束章节;带增量缓存,源文件变了才重建,不写你的仓库src/index.ts:145 → loadSpecContext(cwd);src/lib/spec-context.ts:19-41
最近 3 轮对话取最近 6 条 user/assistant 消息拼成上下文,改到一半的活儿也能被正确理解src/client/index.ts:915-927

快速追加文案弹窗:LLM 优化 / goal 模式 开关

  • 输入框右侧两个按钮:闪电 = 一键追加当前工作区的预存文案;扳手 = 上拉菜单插入预存命令(左键插入,右键管理)。
  • 预存文案按工作区隔离并持久化:换项目自动换文案,不会互相污染。
  • 右键闪电打开编辑弹窗(上图):写预存文案、勾「LLM 优化」「goal 模式」、点「插入默认文案」。
  • goal 模式(默认开):追加时在草稿最前面插入 /goal,让这段内容直接作为目标交给 DSH;关掉就是普通提示词。
  • 快捷键:输入区聚焦时 Shift+Alt+F 等价于点闪电;两个按钮都可 Tab 聚焦,Shift+F10 打开右键菜单。

🧩 一键派活 · 详细说明

  • 注册 ptc_task 工具:给 prompt(自包含任务说明)和 resultPath(产出路径),子代理跑完把结果写进文件。
  • 子代理的工具面以 PTC(code)模式呈现,一段程序跑完多步操作,中间输出不进你的上下文;主会话工具面保持原生。
  • 三道护栏:链长恒 ≤ 1(子代理不能再派发)、递归护栏装不上就拒发(fail-closed)、并发去重 + 连续失败熔断。
  • 适合「步骤已确定」的批量活(逐项跑脚本、扫描、对账、汇总);不适合需要边看中间结果再判断的探索型任务。

🔔 报警铃铛 · 详细说明

  • 对话正常完成播「叮咚」;被非用户主动原因中断时按等级播报警音(工具报错 / 强制取消 / 会话驱逐 / 宿主重启)。
  • 只对非主动中断报警:你按的取消不会响。
  • 侧栏状态栏显示 DeepSeek 账号用量:对话数 / 余额(v0.2.2 起不再显示「当日花费」,数据仍在 /api/usage 中保留)。v0.2.3 起按可用宽度自适应:底部动作行被同行插件(如 DSH 内置 Cordis 行)占满时自动收成 12px 图标,完整数据进悬停提示,空间恢复自动还原——不会反过来挤压同行插件。
  • 报警走本插件自包含通道(宿主队列 /api/alarm → 客户端 WebAudio + ack),不依赖任何第三方插件。

先看这条坑(否则可能整个 dsh-web 起不来)

契约:凡是列进 profile dsh.profile.bundles 的包,package.json 必须声明 dsh.bundle.patch 指向真实存在的 cordis.patch.yml。缺一个,宿主加载 profile 时会直接报 profile bundle "<pkg>" declares no dsh.bundle in its package.json 并退出 —— 爆炸半径是整个 dsh-web(你的所有会话与面板),不是「这个插件不生效」。

用 dsh plugin … add 安装时这一条会自动满足;手改 JSON 时请特别小心。

仓库结构

dsh-quick-append/            宿主半 src/index.ts + 客户端半 src/client/ + 构建产物 lib/ + 测试 test/
dsh-dialogue-alert-message/  同上(另含 SPEC.md、integration-check.mjs)
dsh-ptc-task/                纯宿主插件:src/index.ts + lib/index.js,无客户端半
docs/                        设计与迭代记录(含界面截图与踩坑过程)

每个插件目录内的固定文件:

  • cordis.patch.yml —— 把该插件插入 profile 层栈的 bundle patch(宿主接入凭据)
  • scripts/build.ps1 —— 构建入口(Windows PowerShell)
  • lib/ —— 已提交的构建产物(含 lib/types/*.d.ts 与 sourcemap)

环境要求

  • DSH ≥ 0.1.5-rc.1(本仓库在该版本上开发与验证;web profile)
  • Node.js ≥ 20;加载插件不需要构建,改源码才需要
  • 构建脚本是 Windows PowerShell(scripts/build.ps1,依赖 $env:DSH_CHECKOUT 或 -Checkout 参数)
  • 仓库不提交 node_modules/;lib/ 构建产物有意随仓库提交

开发与测试

cd dsh-quick-append
$env:DSH_CHECKOUT = "C:\...\deepseek-harness-dsh-v0.1.5-rc.1"   # 或给 build.ps1 传 -Checkout
npm run build     # build.ps1:建 junction → tsc 编译宿主半 → tsdown 打包客户端半
npm test          # node --test

# typecheck:仓库不在本地装 tsc,直接用 checkout 里的那个
& "$env:DSH_CHECKOUT\node_modules\.bin\tsc.cmd" -p tsconfig.json --noEmit

npm run typecheck 需要 PATH 上有 tsc(仓库不随包安装),没有就走上面那条命令。

搜索关键词 / Keywords

DSH · DSH 插件 · DeepSeek Harness · DeepSeek Harness 插件 · DeepSeek 外部插件 · cordis · cordis bundle · profile bundle · 预存命令 · 提示词快捷追加 · prompt preset · 子代理任务派发 · subagent dispatch · PTC · 中断报警 · 用量监控 · AI Agent 提效

许可

BSD-3-Clause,见 LICENSE。三个插件的 package.json 同样声明 license: BSD-3-Clause。