新闻详情

新闻详情

首页 / 资讯中心 / 详情

周红伟:Claude 与 Google 双栈实战,万字长文 Skills 从入门到精通,Skills 编程案例实操(含 TaoToken 统一 Key 配置)

发布时间:2026/9/28 6:03:39来源:尧图网络
周红伟:Claude 与 Google 双栈实战,万字长文 Skills 从入门到精通,Skills 编程案例实操(含 TaoToken 统一 Key 配置)
1. 从一次真实的 Skills 踩坑说起Claude 与 Google 双栈下的 Skills本质是把「可复用的提示词 工具权限 上下文隔离」打包成一个个可被主对话按需调用的能力单元。它能做什么简单说你写一次代码审查规范之后每个项目都能让同一个 Skill 自动执行你定义一次数据库只读约束之后任何模型都不能越界写库。适合谁适合已经在用 Claude Code 或 Gemini CLI 做日常开发、但被「每次都要重复贴提示词」「上下文被日志刷爆」「不同项目配置各写一遍」折磨的开发者。我试过把一套代码审查 Skill 同时挂到 Claude 和 Google 两条链路上最大的感受是Skills 的价值不在「写」而在「统一入口 隔离执行」。主对话只负责决策脏活累活丢给 Skill 在自己的上下文窗口里跑跑完只回传摘要。这样主对话的 token 不会被测试日志、依赖树、大段 diff 撑爆成本也更可控。但双栈落地有两个现实问题一是 Claude 和 Google 的配置格式不一样一个吃settings.json一个吃config.toml字段名还对不上二是两边的 Key 管理分散切来切去容易乱。这篇就按「先跑通单栈 Skill → 再用统一 Key 打通双栈 → 逐条验证」的顺序走所有配置都能直接复制。2. TaoToken 前置统一 Key 与双栈接入准备在动手写 Skill 之前先把 Key 这层理顺。TaoToken 的作用是给 Claude 和 Google 两条链路提供统一的 API 入口和 Key 管理你不用为每个模型单独维护一套凭证。官网入口在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 基址是 https://taotoken.net/api 这个地址不加 UTM 参数配置里直接写它。你需要先拿到一个 Key。进入控制台创建https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 然后在 API Keys 页面生成https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。生成后复制那串sk-开头的字符串后面两条链路的配置都要用它。注意Key 只显示一次建议生成后立刻写进本地环境变量或配置文件别只留在浏览器里。环境变量建议这样设Claude 和 Google 共用同一个 Key 变量减少心智负担export TAOTOKEN_API_KEYsk-你的key export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_API_KEY$TAOTOKEN_API_KEY export GOOGLE_API_BASEhttps://taotoken.net/api export GOOGLE_API_KEY$TAOTOKEN_API_KEY如果你更习惯用配置文件而不是环境变量Claude 侧写~/.claude/settings.jsonGoogle 侧写~/.config/gcloud/config.toml或项目级config.toml。下面两节分别给骨架。3. 可复制配置settings.json 与 config.toml 骨架3.1 Claude 侧 settings.json 骨架Claude Code 的 Skill子代理定义在~/.claude/agents/或项目.claude/agents/下是带 YAML 前置元数据的 Markdown 文件。而settings.json负责全局权限、钩子和模型路由。先给一份能直接用的~/.claude/settings.json{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的key }, permissions: { allow: [Read, Grep, Glob, Bash(git diff:*)], deny: [Task(Explore)] }, hooks: { SubagentStart: [ { matcher: code-reviewer, hooks: [ { type: command, command: ./scripts/setup-review.sh } ] } ], SubagentStop: [ { matcher: code-reviewer, hooks: [ { type: command, command: ./scripts/cleanup-review.sh } ] } ] } }这里env段把请求指向 TaoToken 的 API 基址permissions.deny里禁掉了内置 Explore 子代理按需保留hooks段演示了子代理生命周期钩子。接着写一个代码审查 Skill存到~/.claude/agents/code-reviewer.md--- name: code-reviewer description: Expert code review specialist. Proactively reviews code for quality, security, and maintainability. Use immediately after writing or modifying code. tools: Read, Grep, Glob, Bash model: inherit --- You are a senior code reviewer ensuring high standards of code quality and security. When invoked: 1. Run git diff to see recent changes 2. Focus on modified files 3. Begin review immediately Review checklist: - Code is clear and readable - Functions and variables are well-named - No duplicated code - Proper error handling - No exposed secrets or API keys - Input validation implemented Provide feedback organized by priority: - Critical issues (must fix) - Warnings (should fix) - Suggestions (consider improving)model: inherit表示跟随主对话模型如果你想省钱可以改成haiku把审查这种相对轻量的活路由到更快更便宜的模型。3.2 Google 侧 config.toml 骨架Google 这条链路以 Gemini CLI 为例用config.toml管理模型和端点。项目级配置放在项目根目录的.gemini/config.toml用户级放在~/.config/gemini/config.toml[api] base_url https://taotoken.net/api api_key sk-你的key timeout 60 [model] default gemini-2.5-pro fast gemini-2.5-flash [skills] enabled true dir ./skills [skills.code_review] description Review code for quality, security, and best practices tools [read_file, search_files, run_shell] model gemini-2.5-flashGoogle 侧的 Skill 用目录 描述文件组织skills/code_review/SKILL.md里写提示词正文config.toml里声明它的工具和模型。这样两条链路虽然格式不同但语义对齐都是「描述触发 工具限制 模型选择」。提示两边都指向https://taotoken.net/apiKey 也用同一个切换时只改模型名不用改凭证。4. 验证请求逐条跑通并看结果配置写完别急着信逐条验证。第一步确认 Claude 侧能连上claude --version claude -p 用一句话说明你当前使用的模型如果返回正常文本说明ANTHROPIC_BASE_URL和 Key 生效。第二步验证 Skill 被加载claude # 进入交互后输入 /agents你应该能在列表里看到code-reviewer。第三步实际触发一次委托。在任意 git 仓库里改一行代码然后claude -p 使用 code-reviewer 子代理审查我最近的更改预期结果是主对话把任务委托给code-reviewer子代理跑git diff、读文件、返回按优先级分组的审查意见。如果它没委托多半是description写得不够明确加上「Proactively use after code changes」这类触发词。第四步验证 Google 侧gemini --version gemini -p 读取 config.toml 并告诉我当前 base_url返回里应包含https://taotoken.net/api。第五步验证 Google 侧 Skillgemini -p 对当前目录运行 code_review skill成功时你会看到它调用read_file、search_files并输出审查结论。第六步验证统一 Key 是否真的共用——把TAOTOKEN_API_KEY换成一个错误值两边都应该报鉴权失败换回正确值两边都恢复。这一步能确认你没有在某处硬编码了旧 Key。想直接在网页里对比两个模型对同一段代码的审查结果可以用模型对话入口https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite 把 diff 贴进去分别选 Claude 和 Gemini 跑一遍直观感受差异。5. 本篇常见错排查报错一401 Unauthorized。九成是 Key 没生效。检查echo $TAOTOKEN_API_KEY是否有值settings.json里有没有写错成sk-以外的前缀。注意ANTHROPIC_API_KEY和GOOGLE_API_KEY都要指向同一个 Key。报错二Skill 不触发主对话自己干了。这是description的问题。Claude 靠描述决定是否委托描述里要写清「什么时候用」。把description改成包含动作场景的句子比如「Use proactively after code changes to review quality and security」再重启会话。报错三config.toml改了没反应。Google 侧配置有优先级项目级覆盖用户级。确认你改的是当前项目根目录下的那份而不是~/.config里的。改完用gemini -p print config确认实际加载值。报错四子代理后台运行失败。后台子代理会继承父级权限并自动拒绝未预先批准的操作且后台不提供 MCP 工具。如果它因缺权限失败让 Claude 把它恢复到前台重试或在permissions.allow里补上对应工具。报错五钩子脚本不执行。检查脚本有没有chmod x路径是否和command字段完全一致。钩子通过 stdin 收 JSON用jq解析时确认jq已安装。退出码 2 表示阻止操作并把 stderr 反馈给模型退出码 0 表示放行。报错六上下文还是被刷爆。说明高容量操作没真正隔离。确认你把测试、日志、依赖分析这类任务显式委托给了子代理而不是在主对话里直接跑。子代理的详细输出留在它自己的上下文只有摘要回传。6. 双栈长期使用与 Coding Plan单次跑通只是开始真正省事的是把 Skills 变成团队资产。项目级 Skill 建议检入版本控制.claude/agents/和skills/目录一起提交团队成员拉下来就能用同一套规范。用户级 Skill 放个人目录跨项目复用。两条链路的 Skill 描述尽量对齐这样同一句「审查这段代码」在 Claude 和 Google 下行为一致。如果你要把这套东西长期挂在编码和 Agent 工作流上按量计费容易失控可以考虑 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 它更适合高频、长时间的编码场景。接入细节和字段说明看文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite Claude Code 相关的专项说明在 https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaudecodeutm_campaignrewrite 。最后留一个我踩过的坑别把 Skill 的tools开得太宽。审查类 Skill 只给Read/Grep/Glob调试类才给Edit/Bash数据库类用PreToolUse钩子卡住写操作。权限收得越紧模型越不容易在你不注意的时候改坏东西。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

