Skip to content

MasonSRE/debrief

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简体中文 · English

Debrief

你的 AI 工作日,一键复盘。 Debrief 把你本机的 AI 编程活动(Claude Code、Codex、Gemini CLI…)整理成一份每日工作日报——同时产出文字版和一个自包含的 HTML 页面(适合截图成图片),按项目分组,并自动脱敏。

Debrief 每日工作日报示例

示例为演示数据 · 真实运行会读取你本机的 Claude Code / Codex / Gemini / Git 等记录并自动脱敏

npm 包名是 debriefly,命令是 debrief

隐私优先:读取本机会话日志(~/.claude~/.codex~/.gemini,以及按需开启的 ~/.hermes~/.workbuddy~/.openclaw)和 git log。绝不向任何地方上传,绝不写到 --out 之外的位置,并在任何输出之前脱敏(API key、token、JWT、邮箱…)。零 npm 依赖。

为什么

你的 AI 工具其实已经记录了你一整天干了什么。Debrief 把这些散落的历史汇成一份干净的每日 standup / 工作日报——你推进了什么、改了哪些文件、提交了什么——并按项目分组。

安装与使用

🪄 最简单:直接让你的 AI agent 帮你装

你本来就在用 Claude Code / Codex / Gemini CLI / Hermes——那就让来装 Debrief。把下面这段话发给你的 agent:

把 https://github.com/MasonSRE/debrief 克隆到 ~/debrief,然后运行
`node ~/debrief/bin/debrief.mjs --lang zh` 显示今天的工作日报。
如果我用的是 Claude Code,再把 ~/debrief/skill/ 复制到
~/.claude/skills/daily-work-log/,这样以后我直接说「整理今日工作」就行。

这就是全部安装步骤:仓库是一个零依赖的 Node 脚本,agent 克隆完直接就能跑——无需任何配置。(对 Claude Code,复制好 skill 后,以后用 /daily-work-log 或说「整理今日工作」即可触发。)

手动安装

没有任何依赖需要装——它就是一个普通的 Node 脚本(Node >= 18)。克隆即用:

git clone https://github.com/MasonSRE/debrief && cd debrief
node bin/debrief.mjs

可选的便捷方式(仅当你想要全局 debrief 命令或用 npx 时):

npm i -g debriefly   # → 全局可用 `debrief`
npx debriefly        # 不安装直接跑
# 今天的日报,文字版 → stdout
debrief

# 中文,显式指定时区
debrief --lang zh --tz Asia/Shanghai

# 指定某一天
debrief --date 2026-06-22

# 把 文字 + HTML + JSON 写到一个文件夹
debrief --out ~/work-logs       # → debrief-<日期>.{md,html,json}

# 只要 HTML(可管道/截图),或原始 JSON
debrief --html > today.html
debrief --json

参数

参数 含义
--date <YYYY-MM-DD> 报告哪一天(默认:所选时区的今天)
--tz <IANA> 时区(默认 $WORKLOG_TZ 或系统时区)
--lang <en|zh> 报告语言(默认 $WORKLOG_LANGen
--sources <list> 默认 claude,codex,gemini,git;可选开启 hermesworkbuddyopenclaw
--out, -o <dir> 写出 .md + .html + .json
--html / --json 把对应格式打到 stdout

它会采集什么

  • Claude Code~/.claude/projects):你的 prompt(任务)+ 编辑过的文件(Edit/Write/MultiEdit)。
  • Codex~/.codex/sessions):你的 prompt。
  • Gemini CLI~/.gemini/tmp/<proj>/chats):你的 prompt。项目路径从 ~/.gemini/projects.json 解析;无法对应路径的会话回退为 ~gemini/<id> 标签。
  • Git:每个活跃项目仓库当天的提交。
  • Hermes Agent按需开启:--sources …,hermes):来自 ~/.hermes/state.db~/.hermes/profiles/*/state.db 的 prompt。对话存在 SQLite 里,通过系统 sqlite3 CLI 只读读取(仍是零 npm 依赖;和 git 一样,没装 sqlite3 就跳过)。会话按 cwd 分组,回退标签 ~hermes/<profile>
  • WorkBuddy按需开启:--sources …,workbuddy):来自 ~/.workbuddy/workbuddy.db / ~/.workbuddy-ai/workbuddy.db 的会话自动标题(同样走 sqlite3 CLI)。WorkBuddy 把对话正文存在内存/云端,本地只有会话标题 + cwd——因此作为任务行呈现,按真实项目 cwd 分组,或回退到 ~workbuddy
  • OpenClaw按需开启:--sources …,openclaw):来自 ~/.openclaw/state/openclaw.sqlitetask_runs 表(走 sqlite3 CLI)。task 文本即 prompt;按 agent_id 分组为 ~openclaw/<agent>

全部按项目分组,然后去重并压缩到意图:每条 prompt 收敛成它的首句,近似重复(反复追问、细微改动)按 trigram 相似度合并——这样再长的一天也读起来像一份干净的任务清单,而不是一份聊天记录。全程脱敏。输出还包含一份 JSON 模型,方便下游工具消费。

Cursor 的聊天也存在 SQLite state.vscdb 里,完全可以用和 Hermes 一样的 sqlite3-CLI 方式接入——目前还没接,欢迎 PR。

出图 / 飞书 / Slack 投递

HTML 页面是自包含的——用浏览器打开截图即可得到图片,或让 agent 渲染成 PNG。CLI 本身保持零依赖;投递(飞书 / Slack / 邮件)交给一个很薄的封装脚本或随附的 Claude skill。

作为 Claude Code skill 使用

skill/ 复制到 ~/.claude/skills/daily-work-log/,然后说「整理今日工作 / generate my daily work log」或运行 /daily-work-log。该 skill 会调用本 CLI,并可选地做总结、渲染 PNG、发到你的聊天工具。

架构 / 扩展

src/redact.mjs    密钥/隐私脱敏(+ 计数报告)
src/text.mjs      conciseIntent() 意图截断 + dedupePrompts() 模糊去重
src/sources.mjs   每个工具一个函数:collectClaude / Codex / Gemini / Hermes / Workbuddy / OpenClaw / Git
src/collect.mjs   合并各数据源 → 去重 → 报告模型
src/report.mjs    renderText() / renderHtml()
bin/debrief.mjs   CLI

新增一个工具(Aider、Continue…):在 sources.mjs 里写一个 collectX(ctx),返回 Map<项目路径, { prompts, files, sessions }>,然后在 collect.mjs 接入(默认 sources + 一个合并块),并在 report.mjs 给它配一个 badge/圆点颜色。欢迎 PR。

许可证

MIT

About

Debrief — your AI workday, recapped. One daily work log from Claude Code, Codex, Gemini, Hermes, OpenClaw & git. Local-only, redacted, zero-dep.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors