Commit Graph

42 Commits

Author SHA1 Message Date
liuwei
623ca505d4 打通自动回复与表情语义库联动\n\n- 新增表情语义解析与表情资产查询模块,支持从历史表情中提取可读中文语义\n- 为 ai_auto_response 增加短回复表情匹配器,命中语义时优先发送表情并支持失败回退文本\n- 调整自动回复提示词与配置项,强化短情绪回复场景的表情替换能力 2026-04-27 11:40:44 +08:00
liuwei
1c464e47e4 将群画像缓存策略调整为按天更新 2026-04-24 16:22:54 +08:00
liuwei
fa9dc44bbe 为自动回复增加群画像数据库快照缓存 2026-04-24 16:21:00 +08:00
liuwei
8a813df4a3 优化自动回复对群摘要的结构化利用 2026-04-24 16:16:30 +08:00
liuwei
0ea7b61951 增加常驻群长期记忆与成员轻画像输入 2026-04-24 15:44:03 +08:00
liuwei
ee1532b2f5 放宽自动回复长度为自然浮动并统一30字上限 2026-04-24 15:24:48 +08:00
liuwei
66b0fe16da 拆分群昵称与正文避免话题识别被昵称污染 2026-04-24 15:19:14 +08:00
liuwei
5dc72bf7d2 放宽最近上下文到30条并取消中途截断 2026-04-24 15:12:42 +08:00
liuwei
7cee7a99e2 优化 ai_auto_response 队列过期丢弃与超时策略
- 为 ai_auto_response 队列消息记录入队时刻,并增加消息过期丢弃机制
- 在出队前与发送前各检查一次消息是否过期,避免补发过时群聊回复
- 为 skip 日志补充 age 字段,便于观察排队老化情况
- 将 ai_auto_response 外层总超时收紧到 20 秒,并新增 message_expire_sec=12 配置
- 将 Dify auto_reply.group 请求超时收紧到 15 秒,并关闭重试以提升群聊时效性
2026-04-24 15:03:35 +08:00
liuwei
058a7aec80 收紧 ai_auto_response 群内问句主动回复策略
- 为疑问句增加 question_detected 形态标记,区分问句形态与真正指向 bot 的提问
- 仅在 @bot、点 bot 名字或明确定向时才把疑问句升级为问答触发
- 阻断普通群问句通过 topic 主动接话路径进入模型,避免 bot 抢答群友互问
- 将 social call 收紧为 名字/别名 + 召唤词 的组合,减少 帮忙看/看看 等泛词误触发
- 在配置中增加 bot_name_keywords 与 social_call_verb_patterns,便于后续按人格扩展
2026-04-24 14:26:08 +08:00
liuwei
571008a04b 优化 ai_auto_response 三套人格与 Dify 工作流
- 收紧小牛、于谦、林志玲三套人格描述,使其更适合群聊短回复且保留各自特点
- 同步调整人格 preset 的 style 文案,增强三种人格的区分度
- 优化 Dify 工作流主提示词,强化 control 长度约束、按需使用记忆和严格 JSON 输出
- 下调主模型温度并将失败分支改为更保守的降级生成策略
- 修复降级分支仍指向主输出节点的问题,补充单独的降级输出节点
- 将 images 输入改为非必填,并为工作流补充中文注释说明
2026-04-24 14:21:13 +08:00
liuwei
23544dca7a 优化 ai_auto_response 拟人化短回复并统一走 Dify 链路
- 移除普通 chat 调用分支,统一通过 Dify 请求生成回复
- 收紧小牛人格描述,强化短句、熟人感和非客服式表达
- 新增提示策略,按场景启用成员记忆/群事实/向量记忆,降低记忆压迫感
- 下调回复长度与上下文压缩配置,使默认回复更接近 10 字级别
- 通过 compileall 验证 ai_auto_response 插件语法可用
2026-04-24 14:12:26 +08:00
liuwei
7b6bd19781 feat: 引入LLM场景路由与后台拓扑管理能力
变更项:

1. 新增 llm.scenes 场景路由层,支持 scene->backend 统一映射,并补充默认场景配置。

2. 扩展 LLMRegistry,新增 scene 解析逻辑;当声明 scene 时强制按场景路由结果生效,保持旧 backend 配置兼容。

3. 扩展后台 /api/system/llm_config 读写能力,支持 scenes 配置保存;新增插件 LLM 依赖扫描与拓扑数据输出。

4. 升级 system_llm 页面:新增场景路由管理区、插件依赖拓扑表,支持可视化查看 插件->scene->backend->provider。

5. 迁移核心插件配置到 scene 模式(保留兼容字段):dify/global_news/game_task/message_summary/ai_auto_response/member_context/douyu。

6. 调整部分插件初始化默认 llm_config,补充 scene 字段,确保后台场景切换可直接生效。
2026-04-20 14:36:56 +08:00
liuwei
e56c0069cc 优化自动回复触发逻辑:疑问句默认仅@机器人时触发
变更项:

