DeepSeek Harness Hub
← 返回列表

robbin810130/dsh-rtk

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

社区维护的 DeepSeek HarnessDSH插件;非 DeepSeek AI 官方项目。

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/16 · 已提供中文文档

社区DSH插件,在启动时对bash工具应用显式的RTK命令输出过滤。

综合分
29.7
GitHub 分
29.7
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add robbin810130/dsh-rtk
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-rtk
Listed on dsh-plugin.org

社区维护的 DeepSeek Harness(DSH)插件;非 DeepSeek AI 官方项目。

dsh-rtk 在 DSH 服务启动时将 RTK(Runtime Token Keeper)接入 bash 工具:可匹配的命令会先经 rtk rewrite 转换,使终端输出在进入 LLM 上下文前得到压缩,从而减少 token 消耗。

它覆盖 macOS/Linux POSIX 环境中的两个 DSH 工具包:

| DSH 工具包 | 覆盖的预设 |
| --- | --- |
| @deepseek-ai/dsh-tool-bash | standard / code / cordis |
| @deepseek-ai/dsh-tool-bash-persistent | minimal |

从旧 scoped 包迁移

1.0.3 的实际包名改为 dsh-rtk,GitHub 仓库地址不变;本次不是 npm 注册表发布。

已安装 @robbin810130/dsh-rtk 时,不能直接覆盖安装或同时加载新旧两份插件。 先停止 DSH,备份整个 web profile 和插件状态目录,再按顺序执行:

dsh plugin --profile web remove @robbin810130/dsh-rtk
dsh plugin --profile web add github:robbin810130/dsh-rtk#v1.0.3

确认 profile 仅有一个新包及一个 bundle 后再启动。保留原节点 ID、设置和 RTK 备份目录。安装失败时保持停服并还原 profile 备份,不删除原有宿主工具备份。

依赖管理器可能重新生成其他插件的目录。若其他插件把运行数据写在 node_modules 下,须在停服备份后、启动前从备份恢复该数据目录,并校验其余插件文件未变。

安装

前提

1. 安装 RTK:brew install rtk-ai/tap/rtk(或从 RTK Releases 安装)。
2. 设置 RTK 的绝对路径。插件刻意不从 PATH 查找 RTK,以避免 DSH 服务执行意外二进制:

Apple Silicon Homebrew 的典型路径;请按你的安装位置调整
launchctl setenv RTK_BIN /opt/homebrew/bin/rtk

通过 GitHub 安装(推荐)

dsh plugin --profile web add github:robbin810130/dsh-rtk#v1.0.3

安装后重启 dsh web 服务,使 bundle 在启动阶段加载:

kill "$(lsof -tiTCP:3080 -sTCP:LISTEN)"

dsh plugin 使用 pnpm 管理 profile 依赖;GitHub 直装不要求 npm 账号。未来发布到 npm 后,也可使用 dsh plugin --profile web add dsh-rtk@。

验证

在有 Git 仓库的目录调用 bash 工具:

git status
预期:RTK 的紧凑输出,例如:
* On branch main
A  example.txt

关闭单条命令的重写以获得原始输出:

DSH_RTK_DISABLE=1 git status

权限、风险与兼容性

文件写入与完整性边界

DSH 当前没有公开的 bash 命令预执行拦截接口;因此此插件以内容锚点补丁方式修改已安装的:

- @deepseek-ai/dsh-tool-bash/lib/index.js
- @deepseek-ai/dsh-tool-bash-persistent/lib/index.js

每次启动会读取两个文件;仅当所有已知上游锚点都匹配时才写入。锚点不匹配(通常表示 DSH 更新)时,插件会拒绝修改,不会猜测兼容性。

- 写入使用同目录临时文件后 rename 的原子替换,避免半写入的工具文件。
- 补丁前的副本保存到 ~/.dsh/dsh-rtk/(或 $XDG_STATE_HOME/dsh-rtk/),不会写入 npm/pnpm 安装目录。
- 需要对 DSH 全局安装目录拥有写权限;只读安装、Docker 镜像或 DSH 版本不匹配时不会生效。
- 这是修改宿主包的集成方案,不适用于 Windows PowerShell 工具;Windows/macOS/Linux 兼容性应在安装前自行验证。

外部进程与数据

每个可重写的 bash 命令都会作为参数传给你显式配置的 RTK_BIN rewrite 。因此 RTK 二进制能够看到命令文本;仅设置为你信任的本地 RTK 可执行文件。插件不发送网络请求、不收集遥测、不读取命令输出以外的数据。

配置与退出开关

| 设置 | 效果 |
| --- | --- |
| RTK_BIN=/absolute/path/to/rtk | 必需:明确指定受信任的 RTK 二进制 |
| DSH_RTK_DISABLE=1 | 全局关闭重写 |
| DSH_RTK_DISABLE=1  | 单条或复合命令关闭重写 |

要让插件在 profile 中保持安装但不自动应用补丁,可在 ~/.dsh/profiles/web/cordis.patch.yml 添加:

- config:
- id: dsh-rtk
enabled: false

卸载与恢复

dsh plugin --profile web remove dsh-rtk

移除插件不会自动恢复宿主工具文件。需要恢复时,请从 ~/.dsh/dsh-rtk/ 备份手工还原,或使用本仓库的开发者工具:

node patch-rtk.mjs revert

开发与测试

- dsh-rtk/lib/index.js:插件入口与补丁逻辑
- cordis.patch.yml:DSH bundle 入口
- patch-rtk.mjs:开发/救援用的双目标 apply、check、revert CLI

发布前至少运行:

node --check dsh-rtk/lib/index.js
npm pack --dry-run

License

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(robbin810130)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群