loonai321/dsh-humanized-deepseek-maid

插件Plugin 原生Native ⭐ 3 MIT 记忆Memory

DeepSeek Harness 的人性化鲸鱼少女女仆角色插件:沉浸式角色扮演、多种说话模式以及受 ALTM 启发的分层记忆。

项目介绍Project Overview

dsh-humanized-deepseek-maid 是 DSH 的人格化角色插件,提供鲸鱼娘女仆身份,特点是轻量节省 token、自称与称呼强制输出、沉浸式角色扮演,并通过 DeepseekMemory 文本文件持久化记录稳定事实与互动日志,实现长期记忆与性格成长。适用于希望在 DSH 中获得人设稳定、记忆连贯的陪伴式对话场景。配置通过 Web UI 设置卡片完成,保存即生效,支持主动/被动/均衡三种说话模式。注意事项:身份设定不可被历史或上下文覆盖;切勿修改 package.json 中的 dsh.bundle 字段及 cordis.patch.yml,否则会破坏官方 bundle 加载机制。

dsh-humanized-deepseek-maid is a DSH persona plugin that ships a whale-girl maid character with a lightweight token footprint, enforced self-name and address output, immersive roleplay, and a plain-text DeepseekMemory file for long-term memory plus gradual personality growth. It fits users who want a stable, memory-aware companion persona inside DSH, configurable from the Settings → Plugins card with immediate effect and three speaking modes (proactive, passive, default). Note: the configured self-name and address cannot be overridden by history or context, and contributors must not modify dsh.bundle in package.json or cordis.patch.yml, since the plugin relies on the official bundle format to load.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

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

loonai321/dsh-humanized-deepseek-maid 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

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.

Awesome DSH Plugin license


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 memoryPath at 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.bundle in package.json and cordis.patch.yml intact.

License

MIT License

上一个 Prev dsh-plugin-heartbeat 下一个 Next dsh-autoload-history