返回项目空间

开发日志 / PYTHON 流水线

vibe-journal-pipeline

把分散的开发对话,整理成可以回顾的日常记录。

阅读完整案例

使用 Python 标准库构建的开发日志流水线。汇集 Hermes、Codex 与可选 OpenCode 会话,按日期生成结构化中文日志,再从日志重建技术清单和时间线,并为网站提供经过筛选的公开记录。

让开发过程留下可回顾的记录

使用多个 Agent 开发时,一天的工作会分散在不同工具与会话中:有些记录需求,有些讨论实现,有些保留排障和验证过程。重新回看这些对话,需要先找齐来源,再从大量往返中整理出有意义的工作内容。

vibe-journal-pipeline 按日期汇集这些材料,生成一份结构化日志。它记录当天使用的技术、完成的工作与一条可复用的成果描述,并进一步整理出时间线,让零散会话能够按天回顾。

从开发会话到公开时间线

  1. 读取来源汇集可读取的 Hermes、Codex 与可选 OpenCode 记录。
  2. 按日期合并在指定时区内筛选、标准化并排列输入。
  3. 分段整理繁忙日期按顺序压缩,相同输入复用已有摘要。
  4. 校验日志检查 JSON 结构,写入由程序计算的元数据。
  5. 重建汇总从每日日志整理技术清单与时间线。
  6. 更新网站导出公开字段,构建发布,再核对发布结果。

先把一天的数据放在一起

流水线可以读取 Hermes 的 SQLite 会话数据库、Codex CLI/Desktop 的 JSONL 会话,以及可选的本地 OpenCode 数据库。Hermes 与 Codex 也支持通过 SSH 读取配置的远程来源。

不同来源经过各自的筛选与标准化后,按时间合并到同一个日期窗口。日期边界使用本机时区或显式指定的时区;记录按整天组织,保留来源与会话信息,再交给后续摘要步骤。

为繁忙的一天分段整理

普通日期直接根据合并后的对话生成日志。合并消息超过 300 条时,程序先按顺序拆成大小接近的片段,分别压缩,再据此生成当天日志。筛选后的每条输入都会进入某个处理片段。

中间摘要根据输入指纹缓存,相同输入在再次运行时可以复用。这个过程减少了单次请求承载的内容,也保留了长会话的处理路径;压缩仍由语言模型完成,摘要可能遗漏或误解细节,因此结果需要结合原始材料判断。

让模型输出经过结构检查

最终日志直接保存为 JSON,正文包含“今天用了啥”“干了啥”和“可写进简历的一件事”。程序检查字段类型、非空内容与最低详细程度;遇到格式问题时,尝试要求模型修复,再经过同一套检查。

日期、会话数和轮次数由程序根据实际输入写入,其中轮次数是根据消息数量计算的近似值。这样,生成内容和可计算的元数据各有来源。结构检查能够拦住格式错误与明显过短的输出,事实判断仍依赖来源质量和内容复核。

保存依据,也让汇总可以重建

每日日志是主要记录,技术清单和时间线都从现有日志重新汇总。技术名称会进行轻量的别名归一,使常见大小写和分隔符差异尽量归到同一条记录;不能识别的名称保留日志提供的信息。

如果需要追溯生成依据,可以选择保存压缩前的标准化消息归档。归档记录合并后的输入、顺序、日期、时区和指纹,也支持单独补存而不调用模型、不改写日志。它保存的是流水线实际读取并筛选后的输入;文件默认私有、排除自动提交,gzip 只负责压缩。

从本地日志走到网站时间线

项目已经与这个网站建立数据更新链路。日志数据推送后,源仓库先运行测试并验证日志,再通知网站处理对应的数据版本。网站导出公开快照、完成构建与部署,并读取发布结果核对版本和内容。

公开内容按日期配对,只包含日期、精简工具名称和当天的时间线事件。完整日志正文、会话归档、缓存和完整技术清单不进入网站快照。日志生成、Git 推送与网站发布是相互衔接的步骤,各自保留状态和验证依据。

保持一个小工具的规模

整个生成器使用 Python 标准库,以单脚本为核心,支持指定日期、日期区间、预演和历史补处理。配置完成后就可以围绕已有本地数据使用,无需为日志整理再部署后台服务。

它的覆盖范围取决于可读到的会话来源,生成质量取决于模型与输入,输出应作为工作回顾材料。当前生成会调用配置的模型接口,并非默认离线处理;私有归档的本地保护也不代表数据从未发送给模型服务。源读取警告、生成失败和公开内容复核都需要认真对待。