news 2026/9/28 19:05:11

Claude Code 扩展点怎么选:CLAUDE.md、Skills、subagents、hooks、MCP 与 plugins 的配置骨架与验证

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Claude Code 扩展点怎么选:CLAUDE.md、Skills、subagents、hooks、MCP 与 plugins 的配置骨架与验证

1. 先搞清楚这六类扩展到底插在哪

Claude Code 的扩展机制经常被混在一起讲,但它们在代理循环里插入的位置完全不同。你可以把一次会话想象成一条流水线:会话启动 → 加载上下文 → 模型思考 → 调用工具 → 执行动作 → 返回结果。CLAUDE.md 插在「加载上下文」这一步,每个会话都会读;Skills 是模型在思考时按需调用的知识包;subagents 是模型决定「这件事我自己干太乱,派个分身去干」时开出的隔离循环;hooks 挂在生命周期事件上,比如文件编辑后、工具调用前,属于后台自动化;MCP 是把外部服务接成工具,让模型能查数据库、发消息;plugins 则是把上面这些东西打包分发。

选型的核心判断只有一句话:这件事是「每次都要知道」还是「用到才需要」?是「模型自己决定」还是「事件强制触发」?每次都要知道的规则写进 CLAUDE.md;可复用的工作流写成 Skill;需要隔离上下文或并行跑的交给 subagent;必须在某个事件上无条件执行的用 hook;要连外部系统的走 MCP;要分发给团队或跨项目复用的,用 plugin 打包。

我见过最常见的误用是把一大堆项目规范全塞进 CLAUDE.md,结果每次会话都吃掉几千 token,模型还容易忽略重点。另一个极端是把该强制执行的检查写成 Skill,指望模型每次都记得调用,结果漏掉。下面按这六类逐个给骨架和验证动作,最后讲怎么用 TaoToken 统一 Key 通道。

2. TaoToken 前置:统一 Key 与 API 通道

在配这些扩展之前,先把模型通道理顺。Claude Code 默认走 Anthropic 官方端点,但如果你希望用统一的 Key 管理、方便切换模型或做用量观察,可以把它指向 TaoToken 的兼容通道。TaoToken 提供的是标准 API 接入,官网在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 基址是 https://taotoken.net/api 。

你需要先拿到一个 API Key。登录后进控制台,在 API Keys 页面创建一个,复制出来。这个 Key 后面会写进环境变量,Claude Code 和 MCP 配置都会读它。

# 写入 shell 配置,按你实际用的 shell 选一个 echo 'export ANTHROPIC_BASE_URL="https://taotoken.net/api"' >> ~/.bashrc echo 'export ANTHROPIC_API_KEY="sk-你的TaoToken密钥"' >> ~/.bashrc source ~/.bashrc # 验证环境变量生效 echo $ANTHROPIC_BASE_URL echo $ANTHROPIC_API_KEY | head -c 8

注意ANTHROPIC_BASE_URL不要带末尾斜杠,也不要带 UTM 参数,UTM 只用于官网跳转统计。配好后 Claude Code 启动时会读这两个变量。如果你用的是 zsh,把~/.bashrc换成~/.zshrc。

提示:Key 不要提交进 Git。建议放在 shell 的私有配置里,或者用.env并加进.gitignore。

3. 六类扩展的配置骨架与最小验证

3.1 CLAUDE.md:每次会话都加载的持久上下文

CLAUDE.md 放在项目根目录,Claude Code 启动时会自动读取。它适合写「始终执行」的规则:包管理器用哪个、提交前跑什么、目录结构约定。

# 项目约定 ## 包管理 - 使用 pnpm,不要用 npm 或 yarn - 安装依赖:pnpm add <pkg> ## 提交前 - 运行 pnpm lint 和 pnpm test - 提交信息用中文,格式:类型: 描述 ## 目录 - 源码在 src/,测试在 tests/ - 不要修改 generated/ 下的文件

验证动作:在项目里启动 Claude Code,直接问「这个项目用什么包管理器」,它应该能答出 pnpm。如果答不出,检查 CLAUDE.md 是否在启动目录下。

3.2 Skills:可复用的知识与工作流

Skill 是一个 markdown 文件,放在.claude/skills/目录下,文件名就是调用名。你可以用/deploy这样的命令手动调用,模型也会在相关时自动加载。

--- name: deploy description: 部署清单,包含构建、测试、发布步骤 --- # 部署流程 1. 运行 pnpm build 2. 运行 pnpm test,全部通过才继续 3. 更新 version 字段 4. 执行 pnpm publish 5. 在 CHANGELOG.md 追加本次变更

验证动作:在会话里输入/deploy,看它是否按步骤执行。如果没反应,确认文件路径是.claude/skills/deploy.md,且 frontmatter 格式正确。

3.3 subagents:隔离上下文的专用工作者

subagent 适合「读很多文件但只返回关键结论」的任务。配置放在.claude/agents/下,每个 agent 一个文件。

--- name: researcher description: 研究代码库中某个功能的实现,只返回关键发现 tools: Read, Grep, Glob --- 你是一个代码研究员。收到任务后,在代码库中搜索相关实现, 阅读必要文件,最后只返回: - 涉及的文件路径 - 核心逻辑摘要(不超过 200 字) - 潜在风险点 不要返回大段代码,不要修改任何文件。

