Commit Graph

739 Commits

Author SHA1 Message Date
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
liuwei
d507cdf88d improve xiaoniu group awareness and solver suppression 2026-04-07 12:27:53 +08:00
liuwei
faa5d68eb0 increase xiaoniu prompt context window to 30 messages 2026-04-07 12:21:51 +08:00
liuwei
1996df7b99 add group-aware persona bias for xiaoniu bot 2026-04-07 12:10:47 +08:00
liuwei
d6abb1cc23 tighten xiaoniu reply triggers for direct mentions only 2026-04-07 11:50:30 +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
1c052a7d16 fix(message_summary): format workflow token usage 2026-04-07 10:17:20 +08:00
liuwei
e4082f6085 fix(message_summary): stop rendering failed workflow output 2026-04-07 10:02:22 +08:00
liuwei
acc1e7f20b feat(message_summary): switch to streaming workflow 2026-04-07 09:55:17 +08:00
liuwei
51fe971cda feat(ai): clean reasoning content from replies 2026-04-07 09:23:48 +08:00
liuwei
2a0cbb4e56 feat(message_summary): default to streaming mode 2026-04-07 09:10:24 +08:00
liuwei
a9e8b71685 恢复群总结结果自动入库能力
- 重新新增群总结数据库操作类并自动建表 t_message_summary
- 在群总结插件初始化时接入总结入库数据库对象
- 定时总结成功发送后自动写入数据库,保留文本结果、图片路径和消息数量
- 失败提醒不入库,避免脏数据进入总结表
2026-04-03 11:37:42 +08:00
liuwei
16c7100958 为定时群总结提示增加自动撤回
- 为定时总结开始提示增加自动撤回能力
- 为定时总结失败提示增加自动撤回能力
- 新增统一的文本发送并登记撤回辅助方法
- 定时任务场景下自动懒初始化撤回器,避免提醒消息长期留在群里
2026-04-03 09:08:31 +08:00
liuwei
87da8e3b5c 为群总结生成增加三次重试机制
- Dify 请求失败时不再立即返回失败
- 群总结生成过程最多重试 3 次
- 增加 2 秒、4 秒递增等待,降低偶发错误影响
- 仅在三次都失败后才返回生成总结失败结果
- 补充重试次数与等待时间日志,便于排查总结异常
2026-04-03 09:04:03 +08:00
liuwei
ff421a1b4b Revert "Reapply "完善表情资产后台能力并补充群总结落库""
This reverts commit 079f363382.
2026-04-03 08:52:59 +08:00
liuwei
079f363382 Reapply "完善表情资产后台能力并补充群总结落库"
This reverts commit 57bb46bb21.
2026-04-02 17:55:21 +08:00
liuwei
57bb46bb21 Revert "完善表情资产后台能力并补充群总结落库"
This reverts commit 2a54650a6f.
2026-04-02 17:54:35 +08:00
liuwei
2a54650a6f 完善表情资产后台能力并补充群总结落库
- 新增表情资产表,支持表情文件落盘后的资产沉淀、查询与发送时间回写
- 将表情下载从消息主链路中移出,改为后台定时批处理,降低同步入库阻塞风险
- 抽取通用 CDN 下载与 base64 落盘能力,统一图片与表情文件处理方式
- 在后台通讯录聊天窗口增加表情资产面板,支持查看资产并直接选择发送表情
- 新增后台表情资产接口,支持按群过滤最近表情素材
- 优化消息列表中的表情消息展示,支持在后台直接预览表情图片
- 启动时不再同步补偿历史表情,统一交由定时任务处理,避免影响系统稳定性
- 新增群总结落库表,支持将每日总结写入数据库,便于后续知识库提取与复用
- 将定时总结结果写入数据库,保留总结文本、周期信息、消息数量和元数据
2026-04-02 17:52:17 +08:00
liuwei
a4b87f4c7a 优化成员画像工作流调用稳定性并禁止写入兜底垃圾数据
- 将 member_context 的 Dify workflow 调用响应模式切换为 streaming,提高长耗时工作流的连接稳定性
- 将成员画像工作流请求超时时间从 60 秒提升到 240 秒,适配当前群日批量提取任务的实际耗时
- 扩展 DifyClient,支持 workflow streaming 响应解析,在流式场景下尽量提取最终输出或增量文本
- 调整群日画像提取逻辑,AI 未返回成员有效结构化结果时不再写入 fallback 通用数据,而是直接跳过,等待下次任务重试
- 调整周/月周期摘要生成逻辑,AI 未返回有效结果时不再使用本地兜底拼装摘要,避免写入低质量周期画像
- 删除成员日摘要和周期摘要对应的 fallback 生成逻辑,彻底阻断这类无意义垃圾画像继续入库
- 新增跳过日志,明确标记哪些成员或周期摘要因为未提取到有效 AI 结果而未入库,便于后续诊断稳定性问题
2026-04-02 14:40:34 +08:00
liuwei
bfd0dbc15c 接入成员画像 Dify 工作流并清理旧提取逻辑
- 新增 member_context 专用 DifyClient,统一兼容 completion 与 workflow 两种调用模式
- 将成员画像插件默认切换到 Dify workflow 模式,配置改用新的 workflow 应用与 workflows/run 接口
- 生成可直接导入 Dify 的成员画像工作流 DSL 文件,方便后台一键导入和发布
- 补充 Dify 工作流接入说明文档,明确输入字段、输出字段、发布步骤与插件消费方式
- 清理旧的单成员日摘要提取链路,日级画像统一收敛到群日批量提取路径,减少无效分支和历史残留
- 去除 member_context 内部多处旧 requests 直连调用,统一改为通过 DifyClient 调用 AI 服务
- 优化群日批量结果解析逻辑,只按 wxid 作为唯一主键识别成员,不再依赖昵称做唯一判断
- 新增按 wxid 的结果去重与完整度评分逻辑,遇到重复成员结果时优先保留字段更完整、置信度更高的一条
- 保留现有初始化、增量、周/月聚合与最终画像生成链路,同时剔除 workflow 接入后已无效或低价值的旧逻辑
- 为后续继续收紧 fallback 标记、增强后台质量诊断和优化工作流输出稳定性打下基础
2026-04-02 14:25:50 +08:00
liuwei
75dc3b289d 优化成员画像初始化状态管理,避免空群重复回扫历史窗口
- 新增成员摘要群级状态表,记录每个群的初始化状态、最近一次初始化时间、初始化窗口天数、生成摘要数量与触达成员数量
- 将成员画像群日摘要逻辑拆分为初始化模式与日常增量模式
- 首次运行且群内尚无日摘要时,自动按 bootstrap_days 回补最近已结束日期
- 初始化完成后写入群级状态:有产出记为 done,无产出记为 empty
- 后续调度或手动刷新时,若群级状态已是 done/empty,则不再重复按 60 天历史窗口回扫,改为仅按日常增量窗口处理前一天数据
- 解决冷群、空群、长期低活跃群在每天定时任务中反复初始化扫描的问题,减少无意义数据库扫描与等待时间
- 调整刷新群画像逻辑,即使最近 72 小时无活跃成员,首次初始化也能先尝试补历史摘要,再决定是否需要刷新成员画像
- 初始化模式下,会把历史窗口中真正产出过日摘要的成员补充进候选刷新集合,避免只依赖最近 72 小时活跃成员导致历史初始化不完整
2026-04-02 13:54:24 +08:00
liuwei
78ab3e65c2 完善成员画像插件的日/周/月分层提取与已结束日期处理逻辑
- 将成员画像能力进一步收敛到插件内部,强化按群启用、后台异步刷新、后台查看的完整链路
- 新增群维度按日批量提取能力:以群为单位按天处理一次,统一提取当天活跃成员的日级画像摘要
- 日级画像输出扩展为更适合长期累计的结构化信号,补充身份线索、技能信号、家庭线索、阶段线索、价值偏好、群内角色、决策风格等字段
- 优化提示词设计,明确要求优先提取可复用、可累计、可验证的行为线索,减少一次性情绪和短期噪声对长期画像的干扰
- 打通日 -> 周 -> 月 -> 最终画像 的分层汇总链路,让后续月度画像直接消费日/周级结构化摘要,而不是重复回扫长窗口原始消息
- 新增/完善画像融合策略:identity_traits、skill_profile、family_profile、life_stage_profile、value_profile 也纳入长期分数累计,不再仅依赖最近一次结果覆盖旧结果
- 将活跃群、活跃成员、辅助消息样本等口径统一调整为只处理已结束日期,避免当天未完结数据进入画像计算
- 调整日级批处理逻辑,默认只处理昨天及更早日期,确保不会处理当天消息
- 修复重复执行时仍然先调用 AI 再跳过的问题,改为先检查当天候选成员是否已完成生成,全部已存在时直接跳过,减少无效 AI 请求和耗时
- 增加群日批处理、周摘要、月摘要、群刷新进度等日志,方便后台定位当前刷新到哪些群、哪些成员、进度如何
- 丰富后台画像展示字段,支持查看更完整的长期画像维度与摘要统计
- 更新插件配置默认值,收敛为近 60 天启动窗口、每日滚动处理与群级日摘要模式
- 补充 message_storage 读取能力,支持按群按日提取消息,为群日批量画像与后续周期汇总提供底层数据支撑
2026-04-02 13:41:51 +08:00
liuwei
60b72874b5 feat: 重构成员画像为日周月分层沉淀链路并增强后台摘要能力
本次提交围绕成员画像插件进行了较大升级,核心目标是把原来偏单次、偏近期的成员交互摘要,升级为可随时间沉淀的分层画像能力。

