dsh-story-party
メンテナンス: 活発miaonuo-lingran/dsh-story-party
DeepSeek HarnessでAI進行のマルチプレイヤー物語ルームを作り、参加者間でストーリーを共有できます。Galgame、ウミガメのスープ、マーダーミステリーに対応し、シナリオパック、サブAgent、マップを導入できます。
$ dsh plugin add dsh-story-party1
スター
0
フォーク
JavaScript
言語
MIT
ライセンス
2026-10-21
作成日
2026-10-23
最終プッシュ
README
dsh-story-party
作者:B站:喵诺澪染 · 代码许可:MIT · 内置立绘:CC BY-NC-SA 4.0(非商业) · 开源免费,禁止倒卖
如果你是付费购买的,请立即申请退款并举报卖家——本项目从未授权任何人售卖。
作者:B站:喵诺澪染 · 代码许可:MIT · 内置立绘:CC BY-NC-SA 4.0(非商业) · 开源免费,禁止倒卖
如果你是付费购买的,请立即申请退款并举报卖家——本项目从未授权任何人售卖。
联机 Galgame:房间 API + 房间独立 LLM 会话 + 广播 + 可直接打开的网页房间。 阶段 1(服务端)与阶段 2(房间页)已完成;阶段 3(与 galgame 舞台结合)未开始。 v0.2.0 起支持:剧本杀(角色本 + 私聊 + 阶段机)、海龟汤私有汤底、主代理自动点名子代理、舞台场景同步与选项投票、AI 画我猜(单人)。
房间服务(本插件自己的端口,默认 7302)
├─ 房间生命周期:建房 / 凭邀请令牌加入 / 职位 / 踢人 / 关闭
├─ 共享消息流:用户与 AI 的消息同一条 seq,SSE 广播 + ?since= 增量拉取
├─ 私聊:剧本杀里玩家 ↔ GM 的私密消息,第三方与 SSE 都收不到
├─ 发言调度:玩家/GM 发言防抖合并成一轮,AI 自己判断接不接话(<silent>)
├─ 角色本:每个角色一份 secret,只下发给扮演者与 GM
├─ 阶段机:阅读 → 自我介绍 → 搜证 → 讨论 → 投票 → 复盘
├─ 房间页:/room/<房号>?t=<邀请令牌>,浏览器直接进
└─ 房间独立上下文:每个房间一份 system + 消息历史,sessionId = galgame-room:<房号>
截图
剧本杀角色本(玩家只能看到自己那份):

GM 视角:能看全部角色本、指派角色:

私聊只发给 GM,第三方看不到:

海龟汤汤底只有 GM 能打开:

个人本:章节条 + AI 建议选项,输入框仍然可用:

制作页的个人本设置:章节目标、关键选项、结局条件:

舞台:背景、立绘、字幕;两个浏览器不刷新同步:


内置「鲸鱼娘」:头像和舞台立绘都来自包内非商业素材(CC BY-NC-SA 4.0):

个人资料页:统一换头像和昵称:

AI 画我猜(单人):AI 用几何图形画,你来猜:

