Introduction¶
DeepSeek Harness (DSH) preserves the model’s thinking process by default and carries it into the next loop iteration; it is only lost when context compression is triggered. For closed-source providers, their encrypted thinking does not fully enter the DSH context and cannot be continued using the provider’s native state. As a result, at each step, the model must re-speculate what happened in the previous step—this speculation is then invalidated in the next step, wasting time and tokens.
This plugin allows the selected route to leave a visible action summary in plain text before invoking a tool and writes it into the session history. The next step and every subsequent step can read it directly. It affects only the selected route, does not alter other models, and does not hide any history.
Installation and Enablement¶
Install the plugin with the following command:
dsh plugin --profile web add "github:zhourenke/dsh-reasoning-summary"
After installation, restart DSH and refresh the page. This plugin has no dedicated settings page; the configuration entry is in the component included in the plugin row.
Configuration¶
In the left sidebar, go to “Plugins” → find this plugin’s row → the included component → “Configure Reasoning Summary”, check the routes to trigger, and save. The page reads DSH’s real-time model catalog.
Configuration is only applied to that plugin entry line in the profile (key: @zhourenke/dsh-reasoning-summary#reasoning-summary); the legacy ~/.dsh/settings.yaml layer is no longer read. Maintainers can also write config: directly under that line:
# <profile>/cordis.patch.yml
- id: reasoning-summary
config:
models:
- provider: <provider-id>
model: <model-id>
provider and model must exactly match the actual IDs in DSH; both must match. An incorrectly written entry will not produce an error—it simply will not take effect (if you select it on the page, it won’t be wrong).
Core Features¶
- Generate visible summaries: Generates a visible action summary before tool invocation and writes it into the session history.
- Eliminate repeated speculation: The model no longer needs to re-speculate about the previous step at each step.
- Support model switching: The summary is passed as ordinary session history, so it can also be read after switching models mid-session.
- Precise route control: Affects only specific
provider/modelroutes. - Support unloading: Inserted at the profile layer without modifying DSH itself; clearing the list completely disables it.
Behavior and Limitations¶
- Pseudo-non-streaming output: Once enabled, the selected model’s output becomes buffered and emitted all at once (pseudo-non-streaming). Other models are unaffected.
- Effect check: After a tool step, if the UI shows the “Context Injection · reasoning-summary” prompt, it is in effect.
- Summary format: The summary must appear as the
<summary>...</summary>tag in visible text. It is searched for only in visible text; writing it in reasoning content is invalid. - Tag rule: In the same text block, only the first complete
<summary>tag is recognized. - Continuation limit: A maximum of 3 continuations within the same turn.
- Compatibility: Based on DSH v0.2.0-rc.2.