给 DeepSeek Harness 接上 QQ:一只会记住你的鲸鱼娘

💡 原文中文,约11200字,阅读约需27分钟。
📝

内容提要

本文介绍如何用四个现成组件搭建一个能在QQ中聊天并长期记住对话的“鲸鱼娘”AI:dsh-im负责接入QQ,忆时塔在传输层自动保存全部对话原文,人设文件规定短句、有脾气、群聊可潜水。核心是将聊天工作区设为“全上下文”,让记忆存于存储层而非上下文,因此两个月前的具体事项仍可查回。人设靠黑名单压制AI腔,记忆由插件自动记录,模型只负责按需查询。

🔎

延伸解读

记忆架构的分水岭:存储层而非上下文

文章反复强调,这套方案与常见“长上下文”记忆的本质区别在于记忆存放位置。上下文窗口有上限,聊久了必然压缩,压缩后原文细节永久丢失;而忆时塔在传输层自动把每句对话原文落库,模型只在需要时查询。因此两个月前的评审结论能连文件名一起答出,不是模型“记得多”,而是它“查得到”。这也解释了为何人设里可以明写“不许自己记东西”——记忆不归模型管,反而更稳。

全上下文配置的隐蔽陷阱:路径必须绝对

文章用实测数据警告,fullContextWorkspaces 里写 ~/.dsh/im 不会报错也不会警告,但插件拿到的是字面量,与真实路径对不上,结果是聊天一条都不入库。正确做法是先跑 echo ~/.dsh/im 拿到展开后的绝对路径再填入。此外该配置默认关闭,不填任何工作区时行为与不装插件完全一致,这是有意设计,避免代码工作区被误录。配置后应检查 profile 文件确认格式为“路径 = 级别”的纯文本,而非 YAML。

人设靠黑名单压制,而非堆砌设定

文章认为人设文件的关键不在设定多丰富,而在有没有一条能压住模型本性的铁律,例如“先像真人,再谈人设”。与其教它“要这样说”,不如直接列“说了就失败”的黑名单,如“首先/其次/最后”“作为 AI”“希望这个回答对你有帮助”等。模型对“禁止”的服从度比“希望”高得多。同时群聊场景要明确允许潜水,被 @ 或提到才回,避免每句都接话的客服式插嘴。

适用边界与真实成本:自托管、无认证、靠磁盘

文章明确这套方案适合想在自己常用 IM 里有个“有点人格、真的记得事”的 AI、且愿意花时间调配置和人设的人;不适合想要开箱即用成品 App 或需要严格合规客服的场景。成本上 QQ 机器人、dsh-im、忆时塔均免费,唯一花钱的是模型调用。但忆时塔没有认证机制,默认只监听 127.0.0.1,绝不能直接暴露公网,远程访问需加带认证的反代;数据是本地 tsdb 文件,备份即备份目录,删了就是删了,比云服务少一层容灾。

❓

Q&A

怎么在 QQ 里搭一个会记住对话的鲸鱼娘 AI?

用四个现成组件拼起来:@xmanrui/dsh-im 负责接入 QQ,QQ 官方机器人平台提供入口,忆时塔(chronomem)负责长期记忆,再配一份鲸鱼娘人设文件。核心是把聊天工作区设为「全上下文」,让记忆存在存储层而不是上下文里。

为什么这套方案能记住两个月前的事,而普通长上下文做不到?

普通方案把历史塞进 prompt,窗口有上限、聊久必丢,压缩成摘要后原文永久丢失。忆时塔在传输层自动把每句对话原文落库,记忆在存储层而非上下文里,需要时再查,所以两个月前的具体事项连文件名都能答出来。

忆时塔的 Docker 部署命令要注意什么?

端口映射要写成 -p 127.0.0.1:8900:8900,容器内绑 0.0.0.0,宿主机侧限回环,因为忆时塔没有认证,写成 -p 8900:8900 会把全部对话原文暴露给局域网。数据目录要先 mkdir -p ~/chronolog && sudo chown -R 1000:1000 ~/chronolog,否则容器写不进去。

全上下文工作区那一行配置怎么写?写错了会怎样?

在 dsh-mem-bridge 插件配置里写「路径 = 级别」,例如 /home/你的用户名/.dsh/im = names,必须是绝对路径,~ 不会被展开。级别可选 none、names(推荐)、full。写 ~ 或抄错用户名不会报错,只是聊天一条都不入库,症状是配置看起来没问题但没记录。

鲸鱼娘人设怎么写才能不像客服?

关键是一条铁律:先像真人,再谈人设。说话要短(默认 1~15 字)、像打字不像写作文、不解释自己、不总结说教、不客服腔、被怼优先顶回去。黑名单比白名单有效,直接列「出现即失败」的 AI 腔句子。颜文字一句最多一个,群聊允许潜水。

为什么不让模型自己往记忆文件里写摘要?

让模型每轮自己写摘要有三个问题:重复写入浪费、模型忘了调就会漏且你不知道漏了什么、摘要不等于原文会丢掉语气和细节。忆时塔由插件在传输层自动记录,模型不参与,人设里反而可以明写「你不许自己记东西」,更稳。

这套东西的成本和适用人群是什么?

QQ 机器人官方免费,dsh-im 开源免费,忆时塔自托管一个 Docker 容器内存占用不大,唯一实际花钱的是模型调用。适合想在自己常用 IM 里有个有点人格、真的记得事的 AI、且能接受写配置调人设的人;不适合想要开箱即用成品 App 或需要严格合规客服场景的人。

🏷️

标签

➡️

继续阅读