omp packages

pi-session-name0.1.7

pi extension that auto-generates a concise session title from the first user prompt and shows agent running/idle status in the terminal title.

ttttmr Published 11 days ago MIT ~1.3K downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

pi-session-name

npm version license

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
  • Passes it in a JSON originalUserInput field so the model can distinguish source text from instructions
  • Generates a concise task-label title in the user's language using the active pi model (not a conversational reply)
  • 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:

  1. On the first input event, if the session already has a name → does nothing.
  2. Otherwise, stores the first user input in memory and starts title generation.
  3. Tries up to 3 times to generate a title from only that first input.
  4. All subsequent user messages are ignored — a failed first request will not cause the extension to switch to a later prompt.
  5. 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.

Generates titles through Pi's model registry, which normalizes the system prompt and resolves provider authentication before sending the request. Requires Pi 1.1.0 or newer.

Install

From npm (global)

pi install npm:pi-session-name

From a local checkout

pi install /absolute/path/to/pi-session-name

Try without installing

pi -e /absolute/path/to/pi-session-name

Use -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

License

MIT