DeepSeek Harness (DSH) 採用插件化架構。在開發需要頻繁與 CI/CD 流水線或 Kubernetes 集羣交互的 AI 智能體時,手動查看日誌或操作儀表盤往往效率低下。DSH DevOps 插件爲此提供了一個可視化的 Web 控制台和一組自動註冊的 AI 工具,將 GitLab 和 Kubernetes 的管理能力直接集成到 DSH 的工作流中。
這是 Jackson-chen97 維護的聯網工具類插件,旨在解決開發者在 DSH 環境下進行 DevOps 操作的痛點。
核心功能¶
插件提供了一套完整的 DevOps 管理能力,覆蓋 GitLab 和 Kubernetes 兩個主要場景:
- GitLab 集成:通過 API 創建、審查和關閉 Merge Request (MR),管理標籤,並監控 CI/CD 流水線及作業詳情和構建日誌。
- Kubernetes 集成:查看部署狀態、Pod 列表與重啓次數、K8s 事件,獲取 Pod 日誌,以及執行鏡像變更和回滾重啓操作。
- Web 控制台:提供雙卡片切換器(GitLab 項目 / K8s 上下文),支持多級標籤頁(MRs/Tags/Pipelines/Deployments/Events)和全局搜索下拉框,操作通過模態框驅動。
- 多配置支持:支持配置多個 GitLab 服務器和多個 kubeconfig 文件,可在儀表板和設置界面中直接切換。
- Webhook 與告警:支持接收 GitLab webhook 並觸發通知;後臺輪詢機制用於檢測流水線失敗和 Pod 異常。
- 國際化與自簽名:內置中英文字典,隨 DSH 系統語言切換;支持通過 kubeconfig 對自簽名集羣進行請求級 CA 綁定。
安裝與啓用¶
推薦使用本地檢出方式。由於 dsh-type-meta 在 npm 上可能存在依賴缺失問題,本地檢出是最可靠的安裝路徑。
- 克隆倉庫
在本地創建工具目錄並克隆代碼:
mkdir -p ~/dev/tools
cd ~/dev/tools
git clone https://github.com/Jackson-chen97/dsh-devops
cd dsh-devops
- 註冊插件
使用 DSH 插件命令將本地路徑註冊到 web 配置文件中:
dsh plugin --profile web add "~/dev/tools/dsh-devops"
-
重啓 DSH
插件包含自身的cordis.patch.yml,安裝後會自動應用。重啓 DSH 後,Web UI 通常會自動在http://127.0.0.1:3080/打開。 -
配置
打開 DSH 設置中的 “DevOps” 選項卡,點擊 “Add server” 添加 GitLab 信息(URL + Token),點擊 “Add config file” 添加 kubeconfig 路徑。配置默認保存在~/.dsh-devops/config。
典型用法¶
配置完成後,可以通過 Web 控制台進行操作,也可以直接通過對話調用 AI 工具。
1. 查看 Pipeline 狀態
在對話中直接詢問:”查看最新流水線狀態” 或 “列出指定流水線 #42 的作業詳情”。
2. 監控流水線
輸入:”監控 main 分支流水線並在完成時告知結果”。插件會啓動後臺輪詢,並在狀態變更後反饋給 AI。
3. 創建與審查 MR
輸入:”創建 MR fix/login 到 main 分支,標題爲 ‘Fix login’,審查者爲 zhangsan”。AI 會自動調用 gitlab_mr_create 工具並觸發流水線監控。
審查操作則可直接使用:”批准 !128” 或 “對 !128 提出變更請求”。
4. K8s 操作
查看部署:”列出當前命名空間的 Pod”。
查看日誌:”獲取 Pod my-pod 的最近 100 行日誌”。
插件中的 AI 工具(如 devops_config, k8s_deployment_status, gitlab_mr_review 等)在插件加載時會自動註冊,無需額外的 YAML 配置文件即可使用。
注意事項¶
- 本地檢出依賴:務必使用本地檢出方式安裝,以避免
dsh-type-meta依賴缺失導致的運行時錯誤。 - 配置位置:Settings UI 保存的配置位於
~/.dsh-devops/config,AI 調用工具時會讀取該配置。 - 權限範圍:插件以當前 DSH 進程的權限運行,請確保 DSH 進程擁有足夠的權限訪問目標 GitLab 服務器和 Kubernetes 集羣。
- 許可證:本項目使用 MIT 許可證。