Commit Graph
100 Commits
Author SHA1 Message Date
liuwei 0ea7b61951 增加常驻群长期记忆与成员轻画像输入 2026-04-24 15:44:03 +08:00
liuwei d0480691c3 修复最近上下文只取到当前消息的问题 2026-04-24 15:37:37 +08:00
liuwei 2fe6cbb758 放宽回复长度为0到30字并降低人格提示对输出的干扰 2026-04-24 15:32:38 +08:00
liuwei aa94687c19 去除本地回复硬裁剪并改为分段多次发送 2026-04-24 15:28:07 +08:00
liuwei ee1532b2f5 放宽自动回复长度为自然浮动并统一30字上限 2026-04-24 15:24:48 +08:00
liuwei 66b0fe16da 拆分群昵称与正文避免话题识别被昵称污染 2026-04-24 15:19:14 +08:00
liuwei 5dc72bf7d2 放宽最近上下文到30条并取消中途截断 2026-04-24 15:12:42 +08:00
liuwei cd2024dfb5 优化 ai_auto_response 仅回复同群最新消息
- 为同群消息引入递增序号,记录当前群的最新消息版本
- 在出队前跳过已被同群更新消息覆盖的旧消息
- 在发送前再次检查消息是否已被覆盖,避免 LLM 慢返回后补发旧回复
- 保持实现仅影响同一群内的消息时效,不干扰其他群的并行处理
2026-04-24 15:06:05 +08:00
liuwei 7cee7a99e2 优化 ai_auto_response 队列过期丢弃与超时策略
- 为 ai_auto_response 队列消息记录入队时刻,并增加消息过期丢弃机制
- 在出队前与发送前各检查一次消息是否过期,避免补发过时群聊回复
- 为 skip 日志补充 age 字段,便于观察排队老化情况
- 将 ai_auto_response 外层总超时收紧到 20 秒,并新增 message_expire_sec=12 配置
- 将 Dify auto_reply.group 请求超时收紧到 15 秒,并关闭重试以提升群聊时效性
2026-04-24 15:03:35 +08:00
liuwei ed7af06555 修复 ai_auto_response 思考标签泄露清洗问题
- 增强 LLMResultParser 对 <think> 思考块的清洗能力
- 兼容完整的 <think>...</think> 返回
- 兼容只有开标签、没有闭合标签的不完整思考块,避免将 Thinking about your request 透传到群里
- 兼容单独残留的 </think> 碎片标签
2026-04-24 14:47:57 +08:00
liuwei f593f5dd90 优化 ai_auto_response 模型侧定向辱骂响应策略
- 增加 directed abuse 场景识别,只作为模型输入信号,不做本地硬编码回复
- 在触发与规划层为定向挑衅场景单独标记,并强制走 social_short 短回复模式
- 将 abuse_directed 信号写入 Dify control,帮助模型稳定识别被点名挑衅场景
- 优化 Dify 主提示词与保守降级提示词,要求 abuse_directed 时默认短回且不要空掉
- 保持回复仍由模型生成,避免本地模板化回复暴露机器人痕迹
2026-04-24 14:44:33 +08:00
liuwei 058a7aec80 收紧 ai_auto_response 群内问句主动回复策略
- 为疑问句增加 question_detected 形态标记,区分问句形态与真正指向 bot 的提问
- 仅在 @bot、点 bot 名字或明确定向时才把疑问句升级为问答触发
- 阻断普通群问句通过 topic 主动接话路径进入模型,避免 bot 抢答群友互问
- 将 social call 收紧为 名字/别名 + 召唤词 的组合,减少 帮忙看/看看 等泛词误触发
- 在配置中增加 bot_name_keywords 与 social_call_verb_patterns,便于后续按人格扩展
2026-04-24 14:26:08 +08:00
liuwei 571008a04b 优化 ai_auto_response 三套人格与 Dify 工作流
- 收紧小牛、于谦、林志玲三套人格描述,使其更适合群聊短回复且保留各自特点
- 同步调整人格 preset 的 style 文案,增强三种人格的区分度
- 优化 Dify 工作流主提示词,强化 control 长度约束、按需使用记忆和严格 JSON 输出
- 下调主模型温度并将失败分支改为更保守的降级生成策略
- 修复降级分支仍指向主输出节点的问题,补充单独的降级输出节点
- 将 images 输入改为非必填,并为工作流补充中文注释说明
2026-04-24 14:21:13 +08:00
liuwei 23544dca7a 优化 ai_auto_response 拟人化短回复并统一走 Dify 链路
- 移除普通 chat 调用分支,统一通过 Dify 请求生成回复
- 收紧小牛人格描述,强化短句、熟人感和非客服式表达
- 新增提示策略,按场景启用成员记忆/群事实/向量记忆,降低记忆压迫感
- 下调回复长度与上下文压缩配置,使默认回复更接近 10 字级别
- 通过 compileall 验证 ai_auto_response 插件语法可用
2026-04-24 14:12:26 +08:00
liuwei fa51af9d4f 调整尺寸 2026-04-24 09:02:09 +08:00
liuwei d981caff70 调整模型 2026-04-24 09:01:31 +08:00
liuwei c208dcb2fb 修复后台首屏无样式闪烁并保留空白页兜底
变更项:

