前言¶
在 DeepSeek Harness(DSH)里做角色对话,常见问题是会话一关,人设和关系像重置;人设塞进系统提示词时,过长还可能被静默截断。角色也只能在聊天窗口里回应,很难和 Minecraft、即时通讯等外部世界形成稳定联动。
dsh-companion(界面名「鲸屋 / Whale House」)是社区维护者 Red0tsnow 发布的 DSH 插件:为单个角色提供独立数据目录,保存人设、日记与长期记忆;并可按需接入 Minecraft、QQ、B站与自备的小黑盒 CLI。它不是独立应用,也不提供模型——对话能力仍来自你已在 DSH 中配置好的模型。当前版本为 0.7.3,MIT 许可;GitHub 仓库 Red0tsnow/dsh-companion 星标数为 3,社区目录分类为「趣味换装」。
这是什么¶
插件定位可以概括为:给 DSH 中的角色一个独立工作区。只填写并保存人设即可在 DSH 里持续对话;Minecraft、QQ、B站、小黑盒四个通道全部可选,不接任何通道也能正常使用。
维护者与源码、发行包均在上述 GitHub 仓库;插件挂在 DSH 进程上运行,DSH 关闭则插件停止。
核心功能¶
持久角色数据¶
人设、日记、长期记忆等落在独立目录(默认 $DSH_HOME/companion,未设置 DSH_HOME 时为用户的 .dsh/companion;可用 DSH_COMPANION_HOME 或宿主配置 dataDir 调整)。关掉 DSH 再开,仍是同一角色身份。
人设以独立文件管理,原件为 workspace/AGENTS.md;超过规范化换行后的 4000 个 UTF-16 单位会明确拒绝保存,不会静默截断。界面入口为 DSH 设置里的「鲸屋 / Whale House」。
可选通道¶
| 通道 | 作用概要 | 说明 |
|---|---|---|
| Minecraft | 角色以 bot 进入 Java 版世界,可走动、采集、放置、战斗等 | 可自动新建世界、对接局域网开放或已有服务端;需自备 Java 版客户端与授权;已实测 1.21.4 / 1.21.8 / 26.1 |
| 角色专用号通过 NapCat(OneBot v11)私聊主人 | 需两个 QQ 号;便携版启动已测,长期稳定性文档未完全验证 | |
| B站 | 扫码登录后提供看视频、评论、动态等工具链 | 登录与只读能力已测;写操作取决于平台返回 |
| 小黑盒 | 调用你自备的 Node CLI | 仓库不分发 CLI,不含签名实现 |
四个通道均可留空;灰色「未接入」为正常状态。
角色侧能力(部分依赖可选组件)¶
- 会自己接着做(默认关):Minecraft 身体在线且世界空闲时可连续唤醒最多十次;世界里没有别的玩家时不会唤醒。
- 会主动找你(默认关,独立开关):随机窗口、普通私聊、最多 40 字,一天一条。
- 会写自己的日记(默认关):一天一段,工具管理日期与账本。
上述日常唤醒需要另装 dsh-proactive@0.3.1;缺少时面板上会明示不可用,核心对话不受影响。
行动层为可编辑的 .mjs,角色可在试用端口验证通过后自行修改,失败可回滚。Minecraft 身体首次由包内模板生成到 runtime/mc/mc-daemon.mjs;改过的身体在升级时不会被自动覆盖。
隐私与边界¶
插件自述不上传数据、无遥测;日记、记忆、凭据仅在本机数据目录。对外下载(Java、服务端 jar、NapCat 等)需在界面明确确认,且来自文档所述官方来源并校验。
前置条件(文档要求):已能正常聊天的 DSH、宿主内已配置且能回复的模型、Node.js 22+、Windows(首个验证平台,其他系统未验证)、约 1 GB 磁盘(开 MC 世界另占空间)。QQ / B站使用第三方协议或自动化可能违反平台用户协议,文档明确不建议主号并提示风控风险。
安装与启用¶
先确认 DSH 自身能正常聊天,再安装插件。
推荐:发行包
从 Releases 下载 dsh-companion-0.7.3.tgz,在已安装 DSH 的终端执行:
dsh plugin --profile desktop add ./dsh-companion-0.7.3.tgz
默认 profile 为 desktop;若使用其他 profile,将命令中的名称替换即可。安装完成后重启该 DSH profile,在设置中打开「鲸屋 / Whale House」。
从源码打包(需自行 npm ci、npm run build 等,见仓库 README)同样在本地生成 .tgz 后执行上述 dsh plugin add。开发时可使用 dsh plugin --profile desktop add "link:<插件绝对路径>" 链到源码目录。
典型用法¶
第一次使用可按仓库文档 从零开始:第一次用 对照面板按钮操作;连接各通道见 连接向导。
速览步骤:
- 打开面板,填写角色名、关系、语气,编辑并保存人设(可载入空白模板或脱敏示例)。
- 点击「打开角色对话」;会话身份保存在角色数据目录,重启后继续同一身份。
- 需要哪条通道,再点「开始一起玩」「连接 QQ」或「扫码连接 B站」,按向导完成;技术项在「高级设置」。
- 「角色写的」页可查看公共日记、私人日记、手札、长期记忆等;页面可见时每 10 秒刷新。
从旧 DSH 数据迁移时,可先预览再应用(文档示例):
node tools/migrate.mjs --source "<旧DSH数据目录>" --target "<新角色数据目录>"
node tools/migrate.mjs --source "<旧DSH数据目录>" --target "<新角色数据目录>" --apply
仅在需要复制凭据时加 --credentials。完整说明见仓库 迁移与回滚。
适用场景与注意¶
适合谁:希望在 DSH 里养一个跨会话一致的角色,并可选让她进 Minecraft 世界、通过 QQ 私聊或 B站工具链与外部互动;接受 Windows 环境与自行承担模型调用费用、平台账号风险的使用者。
安装前建议:插件以当前 DSH 进程权限运行,会读写本地数据目录并在你确认后下载外部组件;安装前应阅读源码、MIT 许可证 与 隐私与数据。DSH 生态强调「一切皆插件」;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。
文档还写明:0.6.0 之后部分功能(自主循环、三类回顾、空世界自动关等)尚未经文档所述的「真实唤醒」完整验证;B站在一次新手验证中未跑通真实往返。请以 README「明确的限制」为准,避免预期与现状不符。
结尾¶
dsh-companion 把「记住你是谁的角色」从单次会话里拆出来,放进可备份的工作区,并把 Minecraft 身体与 QQ、B站等通道做成可选项——只配人设也能用,接通道再按向导准备环境即可。