@bigbigtooth/dsh-devops:在 DSH Web 裏做 SSH 運維與 Git 部署閉環

前言

用 DeepSeek Harness(DSH)做智能體開發時,服務器狀態、進程異常和部署往往還要切到終端或另開面板。對話在 DSH 裏,運維動作卻散在外面,上下文容易斷。下面介紹社區插件 dsh-devops(npm 包名 @bigbigtooth/dsh-devops):在 DSH Web 側邊欄打開 Remote Operations,在同一界面裏管理 SSH 主機、看硬件與進程、讓 AI 只讀巡檢日誌,並把 Git 倉庫部署到目標機後重啓服務。

這是什麼

dsh-devops 是 DeepSeek Harness 的 Web 插件,維護者爲 bigbigtooth,在 SkillHub 目錄中歸類爲 admin-security。README 寫明其定位是:不離開聊天視圖、也不單獨開終端,即可完成遠程運維與項目部署。

插件當前 npm 版本爲 0.5.0(MIT 許可證)。README 徽章標註在 DSH 0.1.5-rc.2 等版本上做過兼容性驗證;安裝前請對照你本機 DSH 與 Compatibility 說明。

核心能力

服務器管理

  1. 可增刪改任意數量的 SSH 服務器;保存前必須完成真實登錄測試,需能在無人值守下執行遠程命令。
  2. 首次連接校驗並保存主機指紋;指紋變更時會暫停連接。
  3. 使用插件私有 SSH 配置,與系統、用戶級 ~/.ssh 隔離;支持私鑰與跳板機。
  4. 覆蓋 Linux(無發行版白名單)與 macOS;能力不足時會標註 available / limited / unavailable 及原因。

監控與只讀 AI 巡檢

  • 硬件:CPU、內存、磁盤佔用,可按需採集或定時採集(默認 60s)。
  • 進程:無需逐進程配置;枚舉運行中進程並按項目、服務分組。AI 批量分析資源與狀態異常,指出具體進程與原因,並透明展示分析覆蓋率(部分分析不會僞裝成「一切正常」)。
  • 日誌:沿 項目 → 服務 → 日誌文件 動態發現來源(例如讀取 Supervisor 實際生效配置),增量讀取,告警去重;AI 給出級別、摘要與可定位的證據。
  • 服務端執行:關閉瀏覽器不中斷巡檢;DSH 重啓後會恢復巡檢計劃,不會堆積補償任務。

README 強調:巡檢始終只讀——AI 只分析與建議,不會自行修復或重啓。該邊界由工具權限結構強制,而非僅靠提示詞。

項目部署與 deploy loop

部署閉環是插件自述的核心:

  1. 首次 AI 部署:選定 Git 倉庫、分支與目標服務器;AI 經 SSH 做環境檢查、依賴安裝、構建、服務啓動與健康校驗。
  2. 腳本固化:成功後,可複用步驟凍結爲帶版本的 .sh 腳本(candidate → verified → invalidated,哈希防篡改),區分一次性環境工作與日常更新。
  3. 一鍵更新:後續部署在服務器上執行 git pull --ff-only(僅快進);已凍結步驟跑腳本,未凍結步驟回退 AI;失敗時默認經 AI 輔助修復後重試(默認 2 輪)。

其他部署相關行爲(來自 README):工作區髒、分支不一致或遠程分叉會停止並報告,不會自動覆蓋;無危險批量回滾;任務全鏈路持久化,中斷任務需與實際遠程狀態對齊後才能繼續。

安全設計(摘要)

  • 憑據(密碼、私鑰、口令)以 AES-256-GCM 加密存儲,密鑰材料與配置分離。
  • 祕密在展示、持久化、進入 AI 上下文前 脫敏;密碼不進入命令行、腳本或日誌。
  • 遠程命令經 白名單解析;RPC 走主機已認證通道,API 層用 zod 校驗載荷。
  • 無安裝時腳本、無遙測;插件自身不持有模型 API Key。本地文件讀取範圍限於數據目錄(默認 ~/.dsh-devops)及主機存儲域 dsh_devops,不讀 ~/.ssh 與 shell 歷史。完整說明見倉庫 SAFETY.md。