- 恢复 app-container 初始 opacity 为 0,避免页面在样式未就绪时先渲染无样式内容

- 新增 DOMContentLoaded 延迟兜底脚本:若 Vue mounted 未执行则自动补加 loaded,避免整页空白

- 保持现有导航与业务逻辑不变,仅修复页面首屏加载体验
2026-04-23 16:09:25 +08:00
liuwei 5d67bf8795 提交本地cookie 2026-04-23 15:53:46 +08:00
liuwei 64a2253813 移除抖音解析中的yt-dlp链路并保留可用接口解析
变更项:

- 删除抖音插件内所有 yt-dlp 解析与标准化实现代码,避免 Fresh cookies 问题

- 解析链路简化为:本地业务接口(内网)-> 外部接口兜底

- 移除 requirements 中 yt-dlp 依赖,减少无效依赖和运行噪音

- 使用你提供链接完成本地验证,确认可正常获取视频地址
2026-04-23 15:53:02 +08:00
liuwei 80829dbb21 抖音解析链路调整为本地业务优先并优化yt-dlp降噪
变更项:

- 调整解析优先级为:内网本地业务解析 -> 外部接口 -> yt-dlp兜底

- 避免在本地业务已可用时先触发 yt-dlp 导致 Fresh cookies 警告

- 对 yt-dlp 的 Fresh cookies 报错降级为 info 日志,减少误报噪音

- 保持现有消息发送结构不变,仅优化解析流程与日志体验
2026-04-23 15:48:35 +08:00
liuwei e0fa6e31ec 调整抖音解析优先级为本地提取优先
变更项:

- 将抖音解析链路调整为:本地提取 -> 内网接口 -> 外部接口

- 本地提取失败后再走接口兜底,满足你要求的本地优先策略

- 保持现有返回结构与发送流程不变,仅调整解析优先级
2026-04-23 15:37:20 +08:00
liuwei bb8894097e 抖音解析新增Cookie配置并接入本地后备提取链路
变更项:

- 配置文件新增 cookie 与 cookie_file 两个参数,支持账号态提取

- 解析请求与媒资下载统一接入请求头构建,按配置自动注入 Cookie

- yt-dlp Python/命令行两种后备提取方式均支持 Cookie 注入

- Cookie 注入策略为 cookie_file 优先、cookie 次之,提升受限场景下无水印链接提取成功率
2026-04-23 15:34:12 +08:00
liuwei 86efbb337c 排除temp目录并移除误提交的临时子模块
变更项:

- .gitignore 新增 temp/ 规则,后续提交默认忽略临时目录

- 从版本控制中移除 temp/ext/Douyin_TikTok_Download_API(仅取消跟踪,不删除本地文件)
2026-04-23 15:28:29 +08:00
liuwei e942ee70ed 抖音解析新增本地无水印提取后备链路
变更项:

- 在抖音解析插件中加入三级解析策略:内网接口 -> 外部接口 -> 本地提取后备

- 新增本地提取能力:优先使用 yt_dlp Python 库,失败后自动降级到 yt-dlp 命令行

- 新增 yt-dlp 数据标准化映射,统一输出视频/图集结构(url/images/title/author/cover)

- 新增格式选择策略:优先含视频轨道且 http/https 的高质量链接,降低发送失败概率

- requirements 增加 yt-dlp 依赖,确保后备方案可安装可运行
2026-04-23 15:27:00 +08:00
liuwei c22b4cf055 优化响应指令管理作用域选择交互,支持群/用户下拉搜索
变更项:

- 查询区作用域ID改为下拉选择:群聊与私聊均支持按名称搜索

- 新增私聊联系人数据加载逻辑,接入 /contacts/api/personal

- 新增作用域切换自动清空ID逻辑,避免群ID/用户ID串用

- 新增加载失败兜底提示,并统一展示 名称(wxid) 便于识别
2026-04-23 14:26:46 +08:00
liuwei aa56a7ca02 移除响应指令管理规则测试功能及接口
1. 删除页面中的规则测试区域,简化管理端交互。

2. 删除前端关联状态与方法,避免无用请求与冗余代码。

3. 删除后端/api/test_match接口,保持蓝图能力与页面一致。
2026-04-23 14:23:35 +08:00
liuwei b83bb8eb37 限制拍一拍规则仅在用户拍机器人本人时触发
1. 新增事件解析约束:PAT事件仅当pattedusername等于当前机器人wxid时生效。

2. 用户互拍等非拍机器人场景返回空事件,不再命中拍一拍规则。

3. can_process与process_message统一复用该事件解析结果,避免重复判断不一致。
2026-04-23 14:16:55 +08:00
liuwei 45518cdccf 修复拍一拍事件误判触发问题
1. 移除基于<patMsg>子串的PAT判定,避免普通appmsg被误识别为拍一拍事件。

2. 事件识别收敛为sysmsg type=pat结构化解析优先,系统消息含拍了拍作为兜底。