ProxySQL读写分离实战:从主从复制到流量路由与故障切换 2026/9/28 7:02:00

ProxySQL读写分离实战:从主从复制到流量路由与故障切换

读写分离系列写到了第十篇。前面聊过主从复制原理、从库搭建、半同步复制、延迟监控,这一篇终于要把流量真正“分开”的关键组件摆上台面:ProxySQL。这几年我处理过不少读写分离做不下去的线上项目,共同点几乎一样——不是不会搭主从&#xf…

阅读更多 →
GESP二级真题:用二维数组判断等差矩阵的解题思路与调试技巧 2026/9/28 7:02:00

GESP二级真题:用二维数组判断等差矩阵的解题思路与调试技巧

每年GESP二级的题目里,二维数组都是重头戏。今年3月的“等差矩阵”,看起来是个数学名词,实际考察的是你对数组下标的掌控力。很多学生考完说:明明每一行都判断了,怎么还是错?问题多半出在列判断的循环写法上…

阅读更多 →
pgBackRest增量备份报错:WAL summarization未开启的定位与修复指南 2026/9/28 7:01:54

pgBackRest增量备份报错:WAL summarization未开启的定位与修复指南

凌晨四点十七分,告警群突然刷屏。定时任务里pgbackrest backup的日志停在一条 ERROR 上:incremental backups cannot be taken unless WAL summarization is enabled。数据库实例本身一切正常,CPU、连接数、慢查询都没有波动,但备…

