前言¶
在做 DSH / 智能體開發時,常見需求是把自然語言指令落到服務器:查狀態、改配置、看文件、轉發端口、查數據庫。若只讓 Agent 在命令行裏執行,缺少一個可對照的真實終端;若只用普通終端,又缺少資源管理、數據庫面板和人工確認邊界。
caoyiwei850/dsh-ssh-ops 是 DeepSeek Harness 的 SSH 運維插件。它在主對話中驅動當前服務器,同時在右側保留真實的交互式終端,並集成文件管理、端口轉發與數據庫管理。
這是什麼¶
- 插件名:
caoyiwei850/dsh-ssh-ops - 維護者:
caoyiwei850 - 許可證:MIT
- 定位:DSH Web 中的 SSH 運維、文件管理、端口轉發和數據庫管理插件
- 安裝命令鎖定版本:
v0.2.16
核心能力¶
SSH 終端¶
插件會在會話右側打開可調整寬度的 xterm.js SSH 終端。若同時啓用 DSH-better-sidebar,終端會自動停靠在側欄左邊。
SSH 連接啓用 keepalive,意外斷開後按指數退避自動重連。主機指紋校驗(TOFU)支持 accept-new、verify、off 三種模式。
文件管理¶
SSH 面板中的文件能力基於 SFTP:
- 瀏覽服務器目錄樹
- 上傳
- 下載
- 新建目錄
- 刪除
- 重命名
端口轉發¶
支持本地轉發與遠程轉發,並可在界面上即時查看與停止隧道。
數據庫管理¶
支持連接 MySQL / PostgreSQL / Redis / MongoDB,執行查詢或命令,並查看結果表格。
db_query 爲詞法級強制只讀查詢,僅放行 SELECT/SHOW/DESCRIBE/EXPLAIN/純查詢 WITH,拒絕寫動詞、SELECT INTO、FOR UPDATE 鎖讀和數據修改 CTE。
高危 SQL(DROP DATABASE/SCHEMA/TABLE、TRUNCATE、SHUTDOWN)會自動攔截,並返回可複製卡片供手動執行。
服務器資源與憑據¶
在 設置 → 插件 → SSH 資源 中管理任意數量的服務器和分組。
密碼、PEM 私鑰和私鑰口令保存到 DSH 官方本機憑據庫;瀏覽器存儲、Agent 上下文、工具結果和資源列表不讀取或顯示祕密內容。
Agent 工具¶
插件提供 30 個 Agent 工具,覆蓋 SSH、SFTP、端口轉發、批量執行和數據庫。
安全邊界¶
DSH 自身權限機制仍然有效。插件額外阻止 Agent 工具執行明顯不可逆或破壞性操作,例如刪除文件、刪庫、格式化磁盤、terraform destroy、kubectl delete、docker prune、強制 Git 清理以及重啓/關機。
高危命令需要操作者點擊紅色「執行」纔會發送到服務器,並且不再預填到終端命令行。
輸出給模型前會脫敏私鑰、Bearer Token、常見密碼/API Key 和數據庫連接口令。
安裝與啓用¶
從 GitHub 安裝:
dsh plugin --profile web add github:caoyiwei850/dsh-ssh-ops#v0.2.16
安裝後重啓 DSH Web:
dsh web
然後打開任意會話,點擊頂部的 SSH 標籤,使用右側面板連接服務器。
典型用法¶
1、打開 設置 → 插件 → SSH 資源,新建分組或服務器資源;PEM / .key 文件可直接導入。
2、在主對話中直接說“查詢服務器內存使用情況”或“配置 Nginx SSL 證書”。
3、需要數據庫時,讓 Agent 調 db_connect(或自己在「數據庫」頁籤新建連接),隨後即可在對話中查詢/執行。
4、主對話說“批量執行 <命令>”,Agent 創建批量任務,右側 SSH 面板勾選確認後併發執行。
5、若命令或 SQL 命中高危規則,插件會攔截並返回可複製卡片,由操作者手動執行。
適用場景與注意¶
適合需要在 DSH 對話中完成服務器運維、文件管理、端口轉發和數據庫查詢,並希望保留真實終端、資源管理與高危確認邊界的開發者。
由於插件會訪問 SSH、文件、端口轉發和數據庫等敏感能力,應把它視爲以當前 dsh 進程權限運行。安裝前建議檢查源碼與 MIT 許可證,並確認團隊是否允許將服務器憑據交給 DSH 本機憑據庫管理。
鏈接¶
- GitHub:https://github.com/caoyiwei850/dsh-ssh-ops
- 目錄頁(插件線索,未完全覈實):https://www.skillhub.cn/plugins/caoyiwei850/dsh-ssh-ops