Anthropic Agent Skills 写 auto-pr-review,Base URL 填 TaoToken
2026/9/18 12:30:43 网站建设 项目流程

Anthropic Agent Skills 最容易被低估的地方,不是它能写多少代码,而是它能把 auto-pr-review 这类重复审查动作变成一份可复用的技能包。你昨天刚跟 AI 解释过“这个仓库不许吞异常”“日志里不能带手机号”,今天换一个对话窗口,它又像失忆一样从零开始问。要解决这个问题,先把承载 Skill 的 Claude Code 通道接稳:打开 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 注册 TaoToken 并创建 Key,后面所有 auto-pr-review 的调用都走同一把 Key 和同一个 Base URL。Agent Skills 负责告诉 AI“该怎么做”,TaoToken 负责让这些调用稳定落到兼容通道上;两者分工清楚,后面配起来就不会乱。这篇文章不重写 auto-pr-review 的业务规则,而是把原文里“准备 Claude Code / 兼容 Agent”那一步接到 TaoToken,再继续走原实战路径。

1. auto-pr-review 每天都在“失忆”,Agent Skills 把它变成技能包

1.1 通用 AI 的失忆现场

你大概遇到过这种循环:早上让 AI 审一个 PR,它说“建议补充空值判断”;中午换一个分支再审,它又开始夸那段没有空值判断的代码“写法简洁”。不是模型变笨了,而是每次对话都是新开局,上一轮的审查口径、团队规范、历史踩坑记录都没带进来。你只能复制粘贴一大段背景,再补一句“请按我们团队的规则看”,结果它还是可能漏掉。

这种失忆在 PR 审查里特别明显。真正让团队难受的,不是 AI 写不出一句评论,而是它每次都要重新学习“这个仓库为什么不允许在循环里查库”“为什么配置项必须走环境变量”“为什么迁移脚本不能出现 DROP”。这些规则散落在文档、注释和口口相传里,通用对话窗口接不住,于是审查质量全靠你临场喂上下文。

Agent Skills 想解决的就是这件事:把“怎么看 PR”从一次性的提示词,变成一份可以放在仓库或本地目录里的技能包。Claude Code 在合适的时候加载它,按里面的步骤、工具权限和输出模板执行。auto-pr-review 就是一个典型例子:它不是让 AI 更聪明,而是让 AI 不再每天重新问一遍“你们的审查标准是什么”。

1.2 Agent Skills 到底往 Claude Code 里塞了什么

一个 Agent Skill 通常就是一个目录,里面至少有一份 SKILL.md,还可以带 scripts、templates、参考资料。SKILL.md 的 frontmatter 负责声明技能名、描述、可用工具和上下文模式;正文负责写清楚触发后要做什么、按什么顺序做、最终输出成什么样。Claude Code 会读这些信息,判断当前任务要不要加载这个技能。

以 auto-pr-review 为例,它不需要接管你的 Git 操作,也不需要替代你写 Bash 或 Python 脚本。它更像一张检查清单加执行说明书:告诉 AI 先看 diff,再按规则找风险,最后用统一模板留下评论。真正执行 git diff、跑静态检查、调用内部脚本的动作,仍然由 Skill 里声明的 Bash、Read、Grep 等工具完成。

这里要先把边界说清楚:TaoToken 不负责写 SKILL.md,也不替代 scripts 里的业务逻辑。它只提供 API Key 和 Base URL,让承载 Agent Skills 的 Claude Code 或兼容 Agent 走统一 API 通道。你把通道配好之后,原文里的目录创建、SKILL.md 编写、提交 PR 触发审查都可以继续照着做。

2. 先拿 TaoToken Key:在官网把通道和额度准备好

2.1 从落地页注册到创建 Key

原文在跑 auto-pr-review 之前,会先准备一个能执行 Skill 的 Claude Code 或兼容 Agent。这一步现在改到 TaoToken 完成:打开页面,注册登录,进入控制台,创建一个 API Key。这个 Key 就是后面要填进 Claude Code 的YOUR_API_KEY,别把它和官网登录密码混在一起。