阅读更多 →
Agent工具调用实战:从设计到落地的完整指南 2026/9/28 7:01:54

Agent工具调用实战:从设计到落地的完整指南

1. 工具调用:Agent 从“会说”到“会做”的分水岭很多人做 Agent 做到第七篇的时候,手里已经有一个能聊天、能记住上下文、能按角色设定回复的“对话体”了。但只要你稍微往真实场景里推一步,立刻就会发现一个尴尬的事实:它除了说…

阅读更多 →
协程原理深度拆解:从线程到事件循环,看清挂起与恢复的底层机制 2026/9/28 7:01:54

协程原理深度拆解:从线程到事件循环,看清挂起与恢复的底层机制

协程这个概念,我在面试里被问到过很多次,也在不同语言的项目里被折腾得不轻。第一次接触Python的async/await时,我脑子里一直绕着一个问题:你说挂起就挂起,那挂起的时候函数里的局部变量到底放在哪了?恢复的…

阅读更多 →
从零搭建答疑机器人:Spring AI 实战与避坑指南 2026/9/28 7:01:54

从零搭建答疑机器人:Spring AI 实战与避坑指南

1. 从零搭建答疑机器人前,先把这几个问题想透做答疑机器人这件事,我前前后后折腾过三套方案,从最早的规则匹配到后来的检索增强,再到现在的纯大模型驱动,踩的坑足够写一本小册子。很多人一上来就问“用哪个模型”“怎么…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