3. 保持原有拍一拍功能可用,同时杜绝无拍一拍场景误触发。
2026-04-23 14:14:51 +08:00
liuwei 76f2124765 修复响应指令语音发送格式误判导致ffmpeg解码失败
1. 语音发送逻辑改为优先按文件后缀推断格式,参考message_push.py的稳定实现。

2. 新增语音发送兜底重试机制:首选格式失败后自动尝试mp3/wav/amr。

3. 增加详细日志,便于排查配置格式与文件真实格式不一致问题。
2026-04-23 14:12:30 +08:00
liuwei 37d6c36e2c 修复中文文件名上传wav误判为不支持类型
1. 上传扩展名校验改为基于原始文件名提取,避免secure_filename清洗后丢失点号导致误判。

2. 重建安全文件名时分离basename和扩展名,兼容中文文件名与无效basename场景。

3. 继续保留媒体类型白名单校验,不放宽安全边界。
2026-04-23 13:50:02 +08:00
liuwei df6f9f4cfa 修复规则缓存写入Redis时datetime序列化异常
1. 在规则服务中新增JSON安全转换逻辑,递归处理dict/list结构。

2. 将datetime/date统一转换为字符串后再写入Redis,避免Object of type datetime is not JSON serializable。

3. 保持缓存结构兼容,不影响现有规则匹配流程。
2026-04-23 13:39:43 +08:00
liuwei cd56723090 增强拍一拍事件识别并解析sysmsg pat结构
1. 新增对 sysmsg type=pat 的结构化解析,兼容 fromusername/chatusername/pattedusername/template 等字段。

2. 拍一拍事件优先走XML结构识别,不再仅依赖关键词匹配。

3. 将拍一拍元数据注入响应模板上下文,支持在文案中使用 pat_* 占位符。
2026-04-23 13:33:59 +08:00
liuwei c2bc110c57 响应指令媒资发送增加内存缓存机制
1. 在趣味指令插件中新增媒资缓存:首次发送读磁盘,后续优先从内存读取,减少重复I/O。

2. 缓存键包含路径+mtime+size,文件更新后可自动回源读取新内容。

3. 增加单文件上限与总容量上限,并采用LRU淘汰策略防止内存膨胀。

4. 图片语音视频发送链路改为优先使用缓存字节数据发送。
2026-04-23 13:32:40 +08:00
liuwei 3c7becd94f 响应指令管理支持媒体上传并自动回填路径
1. 新增响应指令管理专用媒体上传接口,按图片语音视频白名单校验并分目录存储。

2. 在动作配置UI中为图片语音视频增加上传按钮,上传成功后自动回填本地绝对路径。

3. 保留结构化动作表单,进一步减少手工维护路径和JSON的场景。
2026-04-23 13:30:17 +08:00
liuwei 23b9d76b06 优化响应指令管理菜单与动作配置交互
1. 将插件导航菜单名称调整为响应指令管理。

2. 将响应动作编辑从手写JSON改为结构化表单,按文本图片语音视频卡片App分类型维护字段。

3. 新增动作类型切换默认值、字段校验与提交映射逻辑,降低维护成本与配置出错率。
2026-04-23 13:09:11 +08:00
liuwei d61fb8bc8a 新增趣味指令剧本功能并接入拍一拍事件触发
1. 新增趣味指令规则数据层与服务层,支持应用级缓存+Redis+MySQL三级读取与缓存刷新。

2. 新增 fun_command_play 插件,支持文本/图片/语音/视频/卡片/App 多媒体响应,并接入群权限开关。

3. 新增拍一拍事件识别(PAT)并纳入统一触发模型。

4. 新增后台页面与API:规则增删改查、启停、命中测试。

