Commit Graph

997 Commits

Author SHA1 Message Date
Liu
0d1362f97e 为长任务插件接入后台任务模式
1. 为消息插件新增可配置的前台/后台分发模式,并在 robot 主链路中加入独立后台任务池,避免长任务长期占用前台 20 个消息处理槽位。

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

3. 为群聊总结和 AI 绘图启用后台执行配置,并将菜单插件默认输出改回文本模式。
2026-05-01 11:23:52 +08:00
Liu
1b6da6db1f 修复菜单插件超时拖慢主链路问题
1. 为菜单图片发送增加独立的同步等待预算,避免单次菜单命令长时间占用消息处理协程。

2. 调整菜单插件外层处理超时与文本回退空间,避免内外层超时重合导致降级逻辑来不及执行。

3. 修复 md2img 专用运行时在超时/取消时未显式取消后台任务的问题,减少渲染残留任务堆积。
2026-05-01 11:08:49 +08:00
liuwei
9a52eb33bf 新增后台命令索引页面与群命令视图 2026-04-30 17:51:45 +08:00
liuwei
5feee880ed 增强机器人菜单自动指令清单能力 2026-04-30 17:41:41 +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
2a651a5c85 修正粉丝日报信息区重复与热点区空白问题
1. 移除今日重点信息中的重复摘要列表,只保留卡片展示\n2. 为粉丝日报模板补充新旧载荷结构兼容逻辑,支持从llm_compact、peak_buckets、repeated_messages等字段自动兜底\n3. 热点窗口与共识梗区域增加空数据说明块,避免页面出现整块空白
2026-04-29 15:28:48 +08:00
liuwei
7de1dc9ee3 补充斗鱼粉丝日报本地预览脚本并压缩版面
1. 为本地测试脚本增加粉丝日报 HTML 预览输出,统一映射新版模板需要的数据结构\n2. 内置稳定的预览文案拼装逻辑,方便不依赖LLM也能本地验收页面效果\n3. 压缩粉丝日报模板的卡片间距、字号、行高和高度,让同样的信息更紧凑简约地展示
2026-04-29 15:19:27 +08:00
liuwei
4386d0df75 重构斗鱼粉丝日报为信息优先结构
1. 更新粉丝日报提示词,优先提炼赛事、位置、英雄、对局和场外有效信息\n2. 扩展模板解析与渲染逻辑,支持今日重点信息、核心讨论话题、英雄与对局焦点等新板块\n3. 优化粉丝日报兜底文案与模板展示,让本地提纯结果和LLM语义总结共同参与输出
2026-04-29 15:06:56 +08:00
liuwei
642b55afe0 删除无效代码 2026-04-29 14:57:00 +08:00
liuwei
7092cd845c 重做斗鱼粉丝日报信息模板
- 将粉丝日报改为信息优先布局,新增重点信息、话题簇、英雄焦点和热点窗口区块
- 让模板直接展示本地提纯出的有效信息,不再只依赖少量乐子文案
- 补充粉丝日报渲染辅助函数,提升证据簇和高频信息的承载能力
2026-04-29 14:55:57 +08:00
liuwei
31848f67f6 重构斗鱼粉丝日报信息提纯链路
- 新增本地弹幕文件测试入口,支持直接对样本文件生成提纯结果
- 将本地统计、主题证据簇和语义事实提示接入斗鱼日报LLM材料
- 明确降低情绪刷屏权重,改为优先提取赛事、位置、英雄、对局和场外互动信息
2026-04-29 14:47:42 +08:00
liuwei
625d37018b 优化斗鱼弹幕日报LLM入参压缩
- 新增面向LLM的用户索引、时间线事件块与整句高频线索压缩结构
- 将弹幕时间统一压缩为日期加时分并抽离UID尾号、牌子等级等重复元信息
- 下调中文分词结果在提示材料中的权重,改为优先使用现场原句和时间线材料
2026-04-29 14:25:08 +08:00
liuwei
f475d20d17 Revert "调整斗鱼日报弹幕清洗保留更多现场细节"
This reverts commit 9ee9ef8782.
2026-04-29 14:15:27 +08:00
liuwei
850fd5e7d3 Revert "支持向LLM上传原始弹幕TXT并补充全文输入"
This reverts commit 86c3dea1d2.
2026-04-29 14:15:26 +08:00
liuwei
fd61f17448 Revert "本地清洗弹幕TXT并压缩重复刷屏内容"
This reverts commit 12a5d89c76.
2026-04-29 14:15:26 +08:00
liuwei
45ec52ce91 Revert "同步斗鱼日报工作流文件输入与原始弹幕全文变量"
This reverts commit 3a74e5e5a8.
2026-04-29 14:15:26 +08:00
liuwei
3a74e5e5a8 同步斗鱼日报工作流文件输入与原始弹幕全文变量 2026-04-29 14:05:10 +08:00
liuwei
12a5d89c76 本地清洗弹幕TXT并压缩重复刷屏内容 2026-04-29 14:02:15 +08:00
liuwei
86c3dea1d2 支持向LLM上传原始弹幕TXT并补充全文输入 2026-04-29 13:58:57 +08:00
liuwei
9ee9ef8782 调整斗鱼日报弹幕清洗保留更多现场细节
1. 将日报给LLM的清洗策略改为仅过滤系统噪音并合并同内容重复弹幕\n2. 取消对不同表达的强模板压缩,尽量保留更多原始讨论细节和刀圈语境\n3. 扩大热点窗口、顺时序样本等素材容量,提升日报对完整现场的还原度\n4. 强化粉丝日报提示词,要求明确写出老头杯、位置分工、阵容等比赛话题\n5. 提升斗鱼日报缓存版本,避免继续复用旧策略生成的缓存结果
2026-04-29 13:45:53 +08:00
liuwei
6d33081e03 优化斗鱼粉丝日报定时任务与弹幕素材
1. 将斗鱼粉丝日报接入插件定时任务体系,支持后台独立启停与调度执行\n2. 为粉丝日报新增按群去重发送标记,避免任务补偿或多群订阅时重复推送\n3. 扩充日报传给LLM的弹幕材料,补充顺时序现场样本与场次故事线,提升语境完整度\n4. 提升斗鱼日报缓存版本,确保新链路生成结果不复用旧缓存
2026-04-29 13:19:19 +08:00
liuwei
3accd84bd1 新增240本机维护脚本并包含停止MaiBot能力
变更项:\n1. 新增 plugins/maibot_adapter/maibot_maintenance.sh,可在服务器本机直接执行。\n2. 提供 stop 动作用于停止 maibot-core-lite 容器,满足手动停服诉求。\n3. 同时补充 status/start/restart/logs/health 动作,便于日常运维排障。\n4. 脚本支持通过 CONTAINER_NAME/WEBUI_PORT 环境变量覆盖默认值。
2026-04-29 11:58:01 +08:00
liuwei
c63c9cf73f 新增MaiBot远端维护脚本并放置到maibot_adapter目录
变更项:\n1. 新增 plugins/maibot_adapter/maibot_maintenance.py 维护脚本,支持 status/logs/restart/health/config 五类操作。\n2. 脚本默认维护 192.168.2.240 的 maibot-core-lite 容器,可通过参数覆盖主机、账号、容器名和端口。\n3. 增加关键日志过滤能力,聚焦 Timing Gate、no_reply、SendService、platform_map 等排障核心字段。\n4. 增加中文详细注释与编码兜底输出,避免日志中 emoji/特殊字符导致脚本中断。\n5. 已通过 py_compile 和 --help 自检,确保可直接执行。
2026-04-29 11:55:58 +08:00
liuwei
eea0baccb9 先关闭一下maibot插件 2026-04-29 11:55:23 +08:00
liuwei
aea6c8965c 修复群回复@目标误判并增强数字前缀清洗
变更项:\n1. 在 _resolve_reply_route 中读取 additional_config.platform_io_target_user_id,群聊优先用该字段作为 at_target。\n2. 增加对 platform_io_account_id 的防误用判断,避免把机器人账号当作 @ 目标。\n3. 增强 _sanitize_reply_text:支持清理无标点的长数字前缀(如 484377749在呢)。\n4. 补充中文注释,明确平台字段优先级与防误判逻辑。
2026-04-29 11:51:23 +08:00
liuwei
028448fd4b 清理MaiBot回复中的message_id数字前缀噪音
变更项:\n1. 新增 _sanitize_reply_text 方法,对回复文本做发送前净化。\n2. 增加规则:清理回复开头的长数字前缀(>=6位)及其后随标点/空白,避免 message_id 等内部标识外泄到群聊。\n3. 增加前导标点二次修整,去除数字剥离后残留的逗号/冒号等噪音字符。\n4. 在 _handle_incoming_package 中接入净化流程,保证实际发送前统一生效。
2026-04-29 11:49:57 +08:00
liuwei
fe92b011ba 补充MaiBot提及信号字段以修复@后仍不响应
变更项:\n1. 在 message_info.additional_config 中新增 at_bot 字段,与 is_at 同步。\n2. 在 message_info.additional_config 中新增 is_mentioned 字段,与 is_at 同步。\n3. 兼容 MaiBot 当前 is_mentioned_bot_in_message 的提及识别逻辑,提升群聊@机器人后的回复触发率。\n4. 增加详细中文注释,说明该兼容修复的原因和生效路径。
2026-04-29 11:26:28 +08:00
liuwei
1431482ea7 调整maibot_adapter平台标识为abot并修复发送映射 2026-04-29 11:12:48 +08:00
liuwei
9fedd6f61b 兼容MaiBot桥接层从sender_info取群信息的解析逻辑
变更项:\n1. outbound message_info 增加 sender_info 双写结构,明确携带 sender_info.user_info 与 sender_info.group_info。\n2. 继续保留顶层 user_info/group_info,形成新旧兼容消息结构,降低版本差异带来的路由误判风险。\n3. 群聊场景下 sender_info.group_info 显式注入 group_id/group_name,修复 API Server 侧按私聊归类的问题。\n4. 增补详细中文注释,说明本次兼容修复基于 MaiBot 当前 bridge(from_api_receive) 的解析特性。
2026-04-29 11:04:52 +08:00
liuwei
736ac05d98 增加MaiBot发包message_info快照日志用于私聊误判排障
变更项:\n1. 在 _send_outbound_payload 发送前新增 message_info 快照日志,完整输出实际入包的 message_info JSON。\n2. 日志仅输出 message_info,避免正文 segment 造成噪音与隐私扩散。\n3. 增加序列化异常保护,避免日志构建失败影响正常发包。\n4. 为定位‘群消息仍被识别为私聊’提供第一手协议证据。
2026-04-29 11:00:46 +08:00
liuwei
b6c647cacb 按MaiBot官方消息结构修复群聊被识别为私聊
变更项:\n1. outbound message_info 从旧 sender_info/receiver_info 改为官方 BaseMessageInfo 顶层字段:user_info + group_info。\n2. 群聊消息携带 group_info,私聊消息不携带 group_info,避免服务端按私聊兜底路由。\n3. 调整 _resolve_reply_route:优先解析官方新结构,保留对历史 sender_info/receiver_info 回包的兼容。\n4. 增补中文注释,说明协议字段语义与兼容策略,便于后续排障与升级。
2026-04-29 10:46:38 +08:00
liuwei
e9195e4a13 修复群消息被MaiBot归类为私聊的会话结构歧义
变更项:\n1. 调整 outbound APIMessage 构建逻辑:群聊场景下 receiver_info 仅保留 group_info,不再携带 receiver_info.user_info。\n2. 保留 sender_info.user_info 作为发言人身份来源,避免丢失‘是谁说的’上下文。\n3. 通过结构去歧义,避免下游服务将群消息优先按用户私聊会话归档。\n4. 增补详细中文注释,明确该约束的原因与协议意图。
2026-04-29 10:43:44 +08:00
liuwei
3ac728e697 调整MaiBot路由判定为roomid非空即群聊
变更项:\n1. 修改 _resolve_chat_route 首段规则:只要 plugin message 的 roomid 非空,即直接判定为群聊。\n2. 去除对 roomid 必须以 @chatroom 结尾的强依赖,修复你当前场景下群消息被误判为私聊的问题。\n3. 保留原有后续兜底链路与诊断日志,便于后续继续观察上游字段质量。
2026-04-29 10:40:09 +08:00
liuwei
e9a31337bf 为MaiBot适配器增加插件级DEBUG日志开关
变更项:\n1. 新增 MaiBotAdapter.log_level 配置项,支持 INFO/DEBUG,默认非法值自动回落 INFO。\n2. 在插件内新增 _log_runtime 方法,根据 log_level 动态输出运行日志级别,便于在不改全局日志配置的情况下单独拉高该插件观测粒度。\n3. 将适配器关键运行日志(初始化、连接、收发包、ACK、路由判定、入队、回复决策)统一接入 _log_runtime。\n4. 在插件配置中增加详细中文注释,并按你的要求将 log_level 设为 DEBUG。
2026-04-29 10:37:42 +08:00
liuwei
84992bcd6c 修复MaiBot适配器群聊误判为私聊并补充路由诊断日志
变更项:\n1. 新增统一会话路由解析函数 _resolve_chat_route,按 plugin_roomid -> wx_roomid -> wx_to_user -> 原始报文 From/ToUserName 逐级兜底识别群聊。\n2. can_process 与转发构包统一使用同一套路由判定,避免采集判定和发送判定不一致。\n3. 在 additional_config 中新增 abot_route_type 与 abot_route_source,便于服务端链路排查。\n4. 补充详细路由日志,记录 route_type、route_source、plugin_roomid、wx_roomid、wx_to_user、sender、message_id。\n5. 入队日志增加 route_type/route_source 字段,便于快速筛查是否持续发生私聊误判。
2026-04-29 10:36:00 +08:00
liuwei
64e9e620b8 先关闭一下maibot插件 2026-04-29 10:20:18 +08:00
liuwei
a6f3eb9688 重构MaiBot适配器为官方API Server长连接采集模式并补全Dashboard说明 2026-04-29 09:58:50 +08:00
liuwei
d22e380c4e 新增 MaiBot 对话适配插件并补充 192.168.2.240 部署说明 2026-04-29 09:04:09 +08:00
liuwei
ec29bc7551 补充 ai_auto_response 的完整模型决策日志
变更项:
1. 新增 LLM_RESULT 日志,记录模型输出的 should_reply、reply_mode、topic、reply 预览和原始响应预览。
2. 新增 BLOCKED_REPLY 日志,记录模型原本想回复但被 post_llm_cooldown、过期、覆盖或重复回复拦下的具体原因。
3. 保留原有 SKIP 与 SENT 日志,使模型判定、发送阻断和最终发出三段链路可以串起来排查。
2026-04-28 17:51:10 +08:00
liuwei
348353fe8c 收紧 ai_auto_response 的 Dify 回复判定提示词
变更项:
1. 调整 Dify 工作流主提示词与降级提示词,明确 reply_mode_hint、flow_state、acceptance_state 等 control 字段只是参考信号,不是硬指令。
2. 强化 should_reply 由模型统一裁决的原则,增加最近已有真人在答、群接受度偏冷、路过附和消息优先不回的约束。
3. 更新 Dify 简化接入文档中的 control 示例与收敛建议,使本地 LLM-first 逻辑与工作流提示保持一致。
2026-04-28 17:45:25 +08:00
liuwei
e7d68a89c2 下放 ai_auto_response 参与判断到 LLM
变更项:
1. 新增 decision 配置并重写 ResponsePlanner,将是否送模型的本地粗筛收缩为轻量入口判断,允许在主动参与开启时更多普通文本进入模型。
2. 将 cooldown 从模型前挡板后移到 LLM 判定 should_reply 之后,改为发送闸门,减少本地提前拦截。
3. 调整上下文与 prompt 控制信息,明确 reply_mode 只是本地 hint,并把 acceptance_state、solver 等信号直接下放给模型统一判断是否参与和如何回复。
2026-04-28 17:41:02 +08:00
liuwei
6359b11951 回调 ai_auto_response 触发频率并放宽群问句参与策略
变更项:
1. 为非定向问句增加 allow_undirected_question 标记,允许在相关话题、心流升温或群接受度较高时进入模型。
2. 保留普通闲聊问句的保守过滤,避免 bot 重新回到见问就抢答的状态。
3. 将 question_requires_at 调整为 false,并下调 flow 与 cooldown 的参与门槛,恢复更自然的群聊回复频率。
2026-04-28 17:35:49 +08:00
liuwei
da5cf004f6 移除误提交的Dify备份文件
1. 删除误纳入版本管理的 plugins/dify/api-bot (6).yml。

