benjaminmodayil/live-recap
live-recap
一个 Claude Code 外挂,会在提示栏上方显示 Claude 正在做什么的卡片;工作阶段运行时每隔几分钟刷新。运行结束后,最后一条回顾会保持显示(静音),直到下一个提示。
关于这个 mod
live-recap
一个 Claude Code 外挂,会在提示栏上方显示 Claude 正在做什么的卡片;工作阶段运行时每隔几分钟刷新。运行结束后,最后一条回顾会保持显示(静音),直到下一个提示。
╭─ tracking running 6m · 2 in background · haiku · ~1m ago ──────────╮
│ Editing hooks/register.tsx to draw the live card. It shows the user
│ what Claude is doing while they look away.
╰──────────────────────────────────────────────────────────────────────
此仓库中还包含
message-timestamps:在每条 Claude 回复前加上它到达时的本地时间,不调用模型。使用claude plugin install message-timestamps@live-recap安装。
需求
函数钩子目前属于早期访问功能,默认关闭。安装前先启用,否则外挂会加载却永远不会绘制:
// ~/.claude/settings.json
{
"env": {
"CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1"
}
}
也可以在 shell 配置文件中导出 CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1。设置后重启 Claude Code。
安装
claude plugin marketplace add benjaminmodayil/live-recap
claude plugin install live-recap@live-recap
重启 Claude Code(或运行 /reload-plugins)。
选项
使用 claude plugin configure live-recap 设置。
| 键 | 默认值 | 含义 |
| ----------------- | ------- | -------------------------------------------------------------- |
| intervalMinutes | 2 | 工作阶段运行这么久后第一次显示卡片,之后按相同间隔刷新 |
| source | haiku | haiku:小模型读取最近活动(便宜)。fork:工作阶段模型读取完整记录(成本更高) |
副作用
- 工作阶段开始时(仅交互模式),会关闭内置的工作阶段回顾(用户设置中的
awaySummaryEnabled: false),因为内置回顾会覆盖这张卡片。移除外挂后此设置仍会保留。 - 无头运行不会绘制任何内容,也不会调用模型。
故障排查
- 完全没有卡片: 检查是否设置了
CLAUDE_CODE_ENABLE_FUNCTION_HOOKS(见“需求”),然后确认claude plugin list显示已加载live-recap。 - 短工作阶段缺少卡片: 这是预期行为。第一次卡片只会在工作阶段运行
intervalMinutes(默认2)后出现。 - 打开问题对话框时卡片隐藏: 对话框会接管提示栏上方的区域;对话框关闭后卡片会回来。
开发
Claude Code 从你拥有的文件夹加载外挂时会写入 .claude-plugin/types/;该目录已加入 gitignore。加载一次外挂即可生成它。
tsc -p . # typecheck
claude plugin validate --strict . # manifest + hooks check
claude plugin test . # tests/*.test.ts (when available in your CLI build)
安装
请先查看作者 README 确认 marketplace 和插件名称;命令可能随仓库结构改变。
claude plugin marketplace add benjaminmodayil/live-recap claude plugin install live-recap
原文 / README
live-recap
A Claude Code plugin that draws a card above the prompt saying what Claude is working on, refreshed every few minutes while a turn runs. After the run ends, the last recap stays up (muted) until the next prompt.
╭─ tracking running 6m · 2 in background · haiku · ~1m ago ──────────╮
│ Editing hooks/register.tsx to draw the live card. It shows the user
│ what Claude is doing while they look away.
╰──────────────────────────────────────────────────────────────────────
Also in this repo
message-timestamps: prefixes each Claude reply with the local time it arrived, no model calls. Install withclaude plugin install message-timestamps@live-recap.
Requirements
Function hooks are early access and off by default. Enable them before installing, or the plugin loads but never draws:
// ~/.claude/settings.json
{
"env": {
"CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1"
}
}
Or export CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 in your shell profile. Restart Claude Code after setting it.
Install
claude plugin marketplace add benjaminmodayil/live-recap
claude plugin install live-recap@live-recap
Restart Claude Code (or run /reload-plugins).
Options
Set with claude plugin configure live-recap.
| Key | Default | Meaning |
| ----------------- | ------- | ---------------------------------------------------------------------------------------------------- |
| intervalMinutes | 2 | Card first shows after a turn runs this long, then refreshes at the same interval |
| source | haiku | haiku: small model reads recent activity (cheap). fork: session model reads full transcript (costs more) |
Side effects
- On session start (interactive only), turns off the built-in session recap (
awaySummaryEnabled: falsein user settings) since it draws over this card. This persists if the plugin is removed. - Headless runs draw nothing and make no model calls.
Troubleshooting
- No card at all: check
CLAUDE_CODE_ENABLE_FUNCTION_HOOKSis set (see Requirements), thenclaude plugin listshowslive-recaploaded. - Card missing on short turns: expected. The first card appears only after a turn runs
intervalMinutes(default 2). - Card hidden while a question dialog is open: the dialog takes over the area above the prompt; the card returns once the dialog closes.
Develop
.claude-plugin/types/ is written by Claude Code when it loads the plugin from a folder you own; it is gitignored. Load the plugin once to generate it.
tsc -p . # typecheck
claude plugin validate --strict . # manifest + hooks check
claude plugin test . # tests/*.test.ts (when available in your CLI build)
