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 倉庫。

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

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

小夜