前言¶
在 DeepSeek Harness(DSH)里做角色扮演或伴侣型对话,常见问题是:人设写在系统提示里越堆越长,模型仍会忘剧情;把整段聊天记录每轮塞进上下文,既费 token,也不利于区分「设定」和「发生过的事」。社区插件 companion-memory(维护者 Root-7-KHX)把人格文档、好感度、活跃记忆和按日期归档的知识库放在本地,并按对话隔离;新对话默认不注入,需要时在侧边栏一键开启。本文介绍其定位、能力与安装启用方式,事实以仓库 README 与 SkillHub 目录页 为准。DSH 生态强调「一切皆插件」;SkillHub 是社区目录,与 DeepSeek / 幻方无官方从属关系。
这是什么¶
companion-memory 是 DSH 的「记忆」类插件(npm 包名 @local/companion-memory,当前版本 1.2.1,许可证 MIT,要求 Node ≥ 22)。官方简介概括为:per-conversation persona docs、favorability tracking、recent 48h transcript search and a date-archived local knowledge base——即每个对话独立的人格配置、好感度追踪、最近约 48 小时(按「聊天时间」计)的对话检索,以及本地日期归档知识库。
数据默认落在 $DSH_HOME/companion-memory(若无则回退 ~/.dsh/companion-memory),不上传远端服务器。
核心功能¶
下面按 Host 侧行为与面板能力概括,不展开 QQ 接入的全部细节(仓库「最近更新」中有 AI 主动冒泡、QQ 网关、声纹认人等说明,需要时可读 README)。
按对话隔离与默认关闭¶
每个已开启的对话各自拥有 角色性格.md、允许&禁止行为.md、预设发言例句.md,以及好感度、活跃记忆、知识库文件。关闭某对话的伴侣记忆只停止向模型注入,不删除已有数据。未开启的对话不受插件影响。
人格文档与权重¶
「配置」页在三份 Markdown 中按固定字段填空;保存后下一轮对话即按新设定生效,优先级高于记忆。条目可设 1~100 权重(默认 50),注入时按权重排序。默认允许 AI 在剧情需要或用户明确要求时小步修改「角色性格」与「预设发言例句」(须写理由并归档);「允许&禁止行为」默认仅用户可改。可通过 profile 补丁关闭 AI 改文档:
- id: companion-memory
config:
aiEditDocs: false
或分项控制 personality / examples / rules(见 README)。
记忆、好感度与自我演化¶
「记忆」页维护全局活跃记忆(重信息原文不改写,约 30 个聊天交互日后可归档进知识库)、角色对当前说话人的好感度(-100~100,多人对话按人分开;满 ±100 后加深部分记入羁绊值)、以及 AI 自我演化四类条目(性格细节 / 喜欢 / 讨厌 / 习惯)。模型通过 Host 提供的 companion_memory 工具在每轮结束时记录重点、更新好感度,并可用 evolve 等动作;系统提示词末尾会提醒先调用 turn_end。若模型漏调,默认 passiveTurnEnd 会用旁路补记,避免统计断档。
两段式检索与知识库¶
| 时间范围 | 数据位置 | 工具动作 |
|---|---|---|
| 最近 2 个聊天日 | recent.json |
search_recent / read_recent |
| 更早 | archive/、monthly/、packs/ |
search_kb / read_archive |
「聊天时间」指真正发生过有效对话的自然日;没聊天的日子不计入 48 小时额度与交互日。知识库另有 48 小时归纳、每 30 交互日月度打包、以及按轮数或 token 阈值的自动打包;上下文接近模型窗口时会压缩较早对话为记忆块写入 packs/,长聊可继续。
面板与核对¶
侧边栏「伴侣记忆」含配置、情绪、记忆、知识库、状态、总览、备份、接入软件等页面;会话标签栏另有只读速览。总览页列出注入给模型的各块内容及完整系统提示词,便于核对。备份页可导出/导入 JSON 记忆包。
说话方式¶
默认注入简短、口语化的回复约束(约 1~3 句),可在 profile 中调整:
- id: companion-memory
config:
replyStyle:
mode: brief
maxSentences: 3
mode 可选 brief / normal / detailed / off。
安装与启用¶
先到 GitHub Releases 复制最新资产直链(常用 local-companion-memory-<版本>.tgz,或整包 companion-memory-<版本>.zip)。在 DSH 插件市场选「从链接安装」填入直链,或使用命令行(版本号以 Releases 页附件名为准):
dsh plugin add <Release 资产直链,例如 .../releases/download/v1.1.x/local-companion-memory-1.1.x.tgz>
也可下载 zip 解压后,在插件管理器中通过 install_bundle 指向解压目录(README 方式二、三)。安装后刷新 Web GUI,侧边栏应出现「伴侣记忆」。若侧边栏无入口,README 常见问题提到检查 package.json 是否为 UTF-8 无 BOM。
启用步骤:
- 打开「伴侣记忆」面板,在「当前对话」栏确认会话;
- 点击「开启本对话」;
- 在「配置」页填写三份角色文档;
- 正常聊天;需要时用「总览」核对注入内容,用「知识库」或直接向 AI 提问以回忆更早内容。
SkillHub 亦提供「请安装 DSH 插件 Root-7-KHX/companion-memory」的说明,可与上述 Releases 直链方式配合使用。
典型用法¶
仓库 README「使用」一节的可复现流程与上一节一致,补充几点:
- 多人同一会话时,AI 可区分说话人并分开记好感度,剧情记忆共享。
- 导入备份 JSON 时可选合并或覆盖;导入后可选自动回顾原文提炼活跃记忆。
- 外部软件接入:在数据根目录
integrations/放置清单 JSON,在「接入软件」页刷新;实际桥接由对应软件实现(例如调用POST /companion/api/memory/add),详见仓库docs/接入软件.md。
适用场景与注意¶
适合:需要在 DSH 中长期角色扮演、希望人设可编辑且与对话记忆分离、并要在本地检索历史与归档的开发者或玩家。
注意:
- 插件以当前 DSH 进程权限读写本地目录;安装前应阅读 源码 与 MIT 许可证,自行评估是否满足环境与合规要求。
- 卸载或升级插件不会删除
~/.dsh/companion-memory(或$DSH_HOME下对应目录)中的会话数据;删除某会话记忆需手动删sessions/<对话 id>/,删前建议先导出备份。 - GitHub 公开星标约为社区关注度参考(目录线索为 2 stars),不代表官方背书。
结尾¶
companion-memory 把人格配置、好感度、热缓存与归档知识库收进 DSH 侧边栏,并按对话开关与隔离,减轻「忘设定」和「上下文塞满历史」两类问题。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库 的 README、截图与 Releases。