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 指定默认配置目录。
典型用法¶
智能体可以通过调用上述工具完成具体任务。例如:
- 使用
tf_validate校验配置语法。 - 使用
tf_plan生成变更计划,检查是否有资源变更。 - 使用
tf_output查询关键变量的值。 - 确认无误后,使用
tf_apply应用变更。
注意事项¶
- 非官方项目:这是一个独立社区项目,非 DeepSeek 或 HashiCorp 官方产品。
- 权限风险:插件以当前 DSH 进程的权限运行。在安装前,建议检查源码与许可证。
- 依赖:插件依赖
@deepseek-ai/cordis和@deepseek-ai/dsh-tools作为 peer dependencies。
通过这套工具,智能体可以更安全、可控地介入 Terraform 的管理流程。更多细节可参考 GitHub 仓库。