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

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

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

小夜