dsh-character-studio
🎭 Native immersive RP & companion studio for DeepSeek Harness. Character cards + Hindsight graph memory, per-character memory banks, zero host patching.
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 29, 2026
- Updated
- Aug 29, 2026
Introduction
dsh-character-studio
DeepSeek Harness Native Immersive Roleplay Studio & Companion Runtime. Unifies decoupled character card management with the Hindsight graph memory engine, making DSH a lightweight, elegant, and persistent RP host.
English | 简体中文
🌟 Key Advantages & Differences
| Dimension | SillyTavern (Tavern) | Existing DSH RP Plugins | dsh-character-studio (This Plugin) |
|---|---|---|---|
| Architecture | Heavy standalone frontend app | Host patching or pure static prompt | Native lightweight Cordis plugin, non-invasive |
| Long-term Memory | Sliding window / naive vector search | Single file append or no graph memory | Powered by Hindsight entity graph & temporal reasoning |
| Memory Isolation | Manual database switches / prone to leaks | Global shared memory across characters | Dedicated Bank isolation (rp_<character>) |
| Thinking Depth | Complex regex / external prompt injection | No <think> chain-of-thought constraint | Official DeepSeek <think> first-person monologue rules |
| Card Compatibility | Specialized frontend format / plugins | Limited formats | Native 3-section Markdown & SillyTavern V2 JSON |
🌟 Key Features
- 🎭 Multi-Format Character Cards:
- Native 3-section Markdown cards (
## 【角色】,## 【关系】,## 【对话】); - SillyTavern V2 JSON card compatibility;
- Zero-code hot switching.
- Native 3-section Markdown cards (
- 🧠 Hindsight Role-Dedicated Memory Bank:
- Automatically isolates each character into its own bank (e.g.
rp_alice), preventing cross-character memory leaks; - Captures lore, commitments, and plot points with knowledge graph relations;
- Built-in 60s in-memory TTL recall cache with write-invalidation.
- Automatically isolates each character into its own bank (e.g.
- 🎬 DeepSeek
<think>Immersive Monologue:- Injects first-person psychological analysis within
<think>tags; - Enforces standard dialogue/action formatting and natural humanized conversational cadence.
- Injects first-person psychological analysis within
- 🕹️ Slash Commands & OOC Directives:
/rp list: Show all available character cards;/rp use <name>: Switch the active persona immediately;/rp status: Check bank stats and Hindsight connection health;/ooc <directive>: Out-Of-Character director controls.
📦 Installation
dsh plugin --profile web add dsh-character-studio
# or headless mode
dsh plugin --profile headless add dsh-character-studio
⚙️ Configuration
| Option | Default | Description |
|---|---|---|
cardsPath | ~/.dsh/cards | Root directory for character cards (.md / .json) |
defaultCard | "" | Default active character card (empty for none) |
hindsightEndpoint | http://localhost:8888 | Hindsight REST API endpoint |
hindsightToken | "" | Hindsight bearer token (optional) |
bankPrefix | rp_ | Memory bank prefix for roleplay |
recallCacheTtlMs | 60000 | In-memory recall cache TTL in ms (0 to disable) |
enableDeepSeekImmersivePrompt | true | Enable <think> first-person monologue rules |
enableTavernFormatting | true | Enable roleplay formatting rules |