Vibe Story

你是不是 Vibe Coding 了一整天——和 Claude 你来我往几十轮,改了又改、报错又修, 终于把东西跑通了——到晚上想把这一天记下来,却只剩满屏的 diff 和一段记不太清的过程?

Vibe Story 把你和 Claude Code 的开发会话,自动还原成完整的时间线,再写成一篇文章。

开发日志、项目复盘、技术分享、公众号推文都行。那些被中断的尝试、反复的调试、 最终的突破,不再只躺在日志里,而是变成一篇能发出去的故事。


先看产出 👀

下面这篇就是 Vibe Story 从真实开发会话里生成的——一次烧掉 50 美元的 code review, 意外揪出一个当晚真在生产上爆发的 0 级 bug:

《50 美元,买到了什么》

凡事要稳,这是我一直信奉的原则。但 6 月 10 日凌晨三点多,我把这句话踩了第一脚。

Fable 5 发布了……我告诉自己:就浅浅看一下,快的。13 分钟。 系统提示: You've hit your monthly spend limit。账户余额:$0.00。

……但那次烧掉 50 美元的 code review,找到了一个真实的 0 级 bug。那个 bug 当晚在生产上 出现了。修复代码早就在本地等着,只差一次部署。能说什么。值了。

👉 完整文章:examples/article-fable-review.md

这篇的"原料"只是一堆会话日志,时间线、挫折、反转全是 Vibe Story 自动还原的。


它能做什么

  • 自动找到你本机的 Claude Code 项目,把跨多个会话的开发过程拼成一条时间线
  • 只保留真正的对话,滤掉工具调用和系统噪声,还原"你想了什么、Claude 做了什么"
  • 由 Claude 写成第一人称、保留挫折与反转的长文——读起来像故事,不像流水账
  • 不需要额外的 API key 或服务,产物就存在你自己的项目目录里

适用范围:目前只读 Claude Code 的会话日志(~/.claude/projects/)。 Codex 等其他 agent 的日志格式不同,暂不支持(欢迎 PR)。

安装

装好后,在 Claude Code 里输入 /vibe-story 就能用。

方式一:一句话让 Claude 帮你装(推荐)

把这句话发给 Claude Code:

帮我安装这个 skill:https://github.com/duerzy/vibe-story

方式二:通用 CLI

npx skills add duerzy/vibe-story      # 装到当前项目
npx skills add duerzy/vibe-story -g   # 全局安装(推荐,任何项目都能用)

方式三:手动

git clone https://github.com/duerzy/vibe-story ~/.claude/skills/vibe-story

(Windows 技能目录在 %APPDATA%\Claude\skills\

怎么用

把需求直接跟在命令后面,一句话就行。你说的时间范围主题,Claude 都会照着筛:

/vibe-story 把我今天在这个项目里的开发过程写成一篇开发日志
/vibe-story 写一篇 6 月 10 日的开发复盘
/vibe-story 总结最近一周我在做的支付功能,写成技术分享
/vibe-story 把上周三到周五调试登录 bug 的过程,写成一篇故事

你可以指定:

  • 时间:今天 / 昨天 / 某个具体日期 / 最近一周 / 一段日期范围——只读这段时间的会话
  • 主题:只写某件事(比如"支付功能""那个登录 bug"),Claude 会在写作时只挑相关的内容,自动略过无关的会话

也可以只敲 /vibe-story,Claude 会反问你想写哪个项目、什么范围,再开始。

接下来它会找出相关会话、还原时间线、和你确认,然后把文章写好交给你。 不满意随时让它换标题、调风格、重写。

产物在哪

文章和时间线都存在你目标项目目录下的 vibe-story/ 里:

<你的项目>/vibe-story/
├── skeleton.md   # 还原出来的时间线
└── article.md    # 写好的文章

隐私

提取和解析全部在本机本地完成,不向任何服务器上传数据。文章由你正在用的 Claude 撰写——和你平时用 Claude Code 写代码一样,没有额外的数据外发。


想改它 / 参与贡献

仓库根目录就是这个 skill 本身,SKILL.md 定义了完整工作流。结构:

vibe-story/
├── SKILL.md                       # 工作流定义(给 Claude 读)
├── references/article-style.md    # 文章风格(想改文风改这里)
├── scripts/
│   ├── extract_sessions.py / .js  # 提取时间线(Python / Node 双实现,输出一致)
│   └── generate_article.py        # 脱离会话的批量生成(可选)
└── examples/                      # 产出示例

提取逻辑有 Python 与 Node 两份等价实现,改一处记得同步改另一处

欢迎提 Issue 或 PR。

觉得有用?给个 Star ⭐

如果 Vibe Story 帮你把开发过程变成了能发出去的故事,欢迎点个 Star,让更多人发现它。

License

MIT © 花照小赵 (duerzy)