dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH plugin: rolling session summary + current-task title (@xiaochaz)
English | 中文
A host-only plugin for DeepSeek Harness (DSH): after every completed turn it summarizes the session's work in a rolling "major topic - minor topic" outline and renames the session to a title that names the session GOAL and the specific item being handled right now. Implemented entirely through the official NPM SDK — no DSH source changes.
agent/turn-stopping (the same event dsh-auto-memory
uses) on every live top-level agent.$DSH_HOME/dsh-session-title-summary/<sessionId>.json and the session is
renamed via the official sessionTitle service.The summary covers the WHOLE session as a terse outline. A major topic is the session-level GOAL the user is working toward (e.g. "开发标题自动总结功能"); a minor topic is one specific item under it (e.g. "修复子代理输出token上限"). Each line reads "major topic - minor topic", lines of the same major topic stay together, and different major topics are separated by a blank line. The current major topic gets the most bullets; older topics keep one short bullet each.
The title uses the same form, e.g. "开发标题自动总结功能 - 修复子代理输出token上限". It is based on the newest work at the end of the digest, never on how the session started, so it tracks the current task as the session evolves.
The session/title event is log-only: it never enters deriveMessages(), the
system prompt, tool schemas, or the request prefix, so renaming does not touch
the input cache hit rate or the KV cache. Summarization runs in a detached
subagent with its own prompt — it shares no prefix with the main conversation.
### From npm (when published)
dsh plugin --profile <name> add @xiaochaz/dsh-session-title-summary@latest
### From the repository (development)
git clone <this repo>
cd xiaochaz-session-title-summary
pnpm install && pnpm build
dsh plugin --profile <name> add link:$(pwd)
After installing, restart dsh web. The plugin takes effect on the next
completed turn.
The Web settings surface renders a section for this plugin:
| Key | Default | Meaning |
|---|---|---|
enabled | true | Master switch. Turn it off to keep session titles untouched (the plugin then does nothing). |
targetWords | 6 | Prompt target for non-CJK title length (words); the enforced cap is display width. |
targetCjkCharacters | 10 | Enforced title width cap in CJK characters (2 ASCII/half-width chars = 1 CJK). |
provider / model | session route | Optional explicit LLM route override; default follows the session's current model. |
timeoutMs | 90000 | Per-fold subagent timeout. |
$DSH_HOME/dsh-session-title-summary/<sessionId>.json
(versioned JSON, atomic write; lastSeq is the highest folded event seq).pnpm install
pnpm test
pnpm build
BSD-3-Clause.