5. 将趣味指令剧本接入 Dashboard 菜单与蓝图注册,并补充数据库迁移脚本。
2026-04-23 12:31:52 +08:00
liuwei b1f435c8ff 增加LLM返回空内容拦截并提示总结失败 2026-04-23 11:54:22 +08:00
liuwei 71c64970e6 调整总结卡片容器宽度以适配780截图视口减少左右留白 2026-04-23 11:46:36 +08:00
liuwei 5a481f1852 调整总结卡片为上大下小并恢复模板截图宽度780 2026-04-23 11:43:15 +08:00
liuwei 60b372cd88 配置模板截图视口参数并输出生效值日志 2026-04-23 11:40:11 +08:00
liuwei f7e1cf497a 调整模板 2026-04-23 11:36:57 +08:00
liuwei 3e93188efb 支持html转图传入视口宽度并在总结模板中透传配置 2026-04-23 11:27:37 +08:00
liuwei d83bf9bbb6 清理message_summary临时渲染图片文件 2026-04-23 11:24:58 +08:00
liuwei 4f0b3c041e message_summary模板模式改为JSON优先解析并同步Dify提示词 2026-04-23 11:24:37 +08:00
liuwei e87eeba256 按用户模板优先重建群总结卡片样式
- gemini_summary_card 接入 Tailwind CDN 与 Font Awesome CDN,优先沿用用户原模板样式体系\n- 按 420px 高密度技术简报风格重排模块:KPI、雷达标签、三段论话题卡、资源库、双栏挂件、深色知识点、贡献者头像\n- 保持 main.py 与模板字段对齐:资源库结构化项、交易/待解/知识点/贡献者模块数据稳定输出\n- 降低自定义发散样式,尽可能贴合 gemini-code 视觉规范
2026-04-23 11:10:55 +08:00
liuwei a55121aa05 切换群总结模板为线上字体优先策略
- gemini_summary_card 模板新增 Google Fonts 引入(Inter / JetBrains Mono)\n- main.py 调整本地字体注入逻辑,停止注入 Inter/JetBrains 本地 @font-face\n- 保留 simhei/simsun 中文兜底字体,避免外网不可达时中文显示异常\n- 统一字体变量栈,优先线上字体,回退本地中文与系统字体
2026-04-23 11:06:42 +08:00
liuwei c4f29084bc 按design_summary规范重构群总结卡片模板
- gemini_summary_card 调整为 420px 固定宽度与高密度小字号布局,贴合 Clean Technical 规范\n- 话题卡片严格采用 Background/Key Points/Conclusion 三段论结构并保留结论高亮块\n- 个人雷达标签改为药丸样式并增加彩色高亮逻辑,未命中维持 Slate 背景\n- 新增资源库列表的 GitHub 风格行结构(左图标、中标题、右箭头)\n- 双栏挂件恢复 Marketplace 与 Unresolved Pool 并排展示,节省纵向空间\n- 核心知识点改为深色高反差模块,强化长图视觉焦点\n- main.py 新增模板命名模块与资源库结构化提取,保障模板字段与数据一致
2026-04-23 11:02:45 +08:00
liuwei 93e86f98e8 调整模板 2026-04-23 10:54:05 +08:00
liuwei 78b9b39efc 调整模板 2026-04-23 10:50:47 +08:00
liuwei 9072e7d60b 收敛summary模板渲染并对齐gemini-code版式
- main.py 新增模板命名模块提取:Shared Resources/Marketplace/Unresolved/Core Points/Top Contributors\n- 新增贡献者昵称抽取与文本长度控制,提升模板数据稳定性\n- gemini_summary_card.html 重构为接近 gemini-code 的模块顺序与样式语言\n- 恢复 Key Discussions -> Resources -> Marketplace/Unresolved -> Core Points -> Contributors 的版式节奏\n- 保持模板为纯展示层,使用 main.py 结构化数据喂给模板,减少样式与内容错位
2026-04-23 10:49:17 +08:00
liuwei 56aa532aa1 优化template分支提示词以贴合gemini-code模板
- 重写 Dify 工作流 template 分支 system prompt,按 gemini-code 模块骨架输出\n- 增加 Personal Interest Radar/Key Discussions/Shared Resources/Marketplace/Unresolved/Core Knowledge/Top Contributors 等区块约束\n- 强化长度与结构要求:固定5话题、每话题字段完整、短句高信息密度\n- 保留昵称原样与纯 Markdown 输出约束,避免影响模板渲染解析
2026-04-23 10:41:23 +08:00
liuwei cc231506cb 群总结工作流支持markdown/template双提示词分支
- 在 Dify 工作流新增 summary_mode 输入变量,支持 markdown/template 模式识别\n- 新增 if-else 分支节点,根据 summary_mode 路由到不同 LLM 提示词\n- 保留原 Markdown 提示词链路,新增 Template 专用紧凑提示词链路\n- 为 template 分支补充独立输出节点,并接入失败回退链路\n- 在 message_summary 插件请求输入中新增 summary_mode 字段,传递当前渲染模式
2026-04-23 10:38:18 +08:00
liuwei 6ff211fdd3 清理误提交的临时渲染图片
- 移除 temp/md2image/summary_demo_render.png 版本跟踪\n- 保持仓库只包含业务代码与配置变更
2026-04-23 10:26:20 +08:00
liuwei 30a7d05dbe 回退群总结为Markdown自动渲染模式
- 将 message_summary 输出模式从 template 切回 markdown\n- 恢复历史 md2image 渲染链路,避免模板样式偏差影响上线
2026-04-23 10:25:51 +08:00
liuwei 6fec1025de 按5话题结构重排总结渲染并优化模板适配
- 新增话题卡片聚合逻辑:从结构化分节中提取并合并为最多5个话题\n- 在渲染阶段识别并归并时段/参与人数/核心观点/客观分析/亮点瞬间,避免详情平铺\n- 新增辅助区块抽取(交易/资源/荣誉榜等),以独立模块展示减少正文拥挤\n- 调整Gemini模板为固定5话题卡片布局,控制单话题条目上限,降低超长截图风险\n- 修正统计展示口径兜底:限制Text和Active不超过Msgs,避免出现反直觉指标\n- 保留旧字段兼容,确保非Gemini模板仍可回退渲染
2026-04-23 10:21:00 +08:00
liuwei 845b58ecc8 增强 Gemini 总结模板资讯密度与统计展示
- 新增模板统计视图模型,接入消息总数/活跃人数/文本量/媒体量等核心指标\n- 追加深度统计卡片(Links/Emoji/Video/Sections/Bullets/Quotes/Code)并展示活跃等级\n- 从结构化章节提取话题雷达标签与核心看点,提升信息可读性\n- 调整模板为高信息密度布局,参考 gemini-code 风格进行 KPI、标签与双栏信息区展示\n- 模板模式下停止在正文拼接群概览与 tokens 文本,改由可视化卡片与页脚指标展示\n- 完善渲染链路参数传递:message_stats 与 metadata 全量传入模板渲染
2026-04-23 10:12:55 +08:00
liuwei dfe7d20e1e 接入 Gemini 同款本地字体并写入 fonts 目录
- 新增 fonts/Inter-Variable.ttf 与 fonts/JetBrainsMono-Regular.ttf 本地字体文件\n- 调整 message_summary 本地字体注入逻辑,优先注册 Inter 与 JetBrains Mono\n- 保留 simhei/simsun 作为中文回退字体,避免中文缺字\n- 更新字体变量栈,正文与代码字体与 Gemini 模板设计对齐
2026-04-23 09:59:45 +08:00
liuwei 6cf63bc494 改为本地 fonts 字体渲染方案
- 在 message_summary 插件中新增本地字体 CSS 构建逻辑,动态注入模板\n- 使用 fonts/simhei.ttf 与 fonts/simsun.ttf 生成 @font-face,避免外网字体依赖\n- Gemini 总结模板移除 Google Fonts,改用本地字体变量与系统回退栈\n- 补充详细中文注释,说明离线字体加载与容错策略
2026-04-23 09:57:25 +08:00
liuwei 31e488e759 优化 Gemini 总结模板尺寸与字体策略
- 调整卡片宽度与外层留白,解决背景占比过大、内容偏小问题\n- 放大正文与标题字号,提升截图可读性\n- 引入 Inter/JetBrains Mono 字体加载并保留系统回退\n- 补充中文注释说明关键样式策略
2026-04-23 09:53:59 +08:00
liuwei b197256c5d 修复登录页错误提示无文本:避免与Jinja模板变量冲突
变更项:

