jackson-chen97/dsh-devops: GitLab 與 Kubernetes DevOps 控制台

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 上可能存在依賴缺失問題,本地檢出是最可靠的安裝路徑。

  1. 克隆倉庫
    在本地創建工具目錄並克隆代碼:
    mkdir -p ~/dev/tools
    cd ~/dev/tools
    git clone https://github.com/Jackson-chen97/dsh-devops
    cd dsh-devops
  1. 註冊插件
    使用 DSH 插件命令將本地路徑註冊到 web 配置文件中:
    dsh plugin --profile web add "~/dev/tools/dsh-devops"
  1. 重啓 DSH
    插件包含自身的 cordis.patch.yml,安裝後會自動應用。重啓 DSH 後,Web UI 通常會自動在 http://127.0.0.1:3080/ 打開。

  2. 配置
    打開 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 許可證。

GitHub 倉庫

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

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

小夜