安装
方式一:GitHub(推荐,不用注册 npm)
DSH 桌面版:设置 → 插件 → 添加插件,填仓库地址:
https://github.com/miaonuo-lingran/dsh-story-party
或到仓库 Releases 下载 dsh-story-party-*.tgz,在「添加插件」里选本地文件安装。
方式二:npm(可选,发布后可用)
dsh plugin --profile desktop add dsh-story-party
方式三:本地目录(开发用)
path/to/dsh-story-party
署名与许可
- 作者:B站:喵诺澪染
- 代码许可:MIT —— 可以自由使用、修改、分发,但必须保留本署名
- 内置立绘许可:CC BY-NC-SA 4.0 ——
assets/characters/deepseek/portraits/neutral.webp是第三方衍生素材,不是 MIT;仅限非商业使用,必须保留完整署名链,衍生同许可。 详见NOTICE与LICENSE-ARTWORK。 - 署名链:上善(鲸鱼娘形象)→ zipzip / ZipZipPipe(女仆二创)→
Small-tailqwq(
maid-atelier皮肤立绘)→ @lanxing/dsh-galgame(本插件直接取用) → 本插件。 - 内置角色「鲸鱼娘」使用的就是这张立绘;如果不想要非商业素材,可以删除
assets/characters/并移除src/room-server.js里的BUILTIN_CARDS,代码仍可正常使用。 - 本项目开源且免费,从未授权任何人售卖;付费购买请申请退款并举报卖家
- 署名出现在这些地方:
package.json的author、LICENSE、README- 三个网页的
<meta name="author">与页脚 / 房间水印 - 所有 HTTP 响应头
X-Plugin-Author、/api/health的author - 剧情包
pack.json的generator/brand字段
目录
src/room-server.js 房间核心(零 DSH 依赖,standalone 与插件共用同一份)
src/draw.js AI 画我猜游戏核心(出题 / 判分 / 兜底题库)
src/zip.js 零依赖 zip 读取(stored / deflate,带上限与路径校验)
src/index.js Host 插件:接 ctx.llm + resolveDshHome + cosplay 角色库
src/standalone.js 不启动 DSH 的直跑入口(mock 模型,用于 curl 自检)
public/room.html 房间页(阶段 2)
public/room.css 房间页样式(开房页 / 房间页 / 制作页 / 画我猜共用)
public/room.js 房间页逻辑(SSE + fetch)
public/host.html 开房页(创建 / 加入 + 人设卡 + 剧情包)
public/host.js 开房页逻辑
public/make.html 剧情包制作页
public/make.js 制作页逻辑 + 浏览器端零依赖 zip 打包
public/profile.html 个人资料页(头像 / 昵称)
public/profile.js 个人资料页逻辑(本机 localStorage)
public/draw.html AI 画我猜页面(单人)
public/draw.js 画我猜页面逻辑(SVG 渲染 + 猜词)
client/client.js DSH 浏览器半侧:「联机模式」标签页(iframe 嵌房间页)
assets/icon.svg 插件图标(插件管理里显示)
assets/characters/ 内置「鲸鱼娘」立绘(CC BY-NC-SA 4.0,非 MIT;见 NOTICE)
LICENSE 代码 MIT 许可
LICENSE-ARTWORK 内置立绘的 CC BY-NC-SA 4.0 许可全文
NOTICE 立绘署名链与使用限制
scripts/acceptance.ps1 一键验收脚本
scripts/smoke-events.mjs 无浏览器的页面契约冒烟测试
scripts/card-test.mjs cosplay 人设卡集成测试
scripts/pack-test.mjs 剧情包导入 / 建房 / zip-slip 测试
scripts/mystery-test.mjs 剧本杀:角色本 / 私聊 / 阶段机 / 真相不泄露
scripts/solo-test.mjs 个人本:solo 字段 / 主角 / 章节 / 选项剥离
scripts/save-test.mjs 个人本:存档 / 读档 / 回退 / 长期记忆
scripts/scene-test.mjs 舞台:素材路由 / scene 同步 / AI <scene> / 选项投票
scripts/draw-test.mjs AI 画我猜:出题 / 猜词 / 计分 / 兜底题库
scripts/soup-test.mjs 海龟汤私有汤底:导入 / GM 接口 / 揭晓提示词
scripts/check-els.mjs 前端 els 引用检查
scripts/install-dsh.ps1 装进 profile 的脚本(复制式,备份 package.json)
cordis.patch.yml 插件挂载声明 + 默认配置
直接验收(不重启 DSH)
mock 模型只在「提问 / 叫旁白 / GM 推进」时接话,其余输出 <silent>,用来验证选择性发言。
cd dsh-story-party
$env:GALGAME_ROOM_PORT = '7302'
node src/standalone.js
另开一个窗口跑完整体验:
Invoke-Expression (Get-Content -Raw -Encoding UTF8 'dsh-story-party\scripts\acceptance.ps1')
也可以用
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\acceptance.ps1。 脚本会把curl.exe的响应先写到文件、再按 UTF-8 读回来解析——Windows PowerShell 5.1 在中文系统上默认用 GBK 解码子进程输出,直接curl | ConvertFrom-Json会把中文 JSON 拆成乱码并报':' or '}' expected。
脚本会依次演示:建房 → 玩家加入 → 观众加入 → 带问句的发言(AI 接话)→ 观众发言(不进上下文) → 闲聊(AI 沉默)→ 拉历史 → GM 推进(强制开口)→ 增量拉取 → 成员列表 → SSE 实时广播。
房间页(阶段 2)
房主先开房:浏览器打开 http://<本机局域网 IP>:7302/。首屏是三个选项:
- 创建房间:填房间名和昵称(GM),点创建时会先弹联网方式提示(可勾「不再提示」);页内「开放端口」一节可以改本机端口, 点「开放」后服务切到新端口、页面自动跟过去;下面是朋友可用的局域网地址;
- 加入房间:把房主发来的邀请链接粘进去,直接进对方的房间(跨机器也行);
- 自我游玩:单人房间,只有你和 AI;可选 cosplay 卡或剧情包(面板里也能直接导入
.zip),不展示邀请链接和参与者,别人join会被拒(403)。
建房后会自动以 GM 身份进入房间页;把「复制邀请链接」得到的地址发给朋友即可。
http://<这台电脑的局域网 IP>:7302/room/<房号>?t=<邀请令牌>
その他 の他のプラグイン
deepwiki-rs
by sopaco
コードから正確な技術ドキュメントと、AIエージェントが扱いやすいコンテキストを生成するツール。人とエージェント向けに構造化された資料作成を支援します。
dsh-plugin-radar
by adamplatin123
DSH プラグイン生態系のオープンソース・レーダー。1.5 万件超の候補を自動発見し、k8s ランタイムで 1 万件超を実測、15 分ごとのスナップショット処理を実行。プラグイン目録は自動生成される成果物です。
picgo-core
by picgo
CLI と API の両方で使える画像アップロードエンジン
helloagents
by hellowind777
問題を分析するだけでなく、実装と検証が完了するまで自律的に働き続ける高度なエージェント
