DeepSeek Harness Hub
← 返回列表

DeepTrial/dsh-bash-rtk

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
⚠ 装前注意

在 DeepSeek Harnessdsh的 bash 执行器里,把符合条件的 shell 命令路由给 rtkRust…

基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/8/25 · 已提供中文文档

DeepSeek Harness bash 执行器插件,将符合条件的命令通过 rtk(Rust Token Killer)路由,以压缩工具输出并节省 token。

综合分
39.3
GitHub 分
39.3
用户评分
★ Stars
12
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add DeepTrial/dsh-bash-rtk
未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
数据截至 2026/9/17(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包@deeptrial/dsh-bash-rtk(未发布到 npm,仅可源码安装)
Node 引擎要求 >=20.0.0 · 基线 Node 22.19 满足
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

未发布到 npm registry,仅可从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 02:17:16

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-bash-local@deepseek-ai/dsh-bash-sandbox@deepseek-ai/dsh-shell@deepseek-ai/dsh-subprocess-local@deepseek-ai/dsh-sandbox@deepseek-ai/dsh-sandbox-local@deepseek-ai/dsh-sandbox-policy
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-bash-rtk

CI
GitHub Release
License: MIT
TypeScript
Node.js

在 DeepSeek Harness(dsh)的 bash 执行器里,把符合条件的 shell 命令路由给 rtk(Rust Token Killer)执行 —— 压缩工具输出、省 token、其余一概不变。

English version

目录

- 快速示例
- 环境要求
- 为什么需要它
- 工作原理
- 安装与启用
- API / 配置
- 哪些命令会被路由
- 开发
- 许可证

快速示例

插件在 resolve() 边界重写命令 —— 在实际执行之前:

| 输入 (command) | 解析后的输出 | 原因 |
|---|---|---|
| git status | rtk git status | 简单命令 + 在白名单内 |
| cargo build --release | rtk cargo build --release | 简单命令 + 在白名单内 |
| git status \| grep x | git status \| grep x | 复杂 shell —— 直接透传 |
| ls -la | ls -la | 不在白名单 —— 直接透传 |
| git status(无 rtk) | git status | 二进制缺失 —— 恒等回退 |

其余一切 —— 工作目录、超时、环境变量、退出码、沙箱隔离 —— 均原样继承。

环境要求

- Node.js: >= 20.0.0
- rtk: rtk --version 在 PATH 上退出码为 0(需单独安装,例如 cargo install rtk)

为什么需要它

LLM agent 在冗长的工具输出上浪费大量 token(git log、cargo build、pytest 输出……)。rtk 已知道如何把这些输出压缩 30–90%。本插件把这套过滤接到 dsh 的 bash 执行器上,让每个符合条件的命令自动走 rtk —— 且对实际运行内容零语义改动。

工作原理

model → dsh bash 工具 → RtkBashExecutor.resolve()
│
┌───────────────┴────────────────┐
符合条件?                        不符合条件
(简单命令 + 在白名单内)          (复杂 / 未知命令)
│                                │
rtk  …                  命令原样执行
(rtk 压缩输出)              (逐字节透传)

三道独立关卡决定路由(见 src/wrap.ts):

1. 复杂度 — 任何 shell 元字符(| & ;  \ $)都会取消资格。包装这些会改变实际运行内容,故直接透传。
2. 白名单 — 仅 rtk 实际实现的已知开发工具才符合资格(wrap.ts 中的映射表)。
3. 可用性 — 若 PATH 上找不到 rtk 二进制,变换退化为恒等:部署行为与原始本地执行器完全一致。

版本说明

本插件不捆绑、不锁定 rtk 版本。dsh 启动时会探测 PATH 上的 rtk --version(见 src/index.ts 的 resolveRtk())。因此:

- rtk 发布新版本时,任何在本地升级了 rtk 的用户会自动获得新行为 —— 无需更新本插件。
- 本插件版本(本仓库)与 rtk 版本相互独立,请勿混为一谈。本说明给出的是测试所基于的最低 rtk 版本,而非锁步版本号。

要求: rtk 在 PATH 上(rtk --version 退出码为 0)。插件不会安装或管理 rtk —— 你必须自行安装并更新 rtk(例如 cargo install rtk 或下载发布二进制)。当 rtk 缺失时,插件静默退化为透传。

兼容性与版本对齐

本插件依赖三个 @deepseek-ai/dsh- 包,DeepSeek Harness 将它们与 dsh 聚合包分开发布到 npm。由于这些子包(以及 dsh 本身)都以预发布形式(x.y.z-rc.n)发布,peer 范围必须按 awesome-dsh-plugin/contributing.md 带上显式的预发布分支——像 >=0.0.1-rc.1 =0.0.1-rc.1 =0.1.0-rc.1 =0.1.1-rc.1 =0.0.1-rc.1 =0.1.0-rc.1 =0.1.1-rc.1 =0.0.1-rc.1 =0.1.0-rc.1 =0.1.1-rc.1 =0.1.0-rc.6 =0.1.1-rc.1  已知的版本错位: dsh(聚合包,即 npx @deepseek-ai/dsh 安装的)与其 @deepseek-ai/dsh- 子包处于独立的 semver 轨道——聚合包可能是 0.1.1-rc.2,而发布的子包仍是 0.0.1-rc.1。上述范围锁定到已发布的子包版本,因此普通 dsh plugin add 能干净解析。跟进匹配更新请关注 releases。

安装与启用

插件默认禁用 —— 安装后不会生效,需手动开启。

1) 从本地 checkout 安装
dsh plugin --profile web add ""

