Skip to content
dsh.fish
Bundle

dsh-character-studio

DeepSeek Harness native immersive roleplay studio & companion system. Unifies decoupled character cards with Hindsight graph memory.

Source
Ryu6Zero
License
MIT
Updated
Updated 2 days ago

Readme

# dsh-character-studio

[![npm](https://img.shields.io/npm/v/dsh-character-studio.svg)](https://www.npmjs.com/package/dsh-character-studio)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)

**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 | [简体中文](README.zh-CN.md)

---

## 🌟 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.
- 🧠 **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.
- 🎬 **DeepSeek `<think>` Immersive Monologue**:
  - Injects first-person psychological analysis within `<think>` tags;
  - Enforces standard dialogue/action formatting and natural humanized conversational cadence.
- 🕹️ **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

```bash
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 |

---

## 📄 License

[MIT License](LICENSE)

Install

dsh plugin --profile web add github:Ryu6Zero/dsh-character-studio#80281def70dab26d97f0ebc6a11f9f478587ace6

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
Source