创建 Key 之后,顺手看一眼模型广场。因为 Claude Code 配置里要填ANTHROPIC_MODEL,这个值不是靠猜的,也不是随便加日期后缀。你能用哪个模型、模型 ID 具体怎么写,以 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 模型广场当时列表为准。把模型 ID 先记下来,后面填配置时直接替换YOUR_MODEL_ID

还有一个地址要分清:给人点的官网落地页是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end ,填进 Claude Code 的 Base URL 是https://taotoken.net/api。两者用途不同,后者末尾不要带/v1,也不要把 UTM 参数加到 API 地址上。

2.2 模型 ID 别靠猜,去模型广场对一眼

很多配置错误不是 Key 错了,而是模型 ID 写错。有人习惯性填一个自己记得的模型名,或者从旧笔记里复制一个带日期后缀的 ID,结果请求直接报模型不存在。Agent Skills 本身不绑定某个固定模型,但承载它的 Claude Code 需要一个有效模型 ID 才能发起对话。

比较稳妥的做法是:在模型广场找到你要用的模型,复制完整 ID,填到ANTHROPIC_MODEL。如果你同时配了多个工具,建议把官网链接和 Base URL 写在同一个笔记里,避免把https://taotoken.net/api和落地页地址混用。记住,落地页用来注册、创建 Key、看模型、看用量;Base URL 只填https://taotoken.net/api

3. Claude Code 接 TaoToken:settings.json 与环境变量两种写法

3.1 临时用环境变量跑通

如果你只是想先验证 auto-pr-review 能不能跑,可以在当前终端里临时导出环境变量。这样不会改配置文件,关掉终端就失效,适合排查 Key 和 Base URL 是不是正确。

export ANTHROPIC_BASE_URL="https://taotoken.net/api" export ANTHROPIC_AUTH_TOKEN="YOUR_API_KEY" export ANTHROPIC_MODEL="YOUR_MODEL_ID"

这三行里,ANTHROPIC_BASE_URL固定填https://taotoken.net/api,末尾不带/v1ANTHROPIC_AUTH_TOKEN填你从官网创建的 TaoToken Key,这里用YOUR_API_KEY占位。ANTHROPIC_MODEL填模型广场里的模型 ID,不要自己编一个不存在的名字。导出后重新启动 Claude Code,让新进程读到这些变量。

3.2 长期用 ~/.claude/settings.json 固定

如果你打算把 auto-pr-review 放进日常开发流,环境变量每次开终端都要导出,容易漏。更稳的方式是写进~/.claude/settings.jsonenv字段。文件不存在就新建,已有内容就合并,不要直接覆盖其他配置。

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY", "ANTHROPIC_MODEL": "YOUR_MODEL_ID" } }

JSON 里不能写注释,所以YOUR_API_KEYYOUR_MODEL_ID要在保存前替换掉。Key 从 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 创建;模型 ID 以模型广场当时列表为准。保存后完全退出 Claude Code 再打开,否则旧进程可能还在用之前的配置。

3.3 可选:命令行启动用 taotoken cc

如果你习惯从命令行拉起 Claude Code,也可以用 TaoToken 的 CLI。它适合快速切换 Key 和模型,不用手动改 settings.json。但如果你已经配好了上面的env,这一步不是必须的。

npm install -g @taotoken/taotoken taotoken cc -k YOUR_API_KEY -u https://taotoken.net/api -m YOUR_MODEL_ID

注意-u后面是 Base URL,仍然写https://taotoken.net/api,不要加/v1,也不要把官网落地页的 UTM 参数带进来。-m后面是模型 ID,具体值以模型广场为准。这个命令只是换一种启动方式,不改变 auto-pr-review 的 SKILL.md 内容。

4. mkdir -p ~/.claude/skills/auto-pr-review:写一份能被触发的 SKILL.md

4.1 目录结构与 frontmatter

通道配好之后,回到原文的 Agent Skills 实战路径。先创建技能目录:

mkdir -p ~/.claude/skills/auto-pr-review cd ~/.claude/skills/auto-pr-review

目录结构可以像这样:

~/.claude/skills/auto-pr-review/ ├── SKILL.md ├── scripts/ └── templates/

关键是 SKILL.md 的 frontmatter。下面是一份最小可用示例,字段名和结构对齐原文提到的descriptionallowed-toolscontext: fork

--- name: auto-pr-review description: 当用户要求审查 PR、检查 diff 风险、做提交前自审时使用。 allowed-tools: Bash, Read, Grep, Glob, Write context: fork --- # Auto PR Review ## 目的 对当前 PR 的 diff 做一次结构化审查,输出风险点、测试建议和必须修改项。 ## 步骤 1. 读取本次变更文件列表。 2. 检查空值、边界条件、敏感信息、日志泄露和错误处理。 3. 如果存在 `scripts/collect_diff.sh`,运行它收集变更上下文。 4. 按 `templates/review_comment.md` 汇总评论,按严重程度排序。 ## 输出格式 - 严重:必须修改,否则不合并。 - 建议:可以改进,但不阻塞合并。 - 测试用例:需要补充的测试场景。

name要和目录名一致,方便 Claude Code 找到这个技能。description要写清楚触发场景,用户说“审查 PR”“看 diff 风险”时更容易命中。allowed-tools决定 Skill 执行时能用哪些工具,auto-pr-review 需要看文件、搜代码、跑脚本,所以 Bash、Read、Grep、Glob 比较常见。context: fork让 Skill 在独立上下文中执行,避免把大量 diff 和审查日志灌进主对话。

4.2 SKILL.md 正文怎么写

正文部分不要写成空泛的“请仔细审查代码”,而要写成 AI 能照着执行的步骤。比如先读变更文件列表,再逐文件检查风险,最后按模板输出。你可以把团队最常出问题的几类规则写进去:数据库变更是否带回滚、接口参数是否校验、日志是否打印敏感字段、异常是否被吞掉。这些规则是 auto-pr-review 的业务核心,TaoToken 不参与判断。

写的时候注意一点:SKILL.md 是给 AI 看的执行说明,不是给人类看的宣传页。步骤越具体,输出越稳定。比如“检查空值”可以写成“对每个新增的函数参数,检查是否可能为 null 或 undefined,并给出具体行号”。输出格式也要写死,否则 AI 每次返回结构不同,你很难对比审查结果。

4.3 scripts 与 templates 的位置

scripts 目录放辅助脚本,比如collect_diff.sh用来收集本次 PR 的变更文件、review_rules.py用来跑自定义规则。templates 目录放评论模板,比如review_comment.md。SKILL.md 只负责指挥,脚本和模板负责具体执行与呈现。这样拆分之后,auto-pr-review 更容易维护,也不会因为换模型而重写全部逻辑。

Claude Code 加载 Skill 后,会根据 SKILL.md 里的 allowed-tools 调用这些文件。如果脚本没有执行权限,或者 allowed-tools 里没写 Bash,Skill 就可能只输出文字,跑不了脚本。这部分和 API 通道无关,属于 Skill 本身的权限配置,排查时别只盯着 Key 看。

5. 提交 PR 后,怎么确认 auto-pr-review 真的按 SKILL.md 跑了

5.1 触发 Skill 的几种方式

配置完成后,提交一个 PR,然后在 Claude Code 里直接说“用 auto-pr-review 审查当前 PR”。如果 description 写得准,也可以在说“帮我看看这个 diff 有没有风险”时被自动匹配。触发之后,Claude Code 会读取 SKILL.md,按里面写的步骤执行。

判断有没有真的加载 Skill,可以看它有没有调用你声明的工具,比如读取变更文件、搜索关键字、运行 scripts 里的脚本。如果它只是泛泛地回答“这段代码看起来可以”,没有按模板输出,也没有引用具体文件和行号,大概率是 Skill 没被触发,或者 description 写得太模糊。

5.2 看输出结构判断是否走了 Skill

一个正常执行的 auto-pr-review,输出应该接近 SKILL.md 里定义的格式:先列严重问题,再列建议,最后给测试用例。它可能会引用templates/review_comment.md的标题结构,也可能调用scripts/collect_diff.sh的输出。只要这些特征出现,就说明 Skill 确实参与了这次审查。

