前言¶
DeepSeek Harness (DSH) 生態強調模塊化,dsh-router-ext-rtk 是爲 dsh-router 設計的擴展。智能體在執行 bash 命令時,輸出往往包含大量冗餘信息,導致 Token 消耗巨大。該插件通過將 bash 命令改寫爲 rtk <cmd>,利用 Rust Token Killer 壓縮輸出,將發給 LLM 的 bash 輸出削減 60-90%。
是什麼¶
該插件由 CARVIN94 維護,遵循 MIT 許可證。它註冊了一個命令重寫擴展,讓 dsh-router 在每次調用 bash 工具時通過 rtk rewrite 運行命令,從而壓縮輸出。單獨安裝它沒有作用,它依賴 dsh-router 核心提供面板和開關存儲。
安裝與啓用¶
使用前請確保 DSH 版本在 0.2.0 及以上。
- 安裝插件:
dsh plugin --profile web add dsh-router-ext-rtk
- 安裝前置工具 RTK(注意不是 Rust Type Kit):
brew install rtk
# 或
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/master/install.sh | sh
- 驗證 RTK 安裝:
rtk --version # 應返回版本號
rtk gain # 應顯示 token 節省統計
- 在 Web 界面啓用:
進入「設置 → 路由 → 擴展」頁面,打開 RTK 開關。如果 RTK 未安裝或不可用,核心會拒絕開啓並返回 API 409。
核心功能¶
- 真實代理:每條 bash 命令經
rtk rewrite改寫後執行,LLM 讀取的是壓縮後的輸出。 - 降級安全:rtk 缺失、無等價改寫或執行失敗時,命令會原樣執行,絕不報錯。
- 只攔 bash:僅攔截 bash 工具,不影響其他工具(如 run_code)。
- 開關自檢:啓動時探測 rtk,不可用時核心拒絕開啓並給出描述。
- 開關持久化:狀態存儲在覈心的配置文件中(
<profile>/data/ext.json),默認關閉。
配置¶
如果 rtk 不在默認路徑中,可以通過環境變量 DSH_RTK_BIN 顯式指定可執行文件路徑。
工作原理¶
核心負責管理面板、渲染界面、開關持久化以及裁決能否開啓。本插件負責執行重寫、攔截 bash 調用、處理退出碼。插件是無狀態的,它通過 router.extStore 與核心進行交互,不自己進行文件 IO。
關鍵點:在代碼中調用 tools.get('bash', exec.agent) 時,agent scope 不能省。不帶 scope 只查全局視圖,查不到就會靜默走原樣,不報錯也不改寫。
RTK 退出碼處理¶
RTK 權限默認最低,極少命令返回 Allow(0)。常見命令(如 git status)都返回 Ask(3)。在用戶開啓開關授權後,退出碼 3 也會採用 stdout:
- 0 (Allow):有等價改寫,採用 stdout。
- 1 (無等價):放行,原樣執行。
- 2 (Deny):放行,不做阻斷。
- 3 (Ask):有等價改寫但默認需確認,採用 stdout(用戶已授權)。
- Spawn 失敗/超時:放行。
適用場景¶
該項目僅用於學習與技術研究,請勿用於商業用途。
總結¶
該插件通過將 LLM bash 輸出減少 60-90% 來提高效率。核心提供管理,插件負責執行。更多細節請查看項目目錄:
- 插件目錄
- GitHub 倉庫