MIT 的 DSH 插件:把白名单内的 shell 命令包给 rtk 压缩输出,复杂命令原样直通,rtk 缺失时什么都不做。
DSH 适配
原生运行时
作者声明
安全审计
未审计
最后核验
2026-11-12
许可证
MIT
01它能帮你完成什么?
把 DSH 会话里冗长 shell 输出吃掉的 token 省回来
符合条件的命令被重写成 `rtk <子命令> …`,由 rtk 压缩输出;工作目录、超时、环境变量、退出码与沙箱限制保持不变
会话里大部分输出都来自 `git`、`cargo` 和测试命令的 DSH 用户
机器上没有 rtk 时,部署行为仍和原生执行器完全一致
恒等回退:PATH 上找不到 `rtk` 时命令原样执行,复杂 shell 命令也始终原生执行
希望这项优化严格可选、随时可退的团队
02如何接入 DeepSeek Harness?
前置条件
- Node.js ≥ 20.0.0
- 单独安装的 `rtk`(例如 `cargo install rtk`),且 `rtk --version` 在 PATH 上退出码为 0——插件从不安装或管理它
- 一个可以改配置的 DSH profile;插件针对 `dsh` 0.2.1-alpha.1 验证,同时保持 0.1.x 可用
安装步骤
- 01
从本地检出安装:`dsh plugin --profile web add "<path-to-this-dir>"`,也可以直接用最新 release tarball 的地址
$ dsh plugin --profile web add "<path-to-this-dir>"
- 02
启用:插件默认关闭,需要在 profile 的 `cordis.patch.yml` 里加覆盖层——把 `bash-sandbox` 设为 `disabled: true`,`bash-rtk` 设为 `disabled: false`
- 03
用 `dsh web` 重启使 profile 改动生效
$ dsh web
验证接入成功
作者未说明
回滚
- 去掉覆盖层条目(或把 `bash-rtk` 改回 disabled)再重启 `dsh web`;没有 rtk 或没有覆盖层时执行器行为与原生一致
03DSH 适配与能力边界
DSH 插件:用 `RtkBashExecutor` / `RtkSandboxBashExecutor` 替换原生 bash 执行器,并在 `resolve()` 边界重写命令
在 `resolve()` 处重写命令
模型发来的一条 shell 命令→符合条件的命令变成 `rtk <子命令> …`,其余原样返回
重写发生在执行之前,工作目录、超时、环境变量与退出码都原样继承三道独立判断
一条候选命令→复杂度(含 shell 元字符即淘汰)、白名单(只包 rtk 真正实现的开发工具)、可用性(二进制缺失时用恒等变换)
含管道、`&&`、`;`、重定向、`$( )` 或环境变量赋值的命令始终原生执行rtk 版本独立
`dsh` 启动时在 PATH 上找到的 `rtk`→你装的 rtk 版本决定可用的子命令与行为,不需要更新插件
插件不捆绑也不锁定 rtk,插件版本与 rtk 版本各自独立演进`rtkAvailable` 覆盖开关
执行器配置里的一个布尔值→无视 PATH 探测结果,强制开启或关闭 rtk 包装
面向测试,或二进制装在非标准路径的部署
04适合谁?何时不该用?
适合
- 会话里大部分输出都来自 `git`、`cargo` 和测试命令的 DSH 用户
- 希望这项优化严格可选、随时可退的团队
不适合
- rtk 不由插件捆绑或管理:需要你自己安装与更新,PATH 上没有它时插件只是一个静默直通。
- 针对 `dsh` 0.2.1-alpha.1 验证;README 说明 `dsh` 聚合包与 `@deepseek-ai/dsh-*` 子包在两条独立的 semver 轨道上,所以每条支持的发布线都要有自己的 peer 范围分支。
05兼容性、维护与安全提示
- 复杂命令——管道、`&&`/`;`、重定向、`$( )`、环境变量赋值——无论白名单如何都原生执行,因此拿不到 token 节省。
- rtk 不由插件捆绑或管理:需要你自己安装与更新,PATH 上没有它时插件只是一个静默直通。
- 插件默认关闭:装上之后不启用覆盖层并重启 `dsh web`,什么都不会改变。
- 针对 `dsh` 0.2.1-alpha.1 验证;README 说明 `dsh` 聚合包与 `@deepseek-ai/dsh-*` 子包在两条独立的 semver 轨道上,所以每条支持的发布线都要有自己的 peer 范围分支。
MIT 源码;本文所有事实均来自记录提交处的仓库 README,未做独立安全审计。
06常见问题
哪些命令真的会被包装?
只有 rtk 真正实现的开发工具白名单里的简单命令——`git status`、`cargo build --release` 符合,`ls -la` 不符合。命令里出现任何 shell 元字符(`| & ; < > \` $`)都会淘汰,所以管道、重定向和环境变量赋值始终原生执行。
插件会帮我装 rtk 吗?
不会。它不捆绑也不锁定 rtk,需要你自己安装与更新(例如 `cargo install rtk`),让 `rtk --version` 在 PATH 上退出码为 0。二进制缺失时变换退化为恒等,部署行为与原生执行器一致。
装完为什么界面毫无变化?
插件默认关闭。需要在 profile 的 `cordis.patch.yml` 里加覆盖层启用——`bash-sandbox` 设为 `disabled: true`、`bash-rtk` 设为 `disabled: false`——然后重启 `dsh web`。
验证过哪些 DSH 版本?
README 说明插件针对 `dsh` 0.2.1-alpha.1 验证,并保持 0.1.x 可用;它还解释了 `dsh` 聚合包与子包使用两条独立的 semver 轨道,这也是 peer 范围里要写显式分支的原因。
能强制打开或关掉 rtk 吗?
可以,执行器支持可选的 `rtkAvailable` 布尔值,用来覆盖 `resolveRtk()` 的 PATH 探测;README 说它适用于测试,或二进制装在非标准路径的部署。
07相关的 DSH 工作流
dsh-our-free-model
作者 ebony-vinyl
在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Flash、Kimi K3 在内的前沿模型——完全免费,不限量。 All you do is install this plugin in dsh: no login, no sign-up, no API key — the frontier models are just there, DeepSeek V4.1 Flash and Kimi K3 among them. Completely free, with no usage cap.
dsh-routing-suite
作者 yjh051108
DeepSeek Harness(dsh)路由套件:先装运行时注入器,再加载任务感知的推理模式路由预设(已实测 P1-P23)。
dsh-ops
作者 t-auto
A toolkit for low-level operations in DSH, designed to reduce token usage and task execution time / DSH 底层操作工具插件,旨在减少 Token 消耗与任务耗时
brooks-lint
作者 hyhmrright
基于 12 本经典工程书籍的 AI 代码评审工具,提供腐化风险诊断、书籍引用、严重度标签及 6 种分析模式。
08数据与来源
> Route eligible shell commands through [rtk](https://github.com/rtk-ai/rtk) (Rust Token Killer) inside the DeepSeek Har…
The plugin rewrites commands at the `resolve()` boundary — before anything runs:
页面基于项目公开文档、仓库元数据和 DSH Plugins 的结构化解析生成;最后核验于 2026-11-12。发现错误?提交更正。
最佳 DeepSeek Harness 插件
从全目录挑出的 12 个值得优先安装的插件,覆盖各个分类。
