dsh-persona-shell: A Presentation-Only Persona Layer for DeepSeek Harness
crisvollerei/dsh-persona-shell
A DSH plugin that re-speaks assistant reports in a persona at the render layer, keeping the working prompt untouched with the original one click away.
dsh-persona-shell is a DSH plugin that re-speaks each assistant report in the chat area while leaving the working prompt completely untouched. It targets the cost of stuffing a persona into the system prompt, where every step pays in context and attention, so the persona stays in the presentation layer and the original is always one click away. Its capabilities include literal masking that protects code and commands, streaming rewrites, multiple persona presets with cross-session style memory, independent subagent switches, and instant restoration of the official renderer when disabled.
How to Install
dsh plugin --profile web add github:crisvollerei/dsh-persona-shell- Category
- UI & Experience
- Platform
- DSH Plugin
- Author
- crisvollerei
- Distribution
- Plugin
dsh-persona-shell Key Features
dsh-persona-shell Repo Summary
What Does It Do?
Persona Shell is a DSH plugin for DeepSeek Harness that re-speaks every assistant report in a persona while leaving the working prompt untouched. It solves the cost of injecting a persona into the system prompt, where every step pays context and attention for it: the persona lives only in the presentation layer, and the original report is always one click away. Maintained by crisvollerei under the MIT license and written in JavaScript, it was last updated on 2026-10-27.
Core Features
- Presentation-layer rewriting: reads only committed assistant messages and never touches the system prompt, tool set, agent loop, or session log, and rewritten text is never written back into the conversation.
- Literal protection: fenced code, inline code, URLs, absolute paths, commands, and version numbers are replaced locally with placeholder markers before the narrative is sent to the model; if markers are missing, extra, duplicated, or altered, the whole rewrite is discarded and the original shown.
- Original-text comparison: the last report of each turn carries an original-text button, and any failed or timed-out rewrite falls back to the original.
- Persona presets and style memory: paste an existing persona prompt to extract speaking rules into a persona card, and let cross-session statistics on question language, forms of address, and sentence length fine-tune the tone while storing only counts, never source text.
- Independent subagent switches: process output and conclusion output are controlled separately, and rewriting of intermediate tool-call narration can be turned off.
- Reversible: turning the plugin off releases the render slot and the official renderer is fully restored.
How to Use This Plugin?
After enabling it in DSH, every assistant report appears in the chat area in its persona version, and the last report of each turn can be switched to the original. Under Settings → Persona Shell you can change whether staged output is rewritten, the two subagent switches, the long-term memory toggle with its learned content and reset, enabling, renaming, and deleting presets, editing the persona card (identity, reporting speech rules, general voice, tone examples, taboos, subagent address), and the model used for rewriting, which follows the current session by default. The built-in preset cannot be deleted; editing it automatically saves a new preset that you can switch back from at any time.
How to Troubleshoot This Plugin?
- Reasoning panels, image blocks, interruption markers, and running states disappear while the plugin is active: the original-text view also contains only text blocks, a known limitation of taking over the keyed slot; turning the plugin off releases the slot and restores the official renderer.
- The chat area degrades to plain text with a notice in settings: the official Markdown rendering capability is no longer available, and the plugin depends on it, so repair it per the official instructions.
- Plugin routes reject unauthenticated requests: deployments without a Connection service must explicitly allow unauthenticated routes per the official instructions.
- Memory toggle behaves unexpectedly: memory stays off while storage is unavailable so defaults never overwrite a switch the user turned off, and collection resumes once storage recovers.
This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: crisvollerei/dsh-persona-shell. The plugin is third-party code that runs on your machine once installed; inclusion does not imply endorsement — please review the source before installing.
DSH Plugin FAQ
