Commit Graph

77 Commits

Author SHA1 Message Date
liuwei
5eb1e3294f 优化ai_auto_response提示词与短回复策略:场景优先级、防冲突压缩、记忆相关性筛选、可配置长度限制
- 增加场景优先级规则,技术群优先结论与排查点,降低人设冲突\n- Dify 入参新增上下文压缩、画像与记忆去重、低相关记忆过滤\n- 回复后处理支持配置化长度阈值,并增加总字数上限裁剪\n- 新增 prompt_compact/reply 配置项,便于后续按群微调
2026-04-16 11:24:41 +08:00
liuwei
a68d6d5e6c 优化引用上下文质量并修复无效引用噪声
变更项:

1. 扩展引用发送者解析字段,新增 fromusr/fromnickname/sourceusername/sourcedisplayname 等兼容项。

2. 增加引用质量门控:发送者、标题、正文均缺失时直接丢弃 quote_context,避免污染 LLM。

3. 构建引用补充时不再输出“被引用发送者:未知成员”等低价值字段。

4. 增加兜底策略:仅剩引用类型且无正文标题时不输出引用补充。
2026-04-16 11:12:16 +08:00
liuwei
b4b3fa92e0 优化ai_auto_response回复长度并强化@画像回复
变更项:

1. 收紧回复长度策略:social_short/qa_fast/qa_with_context 全部缩短,减少长句与说明文风格。

2. 强化提示词约束:默认30字内、最多2句且总长不超过55字,禁止大段铺垫。

3. 新增@画像高优先通道:当消息为@或强定向时,构建并注入 at_member_profile_prompt。

4. Dify输入同步注入@画像与 is_at/is_directed 控制字段,保证不同LLM后端行为一致。
2026-04-16 11:03:55 +08:00
liuwei
bac8a01ed8 调整ai_auto_response为非阻断模式
变更项:

1. 修改 ai_auto_response.process_message 的返回策略。

2. 消息入队成功时由 processed=True 改为 processed=False,避免截断后续插件链。

3. 队列满时同样不阻断,让其他插件继续处理消息。
2026-04-16 09:56:05 +08:00
liuwei
96f50d929b 关键调整:
social_short 从“1句 + 1条”改成“最多2句 + 最多2条”,允许续发,避免戛然而止。
qa_fast / qa_with_context 也改为允许分条续发,避免中间硬断。
smart_clip 的弱标点回看窗口从 4 提高到 12,更容易切在自然停顿处(逗号/顿号等)。
同步更新了长度规则文案:明确“必要时可拆两条,保证语义完整”。
你给的这句原文在新逻辑下会优先拆成两条,而不是第一条被截到“我听着怎么这”这种半句。
2026-04-15 10:52:33 +08:00
liuwei
5ce60cbd95 我已经把群总结这块从“前 120 字硬砍”改成了“关键句提炼 + 更高上限”。
已改文件:

context_builder.py
具体优化:

原来:
group_memory_summary 超过 120 字就直接 summary[:117] + "...",很容易把后面的关键结论截掉。
现在:
新增 _compact_group_summary(...)。
先按句拆分,再给句子打分,优先保留包含“结论/风险/报错/配置/策略/优化”等关键词的句子。
同时保留首句和末句,避免上下文断裂。
最终摘要上限提高到 420 字、最多 6 句,再做兜底截断。
prompt 字段名也改成 群长期摘要关键句,让模型更明确这是提炼后的重点。
2026-04-15 10:37:27 +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
e2b19c0614 refactor(ai_auto_response): relax short reply truncation 2026-04-13 09:55:23 +08:00
liuwei
0e3eda8865 tune(ai_auto_response): shorten llm replies 2026-04-13 09:05:41 +08:00
liuwei
4e7a8e6798 fix(ai_auto_response): clean think noise from parsed fields 2026-04-10 17:06:13 +08:00
liuwei
52392edcc0 fix(ai_auto_response): sanitize dify wrapped think output 2026-04-10 16:59:18 +08:00
liuwei
f3354d39a8 fix(ai_auto_response): keep complete social short replies 2026-04-10 16:54:12 +08:00
liuwei
0c90c5d74f fix(ai_auto_response): avoid forced split of single short replies 2026-04-10 16:51:11 +08:00
liuwei
5e80287530 切换到dify,还是不要直连,dify更方便 2026-04-10 16:41:14 +08:00
liuwei
f96e891ad9 tune(ai_auto_response): loosen short reply limits for persona flavor 2026-04-10 13:45:50 +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
ef283c1818 tune ai_auto_response short reply and followup gating 2026-04-10 09:39:33 +08:00
liuwei
42b2014f12 unify plugin llm clients on shared utils layer 2026-04-10 09:13:42 +08:00
liuwei
a99bbcca39 add ai_auto_response llm client compatibility shim 2026-04-10 09:06:53 +08:00
liuwei
c0620e6cee shrink ai_auto_response prompt pipeline 2026-04-10 09:04:22 +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
6401ec02de Refine member context profiling detail 2026-04-08 10:27:14 +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
67eec32f7f unify xiaoniu topic selection and reply planning 2026-04-08 09:23:10 +08:00
liuwei
8ead2c43bf stabilize xiaoniu anti-spam and silent defenses 2026-04-08 08:53:47 +08:00
liuwei
3d56b3895a harden xiaoniu defenses and directed cooldowns 2026-04-07 17:26:13 +08:00
liuwei
02bde14d52 improve xiaoniu reply chunk splitting 2026-04-07 16:48:00 +08:00
liuwei
9545664318 relax xiaoniu reply planner gating 2026-04-07 16:31:29 +08:00
liuwei
c8a7958e2b move xiaoniu runtime logs to debug 2026-04-07 16:25:34 +08:00
liuwei
96432039cc add retry for xiaoniu api requests 2026-04-07 16:17:58 +08:00
liuwei
2b6deff4ba filter invalid xiaoniu model echoes 2026-04-07 16:06:52 +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
fabcb92f3f use richer member memory in xiaoniu replies 2026-04-07 15:47:32 +08:00
liuwei
0ac08c45c0 tune xiaoniu address style by group 2026-04-07 15:38:52 +08:00
liuwei
a29b625bc6 refine xiaoniu natural name mentions 2026-04-07 15:37:01 +08:00
liuwei
19d2938870 improve xiaoniu recipient cues and name-prefixed replies 2026-04-07 15:32:38 +08:00
liuwei
9e95b805ec require directed questions for xiaoniu replies 2026-04-07 15:21:45 +08:00
liuwei
5ca9a8d1d9 tune xiaoniu low-frequency social interjections 2026-04-07 14:52:38 +08:00
liuwei
5a02121ace allow multi-part replies for xiaoniu qa responses 2026-04-07 14:39:41 +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
acf3177571 use latest group image for xiaoniu image followups 2026-04-07 14:00:08 +08:00
liuwei
7c12738967 add multimodal quote handling for xiaoniu bot 2026-04-07 13:51:15 +08:00