1. 登录页错误提示从 {{ errorMessage }} 改为 v-text 绑定。

2. 解决密码错误时仅显示红色框而不显示文案的问题。
2026-04-23 09:49:41 +08:00
liuwei 59953091f0 修复小屏按钮文案丢失:保留修改密码与退出的文本显示
变更项:

1. 移除 768px 断点下对 account/logout 按钮内部 span 的隐藏规则。

2. 保留小屏文案显示,仅缩小按钮内边距与字号,避免只剩图标。
2026-04-23 09:47:21 +08:00
liuwei 3e5b184440 修复小屏样式:优化修改密码入口与弹窗的移动端布局
变更项:

1. 顶栏新增 1024/768 响应式规则,解决用户信息与改密/退出按钮在小屏挤压错位问题。

2. 小屏下隐藏 user-pill,收紧按钮间距与尺寸,避免导航和操作区互相挤占。

3. 为修改密码弹窗增加 custom-class,宽度改为视口自适应,防止移动端超宽。

4. 仅对密码弹窗在超小屏启用标签堆叠布局,修复表单字段显示紊乱。
2026-04-23 09:45:09 +08:00
liuwei 32eabf880d 修复后台空白页:更正base模板标签闭合与脚本兼容性
变更项:

1. 修复 base.html 顶栏修改密码按钮闭合错误(el-button 被误写为 div)。

2. 移除可选链写法,改为兼容语法,避免低版本浏览器脚本解析失败。

3. 调整 app-container 默认可见,避免脚本异常时整页因 opacity=0 看起来空白。

4. 确认密码校验函数使用稳定上下文引用,避免 this 访问异常。
2026-04-23 09:42:20 +08:00
liuwei 35f1fbc978 群总结模板升级:新增Gemini风格卡片并优化Markdown富标签渲染
变更项:

1. 新增 templates/gemini_summary_card.html,按 Gemini 风格实现移动卡片化总结模板。

2. message_summary 渲染链路升级:支持更完整的 Markdown 富标签转 HTML(标题/列表/表格/代码块/引用等)。

3. 增加渲染后 HTML 安全过滤,清理 script/iframe/on* 事件与 javascript: 链接。

4. 增加 markdown 依赖缺失时的轻量回退解析,保证插件在最小环境下可用。

