主题
8.2 团队配置标准化
10 个人用 OpenCode,10 种不同的配置——代码风格不一致、模型选择混乱、MCP 工具各异。团队配置标准化,让 AI 编程从"个人工具"升级为"团队基础设施"。
这一节在讲什么?
OpenCode 的灵活性是它的优势——每个人可以自由选择模型、配置工具、定制命令。但在团队协作中,过度的灵活性反而会导致混乱——不同成员用不同的模型,AI 生成的代码风格不一致;不同成员配置不同的 MCP,协作时工具能力不统一。这一节我们学习怎么通过项目级配置、AGENTS.md 模板、MCP 配置共享和模型策略统一,把 OpenCode 从"个人工具"升级为"团队基础设施"。
项目级配置:团队统一的起点
项目级配置(.opencode/opencode.json)是团队标准化的核心——它定义了项目级别的模型选择、Agent 配置和 MCP 服务器,提交到 Git 后,所有团队成员自动使用相同的配置。
推荐的项目级配置模板
json
{
"agents": {
"coder": {
"model": "anthropic/claude-sonnet-4-20250514",
"maxTokens": 16384
},
"task": {
"model": "anthropic/claude-sonnet-4-20250514",
"maxTokens": 16384
}
},
"mcp": {
"github": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-github"],
"enabled": true,
"env": {
"GITHUB_TOKEN": "$GITHUB_TOKEN"
}
},
"context7": {
"type": "local",
"command": ["npx", "-y", "@upstash/context7-mcp@latest"],
"enabled": true
}
},
"autoCompact": true,
"commands": {
"review": {
"description": "Review current code changes",
"prompt": "Review the current git diff. Focus on security, performance, and correctness. Follow our code conventions in AGENTS.md."
},
"test-and-fix": {
"description": "Run tests and fix failures",
"prompt": "Run the test suite. If any tests fail, fix the code and run tests again until all pass."
}
}
}这个配置模板做了几件事:
- 统一模型:所有成员默认使用 Claude Sonnet 4
- 统一 MCP:所有成员使用 GitHub MCP 和 Context7 MCP
- 统一命令:所有成员使用相同的自定义命令
- 环境变量引用:敏感信息通过
$ENV_VAR引用,不硬编码
全局配置 vs 项目配置的分工
全局配置(~/.config/opencode/opencode.json):
→ 个人偏好:主题、默认 shell
→ API Key:通过 opencode auth login 配置
→ 不提交到 Git
项目配置(.opencode/opencode.json):
→ 团队规范:模型选择、Agent 配置
→ 团队工具:MCP 服务器、自定义命令
→ 提交到 Git,所有成员共享AGENTS.md 模板
AGENTS.md 是团队共享的"AI 说明书"——它确保所有成员的 AI 都遵循相同的代码规范和项目约定。
团队 AGENTS.md 的关键内容
markdown
# Project: team-project
## Architecture
- Frontend: React + TypeScript + Tailwind CSS
- Backend: Node.js + Express + Prisma
- Database: PostgreSQL
- Auth: JWT with refresh token rotation
## Code Conventions
- Use TypeScript strict mode
- Use async/await, no .then() chains
- Error handling: use AppError class from src/errors/
- API responses: { data, error } format
- Naming: camelCase for variables, PascalCase for classes
- No console.log in production code, use logger
## Database Conventions
- All tables: id (UUID), createdAt, updatedAt
- Soft delete: deletedAt field
- Multi-tenancy: all queries must include tenantId
## Testing Conventions
- Unit tests: co-located with source file
- API tests: tests/api/ directory
- Mock external services
- Minimum 80% coverage for new code
## Common Pitfalls
- DON'T forget tenantId in database queries
- DON'T use getServerSession in client components
- DON'T hard-delete records
- DON'T skip error handling in API routes
- DON'T commit .env filesAGENTS.md 的维护
AGENTS.md 应该由团队共同维护——当有人发现新的常见错误、调整代码规范、添加新的约定时,都应该更新 AGENTS.md。
建议在 code review 时检查 AGENTS.md 是否需要更新——如果 reviewer 发现了一个新的常见错误模式,应该在 AGENTS.md 的 Common Pitfalls 中添加。
MCP 配置共享
项目级配置中的 MCP 部分可以提交到 Git,确保团队成员使用相同的 MCP 工具集。
MCP 配置的共享策略
共享的内容(提交到 Git):
- MCP Server 的类型和启动命令
- MCP Server 的 enabled 状态
- 环境变量引用($GITHUB_TOKEN)
不共享的内容(个人配置):
- 环境变量的实际值(每个人的 Token 不同)
- 个人额外的 MCP Server(如个人项目专用的)团队 MCP 配置示例
json
{
"mcp": {
"github": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-github"],
"enabled": true,
"env": {
"GITHUB_TOKEN": "$GITHUB_TOKEN"
}
},
"postgres": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-postgres"],
"enabled": true,
"env": {
"DATABASE_URL": "$DATABASE_URL"
}
}
}
}每个团队成员需要自己设置环境变量:
bash
# 每个成员的 ~/.zshrc
export GITHUB_TOKEN="ghp_..." # 每人自己的 Token
export DATABASE_URL="postgresql://..." # 开发库连接字符串模型策略统一
团队应该统一模型选择策略,避免不同成员用不同模型导致代码风格不一致。
推荐的团队模型策略
团队模型策略:
默认模型(日常编码):
→ Claude Sonnet 4
→ 性能与成本的最佳平衡
快速模型(简单任务):
→ Claude Haiku 4
→ 代码审查、简单修改、快速问答
不推荐团队使用的模型:
→ GPT-4o(代码风格可能跟 Claude 不一致)
→ Ollama 本地模型(质量不稳定)
→ Opus(成本太高,日常不需要)
特殊场景(需团队负责人批准):
→ Gemini 2.5 Pro(需要超长上下文时)
→ DeepSeek(预算紧张时)模型策略的配置
在项目级配置中设置默认模型:
json
{
"agents": {
"coder": {
"model": "anthropic/claude-sonnet-4-20250514",
"maxTokens": 16384
}
}
}团队成员可以在 TUI 中用 /models 临时切换模型,但默认模型是统一的。
新人 Onboarding
新成员加入团队时,OpenCode 的 onboarding 流程应该简单明确:
bash
# 1. 安装 OpenCode
curl -fsSL https://opencode.ai/install | bash
# 2. 配置 API Key(推荐 Claude Pro 订阅)
opencode auth login
# 3. 克隆项目
git clone <repo-url>
cd <project>
# 4. 设置环境变量(团队文档中列出需要的变量)
export GITHUB_TOKEN="ghp_..."
export DATABASE_URL="postgresql://..."
# 5. 启动 OpenCode(项目配置和 AGENTS.md 已在仓库中)
opencode
# 6. 开始使用
"帮我了解一下这个项目的架构"Onboarding 文档
团队应该维护一份 OpenCode onboarding 文档,包含:
- 安装步骤
- API Key 获取方式(公司是否有统一的 API Key?还是个人自行购买?)
- 需要设置的环境变量列表
- 项目级配置的说明
- AGENTS.md 的阅读指南
- 常用自定义命令的使用方法
- 安全注意事项
常见误区
误区一:团队配置太严格,不允许个人自定义
项目级配置设置了团队统一的"底线",但不应该完全禁止个人自定义。全局配置允许个人设置主题、额外的 MCP Server 等个人偏好。团队配置和个人配置是互补的——团队配置确保一致性,个人配置保留灵活性。
误区二:AGENTS.md 写一次就不用管了
项目在演进,AGENTS.md 也应该跟着更新。建议每次 sprint 结束后检查 AGENTS.md 是否需要更新——有没有新的常见错误?代码规范有没有调整?目录结构有没有变化?
误区三:所有团队都用相同的配置
不同项目的需求不同——前端项目需要 shadcn MCP,后端项目需要 PostgreSQL MCP,DevOps 项目需要 Docker MCP。团队配置应该按项目定制,而不是一刀切。
误区四:新人不需要了解 OpenCode 配置
新人应该了解项目的 OpenCode 配置——特别是 AGENTS.md 中的代码规范和常见陷阱。这些信息不仅对 AI 有用,对新人理解项目规范也很有帮助。建议把"阅读 AGENTS.md"加入新人的 onboarding 清单。
小结
这一节我们学习了团队配置标准化的四个方面:项目级配置统一模型选择、Agent 配置和 MCP 服务器;AGENTS.md 模板统一代码规范和项目约定;MCP 配置共享确保团队使用相同的工具集;模型策略统一避免代码风格不一致。团队配置的核心原则是"团队统一底线,个人保留灵活性"——项目配置确保一致性,全局配置保留个人偏好。下一节我们讨论 OpenCode 的局限性和替代方案。