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 個值得優先安裝的外掛,涵蓋各個分類。
