Introduction¶
In the DSH (DeepSeek Harness) plugin scenario, personality, tools, and the display layer can be handled in separate modules. dsh-catgirl-plugin is a token-efficient personality runtime for DeepSeek Harness, maintained by Freakz2z, and licensed under the MIT license.
Instead of stuffing a long persona directly into the model context, it allows the model to output normal text, while the local rendering layer adds the catgirl flavor. Simultaneously, it controls visible tools via a tool whitelist.
What is this¶
In short: dsh-catgirl-plugin is a token-efficient personality runtime for DeepSeek Harness.
It revolves around three main objectives:
- Keep the model context clean: session logs save the original text, zero pollution in the model context.
- Reduce LLM token costs for catgirl flavor: local rendering of the catgirl flavor, 0 LLM token cost.
- Reduce tool schema usage: tool schema trimming, reducing 25 tools to 8.
Core Features¶
Persona Virtualization¶
The concept of Persona Virtualization is: the model outputs normal text, and the local rendering layer adds the catgirl flavor.
This ensures session logs save the original text, zero pollution in the model context; the catgirl flavor is rendered locally, 0 LLM token cost.
Tool Trimming and On-Demand Unlocking¶
catgirl-economy trims tools within the agent scope via ctx.tools.restrict(), reducing 25 tools to 8.
When a task requires a trimmed tool, it can be unlocked on-demand via enable_tool. The progressive disclosure of enable_tool is used to restore capabilities.
If the requested tool to unlock is not installed in the current profile, enable_tool will return an unavailable prompt and retain the original whitelist.
Plugin Modules¶
catgirl-lite: Extremely short persona.neko-renderer: Headless display layer.catgirl-economy: Tool trimming and on-demand unlocking.client: Web UI rendering.usage-meter: Usage recording.
The personality copy is in Chinese only; INTENSITY_TEXT is located in index.js and can be modified manually or extended via traits.
Installation and Usage¶
The installation command specifies the demo profile:
dsh plugin --profile demo add dsh-catgirl-plugin
Then, add a profile patch to insert catgirl-lite, neko-renderer, and catgirl-economy. The configuration below uses fields verified in facts:
- insert:
- name: dsh-catgirl-plugin/catgirl-lite
config:
persona: 'Be concise, friendly, and natural.'
- name: dsh-catgirl-plugin/neko-renderer
- name: dsh-catgirl-plugin/catgirl-economy
config:
allow: [bash, read, write, edit, glob, grep, str_replace_editor, todo_write]
Web UI rendering is optional. Install dsh-catgirl-plugin-client and add a profile patch to insert neko-renderer-client:
- insert:
- name: dsh-catgirl-plugin-client
Typical Usage¶
Basic Enablement¶
First, install the plugin, then enable the three modules in the profile patch:
- Install
dsh-catgirl-plugin. - Insert
dsh-catgirl-plugin/catgirl-liteand setconfig.personatoBe concise, friendly, and natural.. - Insert
dsh-catgirl-plugin/neko-renderer. - Insert
dsh-catgirl-plugin/catgirl-economyand configure the allowed tools inconfig.allow.
The example whitelist is:
allow: [bash, read, write, edit, glob, grep, str_replace_editor, todo_write]
When More Tools are Needed¶
If the current task requires a trimmed tool, call enable_tool to unlock the corresponding tool.
Please note:
- If the requested tool to unlock is not installed in the current profile,
enable_toolwill return an unavailable prompt and retain the original whitelist. - Tasks requiring specialized tools have a degradation boundary (e.g., subagent parallelism, skill calls), where the model changes strategy;
enable_tool’s progressive disclosure is used to restore capabilities.
Development and Build¶
The development environment requirements come from package.json:
"engines": {
"node": "^22.19.0 || >=24.0.0"
}
Dependencies:
"@deepseek-ai/schemastery": "^3.18.1"
Common commands:
npm install
npm test
npm run test:composition
npm run pack:check
Building the client plugin requires entering the client directory to install dependencies and linking @deepseek-ai related packages from the harness checkout. It is known that dsh-client-runtime depends on the unpublished dsh-compact, so building the client package requires linking dependencies from the harness checkout.
Use Cases and Notes¶
Suitable for scenarios in DSH that use local personality rendering and tool whitelist control. It is suitable for developers who want to reduce the persona’s footprint in the model context while retaining the catgirl display effect.
Please note:
- The plugin runs with the current DSH process permissions; check the source code and license before installing.
headlessone-off processes do not wait for background subagents: child agents withrun_in_background: trueare terminated when the parent process exits; synchronous mode is fully usable, and the Web UI has no issues.- The dependency chain for rc packages on
npm registryis broken:dsh-client-runtimedepends on the unpublisheddsh-compact, so building the client package requires linking dependencies from the harness checkout. - The
nyatool outputs random data usingMath.random()and is not suitable for snapshot testing. - The personality copy is in Chinese only;
INTENSITY_TEXTis located inindex.jsand can be modified manually or extended viatraits. dsh bundle patchis./cordis.patch.yml.
Conclusion¶
The value of dsh-catgirl-plugin lies in putting personality presentation into the local rendering layer, keeping the tool interface within a whitelist, and using enable_tool to restore tool capabilities when needed.
Repository address:
- GitHub: https://github.com/Freakz2z/dsh-catgirl-plugin