dsh-hillstone-cli-ops:在 DSH 裏管 Hillstone / StoneOS 設備

前言

在 DeepSeek Harness(DSH)裏做網絡設備運維,常見做法是:設備清單在表格或腳本里,SSH 另開終端,審計與「助手能執行什麼命令」往往和對話界面脫節。助手若要代你登錄、跑命令、看輸出,還要自己拼 ssh 或臨時腳本,和你在面板裏看到的狀態也對不上。

下面介紹社區插件 dsh-hillstone-cli-ops(展示名「Hillstone 設備運維」):把 Hillstone / StoneOS 設備收進 DSH 右側欄,並提供 9 個 hillstone_* 工具,讓 agent 與人在同一套會話、日誌和策略下操作設備。維護者爲 jazhu;在 SkillHub 目錄中分類爲工作流。插件以 MIT 許可證發佈,當前 package 版本爲 1.1.1(以倉庫 package.json 爲準)。

這是什麼

dsh-hillstone-cli-ops 是一個典型的「兩半式」DSH 插件:

  • Host 側(Node):SSH、憑據加解密、會話審計、執行策略校驗,以及註冊給 agent 的工具。
  • Client 側(瀏覽器):右側欄「設備運維」標籤頁,內嵌 xterm.js 終端。

構建產物已提交在 dist/:ssh2 及其純 JS 依賴閉包、xterm 分別打進 dist/index.mjs 與 dist/client.js,因此安裝目標機無需再構建,運行時也不依賴插件目錄旁的 node_modules 來解析 ssh2 / xterm。可選能力 WebUI 登錄 通過動態加載 playwright 驅動本機 Chromium,屬於 optionalDependency。

右側欄「設備運維」四個子頁

打開 DSH 右側欄的 「設備運維」 標籤後,有四個子頁:

子頁 作用
設備管理 設備的增刪改查:名稱、IP、賬號、密碼、SSH 端口、設備類型、Web 端口、備註。新增、複製、編輯共用居中對話框。卡片名稱行右側提供 CLI 登錄(SSH 終端)與 WebUI 登錄(瀏覽器)。名稱前有存活指示燈:綠可達、紅不可達,首次掃描前不顯示。
終端 每個活躍連接對應一個 xterm.js 終端;輸入發往 host,設備輸出經 SSE 回傳。新建連接會自動切到「終端」子頁,便於直接看到會話。
日誌 按連接的審計:誰連哪臺設備、輸入內容、執行過的命令、會話結束時間與原因。
執行策略 由你編寫的規則:綁定每日時間窗口與命令模式;助手觸發的命令若落在窗口內且匹配模式,host 在發出 SSH 前拒絕並記錄原因。完整語義見倉庫 docs/執行策略.md。

註冊給 agent 的 9 個工具

插件向 DSH 註冊以下工具(名稱與 README 一致):

  • hillstone_list_devices
  • hillstone_open_terminal
  • hillstone_send_input
  • hillstone_get_output
  • hillstone_close_terminal
  • hillstone_list_sessions
  • hillstone_run_and_analyze
  • hillstone_scan_liveness
  • hillstone_web_login

其中 hillstone_run_and_analyze 可批量執行命令,並把輸出交給 host 側 LLM,配合自然語言任務(例如「檢查接口狀態和 CPU 負載」)。默認會複用操作者已在標籤頁打開的終端會話,便於在「終端」裏觀察 agent 操作;若無 live session,則回退爲一次性 exec 通道。

hillstone_scan_liveness 以數據形式返回各設備 TCP 可達性,與設備卡片上存活燈探測一致,便於 agent 區分離線與環境不可達,而不必依賴面板肉眼查看。

hillstone_web_login 驅動設備管理 UI 登錄並返回結論(就緒 / 驗證碼 / 錯誤);若需驗證碼,會保留窗口供人工完成。

WebUI 登錄(可選 Playwright)

設備卡片上的 WebUI 登錄 與 CLI 登錄 並列,訪問地址形如:

https://<device ip>:<web port or 443>/

使用前需瞭解 README 中的三點:

  1. 密碼不會進入面板前端。Host 解密後在瀏覽器表單中填入,僅向界面回報 已登錄 / 需人工完成 / 失敗;client 側拿不到密碼。
  2. 只嘗試一次登錄。錯誤密碼後設備往往要求圖形驗證碼,繼續自動重試容易鎖死;失敗時報告 需人工完成 並保留窗口。
  3. 瀏覽器 profile 持久化 在 <data dir>/webui/<device id>,同一設備再次點擊通常可直接複用已登錄會話。