5. 默认输出配置切换为 template,并指向新 Gemini 风格模板。
2026-04-23 09:37:31 +08:00
liuwei f438f0f955 后台账号体系改造:接入t_admin_数据库账号与前端改密
变更项:
1. 新增 db/admin_account_db.py,提供 t_admin_accounts 表初始化、PBKDF2口令哈希、登录校验、登录信息回写与密码更新能力。
2. DashboardServer 启动时接入账号数据层,自动建表并把旧配置默认账号迁移为数据库账号种子。
3. 重构 auth 登录逻辑:优先走数据库账号鉴权,保留旧配置账号回退;新增 /api/auth/change_password 接口支持在线修改密码。
4. base.html 增加顶部修改密码入口与弹窗表单,前端可直接提交旧密码与新密码完成改密。
5. login.html 增强小屏适配:允许纵向滚动、768以下隐藏展示侧栏并优化输入区间距与字号,修复移动端登录体验。
6. 新增迁移脚本 db/scripts/migrations/20260423_add_admin_account_table.sql,便于独立数据库升级。
2026-04-23 09:09:19 +08:00
liuwei 0995c8b03f 调整模糊 2026-04-22 12:34:26 +08:00
liuwei 2ae43e4805 调整模糊 2026-04-22 12:30:22 +08:00
liuwei 3e52ba2a82 番号插件新增封面全图模糊,发送前自动遮罩处理
变更项:

1. 在 fanhao_search 插件中新增全图高斯模糊处理函数,发送封面前统一执行。

2. 增加 cover_blur_enable 与 cover_blur_radius 配置项,支持开关和模糊强度调节。

3. 封面处理失败时回退原图并记录日志,保证主流程可用。

4. 初始化日志补充模糊配置参数,便于排查线上行为。
2026-04-22 12:29:11 +08:00
liuwei 62f7a9f2d4 加入磁力配置 2026-04-22 12:26:36 +08:00
liuwei f0f9dd26b1 加入磁力配置 2026-04-22 12:23:35 +08:00
liuwei e1640e1f33 番号插件改为直连JavBus解析,移除外部API服务依赖
变更项:

1. 重写 fanhao_search 主逻辑,参考 ovnrain/javbus-api 直接抓取 JavBus 详情页并解析字段。

2. 增加 gid/uc 提取与 AJAX 磁力表解析,支持可选磁力返回及字幕优先策略。

3. 修复封面发送链路:改为先下载图片 bytes 再调用 send_image_message。

4. 配置项改为 javbus_base_url/http_proxy,不再需要部署 javbus-api 服务。

5. 增强登录拦截场景处理:详情容器缺失或 login 页时返回明确提示。
2026-04-22 12:19:48 +08:00
liuwei 25cc9df8e2 重构番号插件为JavBus API在线查询版,替换失效Mongo方案
变更项:

1. 完全替换 fanhao_search 主逻辑,改为参考 koishi-plugin-javbus 的在线接口查询。

2. 移除 MongoDB 依赖与本地集合查询,改为 aiohttp 调用 javbus-api。

3. 新增 /api/v1/movies/{id} 与 /api/movies/{id} 双路由回退,提升兼容性。

4. 保留原有群权限与积分扣费流程,并增强异常日志。

5. 更新配置:新增 api_prefix、auth_token、movie_detail_paths、allow_download_link、allow_preview_cover 等参数。
2026-04-22 12:11:01 +08:00
liuwei 40ba461418 新增GitHub OpenGraph插件:自动解析GitHub链接并发送预览图
变更项:

1. 新增 github_opengraph 插件主逻辑,支持 fuzzy/exact 两种匹配模式。

2. 新增群功能权限注册(GITHUB_OPENGRAPH),对齐现有群权限开关机制。

3. 实现 GitHub 链接标准化、去重、限流、OpenGraph URL 生成与图片下载发送。

4. 新增 config.toml,提供 enable、match_mode、max_links_per_message、hash_salt、request_timeout_seconds 配置。

5. 新增 README 使用说明与示例。
2026-04-22 11:40:17 +08:00
liuwei fc8af8ff75 fix(schedule): 任务页上次执行时间改为日志兜底
- 新增批量查询接口 get_latest_logs_map,从 t_plugin_schedule_logs 获取各任务最新执行记录

- 插件任务列表拼装时优先用运行时数据,缺失则回填数据库最新日志

- 修复重启后任务页 last_run_at/last_status 显示为空的问题
2026-04-22 09:49:15 +08:00
liuwei 963d44d82a 剔除无效文件 2026-04-22 09:45:08 +08:00
liuwei 67aead93ca refactor(douyu): 日报改为插件定时任务配置驱动
- 新增 get_schedule_actions,注册斗鱼弹幕日报推送动作(douyu_daily_report_push)

- 新增 run_scheduled_action,支持按群执行、手动覆盖日期与强制重生成参数

- 移除 every_minutes(5) 的旧日报 tick 注册,避免与插件调度重复触发
2026-04-22 09:43:47 +08:00
liuwei 693e6dae03 调整token 2026-04-21 17:18:55 +08:00
liuwei 454d45fcc2 refactor(trendradar): 合并说明文档到权限插件目录
- 将 webhook 对接与群权限说明迁移到 plugins/trendradar_permission/README.md

- 删除已无实际职责的 plugins/trendradar_webhook 文档目录内容

- 保持目录职责一致:权限插件目录承载配置与使用说明
2026-04-21 16:39:21 +08:00
liuwei 055406d207 feat(trendradar): 新增空权限插件并接入webhook群权限校验
- 新建 trendradar_permission 空插件,仅注册 TRENDRADAR_WEBHOOK 功能用于后台群级开关

