返回目錄

dsh-bash-rtk

精選清單收錄維護狀態: 活躍

deeptrial/dsh-bash-rtk

通过 rtk(Rust Token Killer)压缩工具输出以节省 Token 的 bash 执行插件。

前往 GitHub專案首頁
$ dsh plugin --profile web add "<path-to-this-dir>"

18

星數

7

Fork

TypeScript

語言

MIT

授權條款

2026-08-14

建立於

2026-10-18

最近推送

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 可用

安裝步驟

  1. 01

    從本機取出安裝:`dsh plugin --profile web add "<path-to-this-dir>"`,也可以直接用最新 release tarball 的網址

    $ dsh plugin --profile web add "<path-to-this-dir>"

  2. 02

    啟用:外掛預設關閉,需要在 profile 的 `cordis.patch.yml` 加覆蓋層——把 `bash-sandbox` 設為 `disabled: true`,`bash-rtk` 設為 `disabled: false`

  3. 03

    用 `dsh web` 重新啟動讓 profile 改動生效

    $ dsh web

驗證整合成功

作者未說明

復原

  • 移除覆蓋層條目(或把 `bash-rtk` 改回 disabled)再重新啟動 `dsh web`;沒有 rtk 或沒有覆蓋層時執行器行為與原生一致

03DSH 整合程度與能力邊界

DSH 整合原生執行環境

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 範圍分支。
2026-08-142026-10-18v0.1.1

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 說它適用於測試,或二進位檔裝在非標準路徑的部署。

08資料與來源

  • 作者聲明github.comd6559654d328…

    > Route eligible shell commands through [rtk](https://github.com/rtk-ai/rtk) (Rust Token Killer) inside the DeepSeek Har…

  • 作者聲明github.comd6559654d328…

    The plugin rewrites commands at the `resolve()` boundary — before anything runs:

此頁面根據專案公開文件、儲存庫中繼資料與 DSH Plugins 的結構化解析所產生;最後核實於 2026-11-12。發現錯誤?提交更正。

🏆

最佳 DeepSeek Harness 外掛

從全目錄挑出的 12 個值得優先安裝的外掛,涵蓋各個分類。

DSH Plugins 是獨立的 DeepSeek Harness 外掛目錄,與 DeepSeek 官方無關,也不代表官方背書。第三方外掛未經安全稽核,安裝前請審查原始碼。

每週取得最新的 DeepSeek Harness 外掛,絕不濫發。