pi-session-name
v0.1.2
Published
pi extension that auto-generates a concise session title from the first user prompt and shows agent running/idle status in the terminal title.
Maintainers
Readme
pi-session-name
A pi extension that auto-generates a concise, meaningful session title from the first user prompt.
What it does
- Captures the first user input in a session and freezes it as the title source
- Generates a short title in the user's language using the active pi model
- Retries up to 3 times, always with only the original first input
- Never overwrites an already-set session name
- Updates the terminal title in real time:
· <session name> - <cwd>— while the agent is running✳ <session name> - <cwd>— while idle
Behavior details
The extension listens for input, agent_start, and agent_end events:
- On the first
inputevent, if the session already has a name → does nothing. - Otherwise, stores the first user input in memory and starts title generation.
- Tries up to 3 times to generate a title from only that first input.
- All subsequent user messages are ignored — a failed first request will not cause the extension to switch to a later prompt.
- On
agent_start/agent_end, the title prefix toggles between·(busy) and✳(idle).
Failure modes: if no model is selected, no API key is available, or all 3 attempts fail, the session simply stays unnamed — no error, no noise.
Install
From npm (global)
pi install npm:pi-session-nameFrom a local checkout
pi install /absolute/path/to/pi-session-nameTry without installing
pi -e /absolute/path/to/pi-session-nameUse -l with pi install to install into the current project's .pi/settings.json instead of your global settings.
Development
# Clone
git clone https://github.com/ttttmr/pi-session-name.git
cd pi-session-name
# Install dependencies
npm install
# Run tests
npm test
# Test locally in pi
pi -e .Publish
npm publish