- webhook 发送前强制校验群权限,未开启群加入 blocked_groups 并拦截

- 更新对接文档,补充权限开关的启用步骤与返回字段说明
2026-04-21 16:37:23 +08:00
liuwei ace2af7dba feat(webhook): 新增TrendRadar webhook适配入口
- 新增 /webhook/trendradar 接口,支持TrendRadar通用Webhook推送

- 支持 token 校验、默认目标群配置、可选payload覆盖目标群

- 将Webhook蓝图注册到Dashboard服务,并补充配置项

- 新增对接说明文档,提供TrendRadar环境变量模板示例
2026-04-21 16:27:55 +08:00
liuwei a69c89cfb1 不显示路径 2026-04-21 15:52:51 +08:00
liuwei b61d20612e fix(value_rank): 社交边标签改为离线偏移避免遮挡线条
- 边标签由中点改为法线方向偏移显示,不再压在线条上

- 标签左右交错摆放,降低多边场景下重叠概率

- 偏移距离随线宽自适应并设置最小值,保证可读性
2026-04-21 15:49:08 +08:00
liuwei 6f4efcfa72 feat(value_rank): 社交边标签改为昵称并增加恶搞关系文案
- 关系图边标签新增双向@次数明细,并在边中点展示

- 标签从 wxid 改为群昵称显示,提升可读性

- 增加恶搞关系标签规则(如双向奔赴、单向上头、单箭头输出等)
2026-04-21 15:47:52 +08:00
liuwei 1742f19120 不显示路径 2026-04-21 15:32:21 +08:00
liuwei 0b43bb7fe9 feat(value_rank): 社交关系图支持群友头像节点渲染
- 关系图节点优先使用 ContactManager 头像地址渲染,缺失头像自动回退昵称首字

- 新增 SVG clipPath 头像裁剪层与节点边框视觉策略,提升核心人物识别度

- 模板新增 __NODE_DEFS__ 占位符,支持头像裁剪定义注入
2026-04-21 15:06:42 +08:00
liuwei cfae6cfe30 feat(value_rank): 文本消息统一80秒自动撤回
- 新增文本发送封装,身价插件所有文本回复统一登记自动撤回

- 撤回时长默认80秒,可通过 text_auto_revoke_seconds 配置调整

- 社交关系图图片发送保持不撤回,仅文本消息执行撤回策略
2026-04-21 14:45:50 +08:00
liuwei 7d82557699 docs(value_rank): 补充当前实现状态与操作指南
- 新增功能完整度说明,明确已上线命令、定时任务和数据链路状态

- 增加快速上手步骤:配置检查、模板检查、表结构检查、命令验证顺序

- 增加常见问题排查,覆盖社交关系图、社交榜单、趋势数据不足场景
2026-04-21 14:28:07 +08:00
liuwei 22c5101407 refactor(value_rank): 社交关系图改为外部HTML模板渲染
- 新增 social_graph_template_path 配置项,支持独立维护社交图模板路径

- 新增模板文件 plugins/value_rank/templates/social_graph.html,承载关系图样式与占位符

- 移除内嵌模板拼接,改为读取模板文件并进行变量替换后渲染截图
2026-04-21 14:24:57 +08:00
liuwei 46ee371a76 feat(value_rank): 新增社交关系图命令并接入md2img渲染
- 新增社交关系图命令,支持社交关系图 [人数] 生成群友关系图

- 基于 t_social_edges_daily 聚合边数据,构建核心节点和关系边用于可视化

- 使用 markdown2image 的 html_to_image 能力渲染 HTML/SVG 并输出图片

- 补充图谱参数配置:default_graph_nodes、max_graph_nodes、graph_edge_pool_limit
2026-04-21 14:21:45 +08:00
liuwei 2c90bc2ebe feat(value_rank): 新增社交桥梁榜与个人趋势能力
- 新增社交桥梁榜查询能力,基于社交边聚合输出连接人数、触达次数与互动分

- 新增我的趋势命令,支持按天查看近N天身价分与排名变化

- 周报增加社交桥梁人物摘要,提升群聊可读性与趣味性

- 同步扩展插件命令配置与趋势参数配置(default_trend_days/max_trend_days)
2026-04-21 14:17:00 +08:00
liuwei d64d11a384 将@关系批处理业务迁移到 value_rank 插件
- 从 MessageStorageDB 移除@抽取与社交图写入逻辑,消息层仅保留归档职责

- 从系统级任务移除 process_pending_mentions,取消 message_to_db 中对应入口

- 在 value_rank 插件新增定时动作 value_rank_mentions_extract(每10分钟)

- 在插件内实现窗口化批处理(默认10~20分钟前)、@提取、幂等写入明细/边表/日汇总及 unique_interactors 回填

- 新增插件侧可配置参数 mention_batch_size / mention_window_start_minutes / mention_window_end_minutes
2026-04-21 14:10:25 +08:00
liuwei d60d496bc3 扩展 value_rank 周报能力并新增周报命令
- 新增命令 身价周报,并接入配置与帮助文案

