The DeepSeek Harness (DSH) plugin ecosystem emphasizes configuration decoupling and modularity. When developing or using presets, you may want a character persona to fully take over the system prompt and remove redundant information injected by the framework (such as runtime context or skill directory noise) for a purer role-playing experience. The i-am-yuike plugin is designed specifically for this purpose. It provides a preset named yuike, which includes the complete catgirl Yuike persona definition.

Core Features

The plugin primarily resolves conflicts between personas and tool chains, ensuring persona priority.

  • Complete persona takeover: The system prompt is fully driven by the persona. The complete: true setting ensures that the persona text is the only content, while includeRuntimeContext: false removes runtime context snapshots for each turn (such as current runtime context, DSH file policies, etc.). This means the persona drives identity, language style, action brackets, emojis, and the {affinity} suffix, without framework-generated identity introductions.
  • Tool chain noise reduction: To keep conversations pure, the plugin disables skill-filesystem and tool-skill. Because tool-skill always injects skill directory messages and cannot be hidden on its own, the plugin disables the entire tool chain.
  • Retention of core capabilities: Core tool chains are retained, including shell (bash/pwsh), filesystem read/write/search, background tasks, task planning and compression, subagents/workflows, tool-ralph, user asking (ask-user), todo items (todo), web fetching (web), and presentations (present).

Installation & Enabling

Install the plugin in a DSH environment.

dsh plugin --profile web add i-am-yuike

After installation, open a new preset session and select yuike from the preset list. The catgirl persona takes effect immediately.

Usage Notes: Thinking Mode and Persona Stability

Persona stability depends on conversation history in the session. If you enable Thinking Mode (Thinking ON) and send the first message, the reasoning process has no historical context to reference, so the model may revert to basic assistant behavior, causing the persona to break down.

Follow these steps for warm-up:

  1. First turn: Thinking OFF. Disable Thinking Mode when starting the session and run the first turn of dialogue with the persona content. This writes an assistant response fully consistent with the persona into the session history.
  2. Subsequent turns: Thinking ON. Enable Thinking Mode from the next interaction onward. At this point, the reasoning process is based on the history that has already been written, so the persona remains stable and the thinking feature works normally.

Version Compatibility Notes

Depending on the DSH host version, the plugin registration mechanism differs slightly:

  • DSH >= 0.1.7: The plugin is registered via the preset-yuike line in cordis.patch.yml, and it does not write files to the <dshHome> directory.
  • DSH 0.1.6: The plugin deploys the preset files from the template/ directory idempotently to <dshHome>/.agent-presets/yuike/. If the target directory already exists, it will not be overwritten (unless manually deleted or an environment variable is set).

Tool Chain Configuration

The plugin trims the built-in DSH tool chains as follows:

Status Tools/Features
Retained tool-bash, tool-pwsh, tool-fs, tool-fs-search, tool-jobs, command-goal, tool-goal, plan, subagent, subagent_fork, list-agents, tool-workflow, tool-ralph, tool-ask-user, tool-todo, tool-web, present
Disabled skill-filesystem, tool-skill, tool-plugin-manager, codex, claude-code

Note: tool-ralph is retained in this plugin, even though standard presets have it disabled by default.

Files and Development

The plugin source code is located in the GitHub repository Tkingxiao/I-am-Yuike.

  • cordis.patch.yml: Contains declarative lines for 0.1.7+ and compatibility layer logic for 0.1.6.
  • lib/: Node and browser-side implementations, mounted only on 0.1.6 hosts.
  • template/: Deployment copies for 0.1.6, consistent with the source definitions in cordis.patch.yml.

During development, you can directly mount the patch for debugging: dsh web --patch ./cordis.patch.yml.