
工具调用计数器
统计 Claude 每轮和每个会话的工具调用次数,在加载指示器旁显示计数,并新增 /tally 查看明细。
- 加载动画
- 对话记录
- 状态栏
- 拦截工具调用
- 修改界面
- 添加命令/工具
已在 v2.1.291 实测
Claude Code 斜杠命令插件可添加 /tally 这类命令,直接在代码中即时作答、无需调用模型,也能改变内置命令的行为。

统计 Claude 每轮和每个会话的工具调用次数,在加载指示器旁显示计数,并新增 /tally 查看明细。
已在 v2.1.291 实测
Claude Code 斜杠命令插件为你添加可以在输入框中键入的命令,例如 /tally 或 /diff,并在代码中直接给出回应。由于处理函数运行在 Claude Code 内部,它可以根据插件已收集的数据即时回复、打开一个面板或修改某项设置,整个过程不向模型发送请求,也不消耗任何 token。
插件调用 $.command.register({ name, description })(通常放在 session.start 钩子中),然后用针对该命令名的匹配器处理 command.run:on('command.run', { command: 'tally' }, ...)。处理函数返回 { text } 即可输出一条回复,它会以 Markdown 形式渲染在对话记录中;返回 {} 则静默结束。命令名可以包含字母、数字、_ 和 -,最长 64 个字符。
同一个 command.run 事件也会在其他所有命令执行时触发,因此插件可以对内置命令进行包装。command.describe 让插件改变命令在命令列表中的显示方式,$.command.run 则让一个插件调用另一条命令。创建指南以 /tally 为例完整演示了整个流程。
命令类插件会显示 添加命令/工具 标记。单看这个标记风险很低:命令只有在你键入时才会运行。真正重要的是命令运行时会做什么,所以请继续查看其余的标记。一个只读取插件状态并打印表格的命令不需要其他权限;会打开面板的命令会多出 修改界面;会运行 git、读取文件或访问服务器的命令则会显示 执行命令、读取文件 或 网络访问。
另外还要留意命令名冲突。两个插件可能会尝试注册同一个命令名;优先选择使用明确、具体命令名并在页面上写清楚的插件。
当答案是机械性的时候,就用插件命令:计数、列出清单、切换某项设置、打开一个视图。当你希望 Claude 动脑思考答案时,就用普通的命令文件或技能(skill)。许多实用的插件会把两者结合起来:在钩子中收集数据,再通过一条命令把结果汇报给你。