dsh-compact-selected-model
Verifieddsh-compact-selected-model · v0.1.1 · MIT
DeepSeek Harness plugin: /compact and auto-compaction summarize with the model currently selected in the session, not the model that finished the last turn
Install
dsh plugin add dsh-compact-selected-model Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Creators
Readme
dsh-compact-selected-model
By default, DeepSeek Harness compacts a session with the model that answered the
last turn. If you switch models in the picker and then run /compact, the old
model still writes the summary. With this plugin, the summary is written by the
model you have selected now.
Works with dsh 0.1.7-rc.2 through 0.2.x.
Install
npx @deepseek-ai/dsh plugin --profile web add dsh-compact-selected-model
Then restart dsh web.
How it works
Picking a model in the web UI adds a model/selection event to the session.
That choice stays pending until the next request uses it. The plugin hooks
llm/stream. When a request has purpose: 'compaction' and the session has a
pending model, the plugin sends the request to that model. Nothing else in the
request changes.
The plugin leaves the request alone if compaction-basic has an explicit
summarizationModel set. Other requests are never touched.
If the selected model fails, for example because of a rate limit or a context
window that is too small, the compaction fails too. Switch back to a working
model and run /compact again.
Caveats
- The
compaction/summaryevent in the session log still names the old model, because compaction-basic writes that record itself. The host log shows where the request actually went. - The auto-compaction threshold is still based on the context window of the previous model.
- This needs the
modelSelectionprojection from the session controller, so it does nothing in headless runs.
Development
node smoke.mjs runs an offline check against a stub LLM service.
License
MIT