前言¶
在 DeepSeek Harness 的開發或運維場景中,直接調用終端執行命令是常見需求,但往往缺乏對命令執行過程的控制。本地直接打開終端會繞過護欄,遠程 SSH 連接則需要額外的管理工具。DSH-NetShell 插件解決了這個問題,它爲 DSH 提供了一個統一的終端面板,既能管理本地 Shell,也能安全地連接遠程服務器,並強制執行命令護欄。
核心能力¶
- 本地終端:直接啓動當前設備的 bash、sh、PowerShell 或 cmd,無需 SSH 配置。
- 遠程 SSH:管理主機、端口、用戶和認證方式,支持多會話並行。
- 命令護欄:支持 allow(直接執行)、ask(等待確認)、deny(攔截)。
- 可見執行:人工輸入和 AI 執行實時顯示在同一個終端面板。
- 憑據隔離:SSH 密碼只進入 DSH 加密憑據庫,不進入 AI 消息、工具結果或日誌。
- 命令歷史:查看執行、攔截、放行計數和每條命令的裁決記錄。
安裝與啓用¶
在終端中執行以下命令安裝插件:
dsh plugin --profile web add @xgone/dsh-netshell
安裝完成後重啓 DSH Web,進入 設置 → 終端 即可啓用該功能。
使用方法¶
本地終端使用¶
- 打開主區域的 終端 Tab。
- 在左側 本地終端 行點擊 新建。
- 輸入命令並觀察實時輸出。
遠程服務器連接¶
- 打開 設置 → 終端 → 新增。
- 填寫名稱、主機、端口和用戶名。
- 選擇密碼、私鑰或
ssh-agent認證。 - 選擇權限等級,首次使用建議保持
guarded。 - 回到 終端 Tab,在服務器行點擊 連接。
AI 工具集成¶
插件爲 AI 提供了兩個模型工具:
* netshell_servers:列出服務器檔案,不返回密碼。
* netshell_run:在指定服務器上執行一條命令。
AI 和人工輸入共用同一套 Guard。遇到 deny 命令不會執行,遇到 ask 命令必須由用戶在確認卡或終端面板中裁決。
權限控制¶
通過設置權限等級來控制危險命令執行:
* open:日常使用,除硬攔截規則外直接執行。
* guarded(默認):高風險命令暫停並等待確認。
* locked:只有明確允許的命令可以直接執行。
安全邊界與注意事項¶
- 安全邊界:這是命令操作護欄,不是完整的安全沙箱。它只保護通過本插件終端和
netshell_run進入的命令;其他插件或通用 Shell 工具建立的 SSH 連接不在攔截範圍內。 - SSH 指紋:保存在插件私有
~/.dsh/netshell/known_hosts,不影響用戶手工 SSH。 - 密碼安全:密碼僅用於建立連接,列表、工具返回和日誌中不顯示密碼值。
- 依賴項:依賴
@deepseek-ai/dsh-tools和@deepseek-ai/cordis。
結語¶
DSH-NetShell 爲 DeepSeek Harness 提供了一個集成化的終端管理方案,通過護欄機制和憑據隔離機制,在方便 AI 輔助運維的同時,保留了必要的人工確認環節。如需查看更多細節或提交問題,可訪問 GitHub 倉庫。