- 新增每周定时动作 value_rank_weekly_report_push(周一09:35)自动推送周报

- 周报内容包含:综合排行Top5、上升榜Top5、下行榜Top5(对比7天前)

- 扩展 ValueRankDB:新增按日期读取快照分数字典能力,支持周报对比计算

- 调度执行中支持周报推送并补充重算保障,确保周报数据为当天最新
2026-04-21 14:00:57 +08:00
liuwei 78adab65b2 增强@批处理执行日志,提升可观测性
- 增加定时@抽取任务开始/结束日志,输出窗口参数、处理条数与耗时

- 在DB批处理层记录查询命中、前3条样本明细、失败样本ID,便于快速排障

- 增加窗口参数异常修正日志,避免误配置导致行为不可见

- 在社交图增量写入处增加跳过/完成日志,明确是否产生新增@关系
2026-04-21 13:58:16 +08:00
liuwei 1ddc1dcf18 优化@批处理窗口:每10分钟仅处理10-20分钟前消息
- 调整待抽取@查询逻辑:默认仅扫描 timestamp 在 [NOW-20m, NOW-10m) 的消息

- 保留 mentioned_user_ids 为空才处理的条件,处理过自动跳过

- 更新 MessageStorage 与系统任务调用参数,统一使用窗口化批处理配置

- 增加窗口参数兜底修正,避免错误配置导致全量扫描
2026-04-21 13:54:41 +08:00
liuwei 906f0905df 将@抽取与社交图写入改为定时批处理
- 精简 archive_message 主链路:仅做消息归档,不再同步执行@解析与社交统计

- 新增 MessageStorageDB.process_pending_mentions 批处理能力,按批次回填 mentioned_user_ids 并写入社交图

- 新增系统任务 process_pending_mentions,每10分钟执行一次(every_seconds=600)

- 增加幂等保护:基于 t_message_mentions 已有记录过滤新增@关系,避免重复累加社交边和热度

- 保留详细中文注释,说明性能优化目标与批处理策略
2026-04-21 13:51:56 +08:00
liuwei 0dc55297bb 增强社交统计并扩展 value_rank 社交榜单命令
- 在消息入库增量链路中回填 unique_interactors,实现去重互动人数实时更新

- 新增社交热度榜命令:社交热度榜 [名次],按互动分/被@/主动@展示

- 新增搭子榜命令:搭子榜 [名次],按无向关系边聚合展示成员组合

- 扩展 ValueRankDB 查询接口,支持社交热度与搭子关系窗口聚合

- 同步更新 value_rank 配置命令列表与帮助文案
2026-04-21 13:45:44 +08:00
liuwei d4d290fec8 实现 value_rank 首版插件并接入定时重算
- 新增 ValueRank 插件入口、配置与主逻辑(我的身价/身价排行/身价说明/重算身价)

- 新增每日 04:00 调度动作,支持按群批量重算并写入快照

- 实现积分/发言/活跃/社交四维打分与潜水惩罚,采用95分位截断与归一化

- 新增 t_value_rank_snapshot 建表迁移脚本,并同步更新 init.sql

- 代码中补充详细中文注释,说明算法意图、边界处理与稳定性策略
2026-04-21 13:42:57 +08:00
liuwei 32c9f3f035 接通 @ 社交图增量写入链路
- 在消息归档后自动写入 t_message_mentions 明细表(INSERT IGNORE 防重复)

- 在消息归档后自动写入 t_social_edges_daily 日边表(ON DUPLICATE KEY 累加)

- 同步更新 t_value_rank_social_daily 的被@次数与主动@次数,供 value_rank 直接消费

- 优化 @ 提取函数:返回去重列表,并统一过滤 @所有人 与自己@自己

- 保持主链路稳定:社交图写入失败不影响消息归档成功
2026-04-21 13:37:15 +08:00
liuwei 2730595a88 完善 value_rank 社交图设计并落地 @ 结构化存储
- messages 表新增 mentioned_user_ids 字段设计,使用 JSON 数组字符串存储被@用户清单

- 新增社交图相关表设计:t_message_mentions、t_social_edges_daily、t_value_rank_social_daily

- 增加迁移脚本 20260421_add_mentions_and_social_graph_tables.sql,支持现网平滑升级

- 改造 MessageStorageDB 入库流程:解析 msg_source.atuserlist 并写入 mentioned_user_ids

- 更新 value_rank README:补充社交图数据链路、可产出图表及实现说明
2026-04-21 13:34:19 +08:00
liuwei dfa17c5f95 为 messages 表增加 raw_payload 并落盘完整原始消息
- 在 messages 表结构中新增 raw_payload LONGTEXT 字段(init.sql)

- 新增数据库迁移脚本 20260421_add_raw_payload_to_messages.sql,支持现网平滑加列

- 改造 MessageStorageDB.archive_message:优先写入 raw_payload,若旧库未加列自动回退旧 SQL

- 新增 _serialize_raw_payload 序列化逻辑,按要求保存完整消息信息且不做脱敏

- 增加详细中文注释,说明设计目的与兼容策略
2026-04-21 13:26:57 +08:00