Commit Graph

381 Commits

Author SHA1 Message Date
Liu
3141550bbb Reapply "调整插件执行模式并修复全球新闻后台线程"
This reverts commit b59b61dade.
2026-05-01 12:45:31 +08:00
Liu
e54d04e3b7 Reapply "为长任务插件接入后台任务模式"
This reverts commit a9c3518b4a.
2026-05-01 12:45:30 +08:00
Liu
994f452b99 Revert "优化微信同步超时兜底并下沉头像缓存预热"
This reverts commit c3830d905e.
2026-05-01 12:45:28 +08:00
Liu
f9e5a6f5bf Revert "停用插件目录60秒轮询扫描"
This reverts commit 98b0b219f4.
2026-05-01 12:45:28 +08:00
Liu
98b0b219f4 停用插件目录60秒轮询扫描
- 移除机器人启动时自动启动插件热加载扫描线程\n- 保留详细中文注释说明停用原因与当前生效方式\n- 降低插件目录周期性扫描带来的硬盘 IO 消耗
2026-05-01 12:29:44 +08:00
Liu
c3830d905e 优化微信同步超时兜底并下沉头像缓存预热
- 为 Msg/Sync 增加超时异常与主循环重试保护,避免启动阶段超时直接退出\n- 新增联系人头像缓存系统定时任务,启动时不再主动批量下载头像\n- 保留头像按需补下载能力,并补充详细中文注释
2026-05-01 12:24:27 +08:00
Liu
a9c3518b4a Revert "为长任务插件接入后台任务模式"
This reverts commit 0d1362f97e.
2026-05-01 12:12:54 +08:00
Liu
b59b61dade Revert "调整插件执行模式并修复全球新闻后台线程"
This reverts commit adbf4471cf.
2026-05-01 12:12:54 +08:00
Liu
adbf4471cf 调整插件执行模式并修复全球新闻后台线程
1. 为消息插件新增按消息动态超时能力,并让机器人侧按当前命令读取超时策略。
2. 将斗鱼日报、身价关系图/重算、百科问答出题判题切到后台执行。
3. 将系统更新、黑丝视频、猛男视频、成员锐评默认配置为后台模式并放宽超时。
4. 修复全球新闻插件在线程中直接挂协程导致任务不真正执行的问题。
2026-05-01 11:37:25 +08:00
Liu
0d1362f97e 为长任务插件接入后台任务模式
1. 为消息插件新增可配置的前台/后台分发模式,并在 robot 主链路中加入独立后台任务池,避免长任务长期占用前台 20 个消息处理槽位。

2. 放宽插件执行超时上限到 1800 秒,支持 200 秒以上长任务,同时保留熔断、统计和异常记录。

3. 为群聊总结和 AI 绘图启用后台执行配置,并将菜单插件默认输出改回文本模式。
2026-05-01 11:23:52 +08:00
liuwei
0d7fe5d6f0 完善插件超时保护与熔断恢复
- 为消息插件执行增加统一超时保护,避免单插件长时间卡住消息主链路

- 增加连续失败熔断、冷却后半开探测与成功自动恢复逻辑

- 将插件执行保护状态接入治理快照与后台详情,便于查看连续失败和恢复剩余时间

- 更新工程优化文档,记录 7.2 第一阶段当前进展
2026-04-30 16:15:53 +08:00
liuwei
2d5a5547de 完善消息链路trace并贯通AI与发送动作 2026-04-30 15:22:07 +08:00
liuwei
ce38f66b7b 为主消息链路接入trace_id追踪
- 为接收消息生成并透传trace_id到插件处理上下文
- 统一关键日志输出格式,支持按trace_id串联排障
- 将统计插件错误记录与执行日志补充trace_id关联信息
- 在工程优化文档中补充近期已完成治理项
2026-04-30 15:00:29 +08:00
liuwei
0878f0d4ea 剥离无效事件系统并收口插件统计链路
- 删除未被实际消费的事件系统实现与相关发布逻辑
- 将插件调用统计改为在机器人主链路中直接埋点记录
- 重构统计收集插件初始化与记录方式,移除事件总线依赖
- 同步更新工程优化文档中的性能与链路治理描述
2026-04-30 14:54:22 +08:00
liuwei
b53206d0d1 支持全局配置保存后立即应用到运行时
- 新增 Robot.apply_runtime_config 统一刷新邮件发送器、管理员列表与 LLM 运行时缓存\n- 新增 LLMRegistry.invalidate_cache 主动清理目录与 legacy 配置缓存\n- 后台保存全局配置与 LLM 目录后立即应用运行时配置,减少重启依赖
2026-04-29 17:27:21 +08:00
liuwei
f0e3e5ae97 修复Dashboard启动时message_storage属性缺失问题\n\n- 在Robot初始化阶段提前创建message_storage,避免后台启动早于iPad登录时缺少属性\n- 调整DashboardServer读取逻辑,优先复用Robot消息存储并增加安全回退 2026-04-27 11:58:16 +08:00
liuwei
a3e20db554 修复通讯录刷新未更新头像地址的问题 2026-04-27 09:25:49 +08:00
liuwei
08ded8baee refactor: 移除t_llm_config相关代码依赖
变更项:

1. 删除废弃数据层文件 db/llm_config_db.py。

2. Robot 启动流程移除 llm_config_db 初始化与导入逻辑。

3. DashboardServer 移除 llm_config_db 挂载引用。

