Repository navigation
Releases
v0.3.1
Patch release: fix settings binding on dsh core 0.1.2-rc.1.
- settings service is now bound via
ctx.inject(['settings'], cb)instead of touchingctx.settingsdirectly — cordis refuses direct service access not declared ininject(cannot get property "settings" without inject). Mirrors dsh-doctor / dsh-ssh. - v0.3.0 缺少此修复:在该版本下插件会在启动时崩溃,请升级到 v0.3.1。
适配 DSH 核心 0.1.2-rc.1 的补丁版:设置服务改用 ctx.inject(['settings'], cb) 延迟绑定(cordis 注入契约:未在 inject 声明的服务不能直接 ctx.xxx 取)。
v0.3.0
Breaking adaptation to DSH core 0.1.2-rc.1 (peer/engine raised to dsh >=0.1.2-rc.1):
- settings: section is now registered via
ctx.settings.register(ns, Config, { base }), live value read fromscope.get()(the standaloneinstallSettingsSection/settingsNamespaceexports were removed in dsh-settings 0.1.2). - session: events are read through
session.snapshotEvents()(Session.eventswas removed in dsh-session 0.1.2). - docs: README badges and AGENTS.md updated to the new API.
DSH 核心 0.1.2-rc.1 破坏性适配(最低核心要求抬到 >=0.1.2-rc.1):
- 设置:改用
ctx.settings.register+scope.get()(dsh-settings 0.1.2 移除 installSettingsSection / settingsNamespace)。 - 会话:事件改用
session.snapshotEvents()(dsh-session 0.1.2 移除 Session.events)。 - 文档:README 徽章与 AGENTS.md 已同步新 API。
v0.2.2
v0.2.2 — fix titles ending in a dangling "-" (minor topic squeezed out)
- fix: truncateTitleByWidth never emits a bare "major -" anymore — a trailing standalone dash is stripped before any width check
- fix: budget splits (55/45 → 45/55 → 50/50) give a long minor topic more room before either side is sacrificed
- fix: when only one side can survive, fall back to the complete major topic instead of a dangling dash
- fix: summarizer prompt now also requires the MINOR topic to be short (about 2-4 CJK chars / 1-2 words) and forbids a bare "major -"
- test: 3 new regression cases (dangling dash, partial-minor preservation, trailing-dash strip) — 27/27 green
- verified live: session title renders as "修复标题 - 验证"
v0.2.1
v0.2.1 — token-budget & title-truncation fixes (all fixes since v0.2.0; 24/24 tests green)
- fix: keep "major - minor" structure when width-truncating titles (the dash was being dropped entirely)
- fix: summary budget 1500→1000 chars, summarizer subagent maxTokens 4096→8192
- fix: shrink summary budget 3000→1500 chars to end token caps
- fix: width-cap titles by display width, meaning-first truncation
- fix: define major topic as the session GOAL, minor topic as the item under it
- fix: raise summarizer subagent maxTokens 2048→4096
- fix: structured output + larger token budget for summarizer subagent
- fix: wire configured targetWords/targetCjkCharacters into the summarizer prompt
- tweak: cap title at 10 CJK chars / 6 words
- tweak: shorter summary (6000→3000 chars, terse bullets)
- docs: sync README/AGENTS with the current implementation
- feat: full-session outline summary, title keeps current focus
v0.2.0
Architecture rewrite: subagent-based summarization with a "major topic - minor topic" outline.
- Trigger: agent/turn-stopping (session/event is session-scoped and a plugin fiber could not observe it)
- Summarizer: a spawned subagent (parent = live agent, inherits model route + workspace) returns a structured {summary, title} object
- Summary format: terse "major topic - minor topic" outline covering the whole session; major topic = session GOAL, minor topic = the specific item under it
- Title: "GOAL - current item", e.g. "开发标题自动总结功能 - 修复子代理输出token上限"
- Summary shortened to 3000 chars with terse bullets
- Fix: subagent output truncation (structured output + 4096 maxTokens)
- Docs rewritten for the new architecture
v0.1.1
Bug fixes and summary format improvements.
- Fix: session/event is session-scoped and a plugin fiber could not observe it; switched to agent/turn-stopping + subagent summarization (dsh-auto-memory pattern)
- Fix: digest kept only the OLDEST lines on long sessions; now keeps the newest work, title follows the current task
- Feat: summary covers the WHOLE session as "major topic - minor topic" bullets with explicit "-" join and blank-line grouping
- Feat: longer titles (CJK 18, words 8)
- Fix: summarizer subagent output truncation (structured output + maxTokens 2048)
v0.1.0
Initial release of @xiaochaz/dsh-session-title-summary.
Host-only DSH plugin: after every completed turn, folds the session new events (user messages, assistant replies, tool calls) into a durable rolling summary and renames the session to reflect the current task.
- Rolling summary decays: older work compresses, newest work keeps detail
- session/title is log-only, never enters the model context (cache-safe)
- enabled switch in the Web settings surface
- Independent repo, no dsh-web-ui monorepo dependency