安裝與啓用

環境要求

  • 支持 dsh plugin 機制的 DSH Web 主機。
  • 本機 SSH 客戶端能連到目標服務器。
  • 在保存任何憑據之前 設置 DSH_DEVOPS_KEY_FILE(見下文「三個常見坑」)。

安裝命令

預構建包安裝,無需在本機編譯:

# 推薦:npm,無需構建審批
dsh plugin --profile web add @bigbigtooth/dsh-devops

或使用發佈頁 tarball:

dsh plugin --profile web add https://github.com/bigbigtooth/DSH-DevOps-Plugin/releases/latest/download/dsh-devops-latest.tgz

安裝後 必須重啓 DSH 主機——插件 bundle 在啓動時加載,plugin add 只寫入 manifest:

pkill -f '\.bin/dsh --profile web'
sleep 2
nohup ~/.dsh/tooling/node_modules/.bin/dsh --profile web >> /tmp/dsh-web.log 2>&1 &

重啓後,DSH 側邊欄底部(Settings 上方)會出現 Remote Operations;點進運維面板,可隨時用「Back to conversation」回到對話。

無頭環境可將 --profile web 換爲 --profile headless:UI 僅在 web profile 下存在;巡檢與部署在兩種 profile 下均可工作。

三個常見坑

  1. 先設密鑰文件。未設置 DSH_DEVOPS_KEY_FILE 時插件使用內存密鑰,每次主機重啓會重新生成,已存憑據無法解密:
   export DSH_DEVOPS_KEY_FILE="$HOME/.dsh-devops/master.key"

密鑰文件以 0600 寫入;丟失密鑰文件無法恢復憑據。

  1. 同版本重裝無效。pnpm 可能從緩存提供相同 file: 規格,需先刪後加:
   dsh plugin --profile web remove @bigbigtooth/dsh-devops
   dsh plugin --profile web add @bigbigtooth/dsh-devops
  1. 記得重啓主機(見上)。

典型用法(界面流程)

README 未給出獨立 CLI 運維子命令;實際操作在 Remote Operations 面板完成,可按下面順序理解:

  1. Remote Operations → 添加 SSH 服務器,完成登錄測試後保存。
  2. 查看硬件趨勢、進程分組;按需或按計劃觸發 AI 對進程、日誌的只讀分析。
  3. Projects:配置多個項目、倉庫與部署目標;SSH、Git 憑據與提權分別配置並校驗。
  4. 首次部署:選倉庫、分支與目標機,一鍵觸發 AI 編排部署;成功後步驟可固化爲腳本。
  5. 後續更新:一鍵更新走 git pull --ff-only 與固化腳本 / AI 回退的組合流程。

倉庫 docs/images/ 下有服務器總覽、硬件監控、進程與項目列表等截圖,可與面板對照。

適用場景與注意

適合:已在用 DSH Web、需要把 SSH 主機管理、基礎監控、只讀 AI 巡檢和 Git 部署收進同一工作流的開發者或小團隊。

注意:

  • 插件在 當前 DSH 進程權限 下運行;安裝前應閱讀 源碼與 SAFETY.md,確認許可證(MIT)與本地文件、遠程命令邊界符合你的安全策略。
  • SkillHub(插件目錄頁)是社區插件索引,與 DeepSeek / 幻方無官方從屬關係;「一切皆插件」是 DSH 生態的常見做法,本文介紹的是社區維護的 @bigbigtooth/dsh-devops,而非 DSH 內置能力。
  • 部署與巡檢會經 SSH 在遠程執行命令;只讀巡檢與可寫部署的權限邊界以插件工具設計爲準,勿假設 AI 會在生產環境自動改配置。

結尾

dsh-devops 把 SSH 服務器管理、硬件/進程/日誌監控、只讀 AI 巡檢和 Git→服務器的部署閉環放進 DSH Web,減少在聊天與終端之間來回切換。安裝前設好 DSH_DEVOPS_KEY_FILE,用官方 dsh plugin --profile web add 命令安裝並重啓主機即可啓用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