2) 或直接用最新 GitHub release tarball 安装(无需本地 clone)
dsh plugin --profile web add \
"https://github.com/DeepTrial/dsh-bash-rtk/releases/latest/download/dsh-bash-rtk-latest.tgz"

通过可选 overlay 启用 —— 在你的 profile 的 cordis.patch.yml 中添加:
- id: bash-sandbox
disabled: true
- id: bash-rtk
disabled: false

dsh web   # 重启以生效

内置的 overlay 片段位于 cordis.patch.yml。它会用 RtkSandboxBashExecutor(保留文件隔离)替换原生的沙箱执行器,并保留非隔离的 RtkBashExecutor 供 danger-full-access 场景使用。

API / 配置

两个执行器均接受与其原生对应物(LocalBashExecutor / SandboxBashExecutor)相同的基础配置,外加一个可选字段:

| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| rtkAvailable | boolean | resolveRtk() 结果 | 强制启用或禁用 rtk 包装。适用于测试或二进制路径非标准的部署环境。 |

其余选项 —— cwd、timeoutMs、graceMs 等 —— 均原样继承自上游执行器。

哪些命令会被路由

符合 rtk 包装条件的命令集合由 rtk 本身定义 —— 权威且持续维护的列表见 rtk 命令参考 / README.md。本插件镜像该列表;当 rtk 新增子命令时,升级 rtk(而非本插件)即可生效。

复杂命令 —— 管道、&&/;、重定向、$( )、环境变量赋值 —— 无论白名单如何,始终以原生方式运行。

开发

1. 克隆插件及其依赖的 harness
git clone https://github.com/DeepTrial/dsh-bash-rtk.git
git clone https://github.com/deepseek-ai/deepseek-harness.git

2. 安装 harness 依赖并构建插件所链接的库
cd deepseek-harness && pnpm install && pnpm build:lib:host

3. 安装插件依赖并运行检查
cd ../dsh-bash-rtk && pnpm install --ignore-scripts
pnpm run check        # 类型检查 + 测试 + 构建
pnpm run test         # 仅测试
pnpm run typecheck    # 仅 tsc

devDependencies 通过 link: 指向本地 deepseek-harness 源码仓;测试需在该 workspace 内运行(@deepseek-ai/dsh-* 包必须可解析)。

许可证

MIT

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

💬 加入 DPharness 群聊

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

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