該按鈕在運行 DSH 的機器上啓動有界面的 Chromium(Playwright 自帶),會佔用屏幕區域,不是無頭探測。除 WebUI 外,設備管理、SSH 終端、審計日誌與其餘 agent 工具均可在未安裝 Playwright 時使用;按鈕會提示需要執行的安裝命令,而不會導致整個插件無法加載。

若需 WebUI 功能,在插件所在環境安裝 Playwright 與 Chromium(例如 link: 拷貝目錄時):

pnpm add playwright
npx playwright install chromium

安裝與啓用

環境要求:Node 22+(engines 聲明);DSH 構建需暴露 tools、slots、sidebarRightTabs、sidebarRight、uiWorkspace 等服務。

安裝後需重啓 DSH 主進程。僅禁用再啓用插件不會重建運行中進程的 host fiber,SSH、工具與日誌寫入等新 host 代碼要在真實重啓後生效。

從 git 安裝(無需構建)

倉庫已提交 dist/,無 prepare 腳本,因此 git 依賴安裝時無需構建,也無需在 pnpm ≥ 10 配置 allowBuilds:

dsh plugin add github:jazhu/dsh-hillstone-cli-ops#<sha>

將 <sha> 換爲你要固定的 commit。

從 tarball 或 npm

包內 files 僅含 dist/、locale/、cordis.patch.yml,到貨即可加載。README 示例:

pnpm pack && <your-dsh-plugin-install-command> ./dsh-hillstone-cli-ops-1.0.0.tgz

打包後的文件名隨版本變化,以 pnpm pack 實際產出爲準;<your-dsh-plugin-install-command> 以你使用的 DSH 插件安裝方式爲準(README 未替換成單一固定命令)。

開發檢出(供對照,非讀者必做)

維護者在 README 中給出的開發流程爲 clone 後 pnpm install(僅 devDependencies)、pnpm test;pnpm run build 可選,用於從 src/ 再生 dist/。本文任務不要求讀者 clone 倉庫。

典型用法思路

  1. 在 設備管理 錄入 Hillstone / StoneOS 設備(IP、SSH 端口、賬號等),用存活燈或讓 agent 調用 hillstone_scan_liveness 確認可達。
  2. 點擊 CLI 登錄 或讓 agent 使用 hillstone_open_terminal / hillstone_send_input / hillstone_get_output 在「終端」子頁協作;會話細節可在 日誌 中追溯。
  3. 在 執行策略 配置時間窗口與命令模式,約束助手在敏感時段不得執行匹配命令。
  4. 需要批量診斷時,讓 agent 調用 hillstone_run_and_analyze,並指定自然語言分析任務;若你已在終端開着會話,可在同一面板觀察輸出。
  5. 管理面登錄可走 WebUI 登錄 或 hillstone_web_login;遇驗證碼時在 Playwright 打開的窗口中人工完成。

適用場景與注意

適合:已在 DSH 中開發或運維 Hillstone / StoneOS 防火牆/網關,希望設備清單、SSH、審計與 agent 工具在同一界面閉環的團隊或個人。

務必注意:

  • 插件 host 邏輯以當前 DSH 進程的身份與權限運行,可 SSH 到內網設備、讀寫本地數據目錄(含 WebUI profile 與會話日誌)。安裝前應閱讀 GitHub 源碼 與 MIT 許可證,確認憑據存儲與策略語義符合你的安全基線。
  • SkillHub(插件目錄頁)是社區插件索引,與 DeepSeek / 幻方無官方從屬關係;DSH 生態強調「一切皆插件」,本文介紹的是社區維護的工作流類插件之一。
  • GitHub 倉庫公開星標數爲 0(以目錄線索爲準),不代表功能完整度,僅作生態可見度參考。

結尾

dsh-hillstone-cli-ops 把 Hillstone / StoneOS 的設備管理、SSH 終端、連接審計與執行策略收進 DSH 右側欄,並用 9 個 hillstone_* 工具讓 agent 在同一套會話與規則下協作。dist 內聯 ssh2 與 xterm,git / npm / tarball 安裝路徑均免構建;WebUI 登錄按需加裝 Playwright 即可。

  • 目錄頁:https://www.skillhub.cn/plugins/jazhu/dsh-hillstone-cli-ops
  • 源碼與 README:https://github.com/jazhu/dsh-hillstone-cli-ops
羽毛球分组比赛记分
小程序二维码

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

小夜