Introduction¶
The DeepSeek Harness (DSH) Web GUI session panel is primarily designed around traces, tool calls, and model conversations, making it suitable for agent development and debugging. If you already maintain world books, character cards, companion chats, or text adventure sessions in the MuseAI desktop application, migrating these assets to DSH typically requires additional API configuration, setting up new model connections, and aligning data and interfaces with DSH’s existing configuration.
The @yejiming/dsh-museai-tavern plugin registers a MuseAI tab to the right of the “Trace” tab in the session tab bar. It embeds the five pages of the MuseAI desktop (Background / Chat / Adventure / Bonds / Settings) into the DSH Web GUI, reusing the provider and model already configured in DSH for model calls, eliminating the need for extra baseUrl or API keys. Maintained by yejiming, classified under “Fun Customization” on SkillHub, with approximately 18 stars on GitHub.
What This Is¶
In one sentence: A DSH plugin for the MuseAI session view—it renders the complete MuseAI workflow within the conversation.view slot (order 15, to the right of “Trace”), bridges ctx.llm via plugin routes for backend calls, and persists data to $DSH_HOME/storages/museai.json.
The key differences from running MuseAI or SillyTavern independently are: the model catalog, default selection, and streaming generation all utilize the adapters already assembled by the DSH host; the settings page only offers “Follow DSH Default Model” or selection from the DSH model list, without credential fields.
Core Features¶
MuseAI Session Tab and Five-Page Navigation¶
Clicking the MuseAI tab switches the entire session panel to the MuseAI view, containing five navigation pages: Background, Chat, Adventure, Bonds, and Settings.
Background Page¶
Manual management of world books and character cards (without AI-powered extraction). Supports custom fields, character card directories grouped by world book, JSON import/export; dual-format export for MuseAI / SillyTavern and SillyTavern conversion preview; writing style presets, memory AI condensation; and the option to delete only the world book or also its associated character cards when deleting a world book.
Chat Page¶
Companion Chat: Binds world books and character cards, supports streaming conversations (Markdown, Thinking folding, stop generation), session history and title editing, writing style presets, memory sealing, and context usage ring.
Adventure Page¶
Text Adventure / GM Campaign: Selects world books with multiple character cards (checking a world book can automatically bring out its character cards), dynamic character loading, three input modes, streaming story output, support for [[TOOL]] special bubbles and <choices> candidate options, memory sealing for multiple character cards, and session saving.
Bonds Page¶
Displays an overview of character relationships, a bonds timeline, and associated chat / adventure sessions.
Settings Page¶
All system prompts (defaulting word-for-word to MuseAI, editable or resettable) and Agent sampling parameters (temperature, maxOutputTokens, maxContextTokens, thinkingDepth, etc.). The model section features the DSH model selector: follow the DSH default model or pick from the configured catalog, with no baseUrl, API key, or connection test entry.
Persistence¶
World books, character cards, sessions, settings, and style presets are written to $DSH_HOME/storages/museai.json via the plugin’s server-side storage domain (storage-domain json backend); the browser’s localStorage serves only as an offline mirror and does not persist across restarts.
Installation and Enablement¶
The plugin supports installation via npm or GitHub. The repository includes build artifacts in lib/, so no local build is required.
Method One: npm Install (Recommended)¶
dsh plugin --profile web add @yejiming/dsh-museai-tavern
Method Two: GitHub Source Install¶
dsh plugin --profile web add github:omdsh-dev/dsh-museai-tavern
After installation, verify that the configuration is loaded:
dsh --profile web --dump-config
The output should include museai and museai-routes lines.
Start the Web GUI:
dsh --profile web
Model Prerequisites¶
DSH must have at least one model configured (provider / model). If none are configured, the settings page displays an empty state guide, and chat and adventure requests will return error prompts.
Typical Usage¶
After completing the installation steps above, follow the sequence below to replicate the workflow described in the README:
- Open any session, click the MuseAI tab to the right of “Trace” in the tab bar.
- Go to the “Settings” page to confirm the model: defaulting to follow the DSH default model, or selecting a specific provider / model from the catalog.
- On the “Background” page, create world books and character cards, optionally importing JSON or previewing conversions from SillyTavern format.
- On the “Chat” page, bind world books and character cards for companion chat; on the “Adventure” page, select world books and multiple character cards for a campaign; on the “Bonds” page, view relationships and timelines.
Optional configuration items (all have loader defaults, no library-level defaults, no credential fields) can be overridden via a profile or cordis.patch.yml:
- id: museai
config:
chatTimeoutMs: 180000
| Key | Description |
|---|---|
chatTimeoutMs |
End-to-end timeout for streaming generation, default 120000 ms |
completeTimeoutMs |
Timeout for non-streaming generation, default 120000 ms |
modelsTimeoutMs |
Timeout for model catalog queries, default 10000 ms |
maxCompleteChars |
Capture limit for non-streaming output, default 20000 characters |
Architecture Overview¶
One npm package corresponds to three loading surfaces:
| Surface | Entry Point | Function |
|---|---|---|
| Host Side | lib/index.js (line museai) |
Opens the museai storage domain, providing museaiStore |
| Route Side | lib/routes.js (line museai-routes) |
Registers /plugins/museai/* when the webserver is present |
| Browser Side | lib/client.js |
Registers the MuseAI tab and five-page views |
The browser accesses /plugins/museai/models, /plugins/museai/chat, /plugins/museai/complete, and store / sessions related routes via fetch, ultimately calling DeepSeek or other configured adapters via the host’s ctx.llm.
Use Cases and Notes¶
Who Is This For
- Users who maintain world books and character cards in MuseAI and wish to continue chatting and running campaigns within the DSH Web GUI.
- DSH users who want to unify role-playing and session data with DSH model configuration, avoiding repeated API entry.
- Creators who need import/export or conversion preview in SillyTavern format.
Notes
- The plugin runs with the current
dshprocess permissions. Before installation, it is recommended to review the source code and MIT license to ensure storage paths and network behavior meet your environment requirements. - The Background page does not provide AI-powered extraction for world books / character cards; manual management or JSON import is required.
- The SkillHub community directory is an independent site, with no official affiliation with DeepSeek / High-Flyer; plugin versions are based on the npm and GitHub repositories (current package version 0.0.1).
Conclusion¶
dsh-museai-tavern brings MuseAI’s five-page workflow into the DSH session panel, sharing the model configuration with DSH and persisting data to $DSH_HOME/storages/museai.json. If you are doing agent development in DSH and want to leverage your existing MuseAI character assets, you can install via the npm command, select a model in the settings page, and start building cards from the background page.
- SkillHub Directory Page: https://www.skillhub.cn/plugins/yejiming/dsh-museai-tavern
- GitHub: https://github.com/yejiming/dsh-museai-tavern