2. 保留 api-bot.yml 的流程优化变更不受影响。
2026-04-28 17:21:22 +08:00
liuwei
8178dddd8a 优化Dify聊天流程防御触发逻辑
1. 去除固定回怼话术,改为由LLM根据当前消息动态生成简短拒绝回复。

2. 明确防御判断只基于当前消息,历史聊天记录仅用于补充语境。

3. 避免正常感谢、反馈等消息因历史内容污染而误触发防御回复。
2026-04-28 17:21:07 +08:00
liuwei
6003aa7beb 支持Markdown包裹的base64图片直发
1. 为Dify聊天插件新增Markdown图片语法解析,支持从 ![image](data:image/...;base64,...) 中提取内联图片。

2. 兼容JSON里text/answer/result/content字段承载Markdown图片的返回格式。

3. 避免绘图模型返回Markdown图片时被误判为普通文本而继续走md2image。
2026-04-28 16:37:35 +08:00
liuwei
3b2dcb5cae 支持Dify返回base64图片直接发送
1. 为Dify聊天插件新增内联图片识别逻辑,支持data URL、纯base64和JSON内b64_json图片返回。

2. 当工作流返回base64图片时,直接通过send_image_message发送图片字节,避免误走md2image文本转图流程。

3. 调整响应清洗逻辑,避免对base64图片内容做文本裁剪导致图片数据损坏。
2026-04-28 16:36:15 +08:00
liuwei
008a38cdee 修正AI绘图插件默认模型配置
1. 将ai_gen_image插件默认模型从gpt-image-1调整为gpt-image-2,与image.generate场景保持一致。

2. 解决插件本地默认模型覆盖全局路由模型后导致的model_not_found问题。

3. 已通过真实图片生成请求验证,成功落盘PNG图片。
2026-04-28 16:13:06 +08:00
liuwei
5e144fb481 新增AI绘图统一LLM配置
1. 在config.yaml中新增AI绘图专用的OpenAI兼容backend,接入用户提供的网关地址与密钥。

2. 在llm.scenes中新增image.generate场景,统一路由AI绘图插件请求。

3. 将ai_gen_image插件默认scene切换为image.generate,实现开箱即用。
2026-04-28 16:03:39 +08:00
liuwei
075fba65ec 改造AI绘图插件接入统一LLM路由
1. AI绘图插件新增基于项目llm scene/backend的OpenAI兼容图片生成调用逻辑。

2. 保留pollinations旧版回退路径,避免未配置统一网关时功能中断。

3. 补充插件配置项与详细中文注释,支持图片模型、尺寸、质量和图片接口endpoint配置。
2026-04-28 16:01:57 +08:00