READMESource: main@f6d37d0c
更像人的聊天
主动续话是核心。 它不是等你每句都先发才回,而是在聊天已经热起来后,顺着刚才的话题主动接下一句,让对话继续往下走。
主人发来消息时,它会先自然回复。如果两个人正在连续聊天,大约 10 秒后会主动续一句;普通聊天状态约 2 分钟续话。没人回应时,它会逐渐收住,不会一直追着刷屏。
主动续话怎么发生
- 主人发来消息,插件先接住这句话。
- 对话变密、连续聊起来后进入热聊状态,约 10 秒后主动续话。
- 普通状态使用较慢的约 2 分钟续话节奏。
- 连续两次主动发送都没有回应时进入冷却,停止追发。
- 6 小时没有互动后停止自动续话,等下一次聊天重新开始。
- 夜间普通状态保持免打扰;已经进入热聊时允许继续自然续话。
每次只发一两句短话,优先接住最近聊到的具体内容。不会写标题、列条目、总结成文,也不会用客服腔结束对话。
可调参数
在 DSH 设置的左侧导航「更像人的聊天」里可以直接调整:
- 热聊续话间隔,默认 10 秒
- 普通续话间隔,默认 2 分钟
- 多少分钟内连续聊天算热聊
- 连续几次没回应后冷却
- 夜间免打扰时间
- 每日消息数和 Token 限额
- 聊天模型、单次输出长度和人格文件
人格文件
插件不内置人格。请先准备一个 UTF-8 编码的 .md 或 .txt 文件,然后在设置页的「人格文件」分组里填写它的本机绝对路径,例如:
C:\Users\you\Documents\persona.md
人格文件可以写角色身份、称呼、说话习惯、关系边界和需要长期保持的表达方式。不要在这里重复“一次一两句、不要 Markdown”之类的技术规则,插件会在内部固定处理发送格式。
插件会在每次回复和主动续话前检查文件状态。文件修改后,下一条消息直接使用新内容,不需要重启 DSH。默认最多读取 3000 字,可以在「人格读取上限」里调整。
如果还没有选择人格文件,插件不会调用模型或发送续话;如果文件曾成功读取、之后只是暂时被移动或删除,插件会沿用最后一次成功读取的内容,并在日志里提示。
安装
dsh plugin --profile desktop add file:C:\path\to\dsh-proactive-chat
安装后确认 profile 的 dsh.profile.bundles 包含 dsh-proactive-chat,重启 DSH。
插件设置页需要填写:
ownerId:主人 QQonebotUrl:NapCat 的 WebSocket 地址,例如ws://127.0.0.1:3002onebotToken:NapCat 鉴权 TokenpersonaFile:本机人格文件的绝对路径
设置页按“连接、续话节奏、限额与冷却、免打扰、模型、人格文件”分组。保存后直接应用;Token 留空时保持原值,不会被页面覆盖。
测试
npm install
npm test
数据
- 状态:
$DSH_HOME/storages/dsh-proactive-chat/state.json - 状态只保存 Owner QQ 的哈希标签,不保存原始号码
- Token 只保存在本机 DSH 配置
License
MIT
No comments yet. Be the first to write one.