Introduction¶
DeepSeek Harness (DSH) is a plugin-centric model inference platform. When using large language models for long-form writing, developers often face abrupt style switching, context memory loss, and an overly strong “AI-like” tone in the output. This plugin provides an end-to-end writing enhancement solution from input to output through a profile system, project memory management, and AI-tone-removal post-processing. The plugin is maintained by Azonda and open-sourced under the MIT License.
Feature Overview¶
The plugin mainly includes the following three core modules:
Writing Profiles¶
It supports dual automatic switching of style and rigor.
* Style Profiles: Cover T1 through T4 (e.g., Whale Schrödinger, Heming Whale, Aug Whale, Whaleild), injecting prompts during generation through the Host-side systemPrompt.section.
* Rigor Profiles: Cover L1 through L5 (e.g., Historian, Defense Attorney, Science Writer, Storyteller, Novelist).
* Stacking Logic: Rigor comes first and style comes second. The two are stacked orthogonally. A single key is parsed by (profile, output language), so only one prompt is injected at a time.
Project Memory¶
It manages context under the session directory and contains the .mem/config.md file.
* Three-zone structure: Includes a human-locked zone (read-only), a glossary, and context assets.
* Hard guard: Runs in the tools/pre-execute stage to protect the human-locked zone and frontmatter from being overwritten.
* Budgeted injection: It automatically appends content but is capped by an estimated 800-token limit; if there are more than 30 glossary terms, they are automatically split into glossary.md.
AI-tone-removal Post-processing¶
It provides the dynamic tool whale_polish for post-draft fine-tuning.
* Change list: The tool call card displays specific modification rules and evidence (linked to 12 profile-specific rules, including P0 language conservation and P1 unit-count conservation).
* Trigger threshold: It only runs when the text length reaches ≥50 units (Chinese characters + English words).
Installation & Enablement¶
Use the official GitHub source installation command:
dsh plugin --profile web add github:Azonda/dsh-whale-writing
After installation, restart DSH (run dsh web).
Usage¶
After restarting, the plugin provides interaction entry points in the following ways:
- Quick bar: A quick bar appears above the session input box, with functions for style, rigor, memory, post-processing, and collapse. All configuration entry points are centralized here.
- Model tools: The model tool list includes
whale_set_profileandwhale_polish. - Post-processing display: The
whale_polishcall card displays a change list view.
The plugin has no standalone settings page. All toggles and configuration are managed through the above quick bar or DSH’s own plugin management features.
Technical Notes & Precautions¶
- Dependency declaration: The plugin does not declare any
@deepseek-ai/*runtime dependencies (such as@deepseek-ai/cordisor@deepseek-ai/dsh-tools), avoiding core package forking. The core package is provided by the DSH installation closure, and the plugin runtime resolves it through parent-walk. - Installation method: Install only with the
dsh plugin addcommand. Do not manually runpnpm addfor core packages in a profile. This can causeTOOL_RUNTIME_SCHEDULERsymbol forking and lead toCannot read properties of undefinederrors. - Environment requirements: The Node.js version must satisfy
^22.19.0 || >=24.0.0, and the DSH version must be compatible with0.1.1-rc.2. - Failure recovery: If a core-package-forking error occurs, remove the core package entry from the profile’s
package.json, delete the corresponding entity undernode_modules, and runpnpm dedupe. If the session is already poisoned, export it and then rebuild. - Compatibility: The project structure includes Host-side TypeScript code and Client-side lazy-CJS code. The source submission includes build artifacts, so no additional build is required during installation.
Conclusion¶
The dsh-whale-writing plugin focuses on writing scenarios in the DSH ecosystem and provides control through Host injection, a browser quick bar, and model tool calls. Users can refer to GitHub for the source code and maintenance documentation.