1. 在 triggers 中新增 question_requires_at 配置,默认要求@机器人才将疑问句升级为 question_trigger。

2. 在 response_planner 中收紧问答兜底策略,疑问句仅在 directed 场景进入模型。

3. 在 config.toml 增加 priority.question_requires_at=true,避免群聊普通疑问句高频误触发。
2026-04-17 10:38:30 +08:00
liuwei
5eb1e3294f 优化ai_auto_response提示词与短回复策略:场景优先级、防冲突压缩、记忆相关性筛选、可配置长度限制
- 增加场景优先级规则,技术群优先结论与排查点,降低人设冲突\n- Dify 入参新增上下文压缩、画像与记忆去重、低相关记忆过滤\n- 回复后处理支持配置化长度阈值,并增加总字数上限裁剪\n- 新增 prompt_compact/reply 配置项,便于后续按群微调
2026-04-16 11:24:41 +08:00
liuwei
265f3835b4 已按你说的改成“命中即跳出 + 后台入队处理”,插件调度仍然是独占策略,没有做并行插件处理。
主要改动在 main.py:

process_message(...) 现在只做入队,立刻返回 True, "queued",主链路立即释放。
原来的完整处理逻辑迁到 _process_message_impl(...),由后台 worker 消费队列执行。
新增队列 worker 循环 _message_worker_loop(...),并在 start()/stop() 管理生命周期。
增加 _ensure_workers_started(),避免插件在无事件循环阶段 create_task 报错(延迟到有 loop 时启动)。
保留了之前的 LLM 防阻塞措施:to_thread + semaphore + timeout。
配置也加在 config.toml 的 [runtime]:

llm_max_concurrency = 3
llm_call_timeout_sec = 120
queue_worker_count = 2
queue_maxsize = 500
已做语法校验:py_compile 通过。
2026-04-15 10:23:05 +08:00
liuwei
5e80287530 切换到dify,还是不要直连,dify更方便 2026-04-10 16:41:14 +08:00
liuwei
a1aa05e3b9 feat(ai_auto_response): add admin-controlled persona switching 2026-04-10 13:15:35 +08:00
liuwei
c280fa8dab rebalance ai_auto_response participation tuning 2026-04-10 10:44:10 +08:00
liuwei
3f9ae6442d tighten ai_auto_response participation and spam guard 2026-04-10 09:56:34 +08:00
liuwei
d2856bee2e soften ai_auto_response group domain steering 2026-04-10 09:45:39 +08:00
liuwei
f580c69736 refactor ai_auto_response plugin architecture 2026-04-09 17:46:30 +08:00
liuwei
cc65378544 feat(ai_auto_response): handle image follow-up more safely 2026-04-09 10:06:39 +08:00
liuwei
aecb62cb4d refactor: centralize llm backend configuration 2026-04-08 13:43:41 +08:00
liuwei
fa98c9e6a5 tune xiaoniu config 2026-04-08 09:43:55 +08:00
liuwei
f4715f104a adjust xiaoniu runtime config 2026-04-08 09:38:21 +08:00
liuwei
3d56b3895a harden xiaoniu defenses and directed cooldowns 2026-04-07 17:26:13 +08:00
liuwei
96432039cc add retry for xiaoniu api requests 2026-04-07 16:17:58 +08:00
liuwei
271954cfbb adjust xiaoniu runtime config 2026-04-07 16:04:33 +08:00
liuwei
58faa4322c fix xiaoniu mention gating and vector memory config 2026-04-07 16:00:31 +08:00
liuwei
0ac08c45c0 tune xiaoniu address style by group 2026-04-07 15:38:52 +08:00
liuwei
5ca9a8d1d9 tune xiaoniu low-frequency social interjections 2026-04-07 14:52:38 +08:00
liuwei
42feb29a40 add dota2 match history boundary for xiaoniu 2026-04-07 14:12:48 +08:00
liuwei
daf5170008 tune xiaoniu mention reply behavior 2026-04-07 14:09:31 +08:00
liuwei
1996df7b99 add group-aware persona bias for xiaoniu bot 2026-04-07 12:10:47 +08:00
liuwei
8476149a2d tune xiaoniu reply brevity and flow thresholds 2026-04-07 11:36:02 +08:00
liuwei
d616846098 refactor ai_auto_response into xiaoniu group bot 2026-04-07 11:15:29 +08:00
liuwei
5be3be48bf 优化自动对话逻辑 2026-02-02 13:34:32 +08:00
liuwei
1de44bac44 优化关键词 2025-05-21 17:12:02 +08:00
liuwei
95db155077 调整自动回复逻辑 2025-05-21 16:24:49 +08:00
liuwei
4bdc04d2da 调整自动回复逻辑 2025-05-21 16:12:25 +08:00
liuwei
c1b9517990 添加新的插件。 2025-05-21 16:03:18 +08:00