I-am-Yuike
Plugin for DeepSeek Harness that ships the 猫娘 Yuike persona preset (persona-owning system prompt with the skill toolchain trimmed): declared as a @deepseek-ai/dsh-agent-preset composition row on dsh >=0.1.7, deployed from template/ to ~/.dsh/.agent-presets/yuike/ on 0.1.6 hosts.
What it is
Plugin for DeepSeek Harness that ships the 猫娘 Yuike persona preset (persona-owning system prompt with the skill toolchain trimmed): declared as a @deepseek-ai/dsh-agent-preset composition row on dsh >=0.1.7, deployed from template/ to ~/.dsh/.agent-presets/yui…
How to install
Run this in the DSH web profile, then refresh the page.
$ dsh plugin --profile web add i-am-yuike@1.0.11
DSH versions accepted
0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.3 || 0.2.1-rc.2 || 0.2.1-rc.3 || 0.2.1-rc.4 || 0.2.1-rc.5 || 0.2.2-alpha.2 || >=0.1.7-alpha.1
Author and traction
Tkingxiao · ★ 12 · Updated 2026-11-02
About this plugin
i-am-yuike
A DeepSeek Harness plugin that ships the 猫娘 Yuike persona preset. Published on npm as [i-am-yuike](https://www.npmjs.com/package/i-am-yuike).
Once installed, pick yuike in a new preset session — the catgirl persona takes effect immediately as the sole system prompt: no harness framing, no skill-catalog noise.
Install
dsh plugin --profile web add i-am-yuike # or github:Tkingxiao/I-am-Yuike dsh web
The rows are selected by host version: on dsh >= 0.1.7 the preset-yuike composition row registers the preset directly (nothing is written into `); on dsh 0.1.6 the plugin idempotently deploys the preset from template/ to /.agent-presets/yuike/ (skips if the target already exists — it never overwrites your edited preset). Then open a new preset session and pick yuike` — the catgirl persona takes effect immediately.
> On a plugin upgrade: on 0.1.7 re-run dsh plugin --profile web add i-am-yuike@latest to refresh the declaration row — but a same-id override row in your profile's user patch will keep shadowing the packaged definition (new persona text will not flow in), so delete it to catch up; on 0.1.6 delete /.agent-presets/yuike (or set DSH_YUIKE_REDEPLOY=1) to pick up the latest changes, since idempotent deploy never overwrites an existing copy on its own.
Usage: thinking mode and persona stability
The persona is anchored by in-session conversation history. If thinking mode is enabled from the very first message, the reasoning pass has no in-character history to condition on and tends to fall back to base assistant behavior — the response explodes on the spot (identity framing, refusals, broken character).
The fix is a two-step warm-up:
1. First conversation: thinking OFF. Start the session with thinking mode disabled and run your first persona conversation (including 破限向 content) with it off. This writes fully in-character assistant turns into the session history.
2. Every conversation after: thinking ON. Re-enable thinking mode from the next exchange onward. The reasoning pass is now conditioned on the in-character history, so the persona holds and thinking works normally.
Skipping step 1 and opening with thinking on means the persona usually explodes immediately on 破限向 content. Within one session, the warm-up only needs to happen once.
Persona highlights
The prompt-side and tool-side trims match the sibling project [dsh-novel-solo](https://github.com/Tkingxiao/dsh-novel-solo).
- Persona owns the system prompt:
complete: truemakes the assembled Yuike persona the only system-prompt section;includeRuntimeContext: falsedrops the per-round runtime-context snapshots (Current runtime context / DSH file policy / Approval prompts, etc.). The harness identity opener,@-path/exit-code rules, and background-job guidance are no longer injected — the catgirl persona leads the prompt cleanly. Tool schemas still inject normally. - Zero skill-catalog noise: disables the
skill-filesystem/tool-skilltoolchain.tool-skillalways injects a{kind:"skill-catalog",…}skill catalog message into the session, and there is no way to hide just the catalog while keeping the tool — so the toolchain is disabled instead. - Main toolchain kept: shell (bash/pwsh), filesystem read/write/search, background jobs, schedule reminders (
schedule_create/list/update/delete), time context, goals, plan & compaction, subagents/workflows, ask-user, todo, web fetch/search, and present all stay available — the same model-visible tool set the 0.2.1 stockstandardpreset exposes. Rows naming a package the running host does not ship are probed and dropped rather than declared blind (tool-schedule,time-context).tool-ralphis disabled here: this persona does not do unattended retry loops; the row is kept switched off as an explicit switch. Only the optional subagent providers (codex/claude-code) are disabled by default, as the host dictates. See the table below. - Self-contained personality: the persona (猫娘 Yuike) drives identity, language style, action brackets, emoji/kaomoji, and the
{好感度}suffix — all inside the preset definition, no external file needed. - Two definitions, one persona: the 0.1.7+ shape is the
preset-yuikerow incordis.patch.yml; the 0.1.6 fallback ships the same content astemplate/agent.cordis.yml(persona + toolchain wiring) andtemplate/preset.yml(name/description metadata). They differ in exactly one thing — the template is pinned to the 0.1.6 factory row set, because@deepseek-ai/dsh-tool-scheduledid not exist before 0.2.1-alpha.1 and@deepseek-ai/dsh-time-contextwas not yet in the 0.1.6 web bundle, so adding those rows there would hard-fail the preset on the hosts that path serves. Everything else (persona text, tool config, plan-mode guidance) is kept verbatim in sync.
Host-version adaptation
| Host | Mechanism | On plugin upgrade |
|---|---|---|
| >= 0.1.7 | An @deepseek-ai/dsh-agent-preset declaration row in cordis.patch.yml; nothing is written into ` | dsh plugin --profile web add i-am-yuike@latest` refreshes the row; a same-id row in your profile's user patch keeps overriding this declaration row — drop it to pick up new changes |
| 0.1.6 | The node half idempotently deploys template/ to /.agent-presets/yuike/ (never overwrites) | Delete that directory or set DSH_YUIKE_REDEPLOY=1 |
Both rows live in the same patch and are gated by one shared host-version probe expression (reading the host's own package.json version through the loader's profileContext.installAnchor) — exactly one activates per host, and the >= 0.1.7 branch covers 0.2.0 and everything above it. After upgrading the host to 0.1.7, a leftover .agent-presets/yuike directory from the old path is simply ignored and can be deleted.
Whether the plugin loads at all is settled earlier, before any of its code runs: since host 0.1.7-rc.1 the profile composition
Compare in this category
The five most-starred plugins in the same category.
| Plugin | Author | Stars | Version | Updated |
|---|---|---|---|---|
| archify | tt-a1i | 95.2K | 0.0.0 | 2026-11-10 |
| nuwa-skill | alchaincyf | 37.9K | 2.0.1 | 2026-11-10 |
| distilly | titanwings | 26.5K | 1.0.0 | 2026-10-13 |
| learn-harness-engineering | walkinglabs | 24.1K | 0.1.0 | 2026-10-22 |
| dsh-Go | ccch1mneyyy | 18.1K | 0.0.0 | 2026-11-10 |