前言¶
在 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_deviceshillstone_open_terminalhillstone_send_inputhillstone_get_outputhillstone_close_terminalhillstone_list_sessionshillstone_run_and_analyzehillstone_scan_livenesshillstone_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 中的三點:
- 密碼不會進入面板前端。Host 解密後在瀏覽器表單中填入,僅向界面回報 已登錄 / 需人工完成 / 失敗;client 側拿不到密碼。
- 只嘗試一次登錄。錯誤密碼後設備往往要求圖形驗證碼,繼續自動重試容易鎖死;失敗時報告 需人工完成 並保留窗口。
- 瀏覽器 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 倉庫。
典型用法思路¶
- 在 設備管理 錄入 Hillstone / StoneOS 設備(IP、SSH 端口、賬號等),用存活燈或讓 agent 調用
hillstone_scan_liveness確認可達。 - 點擊 CLI 登錄 或讓 agent 使用
hillstone_open_terminal/hillstone_send_input/hillstone_get_output在「終端」子頁協作;會話細節可在 日誌 中追溯。 - 在 執行策略 配置時間窗口與命令模式,約束助手在敏感時段不得執行匹配命令。
- 需要批量診斷時,讓 agent 調用
hillstone_run_and_analyze,並指定自然語言分析任務;若你已在終端開着會話,可在同一面板觀察輸出。 - 管理面登錄可走 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