4.8 KiB
4.8 KiB
goose
goose 是由 Block 公司开发的 AI 驱动的开发者助手。它通过自然语言交互帮助开发者完成编码任务,提供智能代码生成、调试协助和项目导航功能。
功能特性
- AI 驱动开发:利用先进的语言模型提供编程协助
- 多 AI 提供商支持:支持 OpenAI、Anthropic 和 Google AI
- 交互式 CLI:通过直观的命令行界面与 goose 交互
- 项目理解:分析和理解您的代码库上下文
- 代码生成:生成代码片段和实现
- 调试帮助:协助故障排查和错误解决
前置要求
- 已安装 Docker 和 Docker Compose
- 来自受支持的 AI 提供商之一的 API 密钥:
- OpenAI API 密钥(用于 GPT 模型)
- Anthropic API 密钥(用于 Claude 模型)
- Google API 密钥(用于 Gemini 模型)
快速开始
-
复制示例环境文件:
cp .env.example .env -
编辑
.env并配置您的 API 凭据:# 使用 OpenAI OPENAI_API_KEY=your_openai_api_key_here GOOSE_PROVIDER=openai GOOSE_MODEL=gpt-4 # 或使用 Anthropic ANTHROPIC_API_KEY=your_anthropic_api_key_here GOOSE_PROVIDER=anthropic GOOSE_MODEL=claude-3-sonnet # 或使用 Google GOOGLE_API_KEY=your_google_api_key_here GOOSE_PROVIDER=google GOOSE_MODEL=gemini-pro -
构建 Docker 镜像:
docker compose build -
运行 goose:
docker compose run --rm goose
使用示例
交互式会话
启动与 goose 的交互式会话:
docker compose run --rm goose session start
执行任务
运行特定任务或查询:
docker compose run --rm goose run "解释 app.py 中的主函数"
获取帮助
查看可用命令:
docker compose run --rm goose --help
配置说明
环境变量
| 变量 | 说明 | 默认值 |
|---|---|---|
GOOSE_VERSION |
goose Docker 镜像版本 | 1.18.0 |
TZ |
容器时区 | UTC |
GOOSE_PROVIDER |
AI 提供商(openai、anthropic、google) | openai |
GOOSE_MODEL |
使用的 AI 模型 | gpt-4 |
OPENAI_API_KEY |
OpenAI API 密钥 | - |
OPENAI_API_BASE |
自定义 OpenAI API 基础 URL | - |
ANTHROPIC_API_KEY |
Anthropic API 密钥 | - |
GOOGLE_API_KEY |
Google API 密钥 | - |
GOOSE_CPU_LIMIT |
CPU 限制 | 2.00 |
GOOSE_MEMORY_LIMIT |
内存限制 | 2G |
使用您的项目
挂载您的项目目录以使用您的代码:
docker compose run --rm -v $(pwd):/workspace goose
或将其添加到 docker-compose.yaml 的 volumes 部分:
volumes:
- ./your-project:/workspace
- goose_config:/home/goose/.config/goose
持久化配置
配置和会话数据存储在命名卷中:
goose_config:用户配置和偏好设置goose_workspace:工作区文件和项目数据
重置配置:
docker compose down -v
资源限制
默认资源分配:
- CPU 限制:2.00 核心
- CPU 预留:0.50 核心
- 内存限制:2G
- 内存预留:512M
根据您的系统能力在 .env 中调整这些值。
安全注意事项
- API 密钥:切勿将包含 API 密钥的
.env文件提交到版本控制系统 - 工作区访问:goose 可以访问挂载的工作区目录中的文件
- 网络:默认情况下容器不暴露端口
- 用户权限:以非 root 用户(UID 1000)运行以增强安全性
支持的 AI 模型
OpenAI
gpt-4(推荐)gpt-4-turbogpt-3.5-turbo
Anthropic
claude-3-opusclaude-3-sonnet(推荐)claude-3-haiku
gemini-pro
故障排查
API 认证错误
确保您的 API 密钥在 .env 中正确设置,并与您选择的提供商匹配。
内存不足
如果遇到内存问题,请在 .env 中增加 GOOSE_MEMORY_LIMIT。
构建失败
初始构建可能需要 15-30 分钟,因为它从源代码编译 goose。请确保您有稳定的互联网连接。
参考资料
许可证
goose 在 Apache-2.0 许可证下发布。详情请参阅官方仓库。
此 Docker Compose 配置按原样提供以方便使用,并遵循项目的许可条款。