给 Claude Code 装一块秒表:每轮 + 累计耗时自动反馈

JeecgBoot AI专题研究 | 一段指令装完,每轮 + 累计耗时直接打在屏幕上


痛点

用 Claude Code 久了会发现一件事:它干完活不告诉你花了多久

昨晚让它在 JeecgBoot 低代码里跑自动搭建 OA 审批 Skills(设计表单、绘制流程、挂接表单流程、配置菜单字典),收尾时我顺口问了一句"耗时?",它回"没有精确耗时统计"。

这个数据对我来说其实是刚需------每次 Skills 跑下来速度都不一样,想优化就得先知道基线在哪;可跑了几天又发现哪怕同一套 Skills,今天和明天也能差出一截,原因往往是网络抖动或者 AI 降智。光凭感觉根本看不出规律,必须有客观数据才能分辨是"脚本本身慢了"还是"外部环境的锅"。

所以我顺手做了一个小插件------每轮自动追加一行会话和累计耗时提示,装起来一条指令就够。


效果预览

装完之后,每一次 Claude Code 回复的最后都会自动多一行:

复制代码
⏱ 本轮耗时 4.72s · 累计 1m18s

会话退出时(Ctrl+D / 关闭终端 / /exit)再给一份汇总:

复制代码
📊 会话结束 · Claude 响应累计 3m42s · 会话时长 12m5s

两个数含义不同:累计 只算 AI 在思考和生成的时间,会话时长是从开终端到退出的总墙钟时间。想对比"AI 干了多少活 vs 我陪了它多久",两个数一起看就有画面。


一键安装:把下面这段话丢给 Claude Code
复制代码
请帮我从 https://github.com/jeecgboot/claude-code-session-timer-hook
安装 session_timer。步骤:

1. 下载 session_timer.py 到 ~/.claude/hooks/(目录不存在就创建):
   https://raw.githubusercontent.com/jeecgboot/claude-code-session-timer-hook/main/session_timer.py
2. 把以下 4 个 hook 合并到 ~/.claude/settings.json 的 hooks 字段
   (保留我现有配置,不要整段覆盖):
   - SessionStart       → python "$HOME/.claude/hooks/session_timer.py" session_start 2>/dev/null || true
   - UserPromptSubmit   → python "$HOME/.claude/hooks/session_timer.py" start 2>/dev/null || true
   - Stop               → python "$HOME/.claude/hooks/session_timer.py" stop 2>/dev/null || true
   - SessionEnd         → python "$HOME/.claude/hooks/session_timer.py" end 2>/dev/null || true
   每个 hook 的 type 都是 "command"。
3. 校验 settings.json 是合法 JSON,然后提示我敲 /hooks 激活。

Claude 会自己下载脚本、创建目录、读现有 settings.json、合并 hook、校验 JSON、提示重载。全程不用你打开编辑器,也不用记路径

装完敲一次 /hooks 重载配置,下一次对话就能看到那行秒表了。

想清空累计?对 Claude 说一句"清空累计耗时",或直接终端跑:

bash 复制代码
python ~/.claude/hooks/session_timer.py reset --all

性能担忧:会不会拖慢对话?

这是我自己最在意的问题。用 perf_counter 跑了 10 轮实测:

  • Python 冷启动(baseline):中位 36ms
  • session_timer.py start:中位 52ms
  • session_timer.py stop(含 JSON 输出):中位 52ms

也就是说脚本本身只占 16ms 左右,其余都是 Python 解释器冷启动的固定开销。

每一轮对话的总额外成本 = UserPromptSubmit hook (~52ms) + Stop hook (~52ms) ≈ 100ms

人对延迟的感知阈值大约在 100ms,所以理论上处于"察觉边缘"。但 Claude 模型响应本身动辄几秒到几十秒,API 往返就不止 100ms,这点开销完全淹没在正常对话延迟里,实际用下来感觉不出来。

如果你要抠极致,可以给 UserPromptSubmit 加 "async": true 让它后台跑;但 Stop 必须同步,否则 systemMessage 可能来不及显示就被下一轮覆盖掉。


收尾

整个插件就两个文件------session_timer.py + README.md,加起来不到 200 行。下次再有人问你"这个功能 AI 帮你做了多久",你至少不用尬笑了。


本文为 JeecgBoot AI 专题研究系列文章。

相关推荐
艾莉丝努力练剑3 小时前
【AI大模型接入SDK】Provider分析与实现
c++·人工智能·学习·面试·大模型·llm
磁场转动100万匹3 小时前
PyTorch 手写数字识别实战:从数据加载到模型训练(零基础详解版)
人工智能·pytorch·python
TaoMetrix9 小时前
TaoMetrix:AI 硬件创业公司如何做好原型制造
人工智能·制造
智圣新创019 小时前
面向多级组织协同场景 高校第二课堂一站式管理中枢落地全场景实操答疑
大数据·人工智能
cd_949217219 小时前
AI纹理和Substance Painter手绘纹理哪个更适合游戏资产制作?
人工智能·游戏·substance painter
sali-tec9 小时前
C# 基于OpenCv的视觉工作流-章106-差值追踪
图像处理·人工智能·opencv·算法·计算机视觉
Shockang9 小时前
用 AI 打造高品质 Web 应用
人工智能
l1258659 小时前
# LangGraph Memory机制深度解析:短期记忆与长期记忆的工程实践
前端·人工智能·python·langchain·bootstrap
手写码匠9 小时前
Dify 多 Agent 工具权限与安全沙箱实战:让智能体“有能力,但不越权“
人工智能·深度学习·算法·aigc
ZGIAI9 小时前
ZGI Skill Loop:给工具调用设边界
人工智能·架构