omp packages

@zigai/pi-autoname-session1.2.0

Automatically name and keep Pi sessions organized

zigai Published 8 days ago MIT ~210 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 Autoname Session

Automatically name Pi sessions from the user's request and repository context.

The extension can name a session after a configurable activity threshold and optionally refresh that name as work continues.

Install

pi install npm:@zigai/pi-autoname-session

Configuration

Global settings are stored in ~/.pi/agent/extension-settings/pi-autoname-session.json.

Option Type Default Description
enabled boolean true Enable the extension.
initialNaming.enabled boolean true Automatically name an otherwise unnamed session once.
initialNaming.timing prompt | settled "prompt" When to first check the naming trigger: before the agent starts on a prompt, or after the agent has settled.
initialNaming.trigger messages | turns | tool_calls | tokens | minutes "messages" The session activity that starts a naming attempt.
initialNaming.threshold integer 1 The initial activity threshold.
refreshNaming.enabled boolean false Periodically refresh the name as the session develops.
refreshNaming.trigger messages | turns | tool_calls | tokens | minutes "turns" The activity that starts a naming refresh.
refreshNaming.threshold integer 10 The amount of activity between refreshes.
model string "current" Picker model: provider/model-id, or current for the active model.
reasoningEffort off | minimal | low | medium | high | xhigh | max "low" Reasoning effort used by the session-name picker.
timeoutMs integer 30000 Maximum time in milliseconds for picker authentication and the model response before the naming attempt is treated as failed.
conversationScope minimized | full "minimized" How much refresh context to send. Minimized sends only user and assistant text; full also includes tool arguments, results, and shell output. Initial naming always uses only the first user request.
prompt string See JSON below Prompt used by the picker. Available placeholders are {{repository_context}}, {{conversation}}, {{current_name}}, {{cwd}}, and {{reason}}.
nameConstraints.minLength integer 6 Minimum number of characters in a name returned by the picker.
nameConstraints.maxLength integer 40 Maximum number of characters in a name returned by the picker.
{
  "$schema": "./schemas/pi-autoname-session.schema.json",
  "enabled": true,
  "initialNaming": {
    "enabled": true,
    "timing": "prompt",
    "trigger": "messages",
    "threshold": 1
  },
  "refreshNaming": {
    "enabled": false,
    "trigger": "turns",
    "threshold": 10
  },
  "model": "current",
  "reasoningEffort": "low",
  "timeoutMs": 30000,
  "conversationScope": "minimized",
  "prompt": "Generate a title that will help the user recognize this coding session weeks later.\n\nBefore answering, silently identify:\n- Subject: the system, feature, or problem the request is really about.\n- Outcome: what the user ultimately wants to understand or change.\n- Incidental instructions: details about tools, process, output, or how the agent should work.\n\nTitle the durable subject and desired outcome. Discard incidental instructions.\nPrioritize user requests over assistant discoveries. Preserve the original subject until the user clearly changes goals.\n\nEditorial rules:\n- Use 3 to 8 words and a compact noun phrase or clear action phrase.\n- Capture the umbrella goal when the request lists several symptoms or steps.\n- Name the product change, not a plan, report, branch, commit, PR, test run, or monitoring step used to produce it.\n- Exclude models, subagents, tools, and output formats unless they are themselves the topic.\n- For reviews, name what is being reviewed and the relevant concern.\n- For research, name the question domain rather than the research process.\n- Do not claim the work is complete or merely copy and truncate the request.\n- Avoid repository names already visible in the workspace metadata, quotes, labels, filler, and trailing punctuation.\n\nWorkspace metadata:\n<workspace>\n{{repository_context}}\n</workspace>\n\nConversation:\n<conversation>\n{{conversation}}\n</conversation>\n\nCurrent title: {{current_name}}\nNaming phase: {{reason}}",
  "nameConstraints": {
    "minLength": 6,
    "maxLength": 40
  }
}

Development

just --justfile ../../Justfile setup
npm run build --prefix ../..
just coverage

License

MIT