liuwei
|
3226fabcec
|
新增定时任务重启漏执行补偿机制
变更项:1) 系统任务与插件调度重载后基于应执行时间和执行日志对账,判定是否漏执行。2) 仅在应执行时间已过且日志未覆盖时补跑一次,避免重复补偿。3) system_job_db 与 plugin_schedule_db 新增 get_latest_log_time 查询。4) 增加容差窗口与中文注释,降低误判概率。
|
2026-04-17 09:38:15 +08:00 |
|
liuwei
|
da1cf5bd02
|
修复老库群公告字段缺失导致群详情报错
变更项:
1. 新增字段探测与补列逻辑:启动时通过 information_schema 检查 t_chatrooms.chat_room_announcement,不依赖 ADD COLUMN IF NOT EXISTS。
2. save_chatroom_info 改为字段存在才写入群公告,避免 Unknown column。
3. get_chatroom_profile 增加降级查询:字段不存在时返回空公告,不再直接引用缺失列。
4. 增加字段可用性缓存与中文注释,降低重复探测开销。
|
2026-04-16 17:09:34 +08:00 |
|
liuwei
|
77fc15d1fd
|
完善通讯录群详情展示:补齐群公告/群主/群管理信息
变更项:
1. 数据层新增群资料聚合查询,直接复用 is_owner/is_admin 字段返回群主与管理员列表。
2. 同步群信息时兼容提取群公告并落库,历史库启动时自动补齐 chat_room_announcement 字段。
3. 新增 /contacts/api/group_profile/<roomid> 接口,统一返回群公告、群主、管理员、成员数。
4. 通讯录群详情弹窗新增群主/群成员数/群管理/群公告展示,并在打开详情时自动加载。
5. 补充群成员精简查询头像字段,更新初始化 SQL 中 t_chatrooms 公告字段定义。
|
2026-04-16 17:04:55 +08:00 |
|
liuwei
|
1a1306ec71
|
系统定时任务日志持久化:新增入库与后台查询
- 新增系统任务日志表 t_system_job_logs,持久化记录每次执行结果、摘要、耗时、详情JSON\n- SystemJobLoader 注册任务时增加执行包装器:成功/失败均写入数据库日志,失败后继续抛出保证运行态状态一致\n- 系统任务后台日志接口改为查询数据库日志(不再依赖仅内存的 async_job logs),解决重启后日志丢失问题\n- 保持前端日志字段兼容,接口返回映射为 time/level/message 结构
|
2026-04-16 16:27:53 +08:00 |
|
liuwei
|
9652c2594e
|
系统业务任务插件化迁移:下沉7项非刚需任务并接入平滑迁移
- 系统任务保留刚需三项:登录巡检、消息计数入库、媒体补偿处理;移除新闻/Epic/排行/PDF/秀人维护等业务型系统任务定义\n- 新增 daily_news、epic_free、daily_ranking、sehuatang_push 四个插件,将原系统业务任务改为插件可调度动作\n- 扩展 xiuren_image 插件调度动作,新增秀人下载、绅士R15下载、图片缓存更新三项维护任务\n- 新增系统任务到插件任务的幂等迁移逻辑:按旧 job_key 映射到插件 action,同步 trigger_type/trigger_config/enabled,并通过 payload 标记防止反复覆盖\n- 在 Robot 启动流程中接入迁移执行与重载,并清理已迁移的历史系统任务记录,避免后台双份维护\n- 扩展插件调度数据库操作:支持按 plugin_name + action_key 精确查询,便于迁移与对账
|
2026-04-16 16:05:59 +08:00 |
|
liuwei
|
014985ac4a
|
feat(plugin-schedule): add DB-driven plugin scheduler and xiuren scheduled push
|
2026-04-16 15:24:23 +08:00 |
|
liuwei
|
66a9b7c4a3
|
feat(schedule): move system jobs to DB-driven config and dashboard management
|
2026-04-16 14:54:23 +08:00 |
|
liuwei
|
d9ce3ce33e
|
修复仪表盘摘要接口Decimal类型计算报错
变更项:
1. 修复 /api/dashboard_summary 中 success_rate 为 Decimal 与 float 混算导致的异常。
2. 将 success_rate 与 avg_response_time 统一转换为 float,避免后续健康分计算类型冲突。
3. 恢复首页热门信息接口返回,避免因接口失败导致榜单空白。
|
2026-04-15 17:28:55 +08:00 |
|
liuwei
|
fd21ebf681
|
修复首页热门信息为空问题并增加历史兜底
变更项:
1. 保留热门用户/热门群组/热门插件逻辑,未移除任何热门模块。
2. 为热门数据增加兜底策略:最近N天无数据时自动回退到全量历史Top5。
3. 覆盖插件、用户、群组三类热门榜单,避免首页出现整块空表。
|
2026-04-15 17:25:19 +08:00 |
|
liuwei
|
d472b1523b
|
优化首页指标展示并修复群唯一用户统计
变更项:
1. 修复首页卡片等高问题,统一用户信息与右侧指标区高度,统一热门用户/群组/插件卡片高度。
2. 首页新增三个分析指标:新增用户数、群渗透率、群健康分,并完成前端数据绑定。
3. 优化仪表盘摘要接口,新增 new_users、avg_group_penetration、group_health_score 返回字段。
4. 修复 t_group_stats.unique_users 统计口径,改为按 group_id+plugin_name+command+user_id 去重统计,避免跨群串数据。
5. 新增 t_group_command_user_stats 表结构及索引,并补充到 init.sql。
|
2026-04-15 17:19:38 +08:00 |
|
liuwei
|
ee5c1ebadc
|
只用表情 XML 里的 md5 + len/totallen 作为发送参数。
不再用图片文件大小、文件名等回退逻辑去“猜参数”。
发送接口不再“先返回发送中”,而是直接调用 SendEmoji 并等待结果:
成功才返回 表情发送成功
失败直接返回具体错误(不会再假成功)
|
2026-04-15 11:36:22 +08:00 |
|
liuwei
|
47f8bd5717
|
改动结果:
聊天窗口工具栏新增了“表情”按钮,打开表情库弹窗。
表情库会从历史“已下载落盘的表情消息”里自动聚合。
选中后直接通过 send_emoji_message(wxid, md5, total_length) 发原生表情,不是当普通图片发。
仍保持你现在的发送通道和聊天刷新逻辑。
主要改动文件:
后端接口与发送支持:contacts.py
表情资源查询:message_storage.py
前端表情面板与发送交互:contacts_management.html
新增接口:
GET /contacts/api/emojis:返回聚合后的表情库(md5、total_length、预览图)。
POST /contacts/api/send_message 新增 type=emoji。
我也做了 Python 语法检查,相关后端文件都通过了。
你可以直接在聊天弹窗里点“表情”试一下。如果表情库为空,通常是该群还没落盘到 image_path,让媒体下载功能先抓几条表情就会出现。
|
2026-04-15 11:21:32 +08:00 |
|
liuwei
|
4cf5a05088
|
这次实际改的是按钮背后的同步逻辑,不是页面文案本身。现在 /contacts/api/update 触发后会:
个人联系人、公众号:已存在就跳过,不存在才写入。
群:不再删库重建,已有群保留;新群会写入。
群成员:已存在就跳过,不存在就写入。
如果成员这次不在群里了,会把 db/contacts_db.py 里的 status 标成 2,前端会显示“已退群”。
如果整个群查不到了,也不再删除群资料,只把该群历史成员标记为“已退群”。
改动在:
robot.py
db/contacts_db.py
我还做了语法校验,py_compile 通过。需要的话我也可以继续帮你把“更新通讯录”按钮的成功提示改成更明确,比如“已完成增量同步,未删除历史数据”。
|
2026-04-15 09:28:44 +08:00 |
|
liuwei
|
299a32fa16
|
feat: add real detail views for stats pages
|
2026-04-13 17:09:21 +08:00 |
|
liuwei
|
7df4bd216f
|
feat: gate media downloads by group and retry douyu checks
|
2026-04-13 15:53:34 +08:00 |
|
liuwei
|
ada1b656e0
|
feat: dedupe and schedule emoji media downloads
|
2026-04-13 12:06:58 +08:00 |
|
liuwei
|
9698f9577f
|
feat: revamp contacts chat workspace
|
2026-04-13 11:47:34 +08:00 |
|
liuwei
|
ec6c1308db
|
feat: add group detail dashboard insights
|
2026-04-13 11:04:20 +08:00 |
|
liuwei
|
0f0acc1729
|
feat(message_summary): add group overview stats section
|
2026-04-13 09:18:44 +08:00 |
|
liuwei
|
1671bea3a3
|
fix: fallback quoted image lookup by md5
|
2026-04-07 17:58:34 +08:00 |
|
liuwei
|
238e478f52
|
fix: reuse referenced message media in dashboard quotes
|
2026-04-07 17:44:15 +08:00 |
|
liuwei
|
acf3177571
|
use latest group image for xiaoniu image followups
|
2026-04-07 14:00:08 +08:00 |
|
liuwei
|
a9e8b71685
|
恢复群总结结果自动入库能力
- 重新新增群总结数据库操作类并自动建表 t_message_summary
- 在群总结插件初始化时接入总结入库数据库对象
- 定时总结成功发送后自动写入数据库,保留文本结果、图片路径和消息数量
- 失败提醒不入库,避免脏数据进入总结表
|
2026-04-03 11:37:42 +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
|
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
|
ce1708677f
|
feat: add pluginized member context profiling
|
2026-04-02 11:49:20 +08:00 |
|
liuwei
|
c8f6304ed3
|
fix: restore active chatroom member status on sync
|
2026-04-02 11:08:32 +08:00 |
|
liuwei
|
7f6fdf165d
|
调整几个iframe动态化
尝试添加dockerfile
|
2026-01-27 15:35:45 +08:00 |
|
liuwei
|
05949bdf67
|
新增潜水排行
|
2026-01-20 17:05:00 +08:00 |
|
liuwei
|
e5471bc024
|
新增潜水排行
|
2026-01-20 16:49:58 +08:00 |
|
liuwei
|
43a6fd20e0
|
优化返回内容
|
2026-01-19 17:39:52 +08:00 |
|
liuwei
|
042354de29
|
优化返回内容
|
2026-01-19 17:35:53 +08:00 |
|
liuwei
|
6629479a66
|
添加活跃时间
|
2026-01-19 16:42:41 +08:00 |
|
liuwei
|
edc63fad0a
|
调整总结业务。支持每天早上9点总结昨天的消息
|
2026-01-09 14:51:27 +08:00 |
|
liuwei
|
491c0d16fb
|
尝试进行总结优化
|
2026-01-06 16:02:00 +08:00 |
|
liuwei
|
f2ec3facf1
|
调整图片下载逻辑,定时任务5分钟一次进行图片消息下载存档。
|
2025-12-30 09:12:18 +08:00 |
|
liuwei
|
15c5971cef
|
调整图片下载逻辑,定时任务5分钟一次进行图片消息下载存档。
|
2025-12-30 09:01:28 +08:00 |
|
liuwei
|
8d2fd6217a
|
尝试优化更新内容
|
2025-12-29 17:18:15 +08:00 |
|
liuwei
|
4986ec7957
|
优化图片下载保存逻辑.防止写库太大
|
2025-12-25 17:20:24 +08:00 |
|
liuwei
|
f526ad45bc
|
日志优化,减少ERROR的字符串内容
|
2025-12-25 16:30:28 +08:00 |
|
liuwei
|
716b3e2760
|
处理异常信息展示功能
|
2025-12-17 14:48:40 +08:00 |
|
liuwei
|
ea71fc0931
|
群级别用户维护
|
2025-11-24 10:00:07 +08:00 |
|
liuwei
|
740e4fecd0
|
兼容老的结构。
|
2025-11-19 08:59:58 +08:00 |
|
liuwei
|
eddc013182
|
修仙功能开发上线
|
2025-11-18 11:19:59 +08:00 |
|
liuwei
|
ca6969303d
|
调整级别信息
|
2025-11-17 16:27:42 +08:00 |
|