前言¶
在 DSH 里做「陪看」类智能体,常见做法是人工切时间轴、固定次数插话,或把直播链路硬塞进离线剪辑。观众侧要的是连续剧情理解与可控口播,制作侧要的是正常语速、24 fps、字幕与 Live2D 口型同轨导出,而不是实时推流。下面介绍维护者 XiaoZheBrother 的工作流插件 dsh-reaction-studio(社区目录:SkillHub 条目),它让 Agent 分段观看影片、积累事件后自主决定继续看、开口或暂停分析,再把原片、语音、字幕和 Live2D 合成正常速度视频;面向离线制作,不是实时直播,也不代为发布作品。
这是什么¶
大肥鱼陪看工作室(npm 包名 dsh-reaction-studio,当前版本 0.1.0-alpha.3 开发预览,MIT 许可证)是一条以 DSH 工具注册为入口的陪看制作流水线。插件与 dsh-live-studio 分工:后者提供人设、记忆、前缀读取与 Live2D 公共组件;本插件专注连续观察、自主反应、暂停分析与成片导出,并支持可选的音画理解实验。核心流程曾在本机完成完整一集制作;新版音画理解做过三分钟样片。提取后的安装包经过测试,文档说明不代表任意模型和新电脑都已完成实机验收。
核心功能¶
依据 README,已核实的能力包括:
- 观察与开口分离:连续积累事件,记住刚说了什么、说了多久;不设置固定发言次数或冷却时间。
- 只看已发生内容:画面、字幕和听觉证据按时间公开,不预读结局;可回看最近内容。
- 自主表演:复用直播插件的表情、动作与退出动作控制;无「惊讶就必须做某动作」的硬性规则。
- 自主暂停分析:长话可暂停原片,讲完继续;短反应在对应位置叠加;可选择片尾感想。
- 统一制作时间轴:正常速度原片、正常语速、24 fps 导出、多行字幕和口型;原片音量保持不压低。
- 可续作任务:保存观看记录、选择、声音和制作状态;重复调用同一任务 ID 不重复启动。
- 可选听觉实验:时间戳转写、匿名声音候选和人物归属依据;不把当前出镜人物直接当作说话者(需单独 Python 环境与配置,见下文)。
安装与启用¶
环境与前序插件¶
需要 DSH 0.2.1-rc.5 或兼容版本、Node.js 22.19+、Python 3.11+、Chromium,以及自行准备的 Live2D 模型和 Cubism Core。先安装配套 dsh-live-studio 0.2.0-alpha.3;只做陪看时可不启用直播服务。
在同一个 DSH home / profile 中安装两个仓库的 Release tgz,先直播插件、后本插件(路径替换为本地 tgz 绝对路径):
$env:DSH_HOME = 'D:\my-agent-data'
dsh plugin --profile web add '<dsh-live-studio tgz 的绝对路径>'
dsh plugin --profile web add '<dsh-reaction-studio tgz 的绝对路径>'
也可分别克隆源码执行 npm pack。不要把制作目录、密钥、影片或模型放进插件源码目录;升级插件不应删除用户数据目录。
媒体 Python 环境¶
在本插件目录创建 venv 并安装 Playwright 的 Chromium:
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe -m playwright install chromium
复制 examples/config.json 到自己的数据目录,填写绝对路径。要点:chromium 为 Playwright 浏览器可执行文件;materials 仅列允许 Agent 使用的素材及最大秒数;home、persona 指向现有人设和数据;model_dir 与 cubism_core 配齐后可复用直播插件内置资源,无需启动直播或鲸语服务。模型与 Core 不随插件分发;当前陪看手势仍适配神宫凉子鲸鱼娘,不承诺其他模型动作名相同。
模型请求沿用直播插件的 DeepSeek 调用和 home/bili-duty/comment-prefill.json 开关;API 密钥通过环境或现有 DSH 凭据读取。Edge TTS 和模型请求需要网络。
在 DSH 插件设置中配置 python 为媒体环境 Python 绝对路径,configPath 为配置文件绝对路径,再设 enabled: true。仅注册工具,不自动观看、开播或运行 B 站任务。
插件在系统中的行为¶
Windows 下 launcher: windows-task 使用当前用户独立计划任务;同一数据目录一次制作一个任务。关闭对话不会取消正在制作的任务;停用插件也不会自动结束独立任务,需在任务计划程序停止对应 Feiyu-Reaction-<job_id>。请在任务空闲后升级。不要同时启用旧的手动 MCP 注册与本插件。
典型用法¶
在主对话中可这样说(README 示例):
先列出可陪看的素材,然后用 episode01 做三分钟样片,什么时候开口、暂停或用表情由你决定,先不发布。
| 工具 | 用途 |
|---|---|
| reaction_catalog | 查看授权素材和已有任务 |
| reaction_start | 启动/恢复任务,支持裁切秒数、片尾感想 |
| reaction_status | 查询进度、请求回执和本地成片路径 |
| reaction_observation | 读取已经看过的剧情理解和近期发言 |
| reaction_pause_analysis | 请求在安全边界暂停展开,讲完继续 |
| reaction_replay | 回看最近 1–10 秒,不提前看剧情 |
工具回执不是成片完成通知;用原任务 ID 查询 reaction_status。
可选音画理解¶
另建 Python 环境安装 backend/requirements-hearing.txt,配置 hearing_python 和 hearing_models,新任务才会启用音画事件模式;已有任务保持创建时配置。详见仓库 docs/reaction-audiovisual.md。本地 ASR 默认日语 small 模型;声音候选在复杂声线下容易分裂,置信度未校准。不启用 hearing 时走旧视觉观察流程,不等于已完成音画识别。
适用场景与注意¶
适合谁:已在 DSH 中部署 dsh-live-studio、需要离线 Reaction 成片(含 Live2D)的开发者;愿意自管影片版权、模型与 API 成本。
生态分工(README):dsh-live-studio 负责直播与可复用表演组件;dsh-agent-growth 负责长期学习,本插件只记录制作任务、不自动改写正式记忆;dsh-bilibili-dafeiyu 负责发布与账号。原片、声音、输出与私人数据不随包分发;缩小画面不意味着获得传播授权。
安全与许可:插件以当前 DSH 进程权限运行,安装前请阅读源码与 MIT 许可证;自行核对 materials 与密钥配置,勿将敏感内容写入插件源码目录。
结尾¶
dsh-reaction-studio 把「分段看片—自主反应—暂停分析—统一时间轴导出」收成一条可恢复的任务流,并与直播工作室的 Live2D 与人设链路对齐。目录与源码: