dsh-kubectl:DeepSeek Harness 的 kubectl 集成插件

前言

DeepSeek Harness (DSH) 的核心設計理念是“一切皆插件”。在 Kubernetes 運維場景中,kubectl 是標準工具,但傳統輸出(如表格)對智能體解析不夠友好。dsh-kubectl 解決了這個問題,它將 kubectl 的能力封裝進 DSH 插件體系,讓智能體能夠以只讀或顯式確認的模式檢查集羣、查詢資源、讀取日誌及進行端口轉發。

插件介紹

dsh-kubectl 是一個獨立社區項目(非官方),由 WODE25500 維護。它基於 kubernetes/kubectl(Apache-2.0)開發。插件的主要作用是將 kubectl 常用操作轉化爲 DSH 可識別的技能,輸出 JSON 結構化數據以提高解析可靠性,並對寫操作增加顯式確認機制。

核心功能

插件目前包含以下能力:

  • kubectl_get:查詢資源,使用 -o json 獲取結構化輸出。
  • kubectl_describe / kubectl_status:查看資源詳情、版本/上下文信息。
  • kubectl_logs:獲取 Pod 日誌,支持 tail、previous、container 等參數。
  • kubectl_exec:在容器內執行一次性命令。
  • kubectl_apply / kubectl_delete:部署或刪除資源。
  • kubectl_port_forward:建立端口轉發通道,使本地可以訪問集羣內服務。

安裝與配置

安裝需要使用 DSH 的 patch 命令:

pnpm dsh web --patch ./dsh-kubectl/cordis.patch.yml

安裝後,通常需要在 DSH 配置中指定 kubectl 路徑、上下文和命名空間。配置示例如下:

- insert:
    - id: kubectl
      name: './src/index.js'
      config:
        kubectlPath: kubectl
        context: my-cluster
        namespace: default

典型用法

  • 查資源:智能體可直接調用 kubectl_get 獲取資源列表。
  • 讀日誌:通過 kubectl_logs 獲取 Pod 最新日誌或歷史日誌。
  • 端口轉發:發起 kubectl_port_forward 後,可在本地終端通過端口訪問集羣服務。
  • 寫操作:執行 kubectl_apply 或 kubectl_delete 時,系統會要求用戶確認,避免誤操作。

適用場景與注意

  • 連接問題:如果當前環境無集羣連接,命令會返回連接拒絕錯誤(stderr 原樣返回)。
  • 進程管理:kubectl_port_forward 啓動後是常駐進程,當前版本不提供自動停止機制,需手動管理。
  • 寫操作紅線:所有寫操作(apply/delete)均依賴用戶顯式確認,且 SKILL.md 中有明確的操作紅線,請仔細閱讀。
  • 權限運行:插件以當前 DSH 進程的權限運行,安裝前應檢查源碼與許可證。

dsh-kubectl 爲智能體處理 Kubernetes 運維任務提供了結構化、可確認的交互方式。更多細節與源碼可查閱:GitHub

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

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

小夜