Files
compose-anything/builds/goose/README.zh.md
2026-01-02 22:06:24 +08:00

196 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# goose
[English Documentation](README.md)
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 模型)
## 快速开始
1. 复制示例环境文件:
```bash
cp .env.example .env
```
2. 编辑 `.env` 并配置您的 API 凭据:
```bash
# 使用 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
```
3. 构建 Docker 镜像:
```bash
docker compose build
```
4. 运行 goose
```bash
docker compose run --rm goose
```
## 使用示例
### 交互式会话
启动与 goose 的交互式会话:
```bash
docker compose run --rm goose session start
```
### 执行任务
运行特定任务或查询:
```bash
docker compose run --rm goose run "解释 app.py 中的主函数"
```
### 获取帮助
查看可用命令:
```bash
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` |
### 使用您的项目
挂载您的项目目录以使用您的代码:
```bash
docker compose run --rm -v $(pwd):/workspace goose
```
或将其添加到 `docker-compose.yaml` 的 volumes 部分:
```yaml
volumes:
- ./your-project:/workspace
- goose_config:/home/goose/.config/goose
```
## 持久化配置
配置和会话数据存储在命名卷中:
- `goose_config`:用户配置和偏好设置
- `goose_workspace`:工作区文件和项目数据
重置配置:
```bash
docker compose down -v
```
## 资源限制
默认资源分配:
- **CPU 限制**2.00 核心
- **CPU 预留**0.50 核心
- **内存限制**2G
- **内存预留**512M
根据您的系统能力在 `.env` 中调整这些值。
## 安全注意事项
1. **API 密钥**:切勿将包含 API 密钥的 `.env` 文件提交到版本控制系统
2. **工作区访问**goose 可以访问挂载的工作区目录中的文件
3. **网络**:默认情况下容器不暴露端口
4. **用户权限**:以非 root 用户UID 1000运行以增强安全性
## 支持的 AI 模型
### OpenAI
- `gpt-4`(推荐)
- `gpt-4-turbo`
- `gpt-3.5-turbo`
### Anthropic
- `claude-3-opus`
- `claude-3-sonnet`(推荐)
- `claude-3-haiku`
### Google
- `gemini-pro`
## 故障排查
### API 认证错误
确保您的 API 密钥在 `.env` 中正确设置,并与您选择的提供商匹配。
### 内存不足
如果遇到内存问题,请在 `.env` 中增加 `GOOSE_MEMORY_LIMIT`。
### 构建失败
初始构建可能需要 15-30 分钟,因为它从源代码编译 goose。请确保您有稳定的互联网连接。
## 参考资料
- [官方 GitHub 仓库](https://github.com/block/goose)
- [文档](https://block.github.io/goose/)
- [贡献指南](https://github.com/block/goose/blob/main/CONTRIBUTING.md)
## 许可证
goose 在 Apache-2.0 许可证下发布。详情请参阅[官方仓库](https://github.com/block/goose)。
此 Docker Compose 配置按原样提供以方便使用,并遵循项目的许可条款。