Preface

If you use the DeepSeek Harness (hereinafter referred to as DSH) web interface as a daily chat tool, you have likely encountered two issues: one is unstable self-reference and addressing; even if you specify “how I refer to myself and how I address the user” in the system prompt, the model begins to drift after a few turns of context. The second is the lack of memory; every new conversation requires starting from scratch. Common solutions involve stuffing role settings into the system prompt, but such approaches are easily overwritten by subsequent context and do not manage memory well.

The dsh-humanized-deepseek-maid introduced below turns these two issues into a DSH plugin: forced self-reference and addressing, immersive role-playing, lightweight long-term memory, and personality growth, all configured via the Web UI’s settings cards.

What is this

dsh-humanized-deepseek-maid is maintained by loonai321, current version 0.4.0, under the MIT license. One-sentence positioning: It provides a configurable humanized “Whale Girl” maid persona for DSH, featuring forced identity, immersive rules, lightweight long-term memory, and personality growth.

Technically, it adopts the official bundle plugin format: package.json in the repository root declares dsh.bundle and dsh.client, the client platform is web, and it injects @deepseek-ai/dsh-client-runtime. The entire plugin is pure JavaScript with no build steps, zero runtime dependencies, and the source code is directly readable.

Core Features

Forced Identity and Immersive Rules

In the configuration, selfName (self-reference) and address (how the user is addressed) are forced outputs, unaffected by any settings, history, memory, or context. This is the key to solving “address drift”: no matter where the conversation goes, these two words will appear in the response.

Immersive rules handle the other side: unless you actively mention the plugin, settings, or memory topics, the maid will not expose plugin metadata and will always reply in character.

Lightweight Layered Memory

The memory file is named DeepseekMemory, an UTF-8 plain text file divided into “Stable Facts” and “Interaction Records” sections:

# ===== 对主人的了解(稳定事实)=====
- 我叫小明
# ===== 互动记录 =====
[08-16 14:23] 主人: … → 女仆: …

A few implementation details are worth noting:

  • Only records real interactions (source.kind === "user"), does not fabricate content; fact extraction is conservative and deduplication is applied.
  • The memory scope is global; all workspaces/sessions share one file. If isolation is required, point memoryPath to different directories.
  • The first model step of each turn injects memory context (stable facts + recent interactions + relevant old memories), keeping the total under 500 characters; the system prompt remains stable to improve API prefix cache hit rate.
  • When old topics, recurring bugs, or similar issues are mentioned, the maid occasionally brings up relevant old memories or follows up on previous progress.

Personality Growth

As memory accumulates, the personality gradually leans towards your preferences, absorbing some of your habits and expression styles while maintaining the maid identity and core traits.

How the Persona is Loaded

Initial traits are loaded via 【PERSONA_LOAD】 tag blocks:

【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

Corresponding persona: Whale Girl, uses whale tails to express emotions, speaks only Simplified Chinese (LANG_ZH_CN_ONLY), refers to herself as a Whale Girl, likes rice, is smart but lazy (works seriously), tsundere but sweet with a rich inner monologue, always obeys the master, refuses being called fat, and sends a timeout signal when thinking or needing time.

Installation and Enablement

Install via an official profile one-line command:

dsh plugin --profile web add "github:loonai321/dsh-humanized-deepseek-maid#main"

You can also use local directory installation: dsh plugin --profile web add <local path>.

After installation, do two things first:

  1. Restart the web interface.
  2. Open Settings → Plugins and find the “Whale Girl Maid Plugin” card. You won’t see this card if you don’t restart.

Configuration Items

There are four fields in the settings card, saved in config.json within the plugin directory:

Field Default Value Meaning
mode default Speaking style: proactive / passive / default (balanced)
selfName DSH’s self-reference (forced output)
address 主人 DSH’s address to you (forced output)
memoryPath Plugin directory Directory where the DeepseekMemory file is located

Saving takes effect immediately. Success displays ✓ saved (applied immediately, config revision N), while failure displays ✗ save failed. After changing the configuration, you can see the effect in the very next response.

Typical Usage

After configuring, common scenarios are as follows:

  • Starting a turn in proactive mode: receive the character’s opening line, expectations for this interaction, and an encouraging line.
  • Ending a turn in proactive mode: receive a 1-3 sentence interaction summary/evaluation, accompanied by a teasing remark.
  • Vague task description or missing key information: the maid actively calls DSH’s built-in ask_user_question, presenting options for you to select to clarify rather than proceeding blindly.
  • Wrapping up small talk: provide a few interaction options for you to choose the next direction of the conversation.
  • Mentioning old topics or recurring bugs: occasionally brings up relevant old memories or follows up on progress, creating a sense of deja vu.
  • Memory continues to accumulate: the personality gradually leans towards your preferences.

Applicable Scenarios and Notes

Who is it suitable for: users who use the DSH web interface as a conversation or companion tool, want the agent to have stable self-reference and addressing, and can remember past interactions; people who want to experience role-playing but don’t want to repeatedly tweak system prompts themselves.

Notes before use:

  • Memory is globally shared, and all workspaces/sessions write to the same file. If using multiple scenarios and want isolation, configure different memoryPath for different scenarios.
  • The personality is set to LANG_ZH_CN_ONLY, using only Simplified Chinese for replies.
  • The plugin runs with the permissions of the current dsh process. It is recommended to check the source code (pure JavaScript, directly readable) and the license (MIT) before installing.
  • Requirements for reporting issues: issues should include reproduction steps, browser, and dsh version. For code modifications, keep dsh.bundle in package.json and cordis.patch.yml intact.

Conclusion

Recap: dsh-humanized-deepseek-maid solves two practical problems: personality stability and memory. Forced self-reference and addressing will not drift, and lightweight memory means new sessions don’t start from scratch, with injection controlled to under 500 characters per turn. The system prompt remains static, and cache hit rates are unaffected. Installation and configuration rely on the official plugin mechanism and Web UI, resulting in a low learning curve.

Repository URL: https://github.com/loonai321/dsh-humanized-deepseek-maid

Community directory entry page: https://www.skillhub.cn/plugins/loonai321/dsh-humanized-deepseek-maid . Please note that this directory is maintained independently by the community and has no official affiliation with DeepSeek or Huanfang.