pi-timeline
Message timeline for pi: list a session's user messages and jump to any of them with exact, instant scrolling.
Package details
Install pi-timeline from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-timeline- Package
pi-timeline- Version
0.1.1- Published
- Sep 30, 2026
- Downloads
- 347/mo · 10/wk
- Author
- hayston
- License
- MIT
- Types
- extension
- Size
- 84 KB
- Dependencies
- 0 dependencies · 2 peers
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-timeline
English | 简体中文
A message timeline overview built for the case where a long conversation in pi
makes it painful to get back to a point: it lists the session's user messages
(! shell commands included), filters them as you type, and scrolls the
transcript viewport precisely to the one you pick.
[!IMPORTANT] The TUI mode is required.
Usage
| Key | Action |
|---|---|
alt+h (configurable) |
Open the message list |
| just type | Filter messages |
↑/↓ (or PgUp/PgDn) |
Move the selection |
Enter |
Jump |
Ctrl+Enter |
Insert the message text into the editor |
Esc |
Close |
[!TIP]
/timeline-settingsopens the settings panel.
[!NOTE] Jump target
userthe user message itselfreplythe final answerPlain-text replies use the same block start as native
Ctrl+↑/↓. Replies with thinking skip it and keep one blank line immediately before the answer, if present.
[!WARNING] Invalid shortcuts are rejected. Without a modifier, only named keys (such as
f2) are accepted.
Install
pi install npm:pi-timeline
pi -e npm:pi-timeline # one-shot trial
Configuration file
[!TIP] Use
/timeline-settingsto open the visualization settings panel
At ~/.pi/agent/timeline.json
| Key | Type | Default | Meaning |
|---|---|---|---|
shortcut |
string / array of strings / null | "alt+h" |
Case-insensitive; duplicates removed automatically |
jumpTo |
string | "user" |
"user" / "reply" |
language |
string | "auto" |
"auto" / "zh" / "en" |
[!WARNING] A bad value falls back to the default and raises a warning when the session starts.
jumpTois re-read on every invocation, so changing it applies immediately; the shortcut is registered at load time, so changing it needs/reload.
Development
node test/run.mjs # all tests
node test/run.mjs unit config # named suites: unit | real | config