导读Anthropic 于 2026 年 10 月 1 日正式推出 Claude Code Mods。它能在会话中改写事件、保存状态、绘制交互界面,却也和已有的 Skills、MCP、settings hooks 共享一部分用途。本文从开发者手上的具体需求出发,给出一套选择顺序:先分清要补的是做事方法、外部能力、自动触发的规则,还是运行中的界面与行为;再看 Mods 的权限代价,以及 DeepSeek Harness 所代表的更深一层组件替换。
本文 2397 字,阅读约 6 分钟|新入口出现后,先问自己要改哪一层 → 让 Agent 照着方法做 → 要读工单和数据库 → 要在固定时点检查 → 要改写会话事件或界面 → 一个任务可以组合四种入口 → 想替换 Agent Loop,已经是另一道题
新入口出现后,先问自己要改哪一层
Claude Code 已经有 Skills(可复用的任务指引)、MCP(外部工具接入)和 settings hooks(配置文件中的事件钩子)。10 月 1 日公布的 Mods 又能处理提示、工具调用和界面。看到一段“删除文件前提醒我”的需求,开发者很容易直接问:该配 hook,还是写 Mod?
我会先把问题改成:需求到底落在任务方法、外部能力、事件检查,还是自定义交互?先看它需要什么输入、在什么时刻运行、要把结果交给谁。
这张表是本文的选型归纳,不是四种功能的排他分类。Anthropic 的官方对照表也说明它们有重叠;多个入口可以装在同一个插件里,按任务配合使用。
让 Agent 照着方法做:先看 Skill
如果需求是“审查代码时先确认变更目标,再检查测试和风险”,需要传达的是任务方法。Skill 是一份 SKILL.md 指引,供 Claude 在相关任务里读取和执行。它可以写检查顺序、材料要求和输出格式;适合反复解释同一套工作习惯的场景。
以代码审查为例,Skill 可以要求先读需求、再看 diff、最后记录没验证的假设。它改变 Claude 如何理解和执行任务,但不会凭这份文字自动给 Claude 接上一套外部系统,也不会在每次 Bash 调用前独立运行一段程序。若问题停留在“每次都要重复交代做法”,先写清楚指引,比直接进入会话内代码更贴近需求。
要读工单和数据库:给它外部能力
假设审查时还要读取 Jira 工单、查询监控,甚至更新另一套系统。此时缺的是可调用的外部能力。MCP(模型上下文协议)让 Claude Code 连接外部服务,取得相应的工具和数据;官方示例就包括从工单系统取任务、分析监控数据和查询数据库。
同一个审查任务里,MCP 负责让 Claude 按需读取工单,Skill 再规定怎样用工单核对代码变更。如果只是每次工具调用前向某个服务发送一次固定检查请求,settings hook 也能发 HTTP 请求;MCP 的价值在于把外部能力交给 Claude 按任务调用。接入前仍要检查服务来源与权限;外部内容也可能把不可信指令带进会话。
要在固定时点检查:settings hook 已经能做不少事
接下来是“每次执行某类命令之前,按规则检查”。settings hook 配置在 settings.json 中:Claude Code 运行到指定事件时,调用脚本、HTTP 请求或提示,并读取返回的处理决定。例如,PreToolUse 在工具运行前把调用信息交给检查脚本;脚本发现 Bash 命令碰到受保护路径,就能拒绝调用、修改参数,或要求 Claude Code 弹出标准权限确认。这就是由事件触发的自动化。
这里的 settings hook 专指配置文件中的机制;Mod 内的事件处理函数也叫 hook,但运行入口不同。settings hook 能影响工具调用是否继续、调用参数及返回结果。如果需求只是“命中规则后阻止执行”或“交给用户作一次标准确认”,现有 hook 就能处理,不必因为 Mods 新上线而重写。
它的边界在界面定制:settings hook 可以请求标准权限确认,却不能自己在会话中绘制一张列出受影响文件、带自定义按钮的面板。需要这种交互时,才进一步看 Mod。
要改写会话事件或界面:再看 Mod
Mod 是装在插件里的 JavaScript 或 TypeScript 事件处理函数。Claude Code 在工具调用、提交提示、绘制界面等时刻调用它;它能观察事件、改写后交给后续处理,也能直接接管。与按事件启动的 settings hook 不同,Mod 的处理函数在 Claude Code 进程内运行,可以跨事件保存状态,还能把状态画在输入框上方或对话旁的面板里。使用 Mods 需要 Claude Code 2.1.287 或更高版本。
即使不画界面,也有使用 Mod 的情况。例如,settings hook 可以在提交提示时附加上下文,却不能直接替换用户提交的原提示;Mod 则能改写提示事件。判断边界要落到具体事件能否完成所需动作,不能只问“有没有按钮”。
Anthropic 的三个官方示例,把 Mod 的用途展示得很直观。Token Weather 在输入框上方显示上下文占用;Blast Radius 在高风险命令执行前展示具体影响和自定义确认面板;Replay Theater 则记录上一轮编辑,让用户在会话里逐项查看差异。它们展示的是持续更新的状态与定制交互,不意味着每一种提醒或确认都必须写成 Mod。
图片说明:下方的 Replay Theater 面板显示上一轮文件改动,并提供逐项回放与前后翻页按钮。 图片来源:Anthropic Claude Code Mods 官方教程
Claude Code 自己也把 /diff 做成了内置 Mod。这个例子说明“改界面”不仅是添加装饰:官方功能和用户扩展可以使用同一类入口。不过,Mods 的绘制范围仍取决于使用环境。官方文档列出的终端和桌面应用 Code 标签页能显示这类界面;VS Code 扩展的聊天面板可以运行相关事件处理,却不会显示 Mod 画出的面板。设计方案前,先确认用户实际在哪个界面工作。
Claude Code 终于支持 AGENTS.md:但在格式兼容背后,官方藏了一个更大的动作
一个任务可以组合四种入口
把场景连起来看会更清楚。假设团队要让 Claude Code 辅助审查代码,并在危险操作前停下来。下面是按官方能力设计的示例,不是一次实测。
MCP 把工单系统接进来,Claude 因此能读取本次变更的目标;Skill 规定核对需求、检查代码和报告未验证项的顺序;settings hook 对特定 Bash 调用执行检查脚本,并在命中规则时拒绝或请求标准权限确认。如果团队还希望在执行前展示受影响文件和改动范围,让用户在自定义面板中审阅,再用 Mod 承担这段交互。
这样拆开后,每一段都有明确产物:MCP 交出工单,Skill 指导 Claude 使用它,settings hook 检查即将执行的命令,Mod 才负责额外的会话界面。某个 Mod 即使技术上也能注册工具或修改调用,仍应先看现有入口是否已满足需求,避免把所有职责塞进一段进程内代码。
还有一笔必须算的账。Mods 以插件形式安装,但官方明确说它们可按用户权限读写文件、启动进程和访问网络,并非限制这些权限的安全沙箱。准备安装第三方 Mod 时,要先确认代码来源和它申请处理的事件;官方文档也提供了安装前列出 hooks 与调用能力的检查方式。这个风险不会因为功能只画了一个“小面板”而消失。
想替换 Agent Loop,已经是另一道题
前面四种入口讨论的是怎样扩展 Claude Code 这款产品。如果需求变成“换掉驱动 Agent 一轮轮请求模型、调用工具的循环”,问题已进入底座组成方式。DeepSeek Harness 的官方架构说明将模型适配器、工具注册表、会话日志和 Agent Loop 都组织为可从配置替换的插件。这说明的是更深层的组件替换入口,不能据此推导它在日常任务里一定比某个 Claude Code Mod 更好用。
DeepSeek Harness 目前仍标注为开发者预览,官方提醒接口可能出现不兼容变化。把它列在选择顺序的最后,是为了先问清楚:开发者究竟要给现有产品加一个功能,还是要重新组合 Agent 的运行底座?前者从 Skill、MCP、settings hook 和 Mod 的实际职责判断;后者需要重新评估系统架构与维护成本。
所以,下一次冒出“要不要写个 Mod”的念头,可以先写下希望改变的那个具体动作。要传达做事方法,看 Skill;要让 Claude 按需调用外部系统,看 MCP;要在固定事件上检查或请求标准确认,看 settings hook;要直接改写会话事件或绘制自定义界面,再看 Mod。这些入口可以配合使用,选择依据是任务要求,而不是名称的新旧。
参考资料
Anthropic,Claude Code Mods 发布公告: https://claude.com/blog/claude-code-mods
Claude Code 官方文档,Mods overview: https://code.claude.com/docs/en/plugins/mods/overview
Claude Code 官方文档,Hooks reference: https://code.claude.com/docs/en/hooks
Claude Code 官方文档,Skills: https://code.claude.com/docs/en/skills
Claude Code 官方文档,MCP: https://code.claude.com/docs/en/mcp
Anthropic 官方教程,Getting started with Claude Code mods: https://claude.dev/blog/getting-started-with-claude-code-mods/
DeepSeek Harness 官方仓库与架构文档: https://github.com/deepseek-ai/deepseek-harness
DeepSeek Harness 架构说明: https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/architecture.md
— THE END —
文章仅做学术分享,如有侵权请联系删除,非常感谢!

