dsh-terraform:让智能体管理 Terraform 的插件

DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。智能体在管理基础设施即代码(IaC)时,需要直接执行底层工具来确认变更、查询状态或校验配置。现有的纯对话方式难以满足对 IaC 流程的精细控制。dsh-terraform 插件提供了一套原生的 Terraform 工具集,让智能体能够直接操作 Terraform 的工作流。

插件定位

这是 WODE25500 维护的 DeepSeek Harness 插件。它是一个独立社区项目,并非官方产品。插件基于 HashiCorp 的 Terraform(采用 BSL-1.1/MPL-2.0 许可证),旨在解决智能体如何安全、直接地管理 IaC 的问题。

核心能力

插件提供了 8 个原生工具,覆盖 Terraform 的主要生命周期和查询需求:

  • tf_init:初始化工作目录。
  • tf_plan:生成执行计划。
  • tf_apply:应用变更。
  • tf_destroy:销毁资源。
  • tf_state:查询状态。
  • tf_output:查询输出。
  • tf_show:显示当前状态。
  • tf_validate:校验配置。

在安全边界上,这些操作以只读为主(plan/state/output/show/validate),安全边界清晰。

使用细节

变更检测

tf_plan 使用了 Terraform 的 -detailed-exitcode 语义。当输出中标注退出码 2 时,表示配置有变更。这有助于智能体在自动执行前确认意图。

Plan 文件模式

插件支持 plan -out 生成的文件模式。智能体可以先生成计划文件,然后在确认无误后复现执行。这种方式让变更过程可复现、可审阅。

安装与配置

安装通过 Cordis Patch 方式进行。在终端执行以下命令:

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

安装完成后,需要在配置中插入工具定义。根据插件结构,通常配置如下:

- insert:
    - id: terraform
      name: './src/index.js'
      config:
        terraformPath: terraform
        workdir: ./infra

其中 terraformPath 指定 terraform 二进制文件的路径,workdir 指定默认配置目录。

典型用法

智能体可以通过调用上述工具完成具体任务。例如:

  1. 使用 tf_validate 校验配置语法。
  2. 使用 tf_plan 生成变更计划,检查是否有资源变更。
  3. 使用 tf_output 查询关键变量的值。
  4. 确认无误后,使用 tf_apply 应用变更。

注意事项

  • 非官方项目:这是一个独立社区项目,非 DeepSeek 或 HashiCorp 官方产品。
  • 权限风险:插件以当前 DSH 进程的权限运行。在安装前,建议检查源码与许可证。
  • 依赖:插件依赖 @deepseek-ai/cordis 和 @deepseek-ai/dsh-tools 作为 peer dependencies。

通过这套工具,智能体可以更安全、可控地介入 Terraform 的管理流程。更多细节可参考 GitHub 仓库。

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

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

小夜