前言¶
在 DSH 工作流裏,經常需要把 shell 命令結果交給模型判斷:查磁盤、看日誌、跑構建,或連續執行幾條命令後再讓模型分析過程。常見做法是在外部終端運行命令,再手動複製輸出給模型。
dsh-shell-command 提供兩個入口:/! 用於運行一條命令並分析輸出;/terminal 用於打開交互終端,並把會話記錄按需引用給模型。
插件定位¶
dsh-shell-command 是 CHplus0 維護的 DeepSeek Harness(DSH)插件,採用 MIT 許可證。
它提供兩個命令:
/! <command>:在會話 workspace 中運行一條 shell 命令,並把輸出發送給模型分析。/terminal:打開帶Session和History標籤的交互式 PTY 終端,支持按需引用歷史會話。
核心功能¶
/! 單命令分析¶
/! 的設計參考 Claude Code 的 ! 手勢。由於 DSH 的輸入觸發系統只支持 / 和 @ 作爲觸發字符,因此這裏使用 /!,而不是裸 ! 前綴。
使用 /! 時:
- 命令在當前 DSH 會話的 workspace 中運行。
- 命令輸出會進行邊界處理,並整理成適合模型分析的內容。
- 命令生命週期會記錄到 trajectory。
需要注意:
/!需要一個已存在的模型會話;在第一次模型請求之前的首條消息中不可用。- 命令輸出會發送給模型,使用前請確認命令和輸出內容。
/terminal 交互終端¶
/terminal 會打開交互式 PTY 終端彈窗,包含 Session 與 History 兩個標籤。
會話關閉時不會自動把內容發送給模型。若該會話沒有收到輸入,則不會創建歷史條目。若會話收到過輸入,則會話記錄會保存到:
<workspace>/.dsh-shell-transcripts/
在 History 標籤中,可以:
- 選擇一個或多個歷史會話;
- 添加可選說明;
- 將選中的會話記錄發送給模型分析。
終端輸入行支持 ArrowUp / ArrowDown 召回之前提交的行,客戶端本地保存,最多 500 條。當前不支持 Tab 補全;完整 VT100/xterm 支持計劃在後續版本提供。
會話記錄保留策略會保留每個 session ID 最近 10 個會話,可通過 terminalTranscriptKeep 配置。若不希望記錄進入版本控制,建議將 .dsh-shell-transcripts/ 加入 .gitignore。
安裝與啓用¶
使用前需要:
- dsh CLI
- Node >= 22
安裝命令:
dsh plugin --profile web add dsh-shell-command
安裝後,在 DSH 輸入框中使用 /! 或 /terminal。
典型用法¶
用 /! 分析單條命令¶
/! df -h
命令運行後,輸出會發給模型,用於分析磁盤使用情況。
/! git log --oneline -10
可用於讓模型查看最近提交記錄。
/! npm run build
可用於把構建輸出交給模型分析。
用 /terminal 查看並引用終端會話¶
- 輸入:
/terminal
- 在終端中運行需要的命令。
- 點擊“退出”。
- 面板進入
History標籤,剛關閉的會話會被預選。 - 可選地添加說明。
- 點擊“引用並分析”,將選中的會話記錄發送給模型。
適用場景與注意事項¶
適合以下場景:
- 快速檢查系統狀態、文件、Git 狀態或構建結果;
- 先執行命令,再讓模型解釋輸出;
- 在終端中連續調試,之後把相關記錄交給模型分析;
- 對比多個終端會話,讓模型分析差異。
使用前注意:
- 插件會執行 shell 命令,並以當前 dsh 進程可用的權限運行;執行前請確認命令內容和運行環境。
- 安裝前建議檢查源碼與 MIT 許可證。
/!適合需要立即分析輸出的單條命令;/terminal更適合多步、探索式操作。- 關閉
/terminal不會自動發送任何內容給模型。 - 空終端會話不會產生歷史條目。
- 當前不支持 Tab 補全;部分交互式全屏程序可能受終端支持限制。
獲取¶
插件名:dsh-shell-command
GitHub:
https://github.com/CHplus0/dsh-shell-command
目錄頁:
https://www.skillhub.cn/plugins/CHplus0/dsh-shell-command