Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

4.2 pi-journal:自动日志报告

为什么需要日志

你开了一天 pi,做了很多事:

  • 上午修了两个 bug,顺带重构了一个模块
  • 下午配置了 CI 流水线,写了一堆测试
  • 晚上研究了一个新方案,更新了记忆文件

到了晚上你想回顾:“今天到底干了什么?“你翻 git log,全是碎片化的 commit;翻记忆文件,只记了关键结论;翻会话记录,十几个会话不知道从哪看起。

💡 你需要一个“自动日报“——把散落在 git、记忆、会话中的活动汇总成一份可读的报告。

pi-journal 做什么

pi-journal 采集三种数据源,自动生成 Markdown 格式的日报/周报:

数据源采集内容
Git 活动扫描 ~/.pi/agent/git/ 下所有仓库,统计提交数、文件变更、增加/删除行数
记忆变更扫描全局和项目记忆目录,找出时间范围内的文件变更
会话活动扫描 pi 会话记录,统计会话数、工具调用、编辑操作、活跃时长

使用方式

命令:/journal

# 今天的日报(默认)
/journal

# 指定时间范围
/journal yesterday
/journal this_week
/journal 3d          # 最近 3 天
/journal 2025-05-27  # 指定日期

工具:journal

AI 也可以主动调用 journal 工具来生成报告。当你说“写个日记“、“今天做了什么”、“写周报“时,AI 会自动触发。

生成的报告格式

# 📓 日报 — 2025-05-27

## Git 活动
- **pi-shepherd** (2 commits, +45/-12)
  - 新增 tool_result 规则支持
  - 修复优先级排序 bug
- **pi-context-manager** (1 commit, +30/-5)
  - 添加 aging 自动淘汰功能

## 记忆变更
- 新增: debug_anti_pattern.md
- 更新: coding_standards.md

## 会话活动
- 019e6494 (45m) — Shepherd 规则引擎重构
  - 工具调用: 23, 编辑: 8
- 019e6203 (30m) — Context aging 功能实现
  - 工具调用: 15, 编辑: 5

## 摘要
- 总提交: 3
- 总会话: 12
- 总编辑: 43

最佳实践

✅ 推荐用法

  • 每日收工前/journal 生成日报,回顾今天做了什么
  • 周五总结/journal this_week 生成周报
  • 让 AI 写:直接说“写个今天的日记“,AI 会调用工具生成

⚠️ 注意事项

  • 报告中的“AI 总结“部分需要 AI 在生成后补充
  • Git 活动只扫描 ~/.pi/agent/git/ 下的仓库,不包含系统其他位置的 git 仓库
  • 会话活动依赖 pi 的会话记录存储

工作原理

用户输入时间范围
      ↓
  parseTimeRange()  →  解析为 since/until 时间戳
      ↓
  ┌─────────────┬──────────────┬──────────────────┐
  │ Git 活动     │ 记忆变更      │ 会话活动          │
  │ 自动发现仓库  │ 扫描 memory/ │ 从 session-analyzer│
  │ git log 统计 │ 文件时间戳    │ 获取会话列表      │
  └──────┬──────┴──────┬───────┴────────┬─────────┘
         ↓             ↓                ↓
      renderReport()  →  汇总渲染为 Markdown
         ↓
      输出报告

下一步

pi-journal 解决了“回顾过去“的需求。但有时候你需要的不只是回顾——你需要找到某个具体的会话,看 AI 当时是怎么想的。下一节我们来看 pi-session-analyzer 的详细用法。

English