
aiac
用大白话描述云资源,自动生成 Terraform 等 IaC 代码
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 3784
技术标签
使用教程
环境要求
- Homebrew(macOS/Linux,使用 brew 安装时需要)
- Go 环境(使用 go install 或从源码构建时需要)
- Docker(使用容器方式运行 aiac 时需要)
- 一个可用的 LLM 后端:OpenAI API Key、Amazon Bedrock 或本地 Ollama
安装与启动步骤
-
1用 Homebrew 安装
在 macOS/Linux 上通过官方 tap 安装 aiac 的预编译版本,最省事。
brew tap gofireflyio/aiac https://github.com/gofireflyio/aiac brew install aiac -
2用 go install 安装
已装好 Go 环境的话,可直接安装 v5 最新版本到 GOPATH/bin。
go install github.com/gofireflyio/aiac/v5@latest -
3从源码构建
克隆仓库后在项目根目录执行 go build,生成 aiac 可执行文件。
git clone https://github.com/gofireflyio/aiac.git cd aiac go build -
4准备 Docker 镜像
如果倾向容器方式,先拉取官方镜像,后续用 docker run 调用。
docker pull ghcr.io/gofireflyio/aiac -
5创建配置文件
在 ~/.config/aiac/aiac.toml 定义 default_backend 和一个带有 type、api_key 的 backend。
-
6生成 IaC 代码
用自然语言描述所需基础设施,aiac 会输出对应代码;可用 -b 指定后端名。
aiac terraform for ec2 -
7用 Docker 运行
容器方式需把宿主机的配置文件挂载进去,其余用法与命令行完全一致。
docker run -it -v ~/.config/aiac/aiac.toml:~/.config/aiac/aiac.toml ghcr.io/gofireflyio/aiac terraform for ec2 -
8列出可用模型
该命令会直接请求所选后端 API,返回其支持的模型列表,便于确认配置。
aiac --list-models
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
default_backend | 否 | 未显式指定后端时默认使用的后端名称 | official_openai |
backends.<name>.type | 是 | 后端类型,决定使用哪家 LLM 提供方 | openai |
backends.<name>.api_key | 是 | OpenAI 等提供方的 API 密钥 | sk-xxxxxxxx |
backends.<name>.url | 否 | 自建或本地 LLM 服务的接口地址(如 Ollama) | http://localhost:11434/api |
backends.<name>.default_model | 否 | 该后端默认使用的模型名称 | mistral:latest |
如何确认成功
运行 aiac --list-models,若能返回所选后端支持的模型列表,说明配置成功。
常见问题
Q:升级到 v5 后 --api-key 等参数报错怎么办?
A:v5 起后端只能通过 TOML 配置文件配置,provider 专属旗标(--api-key、--aws-profile 等)及其环境变量已不再接受,请改写到配置文件里。
Q:-b 后面应该填什么?
A:填配置文件中自定义的后端名称(如 my_local_llm),而不是 openai、bedrock、ollama 这类提供方类型名。
Q:生成时报模型不可用?
A:v5 只支持 chat 模型,且不会校验模型是否存在。--list-models 可能列出非 chat 模型,选中后会由提供方 API 直接返回错误。
Q:配置文件必须放在固定位置吗?
A:默认读取 ${XDG_CONFIG_HOME}/aiac/aiac.toml(通常为 ~/.config/aiac/aiac.toml),也可用 --config 或 -c 指定其他路径。
注意事项
- v5 起不再硬编码任何模型(包括默认模型),也不会校验所选模型是否真实存在。
- 可以为同一提供方配置多个后端,例如区分 staging 与 production 环境。
- 使用 Docker 方式时必须把宿主机上的 aiac.toml 挂载到容器内对应路径。
核心亮点
- 支持 OpenAI、Bedrock、Ollama 等多种 LLM 后端,灵活适配不同环境
- 覆盖 Terraform、Pulumi、CloudFormation 等主流 IaC 框架,实用性强
- 提供交互式聊天模式,可迭代调整生成结果,提升准确性
不足之处
- 生成代码的准确性依赖所选模型,复杂场景下可能需要人工修正
- 文档/社区待观察
适用场景
- 快速生成 Terraform 配置用于云资源原型验证
- 为不熟悉 IaC 语法的开发者提供学习辅助
- 在本地通过 Ollama 离线生成 IaC 代码,保障数据隐私
替代项目
tf-generator、gpt-terraform、infragen
同类项目推荐
llm-debugger-vscode-extension
开源
在 VSCode 调试时直接问 AI,快速定位 bug 原因
VSCode extension that demonstrates the use of large language models (LLMs) for activ···
scubiee
开源
把代码库变成本地可搜索上下文,省 token 又护隐私
Save up to 30% of your AI coding tokens. Scubiee turns any codebase into searchable ···
copilot-plugins
开源
给 Copilot 装插件,接工具、加技能、跑自动化
The official GitHub Copilot plugins collection — MCP servers, skills, hooks, and ot···
MiniCode
开源
轻量级终端AI编码助手,让你快速上手Claude Code式工作流
A lightweight terminal coding assistant with Claude Code-like workflow, tool loop, a···
awesome-claude-code
开源
想要啥 Claude Code 插件,翻这个清单就够了,省得瞎搜。
A hand-picked collection of the finest of resources for the most awesome of agents, ···
codexU
开源
在菜单栏实时盯住 Codex 配额和 Token,今日任务一目了然
macOS desktop widget for OpenAI Codex usage, quota tracking, token usage, and today ···
AI-Coding-Landscape
开源
一张图看全 AI 编程工具,选型不迷路
AI coding models, agents, CLIs, IDEs, AI app builders, open source tooling, benchmar···
anthropic-cli
开源
终端里直接调用 Claude,脚本集成更省事
The CLI for the Claude API
GitHub-Copilot-for-Azure
开源
在 Copilot 里用大白话查和管 Azure 资源
GitHub Copilot for Azure