1. 为什么团队规则要同时写进 claude.md 和 AGENTS.md
团队里用 AI 写代码,最怕的不是模型不会写,而是它太会写——你没让它改的文件它顺手改了,你没让它重构的函数它给你拆了,你只是想让它看看代码它直接开始动手。这些问题的根源不在模型能力,在于协作规则没有被固化到工具能读到的地方。
claude.md 和 AGENTS.md 就是干这个的。它们本质上是放在仓库里的纯文本规则文件,AI 编码工具在启动或执行任务时会自动读取,相当于给模型一份"团队协作说明书"。你不需要每次对话都重复交代"别乱改文件""先问我再动手",规则写一次,所有读这个文件的工具都生效。
这两个文件的分工是这样的:claude.md 是 Claude Code 的专属规则入口,放在项目根目录,Claude Code 启动时会自动加载;AGENTS.md 是更通用的 Agent 规则文件,Codex、Cline、Cursor 等工具都认这个文件名。两者内容可以高度复用,但承载的边界不同——claude.md 更适合写 Claude Code 特有的行为约束和工具调用规则,AGENTS.md 更适合写跨工具的通用协作规范。
适合谁看这篇:正在用 Claude Code 或 Codex 做团队开发的工程师、需要统一多人 AI 协作规范的 Tech Lead、以及想把 AI 编码工具接入统一 API 通道的开发者。接下来我会给出可直接复制的规则模板、两个文件的配置片段,以及 TaoToken 统一 Key/API 通道的接入位置和逐项验证动作。
2. TaoToken 统一 Key/API 通道的前置准备
在把规则写进 claude.md 和 AGENTS.md 之前,先要把 API 通道统一好。团队里每个人各自申请 Key、各自配 Base URL,出了问题很难排查,费用也分散。TaoToken 的做法是提供一个统一的 API 入口,团队成员用同一个通道访问不同模型,Key 由管理员在控制台统一管理。
你需要先完成三件事:
第一,在 TaoToken 控制台创建一个团队项目,生成一个 API Key。这个 Key 就是后续所有工具配置里填的凭证。控制台地址是 https://taotoken.net/console ,登录后进入 API Keys 页面创建。
第二,确认你要用的模型 ID。TaoToken 的 API 兼容 OpenAI 格式,模型 ID 在文档里有完整列表,常见的有 claude-sonnet-4-20250514、gpt-4o 等。你可以在模型对话页面先试一下目标模型是否可用: https://taotoken.net/models 。
第三,确定 Base URL。TaoToken 的 API 端点是 https://taotoken.net/api ,所有工具配置里填这个地址,不要加多余路径。注意这个地址不带 UTM 参数,直接写就行。
这三样东西——Base URL、API Key、Model ID——就是后面所有配置文件里的"三件套"。不管你是配 Claude Code、Codex 还是 Cline,都是填这三个值,只是文件位置和字段名不同。
有一点要提醒:不要把 API Key 直接硬编码到 claude.md 或 AGENTS.md 里。规则文件是给模型读的行为约束,不是存密钥的地方。Key 应该放在环境变量或工具自己的配置文件里,规则文件里只写"使用统一 API 通道"这样的说明。我见过有人把 Key 写进 AGENTS.md 然后提交到仓库,这是典型的踩坑。
如果你团队里有人用 Coding Plan 做长期编码任务,可以在 https://taotoken.net/coding-plan 了解套餐详情,统一走一个通道比每人单独订阅省事得多。
3. 可复制的规则模板与配置文件片段
这一节是核心,直接给可复制的内容。先给 claude.md 的规则模板,再给 AGENTS.md 的模板,最后给工具侧的配置文件片段。
3.1 claude.md 规则模板
在项目根目录创建 claude.md,把下面内容复制进去。这个模板聚焦 Claude Code 的行为约束,重点是"不确定就问、改动前说明、不扩大范围"。
# 项目协作规则 ## 核心原则 - 需求不明确、存在歧义或多种合理方案时,先停止编辑并向用户提问确认。 - 影响功能行为、接口定义、数据格式、模块边界的假设,必须先确认,不要自行决定。 - 小假设可以继续执行,但需在最终说明中明确写出。 ## 编辑约束 - 开始编辑前,先说明预计修改哪些文件及每个文件的修改目的。 - 优先做最小必要修改,先解决当前问题,再考虑扩展性优化。 - 保持与现有代码风格、目录结构、命名习惯一致,不引入新范式。 - 不覆盖、不回退用户已有的本地修改,除非用户明确要求。 - 高风险操作必须先确认:删除文件、批量重命名、修改公共接口、数据迁移、配置变更。 ## 沟通要求 - 回复简洁、直接、可执行。 - 提问时一次问清关键决策点,避免反复追问。 - 给出方案选项时,每个选项附带一句影响说明。 - 改动前说明计划,改动后说明结果。 ## 验证要求 - 能做局部验证时,优先做与改动最相关的最小验证。 - 无法验证时,明确说明"未验证"及原因。 - 不声称"应该可以"来替代实际验证结果。 ## 禁止事项 - 不在需求不清楚时直接开始改代码。 - 不为展示能力而过度设计。 - 不把"顺手优化"混进用户未要求的修改里。 - 不在未确认的情况下做破坏性操作。3.2 AGENTS.md 规则模板
AGENTS.md 放在项目根目录,内容与 claude.md 高度复用,但增加跨工具的通用说明和 API 通道信息。
# AGENTS.md ## 通用协作规则 (与 claude.md 核心原则、编辑约束、沟通要求、验证要求、禁止事项一致,此处可直接复用) ## API 通道说明 - 本项目统一使用 TaoToken API 通道,Base URL: https://taotoken.net/api - 模型 ID 和 Key 通过环境变量注入,不写入本文件。 - 所有 AI 工具(Claude Code、Codex、Cline)共用同一通道。 ## 工具特定说明 - Claude Code: 读取 claude.md 获取行为约束。 - Codex: 读取 AGENTS.md 和 auth.json 获取配置。 - Cline: 通过 MCP 配置读取 AGENTS.md。3.3 Claude Code 配置文件片段
Claude Code 的配置在~/.claude/settings.json,填入以下内容:
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "你的TaoToken Key", "ANTHROPIC_MODEL": "claude-sonnet-4-20250514" } }如果你用 Claude Code 的 Anthropic 兼容模式,Base URL 填 https://taotoken.net/api 即可。配置文档在 https://taotoken.net/doc 有完整说明。
3.4 Codex auth.json 配置片段
Codex 的配置在~/.codex/auth.json:
{ "OPENAI_BASE_URL": "https://taotoken.net/api", "OPENAI_API_KEY": "你的TaoToken Key", "OPENAI_MODEL": "gpt-4o" }3.5 Cline MCP 配置片段
Cline 通过 MCP 配置接入,在设置里填:
{ "mcpServers": { "taotoken": { "url": "https://taotoken.net/api", "apiKey": "你的TaoToken Key", "model": "claude-sonnet-4-20250514" } } }三件套对照表:
| 工具 | 配置文件 | Base URL 字段 | Key 字段 | Model 字段 |
|---|---|---|---|---|
| Claude Code | ~/.claude/settings.json | ANTHROPIC_BASE_URL | ANTHROPIC_API_KEY | ANTHROPIC_MODEL |
| Codex | ~/.codex/auth.json | OPENAI_BASE_URL | OPENAI_API_KEY | OPENAI_MODEL |
| Cline | MCP 设置 | url | apiKey | model |
所有工具的 Base URL 都是 https://taotoken.net/api ,Key 都是同一个 TaoToken Key,Model ID 按需选择。
4. 验证请求与成功结果确认
配置写完不代表生效,必须逐项验证。我按工具分三步走,每步都有明确的成功标志。
4.1 验证 API 通道连通性
先用 curl 直接测通道,排除工具层干扰:
curl -X POST https://taotoken.net/api/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer 你的TaoToken Key" \ -d '{ "model": "claude-sonnet-4-20250514", "messages": [{"role": "user", "content": "回复OK"}] }'成功标志:返回 JSON 里有choices数组,message.content是 "OK" 或类似内容。如果返回 401,说明 Key 不对;如果返回 404,说明 Base URL 路径写错了。
4.2 验证 Claude Code 读取 claude.md
在项目根目录启动 Claude Code,输入一个会触发规则的问题,比如"帮我重构一下 utils 目录"。观察它的回复:
成功标志:它不会直接开始改文件,而是先说明"我计划修改以下文件……"或者问你"你希望重构哪些具体函数?"这说明 claude.md 里的"改动前说明计划"和"不确定就问"规则生效了。
如果它直接开始改文件,说明 claude.md 没被读取。检查文件是否在项目根目录、文件名是否完全匹配claude.md(全小写)。
4.3 验证 Codex 读取 AGENTS.md 和 auth.json
启动 Codex,输入"看看这个项目的 API 配置"。成功标志:它能说出 Base URL 是 https://taotoken.net/api ,说明 auth.json 被正确读取。再输入"帮我改个函数",观察它是否先说明计划,说明 AGENTS.md 生效。
4.4 验证 Cline MCP 连接
在 Cline 里发起一个对话,问"你当前用的什么模型"。成功标志:它返回你配置的 Model ID,说明 MCP 通道连通。
4.5 验证规则复用一致性
在 Claude Code 和 Codex 里分别问同一个问题:"如果需求不明确你会怎么做?"两个工具的回答应该都指向"先提问确认",说明 claude.md 和 AGENTS.md 的规则内容一致且都被读取。
验证通过后,你可以把这三个配置文件模板和两个规则文件模板提交到团队仓库,新成员 clone 后只需填入自己的 TaoToken Key 就能跑通。Key 通过环境变量注入,不写入仓库。
5. 本篇常见错误排查
配置过程中最容易踩的坑集中在几个报错上,我按报错信息逐项拆解。
5.1 401 Unauthorized
报错原文:{"error":{"message":"Invalid API key","type":"invalid_request_error"}}
原因:Key 填错、Key 过期、或者 Key 前面多了 "Bearer " 前缀(有些工具会自动加,你手动又加了一次)。
排查:先用 4.1 的 curl 命令测,如果 curl 也 401,说明 Key 本身有问题,去 https://taotoken.net/api-keys 重新生成一个。如果 curl 通过但工具报 401,检查工具配置文件里 Key 字段是否有多余空格或前缀。
5.2 local proxy failed / connection refused
报错原文:local proxy failed: dial tcp 127.0.0.1:xxxx: connect: connection refused
原因:工具配置了本地代理地址,但代理没启动。或者 Base URL 被错误地写成了 localhost。
排查:检查配置文件里 Base URL 是否为 https://taotoken.net/api ,不要填任何 localhost 或 127.0.0.1 地址。如果你之前配过其他通道,把旧的环境变量清掉。
5.3 reading choices: unexpected end of JSON input
报错原文:error reading choices: unexpected end of JSON input
原因:API 返回了空响应或非 JSON 内容,通常是 Base URL 路径不对,请求打到了错误的路由。
排查:确认 Base URL 是 https://taotoken.net/api ,不要在后面加/v1或/chat/completions(工具会自动拼)。有些工具需要你填完整路径,有些只需要根地址,看工具文档。TaoToken 的文档在 https://taotoken.net/doc 有各工具的填写示例。
5.4 OAuth 相关报错
报错原文:OAuth token expired或failed to refresh token
原因:工具走了 OAuth 流程而不是 API Key 流程。Claude Code 和 Codex 都支持两种模式,你需要明确配置为 API Key 模式。
排查:在 Claude Code 的 settings.json 里确保有ANTHROPIC_API_KEY字段,并且没有ANTHROPIC_AUTH_TOKEN之类的 OAuth 字段。Codex 的 auth.json 里确保用OPENAI_API_KEY而不是 OAuth 相关字段。
5.5 规则文件不生效
现象:配置都对了,但 AI 还是乱改文件。
排查:第一,确认文件名完全正确,claude.md全小写,AGENTS.md全大写。第二,确认文件在项目根目录,不是子目录。第三,确认工具版本支持读取规则文件,老版本可能不认。第四,重启工具,有些工具只在启动时读一次规则文件。
5.6 三件套缺失导致配置不完整
如果你在配置里只填了 Base URL 和 Key,没填 Model ID,工具可能报model not found。记住三件套缺一不可:Base URL + Key + Model ID。对照第 3 节的表格逐项检查。
6. 把规则和通道固化到团队工作流
规则文件写好了、通道配通了、验证也过了,最后一步是让它变成团队习惯。我的做法是把 claude.md 和 AGENTS.md 纳入代码评审范围——每次有人改了这两个文件,都要在 PR 里说明改了什么规则、为什么改。这样规则不会悄悄漂移。
另外,新成员入职时,把三个配置文件模板和两个规则文件一起给他,让他自己填 Key、跑一遍第 4 节的验证。跑通了才算接入完成。这比口头交代"你用 AI 的时候注意点"有效得多。
如果你团队用 Coding Plan 做长期任务,可以在 https://taotoken.net/coding-plan 统一管理额度,避免每人单独充值。模型对话调试在 https://taotoken.net/models ,API Key 管理在 https://taotoken.net/api-keys ,接入文档在 https://taotoken.net/doc 。Claude Code 的 Anthropic 兼容接入说明在 https://taotoken.net/doc 里有专门章节。
规则文件的价值不在于写得多漂亮,而在于每次 AI 动手前都读一遍。你把它放进仓库,它就变成了团队协作的一部分,而不是某个人脑子里的默契。