前言¶
DeepSeek Harness(DSH)的 Web GUI 会话面板默认围绕轨迹、工具调用与模型对话展开,适合智能体开发与调试。若你已在 MuseAI 桌面端维护世界书、角色卡、伴侣聊天或文字冒险会话,把这些资产搬进 DSH 往往需要另配 API、另起一套模型连接,数据和界面也难以与 DSH 已有配置对齐。
@yejiming/dsh-museai-tavern 在会话标签栏「轨迹」右侧注册 MuseAI 标签,把 MuseAI 桌面的五个页面(背景 / 聊天 / 冒险 / 羁绊 / 设置)嵌入 DSH Web GUI,模型调用复用 DSH 已配置的 provider 与 model,无需额外 baseUrl 或 API Key。维护者为 yejiming,SkillHub 分类为「趣味换装」,GitHub 约 18 stars。
这是什么¶
一句话定位:MuseAI 会话视图的 DSH 插件——在 conversation.view 插槽(order 15,位于「轨迹」右侧)渲染完整 MuseAI 工作流,后端经插件路由桥接 ctx.llm,数据落盘于 $DSH_HOME/storages/museai.json。
与独立运行 MuseAI 或 SillyTavern 的差异在于:模型目录、默认选择与流式生成均走 DSH 宿主已装配的适配器;设置页只提供「跟随 DSH 默认模型」或从 DSH 模型列表中挑选,不出现凭据字段。
核心功能¶
MuseAI 会话标签与五页导航¶
点击 MuseAI 标签后,整个会话面板切换为 MuseAI 视图,内含背景、聊天、冒险、羁绊、设置五页导航。
背景页¶
世界书与角色卡的手动管理(不含 AI 智能提取)。支持自定义字段、按世界书分组的角色卡目录、JSON 导入导出;MuseAI / SillyTavern 双格式导出与 SillyTavern 转换预览;文风预设、记忆 AI 浓缩;删除世界书时可选择仅删世界书或连带删除关联角色卡。
聊天页¶
伴侣对谈:绑定世界书与角色卡,流式对话(Markdown、Thinking 折叠、停止生成),会话历史与标题编辑,文风预设,封存记忆,上下文用量圆环。
冒险页¶
文字冒险 / GM 跑团:世界书加多角色卡选择(勾选世界书可自动带出角色卡),动态角色加载,三种输入模式,流式故事输出,支持 [[TOOL]] 特殊气泡与 <choices> 候选选项,多角色卡封存记忆与会话保存。
羁绊页¶
角色关系概览、羁绊时间线,以及关联的聊天 / 冒险会话展示。
设置页¶
全部系统提示词(默认逐字对应 MuseAI,可编辑或重置)与 Agent 采样参数(temperature、maxOutputTokens、maxContextTokens、thinkingDepth 等)。模型区域为 DSH 模型选择器:跟随 DSH 默认模型,或从已配置目录中挑选,无 baseUrl、API Key 或连接测试入口。
持久化¶
世界书、角色卡、会话、设置、风格预设经插件服务端存储域写入 $DSH_HOME/storages/museai.json(storage-domain json backend);浏览器 localStorage 仅作离线镜像,重启不丢。
安装与启用¶
插件支持 npm 与 GitHub 两种安装方式,仓库已提交构建产物 lib/,无需本地构建。
方式一:npm 安装(推荐)¶
dsh plugin --profile web add @yejiming/dsh-museai-tavern
方式二:GitHub 源码安装¶
dsh plugin --profile web add github:omdsh-dev/dsh-museai-tavern
安装后验证配置是否载入:
dsh --profile web --dump-config
输出中应出现 museai 与 museai-routes 行。
启动 Web GUI:
dsh --profile web
模型前提¶
DSH 中需已配置至少一个模型(provider / model)。未配置时,设置页显示空态引导,聊天与冒险请求会返回错误提示。
典型用法¶
经过上面的安装步骤,按下面顺序即可复现 README 中的工作流:
- 打开任意会话,在标签栏「轨迹」右侧点击 MuseAI。
- 进入「设置」页,确认模型:默认跟随 DSH 默认模型,或从目录中选择具体 provider / model。
- 在「背景」页创建世界书与角色卡,可按需导入 JSON 或从 SillyTavern 格式转换预览。
- 「聊天」页绑定世界书与角色卡,进行伴侣对谈;「冒险」页选择世界书与多角色卡跑团;「羁绊」页查看关系与时间线。
可选配置项(均有 loader 默认值,无库级默认值,无凭据字段)可通过 profile 或 cordis.patch.yml 覆盖:
- id: museai
config:
chatTimeoutMs: 180000
| 键 | 说明 |
|---|---|
chatTimeoutMs |
流式生成端到端超时,默认 120000 毫秒 |
completeTimeoutMs |
非流式生成超时,默认 120000 毫秒 |
modelsTimeoutMs |
模型目录查询超时,默认 10000 毫秒 |
maxCompleteChars |
非流式输出捕获上限,默认 20000 字符 |
架构简述¶
一个 npm 包对应三个装载面:
| 面 | 入口 | 作用 |
|---|---|---|
| 宿主行 | lib/index.js(行 museai) |
打开 museai 存储域,提供 museaiStore |
| 路由行 | lib/routes.js(行 museai-routes) |
webserver 存在时注册 /plugins/museai/* |
| 浏览器半体 | lib/client.js |
注册 MuseAI 标签与五页视图 |
浏览器通过 fetch 访问 /plugins/museai/models、/plugins/museai/chat、/plugins/museai/complete 及 store / sessions 相关路由,最终由宿主 ctx.llm 调用 DeepSeek 或其他已配置适配器。
适用场景与注意¶
适合谁
- 已在 MuseAI 维护世界书、角色卡,希望在 DSH Web GUI 内继续聊天与跑团的用户。
- 希望角色扮演与会话数据与 DSH 模型配置统一、避免重复填 API 的 DSH 用户。
- 需要 SillyTavern 格式导入导出或转换预览的创作者。
注意事项
- 插件以当前
dsh进程权限运行,安装前建议查阅源码与 MIT 许可证,确认存储路径与网络行为符合你的环境要求。 - 背景页不提供 AI 智能提取世界书 / 角色卡,需手动管理或通过 JSON 导入。
- SkillHub 社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;插件版本以 npm 与 GitHub 仓库为准(当前 package 版本 0.0.1)。
结尾¶
dsh-museai-tavern 把 MuseAI 的五页工作流搬进 DSH 会话面板,模型与 DSH 共用一套配置,数据持久化到 $DSH_HOME/storages/museai.json。若你正在 DSH 里做智能体开发,又希望顺手用已有 MuseAI 角色资产,可先按 npm 命令安装,在设置页选好模型后从背景页建卡开始。
- SkillHub 目录页:https://www.skillhub.cn/plugins/yejiming/dsh-museai-tavern
- GitHub:https://github.com/yejiming/dsh-museai-tavern