git mv the 12 packages from session-persistence/, session-projection/, session-title/, and telemetry/ into one session/ group per the regrouping RFC; merge the four group READMEs into one bilingual triplet; rewrite the group segment in tsconfig references (intra-group references shorten to ../<pkg>), tsconfig.base.json paths/globs, knip.json keys, vitest include, gate scripts, and authored doc/note citations; regenerate module graph, doc graphs, catalogs, and the lockfile importer keys. No npm names change. Full unit suite: 8779 passed; the 18 reported failures reproduce as env flakes (ambient-proxy IPv6 tunneling, watched-dir inotify timeouts under parallel load) — each passes in isolation with NO_PROXY set, matching their known pre-existing behavior on master.
@deepseek-ai/dsh-session-title-first-message-llm
English | 中文
Optional ctx.sessionTitle provider that summarizes the first eligible human message through ctx.llm. It registers the first-message cadence, runs automatically only when a fresh non-fork session first creates its fallback, and attributes the result to that message's exact seq. An automatic failure retains the fallback and is retried only through ctx.sessionTitle.refresh().
The plugin uses the complete required shared LLM configuration. Omit both provider and model to inherit the exact route from the current logged main request, or set both to route title generation independently.
Model Experience
First-message title request
What the model sees
The title model receives the shared title instruction and a JSON array containing only the first eligible human message. Later prompts and inherited fork history do not trigger another automatic call.
Token effect
At most one automatic auxiliary request is made for a fresh session, bounded by maxInputBytes and maxOutputTokens; explicit refreshes may make additional calls. The main agent request gains zero tokens.
KV Cache effect
No main-request invalidation. The auxiliary request uses the configured or logged route and has provider-specific cache behavior.
Known Limitations and Deferred Work
- The first message alone may cease to represent a long-running session; use the all-messages provider when later prompts should retitle it.
- A fork keeps its inherited title and never runs this provider automatically, even when its seeded first message came from the parent.