返回

文章详情

展示HN:Kastor – 面向AI代理的Terraform风格规范

Hacker News2026年7月8日 15:25

Kastor是"AI代理的Terraform"。今天的代理是在框架(LangGraph, CrewAI)内部以命令式方式定义,或在平台UI(OpenAI助手, Bedrock代理)中通过点击组合而成——没有供应商中立、可版本化、可审查的真实来源。Kastor提供了一个:一个类型化的、声明性的规范(.agent、.tool、.prompt文件使用HCL)和一个Go工具链,具有两条路径——kastor build生成目标框架的可运行项目,kastor plan / kastor apply将代理视为托管平台上的长期资源进行协调,同时保持状态、差异和漂移检测。完整设计存储在SPEC.md中。安装Homebrew:brew tap weirdGuy/tap && brew install kastor 安装脚本(验证发布的校验和,安装到/usr/local/bin或~/.local/bin,永远不使用sudo):curl -fsSL https://raw.githubusercontent.com/weirdGuy/kastor/main/scripts/install.sh | sh 使用Go 1.26+:go install github.com/weirdGuy/kastor/cmd/kastor@latest 或从发布页面下载适合您平台的归档文件,验证与checksums.txt,并将Kastor二进制文件放入您的PATH中。快速入门:构建天气示例 前提条件:Go 1.26+、Python 3.11+、OpenAI API密钥和Tavily API密钥(示例的搜索工具针对Tavily的托管MCP服务器运行)。将规范编译为LangGraph项目:go build ./cmd/kastor ./kastor validate examples/weather/ ./kastor build examples/weather/ kastor build将生成的项目写入examples/weather/gen/langgraph(目标声明的输出)。生成的输出不会被提交:它可以从规范中再现,代码生成的决定性由测试强制执行。设置生成的项目:cd examples/weather/gen/langgraph python3 -m venv .venv . .venv/bin/activate pip install -r requirements.txt 示例的web_search工具通过其规范URI,mcp://search-server/tavily_search,固定到MCP服务器和工具。如何访问该服务器是部署配置,而不是规范:在工作目录中创建mcp_servers.json(或将KASTOR_MCP_CONFIG环境变量指向其他地方的文件)。对于Tavily的托管服务器:{ "search-server" : { "transport" : " streamable_http " , "url" : " https://mcp.tavily.com/mcp/?tavilyApiKey=tvly-YOUR-KEY " } } URL嵌入了您的API密钥,这就是为什么mcp_servers.json被gitignore的原因——将其视为秘密,绝不提交。还需要注意的是,规范URI的最后路径段(tavily_search)必须命名服务器实际宣传的工具,否则调用将失败,并显示"不暴露工具"。导出模型凭证(示例的模型"fast"块使用提供商openai):export OPENAI_API_KEY=sk-... 运行代理:python3 main.py weather --inputs ' {"location": "Lisbon", "date": "tomorrow"} ' 它以JSON格式打印代理的声明输出合同:{ "weather" : " ... " } 生成的README.md位于gen/langgraph中,完全面向项目的运行:每个代理的输入和输出、工具绑定和MCP配置。一个v0警告(SPEC.md §3.2/§4):agent.weather的可选forecast_context输入引用agent.forecast的输出。该引用在编译时进行验证,并排序依赖图,但生成的代码不会为您运行上游代理——如果您想要上下文,请自行运行forecast并通过--inputs传递其摘要。开发:go build ./... # 构建所有内容 go test ./... # 运行所有测试 SPEC.md是设计决策的真实来源;CLAUDE.md记录了日常惯例。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