dsh-werewolf-dealer:多会话群聊与一夜狼人杀庄家

前言

在 DeepSeek Harness(DSH)里开多个会话、让不同模型在同一条「群聊时间线」里协作,往往需要额外装房间与跨会话投递类插件。若还要在本地跑一局规则固定的桌游,把发牌、夜序、计票交给模型会话,牌面容易进上下文、状态也难审计。dsh-werewolf-dealer 把群聊房间、跨会话唤醒,以及《新版一夜狼人杀》庄家逻辑收进一个 npm 包:庄家侧是确定性代码,不调用 LLM;模型只通过固定模板与工具接口参与对局。

这是什么

维护者 qinu321 在 GitHub 发布 dsh-werewolf-dealer(当前包版本 2.0.0,MIT)。社区目录 SkillHub 将其归类为「趣味换装」。插件做两件事:多会话群聊(房间、@ 唤醒、归档/合并/删除、成员头像),以及 一夜狼人杀庄家(发牌、夜序、换卡、计票、结算)。v2.0.0 起,原 dsh-chat / dsh-bridge 的本地魔改版已并入本包,装这一个即可,勿与旧包同时启用(会重复注册 dshChat / dshBridge)。

运行要求:DSH >= 0.2.0-rc.1,Node >= 22。

群聊:房间与唤醒

开启会话后,可对 AI 说「创建 XX 名字的群聊」或「加入 XX 名字的群聊」。成员显示名在加入房间时固化,之后改会话标题仍显示旧名;需刷新时移除再重新加入,建议先改名再加入。

  • 房间工作区默认名 Chatrooms;数据在 $DSH_HOME/dsh-chat/rooms.json,头像在 avatars.json。
  • 默认最多 5 个活跃房间(MAX_LIVE_ROOMS,不可配置);第 6 个新建时最早房间整房冷存。冷存数量无上限,单房间建议 3MB 以下(经验值)。

「@all」仅投递、不唤醒;勾选「唤醒」再 @all 会投递并唤醒全员。单独 @ 某成员只唤醒该会话,其回复不会投递给其他成员。不同会话可选用不同品牌与模型。

头像可在 avatars.json 中配置:键为成员会话 id 或别名(可用 | 分隔多个别名),值为本地绝对路径、http(s) 或 data URL;改完保存并刷新页面即可,无需重启 DSH。

狼人杀:庄家与隐私

庄家流程由插件代码驱动,秘密不进任何 LLM 上下文;模型只看到固定模板串。持牌状态写在 stateDir(须在工作区之外),不从共享记忆读取。夜间私聊只投对应玩家会话;对真人侧为 wake:false,不触发其模型回合。一局状态与判定可从审计文件复现。

支持 3~6 人(7 人及以上直接拒绝)。可纯 AI 对局,也可 1 真人 + 多个 AI。角色为村民、预言家、怪盗、狼;牌堆与胜负规则以包内 docs/新版一夜狼人杀规则卡.md 为准。

安装与启用

推荐在 DSH 中按包名安装(装包并自动启用):

dsh plugin --profile <你的 profile> add dsh-werewolf-dealer

或仅安装依赖,再到插件管理里启用:

npm i dsh-werewolf-dealer

装完重启 DSH。若曾单独安装 dsh-chat / dsh-bridge,请先从 profile 的 dsh.profile.bundles 移除或卸载后再装本包。卸载:

dsh plugin --profile <你的 profile> remove dsh-werewolf-dealer

私有状态目录不会随卸载自动删除,需要时手动清理。

插件以当前 DSH 进程权限运行;安装前请自行查看仓库源码与 NOTICE.md / 许可证,确认可接受后再启用。

典型用法:入座与开局

准备工作

  1. 新建干净工作区,从 node_modules/dsh-werewolf-dealer/docs/ 复制三份文档:AGENTS.入座模板.md、狼人杀方法论.md、新版一夜狼人杀规则卡.md。
  2. 将 AGENTS.入座模板.md 重命名为 AGENTS.md(自动读规则、按首句改会话名、加入「AI狼人杀」房间)。
  3. 可选:dsh plugin --profile <你的 profile> add dsh-session-rename,便于新会话自动改名入座。
  4. 包内附带 Agent 预设「狼人杀模式」(极简模式 + AGENTS.md 注入),用于减少记忆类插件干扰。

开局

推荐:在群聊房间输入框右侧点「开局」,人数 3~6,可勾选「随机」打乱发言顺序、「真人」让你下场。

可选命令行(观察员):

/ww-start <房间> <3|4|5|6> <席位…> [seed=数字]
# 例:/ww-start AI狼人杀 4 大D 小米 大G 小鲸鱼

纯 AI 局可钦点牌面(如 1=狼 2=预言家);含真人席位时钦点会被拒绝。

对局中 AI 用 wolf_reply / wolf_speak 等工具;真人用 /ww-reply 或界面按钮。人类侧还有 /ww-status、/ww-nudge、/ww-close-vote、/ww-audit 等命令;所有 /ww-* 也可打在房间发言框,庄家会在落盘前拦截,房间时间线不留痕。完整命令表见 GitHub README。

席位写法要点:成员名如 大D;真人席位前缀 *,如 *千野;重名时用会话 id,可用 /ww-sessions 列出可绑定会话。

配置与复盘

在侧栏「设置」→「狼人杀庄家」修改 12 个字段(写 profile 补丁层,保存后插件重载);或手改 $DSH_HOME/profiles/<profile>/cordis.patch.yml 中 id: werewolf-dealer 的 config。用 /ww-config 核对当前生效值。

常用字段:stateDir(私有状态与审计,默认平台目录)、exportDir(留空则不导出复盘)、humanName(勾「真人」时的席位名)、chatstyle(聊天气泡样式)、aiPauseTool(是否给 AI 注册 wolf_pause)。路径类设置在下一次加载时生效。

若配置了 exportDir,结算时会写 raw 复盘(文件名含开局时刻与自增局号),并附开局承诺哈希与盐,便于对账。

适用场景与注意

  • 适合:想在 DSH 里用多个 AI 会话玩群聊协作或一夜狼人杀、且希望牌面与夜序不由模型「心算」的开发者或玩家。
  • 注意:与旧版 dsh-chat / dsh-bridge 勿并存;设置里看不到「狼人杀庄家」时检查插件是否启用并已重启;AI 不发言时看是否被唤醒或 /ww-nudge;收票卡住可用 /ww-close-vote 或 /ww-fill-abstain。
  • 生态:DSH 采用「一切皆插件」思路;SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-werewolf-dealer 把多会话群聊与确定性狼人杀庄家合在一包,强调秘密不进模型上下文、状态可审计。目录页:https://www.skillhub.cn/plugins/qinu321/dsh-werewolf-dealer;源码与完整说明:https://github.com/qinu321/dsh-werewolf-dealer。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