dsh-aha-tavern
DSH 酒馆插件,支持角色扮演单聊、群聊,把聊天写成小说;支持配置 ComfyUI 画图,台词语音合成。/ Aha Tavern: DSH Tavern Plugin, supporting roleplay single chat and group chat, turning chats into novels; supports ComfyUI configuration for drawing and dialog speech synthesis.
- Stars
- 1
- Language
- TypeScript
- Created
- Oct 8, 2026
- Updated
- Oct 16, 2026
Introduction
阿哈酒馆 Aha Tavern
中文 | English
听说那世界尽头的酒馆墙面写着"阿哈禁止入内",这阿哈也太没有面子了。问题不大,咱直接开一个。
简介

阿哈酒馆是一个 DSH(DeepSeek Harness)插件,把角色扮演做成编码智能体里的几个"模式",而不是另起一个网页应用。你选一个文件夹当酒馆,在里面建角色、和角色聊天、拉几个角色演一场群戏,最后把聊过的故事整理成一本书。
剧情走到值得留下的画面时,角色会调用你的 ComfyUI 画一张图;配好语音服务后,每个角色用自己的声音把台词念出来。生图和语音都是你自己部署的外部服务,插件只负责编排。聊天记录、记忆、图片、书稿都以普通文件存在酒馆文件夹里,卸载插件也不会丢。
项目研发状态:文字聊天、群聊、写书都可用,生图和台词语音也可用。 已经能开店、建角色卡、写主角档案、和角色单聊、拉几个角色同台群聊、把聊过的故事写成书、让角色记事;配好 ComfyUI 后,角色还能按剧情画图;配好语音服务后,角色的台词可以念出来。项目初期阶段,欢迎反馈。
四个模式
| 模式 | 做什么 |
|---|---|
| 酒馆:筹备 | 开店、建角色卡、写主角档案和世界观、给角色定妆和配声音、从别的酒馆导入 |
| 酒馆:单聊 | 和一个角色聊天,角色记得你们之间的事 |
| 酒馆:群聊 | 几个角色同台,一个模型演全场,旁白交代环境和局面 |
| 酒馆:写书 | 把聊过的几场整理成书,还能再改写成小说 |
一个会话只做一件事:选了哪个模式就只做那个模式的事。每个模式只挂自己需要的工具,不挂编码工具,提示词保持精简。
特性
角色与记忆
- 角色卡定义人设、说话方式与出场白;可以对掌柜说一句话起草,也可以贴一段现成的人设,或者给一张图让掌柜看图起草(模型需支持图片输入)
- 筹备里自带联网搜索(可关),给有出处的角色建卡时可以让掌柜查资料
- 记忆分三层:主线记忆常驻、往事梗概按需回忆、原始记录逐句落盘。角色会自己记下要紧的事,你也可以用命令让 TA 记住
- 单聊和群聊的记忆是连通的:群聊里发生的事,之后单聊时角色记得,也能回忆起来
群聊
- 定好谁在场、什么情景就开场;旁白以【旁白】开头,角色以"名字:"开头,每轮最多三个人开口
@角色名点名只让一个人回应;/aha 旁白让局面起变化,角色听不到这句要求- 地点或时间变了,旁白会问你要不要换场;换场时可以有人来有人走,收场时给这一场起标题
写书
- 选几场聊天和人称,编辑起草目录,你在对话里改到满意
- 插件在后台逐节写整理稿:台词基本是原话,删去命令和出戏的部分
- 可以再按你描述的文风改写成小说:合并、重排小节,加序言
- 任意一节都能单独重写,最后导出成一整本 Markdown
生图
- 先画后说:图片显示在这一轮回复的第一行,正文跟在下面;角色只在值得留下的时刻画,闲聊不画
- 给角色定一张三视图定妆图,之后每张图都照它来,保持长相一致;需要时可以加多套形象
- 群聊里有场景图和单人特写两种画法
- 也可以直接说"画一张",或者用
/aha 重新生图换一张、按要求改画面
语音
- 每个角色有自己的声音:自备一段录音,或者按描述让掌柜设计一个
- 手动朗读,或每轮自动朗读;动作和神态写在括号里,不念出来;群聊里旁白和各个角色按各自的声音念
- 苹果芯片的 Mac 上,插件能替你装好并启动本机语音服务(Qwen3-TTS);其他平台连自己部署的 OpenAI 兼容语音服务
主题
- 自带"愚者"(默认)与"直白"两套称呼和口吻,只换叫法,不换数据
安装
还没发布到 npm,先从源码打一个安装包:
pnpm install
pnpm build
pnpm pack
把得到的 aha-tavern-0.0.1.tgz 装进你用的 profile(下面以 web 为例):
dsh plugin --profile web add ./aha-tavern-0.0.1.tgz
重启 dsh web,新建会话时模式列表里会多出四个酒馆模式。用 dsh plugin add 安装后,插件页里还有一个"阿哈酒馆"设置页,可以改生图和语音的配置、启停本机语音服务。完整步骤见使用指南。
运行时需要:
- DSH
- 一个能用的模型(本地模型或在线模型都行)
- 想让角色画图:一个 ComfyUI,见配置生图
- 想让角色开口:苹果芯片的 Mac 加 uv,或者一个自己部署的 OpenAI 兼容语音服务,见配置语音
后两项都不配也能正常聊天,只是角色不画图、不出声。
使用
先在"酒馆:筹备"里开店、建角色,再新开"酒馆:单聊"会话开场:
/aha 启动
/aha 角色 白狐
/aha 开场 星神☆阿哈(欠债版)
你就是阿哈帕?这是你的账单,快点还钱帕!
……
/aha 记忆 我不吃香菜
群聊和写书各开一个新会话,选对应的模式,工作区选同一个酒馆文件夹。群聊用 /aha 开场 定下谁在场、什么情景;写书用 /aha 写书 选要收入的聊天,之后和编辑在对话里定目录、开写。
子命令中英文等价,也可以写成独立命令:/aha 开场 = /aha start = /aha-start。
| 命令 | 在哪个模式 | 作用 |
|---|---|---|
/aha 启动 | 筹备 | 把当前工作区变成一间酒馆 |
/aha 角色 [角色名] | 筹备 | 新建或修改角色卡 |
/aha 我 | 筹备 | 写或改主角档案 |
/aha 世界观 | 筹备 | 写或改世界观 |
/aha 定妆 [角色名] | 筹备 | 给角色定一张定妆图,之后画的图都照它来 |
/aha 导入 | 筹备 | 从另一间酒馆复制角色卡或主角档案 |
/aha 开场 [角色名…] [情景] | 单聊、群聊 | 单聊:选定角色开始聊天;群聊:定下谁在场、什么情景,开始一场 |
/aha 旁白 [要求] | 群聊 | 让旁白改变环境或局面,例如 /aha 旁白 让气氛紧张一点 |
/aha 换场 [新情景] [谁来谁走] | 群聊 | 换一个场景,可以同时增减在场的人 |
/aha 收场 | 群聊 | 给这一场写梗概并起标题,之后还能接着聊 |
/aha 记忆 [内容] | 单聊、群聊 | 记一句话,或让角色回顾并整理记忆;群聊里可用 @角色名 只记给某个人 |
/aha 重新生图 [修改要求] | 单聊、群聊 | 按原画面换一张;带上修改要求,角色会改写画面描述后重画 |
/aha 朗读 [文字|开|关|停] | 单聊、群聊 | 念上一轮回复,或念给定的文字;开 / 关 切换这场聊天的自动朗读,停 停止朗读 |
/aha 写书 [书名] | 写书 | 开一本书:选要收入的聊天与人称 |
/aha 进度 | 写书 | 看书写到哪了 |
/aha 停笔 | 写书 | 停下正在写的那一节,已写好的保留 |
/aha 导出 [整理稿|小说] | 写书 | 把整本书拼成 Markdown 文件;不带参数时两份都导 |
/aha 自检 | 都可以 | 检查当前状态;/aha 自检 生图、/aha 自检 语音 看详情 |
/aha 语音 [启动|停止|状态] | 都可以 | 启动、停止或查看本机语音服务 |
中文子命令有几个同义写法,效果一样:启动 也可以写 开店、开张;角色 也可以写 角色卡、建卡;记忆 也可以写 记住;朗读 也可以写 说话;重新生图 也可以写 重掷。
数据在哪
酒馆就是你选作工作区的那个文件夹,里面有角色(characters/)、聊天(chats/)、书(books/)、世界观和主角档案,全是 YAML、JSONL、Markdown 和图片这样的普通文件,可以直接打开看、改、备份。全局只有一份很小的登记表 ~/.dsh/aha-tavern/taverns.yaml,记你开过哪几间酒馆。目录结构见使用指南的"数据在哪"。
文档
- 使用指南:安装、开店、建角色、单聊、记事、群聊、写书、画图、语音、数据在哪、换主题
- 配置生图:ComfyUI 的模型文件、
services.yaml、自检、GGUF、自带工作流、定妆图、常见问题 - 配置语音:本机语音服务的启动与下载、给角色配声音、朗读、自检、自己部署语音服务、常见问题
- English:README、Getting started、Image setup、Voice setup
开发
pnpm install
pnpm build # 打包插件、设置页
pnpm test # 单元测试
pnpm typecheck # 类型检查
本机调试不用安装:复制 examples/dev.example.yml 为 examples/dev.yml,把里面的路径改成本仓库的绝对路径,再用 dsh web --patch <绝对路径>/examples/dev.yml 启动。这种方式下看不到设置页。
贡献
欢迎提 Issue 讨论想法。提 PR 前建议先开 Issue 对齐方向。
License
Apache-2.0 — 详见 LICENSE。