主要功能变更如下:
1. 新增成员分层摘要存储表 t_member_digest,并提供对应的数据库操作层,支持按成员、按群、按摘要类型(daily/weekly/monthly)持久化周期性摘要结果。
2. 在 member_context 插件内新增 MemberDigestService,把画像生成拆分为日摘要、周摘要、月摘要三级处理流程,再由最终画像服务消费这些分层摘要,减少直接反复处理大量原始消息带来的成本和失真。
3. 新增提示词构建模块,分别为日级观察、周级归纳、月级归纳以及最终画像整理提供独立提示词,强调中性、克制、避免敏感推断,并将长期特征与近期状态明确分层。
4. 重写成员最终画像生成逻辑,优先基于日/周/月摘要融合出长期特征、习惯模式、长期回复偏好、近期状态等信息,再用 AI 对分层摘要做最终整理,避免仅依赖近 30 天消息得出偏短期结论。
5. 保留并增强长期画像融合逻辑,通过打分、衰减和重复证据累积,使长期特征随着时间逐步稳定,而不会被单次刷新完全覆盖。
6. 在消息存储层补充成员按时间增量获取、按活跃日期统计、按天取消息等查询方法,为后续分层摘要生成提供数据支撑。
7. 扩展 member_context 插件配置,增加日级摘要消息上限、日摘要最小消息数、单次回填的日摘要数量上限、最终画像使用的日/周/月摘要数量等参数,便于在准确性和系统负载之间做平衡。
8. 后台成员摘要详情页新增长期沟通倾向、长期特征、习惯模式、长期回复偏好、近期状态、历史样本数、分层摘要数量等展示字段,方便观察画像沉淀程度。
9. 优化后台查看成员摘要接口逻辑:首次打开如果还没有摘要,不再同步阻塞生成,而是返回未就绪状态,配合后台手动异步刷新,降低页面卡顿和接口阻塞风险。
10. 增强刷新日志,单成员和群级刷新会输出当前刷新模式以及日/周/月摘要数量,便于排查画像构建进度。
11. 调整当前日、当前周、当前月摘要的重算逻辑,确保新增日摘要写入后,本周和本月摘要不会长期停留在旧版本。

本次提交后,成员画像能力从“基于近期样本的单层摘要”升级为“基于时间沉淀的分层画像管线”,为后续把画像稳定接入 AI 自动回复上下文打下基础,同时尽量保持现有群权限控制和后台异步刷新方式不变。
2026-04-02 12:42:28 +08:00
liuwei
7f21ef4f69 总结优化 2026-04-02 12:01:58 +08:00
liuwei
ce1708677f feat: add pluginized member context profiling 2026-04-02 11:49:20 +08:00
liuwei
848e7b5ab9 chore: enable daily message summary job 2026-04-02 11:08:32 +08:00
liuwei
009da3e902 fix: restore working message_summary plugin entry 2026-03-21 15:27:49 +08:00
liuwei
375b9c5372 fix: remove incompatible rate limit import 2026-03-21 15:24:57 +08:00
liuwei
63448eb28c fix: restore markdown-based summary hero extraction 2026-03-21 15:12:37 +08:00
liuwei
df522a91c3 关闭自动总结 2026-03-09 11:41:23 +08:00
liuwei
8b95fbc2a9 聊天总结 2026-03-04 09:01:02 +08:00
liuwei
29b71bc767 去除openclaw插件 2026-03-03 10:05:00 +08:00