验证阶段也可以回到 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 看这次调用有没有记上账。如果模型对话正常、PR 审查也有输出,但控制台没有记录,先检查是不是有别的工具在用自己的 Key,或者 Claude Code 还在读旧配置。TaoToken 只负责通道,不会替 Skill 决定审查规则,所以输出内容对不对,最终还是看 SKILL.md 怎么写。

6. 排障:401、404 和 allowed-tools 权限最容易让人怀疑人生

6.1 401 与 Key 所在位置

看到 401,先不要怀疑 Agent Skills 写错了。最常见的原因是ANTHROPIC_AUTH_TOKEN没填、填成了登录密码、复制 Key 时漏了字符,或者 settings.json 里改了但 Claude Code 没重启。Key 统一从 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 创建,创建后直接复制,不要手动补空格。

如果你同时配了环境变量和 settings.json,还要确认哪一份生效。有些工具会优先读环境变量,有些会读配置文件。最省事的做法是先只留一份配置,确认能跑通,再合并。401 不会因为 SKILL.md 的 description 写得好而自动消失,它只认 Key。

6.2 404 与 Base URL 的 /v1 尾巴

404 经常来自 Base URL 写法。Claude Code 的ANTHROPIC_BASE_URL要填https://taotoken.net/api,末尾不加/v1。有些工具默认会自己拼/v1/messages,你再加一层/v1,路径就重复了。也不要为了“带来源”把 UTM 参数拼到 API 地址上,Base URL 只保留https://taotoken.net/api

另外一个容易混的点是模型 ID。如果 Base URL 正确、Key 也正确,但请求还是报模型相关错误,去模型广场复制完整 ID,替换YOUR_MODEL_ID。不要自己拼一个带日期后缀的名字,也不要拿旧文档里的 ID 直接套。

6.3 Skill 没触发、allowed-tools 拒绝

PR 提交后没有看到结构化审查输出,先检查 Skill 目录是不是~/.claude/skills/auto-pr-review,SKILL.md 是不是放在这一层,name是不是和目录名一致。frontmatter 的---必须成对出现,description要包含用户可能说的触发词。context: fork如果写错位置,也可能导致 Skill 不按预期加载。

如果 Skill 触发了,但运行脚本时被拒绝,检查allowed-tools里有没有包含 Bash。auto-pr-review 要看文件、搜关键字、跑脚本,少了对应工具就会卡住。权限问题不是 TaoToken 的问题,也不是模型的问题,而是 Skill 声明和实际动作没对齐。把需要的工具补进 frontmatter,再重新触发一次。

7. 把 templates 和 scripts 补全,再去控制台看这次调用

7.1 下一轮迭代加什么

跑通之后,你可以继续补scripts/collect_diff.shtemplates/review_comment.md。脚本负责收集变更上下文,模板负责统一评论格式,SKILL.md 负责指挥流程。下一步可以加更多审查规则,比如接口兼容性、数据库迁移回滚、配置项默认值检查。每次改完,都提交一个测试 PR,看 auto-pr-review 的输出有没有按新规则走。

通道侧不需要频繁改动。Key 和 Base URL 配好之后,Claude Code 会继续用https://taotoken.net/api发起请求。要换模型时,去模型广场确认新的模型 ID,再更新ANTHROPIC_MODEL。不要把业务规则写进 Base URL,也不要把脚本逻辑交给 TaoToken,它只提供统一的 API 通道。

7.2 配好之后,下一步去哪里

配置保存后,先在 TaoToken 模型对话 里用同一把 Key 发一条测试消息,确认模型 ID 和 Base URL 没填错。如果打算把 auto-pr-review 放进每天的工作流,可以打开 Coding Plan 看套餐是否够用;Key 统一在 控制台 API Keys 创建和管理;Claude Code 环境变量与 settings.json 的对照说明在 接入文档。最后再回 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 看一眼这次 auto-pr-review 的调用有没有记上账,确认 Skill 和通道都真的跑在线上。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询