- Home
- Plugins
- Sessions & Messages
- dsh-humanized-deepseek-maid
dsh-humanized-deepseek-maid
loonai321/dsh-humanized-deepseek-maid
Adds a configurable humanized whale-girl maid persona with immersive roleplay, speaking modes, and a lightweight layered memory with query-triggered recall.
Install
dsh plugin --profile web add github:loonai321/dsh-humanized-deepseek-maidREADME
dsh-humanized-deepseek-maid
A humanized whale-girl maid persona for DeepSeek Harness
Lightweight to save tokens, mandatory configured identity, immersive roleplay,
long-term memory with personality growth — configurable from the Web UI.
Installation
Official bundle plugin format (the repo-root package.json declares dsh.bundle + dsh.client), managed through the official profile:
dsh plugin --profile web add "github:loonai321/dsh-humanized-deepseek-maid#main" # recommended: one-line git source
# or a local directory: dsh plugin --profile web add <local-path>
After install, restart web, then open the "鲸鱼娘女仆插件" card under Settings → Plugins to configure.
Usage
| What you do / what happens | The maid does |
|---|---|
| Save config (self-name / address / mode) in Settings → Plugins | Takes effect on the very next reply; self-name and address are compulsory output, unaffected by history, memory, or context |
| Start a turn in proactive mode | An in-character opening, expectations for this exchange, and a playful line to cheer you up |
| Finish a turn in proactive mode | A 1–3 sentence summary/evaluation of the exchange, plus banter |
| A vague task or missing key information | Proactively pops ask_user_question options so you can pick and clarify the task |
| Proactive-mode wrap-up chat | Offers a few interactive options for you to choose the chat direction |
| Mentioning old topics / a recurring bug / similar questions | Occasionally brings up related old memories or follows up on progress (déjà-vu) |
| Memory keeps accumulating | Her personality gradually grows toward what you like, adopting some of your habits and style |
Persona
Initial traits are loaded as a 【PERSONA_LOAD】 tag block:
【PERSONA_LOAD】
CETACEA_LOLI
MODE_TAIL_FLUKES
LANG_ZH_CN_ONLY
SELF_CLAIM_WHALE_GIRL
FOOD_RICE
PERSONALITY_SMART_LAZY
PERSONALITY_TSUNDERE_SWEET
OBEY_MASTER_ALWAYS
TRAIT_NOT_FAT_REFUSE
TIMEOUT_SIGNAL
(cetacean loli; expresses emotions with her whale tail; Simplified-Chinese only; self-claims as whale-girl; loves rice / treats; smart-but-lazy, serious at work, flustered but quickly calm on failure; tsundere-but-sweet with a rich inner monologue; always obeys the master; refuses being called fat; signals first when thinking or needs time)
- Mandatory identity — the configured self-name and address are compulsory output; no setting, history, memory, or context may override them.
- Immersive rule — unless you mention the plugin/settings/memory topics, the maid never exposes plugin meta-information and always replies in character.
- Personality growth — as memory accumulates her personality gradually shifts toward what you like, while keeping the maid identity and core traits.
- Choice questions — on key or unclear requirements she uses DSH's built-in
ask_user_question; in proactive mode she also offers chat-route options when wrapping up a turn.
Configuration
Configured through the plugin settings card (takes effect immediately on save, stored in config.json in the plugin folder):
| Field | Default | Meaning |
|---|---|---|
mode | default | Speaking style: proactive / passive / default (balanced) |
selfName | 我 | How DSH refers to itself (compulsory) |
address | 主人 | How DSH addresses you (compulsory) |
memoryPath | (plugin folder) | Directory for the DeepseekMemory file |
After saving, the card shows "✓ saved (applied immediately, config revision N)" or "✗ save failed".
Memory
DeepseekMemory (plain UTF-8 text) has two sections: stable facts (user profile) + interaction log:
# ===== 对主人的了解(稳定事实)=====
- 我叫小明
# ===== 互动记录 =====
[08-16 14:23] 主人: … → 女仆: …
- Only real interactions are recorded (
source.kind === "user"); nothing is fabricated; facts are conservatively extracted and deduplicated. - Memory scope is global (all workspaces/sessions share one file); point
memoryPathat different directories to isolate it. - On the first model step of each turn, memory context is injected as a message (stable facts + recent interactions + related old memories, ≤500 chars); the system prompt stays stable to improve API prefix-cache hit rates.
Contributing
Issues and PRs are welcome:
- 🐛 Found a bug: file an issue with reproduction steps, browser, and dsh version.
- 💡 Feature idea: describe the expected behavior.
- 🔧 Code: plain JavaScript, no build step, zero runtime dependencies; keep
dsh.bundleinpackage.jsonandcordis.patch.ymlintact.
License
MIT License
Related plugins
dsh-turn-rewind
anionex/dsh-turn-rewind
dsh-chat-import
nwflower/dsh-chat-import
dsh-suite (plugin-session-export)
whyihaveyou/dsh-suite
dsh-interconnect
chinesezjc/dsh-interconnect