验证动作:让主会话调用这个 subagent 去研究某个功能,观察返回结果是否只有摘要,而不是一堆文件内容。

3.4 hooks:生命周期事件上的强制自动化

hooks 配在.claude/settings.json里,挂在事件上,比如文件编辑后自动跑 lint。这是「必须执行」的自动化,不依赖模型记性。

{ "hooks": { "PostToolUse": [ { "matcher": "Edit|Write", "hooks": [ { "type": "command", "command": "pnpm eslint --fix $CLAUDE_FILE_PATH" } ] } ] } }

验证动作:让 Claude Code 编辑一个.ts文件,故意留个格式问题,看保存后是否自动被 eslint 修掉。如果没触发,检查 matcher 是否匹配工具名,以及命令里的文件路径变量是否正确。

3.5 MCP:连接外部服务

MCP 让模型能调用外部工具。配置在.claude/settings.json或全局配置里,指向一个 MCP server。

{ "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"] } } }

验证动作:启动 Claude Code 后问「列出 MCP 可用的工具」,看 filesystem 相关工具是否出现。如果没出现,检查 npx 是否能正常拉包,以及路径是否有权限。

3.6 plugins:打包分发

plugin 是把 CLAUDE.md、Skills、subagents、hooks、MCP 配置打成一个包,方便团队共享。结构大致如下:

my-plugin/ ├── plugin.json ├── CLAUDE.md ├── skills/ │ └── deploy.md ├── agents/ │ └── researcher.md └── settings.json

plugin.json里声明名称、版本、包含哪些组件。验证动作:把 plugin 目录放到.claude/plugins/下,重启会话,看里面的 Skill 是否能被/调用出来。

4. 验证请求与成功结果

配完上面这些,做一次端到端验证。先确认通道通:

curl -s https://taotoken.net/api/v1/messages \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "claude-sonnet-4-20250514", "max_tokens": 64, "messages": [{"role": "user", "content": "回复 OK"}] }'

返回里能看到content字段带文本,说明 Key 和基址都对。然后在项目里启动 Claude Code,依次验证:问项目约定(CLAUDE.md 生效)、输入/deploy(Skill 生效)、让 subagent 研究一个功能(隔离上下文生效)、编辑文件看 lint 是否自动跑(hook 生效)、问 MCP 工具列表(MCP 生效)。全部通过,说明六类扩展的骨架都立住了。

5. 本篇常见错排查

CLAUDE.md 不生效:最常见是文件不在启动目录,或者文件名大小写不对。Claude Code 只读当前工作目录及父目录的 CLAUDE.md,子目录里的不会自动加载。

Skill 调不出来:检查.claude/skills/路径,以及 frontmatter 的name和description是否都有。缺 description 时模型不会自动加载,只能手动/调用。

hook 不触发:matcher 写的是工具名,不是文件类型。Edit|Write匹配编辑和写入工具,如果你用的是别的工具名,要对应改。命令里的$CLAUDE_FILE_PATH变量在部分版本里叫法不同,先用echo打出来确认。

MCP 连不上:先单独在终端跑一遍npx命令,确认包能拉下来、路径有权限。MCP server 启动失败时 Claude Code 通常只在日志里提示,不会弹窗。

subagent 返回一堆代码:说明它的 prompt 没约束好。在 agent 文件里明确写「只返回摘要,不要返回代码块」,并限制可用工具,去掉 Write 和 Edit。

Key 报 401:检查ANTHROPIC_API_KEY是否有多余空格或换行,以及ANTHROPIC_BASE_URL是否误带了 UTM 参数。基址只到/api,后面不要加/v1。

6. 按场景选型与接入入口

回到选型本身,给你一张对照表:

需求选什么关键判断
每次会话都要知道的规则CLAUDE.md不写会出错,且每次都相关
可复用的工作流Skill用到才需要,可手动或自动触发
隔离上下文、并行任务subagent读多写少,只要结论
事件强制自动化hook不能靠模型记性,必须无条件跑
连外部服务MCP需要查库、发消息、控浏览器
团队分发plugin上面几类要打包共享

通道层面,如果你要长期跑编码任务或 Agent 工作流,建议用 Coding Plan 统一管理用量,入口在 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ;只是想先验证模型对话是否通,用模型对话页面更快,地址是 https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ;接入细节和参数说明看文档 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。先把 Key 和基址配好,再按上面的骨架逐个加扩展,比一上来全塞进去稳得多。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/28 19:04:51

工控现货:产线停机危机下的实时备件响应体系

1. 什么是“工控现货”&#xff1a;不是电商标签&#xff0c;而是产线命脉的实时响应能力“工控现货”这四个字&#xff0c;最近在自动化工程师的朋友圈、设备采购群、甚至维修师傅的茶余饭后频繁出现。它不是某个新出的电商平台分类&#xff0c;也不是营销话术里的“限时抢购”…

作者头像 李华
网站建设 2026/9/28 19:01:09

MTK GAI Toolkit实战:Qwen2.5-1.5B端侧部署与INT8量化全流程

最近在折腾MTK GAI Toolkit&#xff0c;把手头的Qwen2.5-1.5B模型从HuggingFace拉下来&#xff0c;一路转换、量化再部署到天玑平台的端侧设备上&#xff0c;整个过程踩了不少坑&#xff0c;今天把完整流程拆开讲清楚。这篇更适合已经有模型部署基础、但还没跑通过端侧全链路的…

作者头像 李华