pi-trail
Automatically record every input you type into pi, review it as a self-writing work journal — conversations, projects, memos, reminders, and AI-powered project progress analysis. Multi-machine sync via git.
Package details
Install pi-trail from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-trail- Package
pi-trail- Version
2.3.4- Published
- Aug 24, 2026
- Downloads
- 123/mo · 123/wk
- Author
- naoki326
- License
- MIT
- Types
- extension
- Size
- 92.3 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./extensions"
],
"image": "https://raw.githubusercontent.com/Naoki326/pi-trail/main/docs/screenshot-conversations.png"
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi trail
你的 AI 工作轨迹,自动记录。 Your AI work journal — written by itself.
pi trail 是一个 pi 插件:悄悄记录你亲手输入的每一条指令——只记你的,子代理任务简报、API 注入、扩展消息全部自动排除。数据落在本地 git 仓库,网页端把你的工作史自动组织成对话、项目、备忘录和提醒;可选的 AI 分析读取轨迹,告诉你每个项目实际进行到哪了。

为什么需要
你每天和编程助手对话几十次、横跨多个项目,然后总会问自己:「上周我在干什么?」「那个项目停在哪了?」 pi trail 自动回答这些问题——你不用写一行日志。
功能特性
- 📝 只记录你的输入——TUI 手打与 pi-web 网页输入都算;skill 调用(
/skill:name)原样记一行,永不展开正文。子代理会话(内存会话、或类型#哈希命名的落盘会话)与扩展注入消息在写入端和读取端双重过滤。 - 🧭 五种轨迹视图——💬 对话(扁平列表,按会话名或首条输入命名)、📅 按天、🌲 树形(电脑 → 项目 → 对话)、🐟 鱼骨、📊 分析。
- 🐟 鱼骨图时间线——每个项目一根主骨,每场对话一根鱼刺,按时间顺序等间距排列(序数刻度:时间关系由鱼刺标签的具体时刻 + 主骨上的日期分界虚线表达,视图默认滚到最右/最新);每场对话一种稳定颜色,贯穿鱼刺、标签与展开块;刺越粗 / 标签尾数字越大=输入越多。点击展开:主骨上出现该对话每次输入的小刺(悬停看时间与内容)。可折叠、支持键盘。
- 🖥 多主机感知——每条记录带机器 GUID + 主机名,主机重名也绝不混淆。
- 🔁 git 版本化 + 多机同步——数据是独立 git 仓库(
~/.pi/trail)。配置任意远程仓库后,多台机器自动 fetch → 互相变基 → push。追加式 JSONL +merge=union让并发写入永不冲突。 - 📌 备忘录与提醒——任意输入可钉为备忘、设到期提醒;标注是追加式事件,同步安全。
- 🤖 AI 项目分析——每项目一次点击:模型读取该项目全部输入历史,输出当前阶段 / 进行中的工作 / 时间线 / 可能的下一步。纯手动触发,无隐藏调用;复用 pi
auth.json里已有的 OpenRouter key。 - 🛡 本地优先——无遥测、无云端。网页只绑定你的局域网(可配置),数据不经你配置的 git remote 绝不出你的机器。
- 🔌 零配置服务——扩展自动拉起并守护一个零依赖 Node 服务,挂了自动拉回,你永远不用管进程。


安装
pi install npm:pi-trail
# 或从源码
pi install git:github.com/Naoki326/pi-trail
重启 pi(或 /reload),打开 http://localhost:7799——几秒后你的首批输入就会出现。记录从安装时刻开始,不回填历史。
数据
每条输入一行 JSON,存于 ~/.pi/trail/entries.jsonl:
{"id":"a1b2c3-mt5jb34h-7d8-7","ts":1787443343000,"host":"Aurora","machineId":"a1b2c3d4-…","cwd":"/dev/acme-api","sessionId":"…","sessionName":"acme-api 重构","source":"rpc","kind":"input","text":"…"}
| 字段 | 含义 |
|---|---|
id |
全局唯一,机器前缀防跨机碰撞 |
ts / host / machineId |
何时、哪台机器 |
cwd / sessionId / sessionName |
哪个项目、哪场对话 |
source |
interactive(TUI)/ rpc(pi-web)/ backfill(回填) |
kind |
input 或 skill |
标注(备忘、提醒、软删除)是 meta.jsonl 里的追加式事件,按时间戳重放——union 合并下天然安全。
多主机同步
在网页 ⚙ 或 ~/.pi/trail/config.json 里配置一次远程仓库:
{ "remote": "git@github.com:you/pi-trail-data.git", "branch": "main", "syncIntervalSec": 120, "autoSync": true }
每台机器各自记录;服务端定期 fetch → 把本地提交变基到 origin/main 之上 → push,推送竞态自动重试。新机器各自 git init 的不相关历史自动接管。认证走你的常规 git 凭证(SSH / credential manager)。
AI 项目分析
📊 视图按项目列出输入量与时间范围。点 🤖 分析——模型(默认 stealth/ox-alpha,⚙ 里可换)读取该项目输入历史,返回阶段 / 进行中的工作 / 时间线 / 下一步。结果缓存在 analysis.json 并随数据仓库版本化。只有你显式点击才会调用模型。
配置
| 环境变量 / 文件 | 默认值 | 说明 |
|---|---|---|
PI_TRAIL_PORT |
7799 |
网页端口 |
PI_TRAIL_STORE |
~/.pi/trail |
数据目录(演示/测试可覆盖) |
~/.pi/trail/config.json |
— | remote / branch / syncIntervalSec / autoSync / analysisModel |
服务监听 0.0.0.0,局域网内手机可直接访问;首次运行放行防火墙即可。无鉴权——仅限可信内网使用。
从预发布版 ~/.pi/input-log 升级?数据目录会在首次启动时自动迁移。
卸载
pi remove npm:pi-trail
数据保留在 ~/.pi/trail(一个普通 git 仓库)——它是你的。
(English version: README.en.md.)