4. 复查确认代码中已无 t_llm_config/llm_config_db/LLMConfigDBOperator 运行时依赖。
2026-04-20 15:15:38 +08:00
liuwei
061f2b8084 feat: 重构LLM配置为Provider模板+Dify应用+Scene绑定
变更项:

1. 新增 LLM 目录数据层(t_llm_provider_templates/t_llm_dify_apps/t_llm_backends/t_llm_scenes/t_llm_catalog_meta),支持三层配置管理。

2. Robot 启动接入 llm_catalog_db:自动建表并从旧 llm(backends/scenes) 配置迁移初始化。

3. LLMRegistry 改为优先读取目录模型并按 scene 解析:dify_app 自动合并 Provider 模板与 app_key 差异,降低重复配置。

4. system 蓝图 /api/system/llm_config 改为目录模型读写,新增完整校验(provider引用、app_key、scene目标合法性)。

5. system_llm 页面重构为四块:Provider 模板、Dify 应用、通用 Backend、Scene 绑定,并展示插件依赖拓扑。

6. 保留 YAML 旧结构兜底展示与运行时回退,保证目录表异常时系统仍可运行。
2026-04-20 15:09:24 +08:00
liuwei
1446bf5f39 feat: 将LLM配置主存储迁移到MySQL
变更项: 1) 新增 t_llm_config 数据访问层与建表逻辑。 2) Robot 启动时自动初始化并在空库时从 YAML 导入。 3) 后台 system LLM API 改为读写 MySQL。 4) LLMRegistry 改为优先 MySQL 读取并回退 YAML。 5) DashboardServer 挂载 llm_config_db 提供后台访问。
2026-04-20 14:51:43 +08:00
liuwei
d4b7cb32f6 feat(群级配置): 新增MySQL+Redis持久缓存并接入进群欢迎差异化配置
新增群级插件配置表与服务层,采用MySQL持久化+Redis长期缓存(TTL=-1);后台新增群级插件配置管理页面与API,支持按群按插件维护JSON配置并在修改后同步回填MySQL和刷新Redis;已将群成员变更监控插件接入该配置,支持欢迎文案与卡片URL等按群差异化。
2026-04-20 10:42:46 +08:00
liuwei
547c5533d7 重构:移除Robot中的业务任务实现,统一下沉到插件层
- 删除 Robot 内历史业务方法:新闻/Epic/PDF/秀人下载/排行推送等实现\n- 删除仅服务上述业务方法的群发辅助函数,避免平台层承载业务逻辑\n- 清理对应无用 import 依赖(News、Epic、Sehuatang、Xiuren 业务模块等)\n- 保留系统刚需任务方法(登录巡检、消息计数入库)不变,保持系统层职责单一
2026-04-16 16:09:36 +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
cb0d11e657 chore(plugin): set hot-reload watcher interval to 60s 2026-04-16 13:57:37 +08:00
liuwei
f0414e0dff feat(plugin): support auto bot injection and file-based hot reload 2026-04-16 13:54:56 +08:00
liuwei
041a3f30d8 调整插件执行顺序:ai_auto_response改为最后兜底
- 在消息插件调度中增加排序逻辑\n- 通过 feature_key/模块名/插件名识别 ai_auto_response\n- 保持其他插件原有顺序,确保命令类插件优先命中\n- ai_auto_response 放到末位执行,避免前置抢占
2026-04-16 11:38:08 +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
ce1708677f feat: add pluginized member context profiling 2026-04-02 11:49:20 +08:00
liuwei
8b507a471b 优化群成员变更通知信息。与组件进行联动。 2026-01-20 14:23:52 +08:00
liuwei
63943f73ba 添加成员变更提醒。 2026-01-19 15:37:43 +08:00
liuwei
fb186096f3 优化admin 内容 2026-01-16 16:25:03 +08:00
liuwei
25069151c3 优化admin 内容 2026-01-16 16:20:46 +08:00
liuwei
8d494d6327 调整日志级别 2026-01-16 13:50:35 +08:00
liuwei
c6a0679741 调整日志级别 2026-01-16 13:34:37 +08:00
liuwei
25159bf764 新闻加个链接信息 2026-01-04 11:35:28 +08:00
liuwei
6587fffdfe 加入新闻链接信息,每次新闻发送三个链接 2025-12-31 16:34:08 +08:00
liuwei
8aee6c9e7f 调整模式 2025-12-31 15:37:46 +08:00
liuwei
44daa3b650 新闻内容整理 2025-12-29 15:58:27 +08:00
liuwei
0c98be8c6f 新闻优化 2025-12-26 09:37:15 +08:00
liuwei
f5a51fa2ec sehuatang pdf 优化 2025-12-25 15:36:02 +08:00
liuwei
408bf12342 sehuatang pdf 优化 2025-12-25 13:29:25 +08:00
liuwei
c1f927a425 去掉心跳包内容 2025-12-22 15:51:29 +08:00
liuwei
38cb74517e 调整日志 2025-12-22 15:48:59 +08:00
liuwei
f1f742811d 加入debug 日志,查看退群消息 2025-12-22 15:36:50 +08:00
liuwei
2d9b725acd 加入debug 日志,查看退群消息 2025-12-22 11:48:18 +08:00
liuwei
e204610bc5 加入绅士R15的内容 2025-12-10 14:53:54 +08:00
liuwei
2dc77b01e7 测试信号量并行模式, 2025-08-28 17:16:28 +08:00
liuwei
2eb85c228a 调整定时任务,去除无效发送内容 2025-08-20 16:13:56 +08:00