Commit Graph

875 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
a0c9c23e2c 完善 value_rank 插件设计文档:基于现有插件逻辑给出可落地实现方案
- 将创意描述重构为可执行技术文档,明确 V1/V2 分阶段路线

- 对齐 point_trade、daily_ranking、message_sign、inactive_rank 的现有数据来源与接口

- 新增评分模型(归一化+分位截断+潜水惩罚)及解释理由,提升抗刷屏与公平性

- 补充命令设计、定时任务流程、数据库快照表 SQL、防刷规则与灰度上线计划

- 标注当前不合理点与优化建议(被@指标链路、固定阈值称号、过强惩罚玩法)
2026-04-21 13:20:32 +08:00
liuwei
5efbabb879 优化抖音图文发送:标题与图片合并为单次图片消息
变更项:\n1. 图文类型取消先发文本再发图片的流程。\n2. 新增标题渲染逻辑,将文案绘制到合并图第一页顶部后统一发送图片。\n3. 新增中文字体加载与按像素宽度自动换行能力,避免标题超宽截断。\n4. 渲染失败时回退原图,保证发送链路稳定。
2026-04-20 15:47:31 +08:00
liuwei
ef49588485 refactor: 移除LLM旧兼容入口并统一scene单路由
变更项:

1. LLMRegistry 仅保留 scene 入口,删除 backend_name/backend_ref/scene_ref 等兼容解析分支,未声明 scene 时仅保留直连配置。

2. Dify/GlobalNews/GameTask 插件初始化改为仅传 scene,不再拼接 backend/provider/url 等旧兼容字段。

3. 清理插件配置冗余:dify/global_news/game_task/douyu 的 config.toml 删除 backend 字段,统一由 scene 映射后端。

4. 后台 system API 调整为严格模式:插件依赖扫描仅采集 scene;scene 保存时必须绑定有效 backend。

5. 后台页面去除拓扑中的配置Backend冗余列,并新增前端校验,禁止提交空场景或未绑定后端。
2026-04-20 14:45:03 +08:00
liuwei
7b6bd19781 feat: 引入LLM场景路由与后台拓扑管理能力
变更项:

1. 新增 llm.scenes 场景路由层,支持 scene->backend 统一映射,并补充默认场景配置。

2. 扩展 LLMRegistry,新增 scene 解析逻辑;当声明 scene 时强制按场景路由结果生效,保持旧 backend 配置兼容。

3. 扩展后台 /api/system/llm_config 读写能力,支持 scenes 配置保存;新增插件 LLM 依赖扫描与拓扑数据输出。

4. 升级 system_llm 页面:新增场景路由管理区、插件依赖拓扑表,支持可视化查看 插件->scene->backend->provider。

5. 迁移核心插件配置到 scene 模式(保留兼容字段):dify/global_news/game_task/message_summary/ai_auto_response/member_context/douyu。

6. 调整部分插件初始化默认 llm_config,补充 scene 字段,确保后台场景切换可直接生效。
2026-04-20 14:36:56 +08:00
liuwei
1eef1b5bf2 修复斗鱼日报Dify max_length字段类型错误
变更项:\n1. 将斗鱼日报传给 Dify 的 max_length 入参由 int 改为 string。\n2. 增加中文注释说明原因:对应 Workflow 输入表单字段为 paragraph 类型,必须传字符串,否则触发 invalid_param 400。\n3. 保持其他字段与逻辑不变,最小化改动范围,确保快速恢复日报链路。
2026-04-20 13:39:12 +08:00
liuwei
382f3967bd 修复斗鱼日报Dify 400请求并增强错误诊断
变更项:\n1. 在斗鱼插件新增 daily_report_include_structured_inputs 配置(默认 false),Dify 入参默认改为精简字段(task_type/query/system_prompt/user_prompt/room_id 等),避免复杂对象输入触发 400。\n2. 调整 _build_dify_daily_report_inputs:仅在 include_structured_inputs=true 时才附带 report_payload_json,大幅降低 Workflow 入参类型不匹配风险。\n3. 在初始化流程中读取 report_api.include_structured_inputs,支持按环境开关结构化入参。\n4. 在 UnifiedLLMClient 的 Dify 调用中新增 HTTPError 细粒度处理,last_error 与日志会追加 response_body 片段,便于快速定位 Dify 侧具体报错原因。\n5. 更新 douyu 配置模板注释,明确复杂输入导致 400 的风险与开关用途,方便后续维护。
2026-04-20 13:36:56 +08:00
liuwei
6386cd5940 修复斗鱼日报手动触发未走Dify的问题
变更项:\n1. 将普通命令
2026-04-20 13:31:50 +08:00
liuwei
a89eedff15 群聊总结默认改回markdown渲染以保证样式稳定
变更项:\n1. 将 message_summary 插件代码中的 summary_image_mode 默认值从 template 调整为 markdown,确保配置缺失时也走历史稳定样式。\n2. 更新 plugins/message_summary/config.toml 的默认渲染模式为 markdown,立即生效并避免模板样式未完善导致展示异常。\n3. 保留 template 模式能力与失败回退逻辑,后续模板优化完成后可通过配置无缝切回。
2026-04-20 13:29:54 +08:00
liuwei
f719b10c4a 模板化改造斗鱼日报与群聊总结图片渲染,支持HTML模板独立维护
变更项:\n1. 将 plugins/douyu/report_template.py 从内联HTML重构为模板渲染,新增 plugins/douyu/templates/daily_report.html 承载完整样式与结构,Python侧仅保留数据组装与安全注入。\n2. 修复斗鱼日报模板迁移后的样式缺失问题,补齐 metric-card、insight-card、badge-wall、active-user-grid、chart 等所有关键类样式,确保视觉与旧版一致。\n3. 在 plugins/message_summary/main.py 新增模板化图片渲染链路:优先使用 HtmlTemplateRenderer + html_to_image 生成总结图片,模板异常时自动回退 convert_md_str_to_image,保证稳定性。\n4. 新增 plugins/message_summary/templates/summary_card.html 作为群聊总结卡片模板,后续可仅改模板文件完成UI迭代。\n5. 扩展 plugins/message_summary/config.toml 输出配置,增加 summary_image_mode 与 summary_image_template_path,支持模板模式与回退模式按配置切换。\n6. 保持原有业务流程与发送逻辑不变,仅改造渲染层,降低后续维护成本。
2026-04-20 13:23:54 +08:00
liuwei
f1a6f6d565 新增通用HTML模板渲染器并将机器人菜单改为模板驱动输出 2026-04-20 13:12:44 +08:00
liuwei
cfb8af334b 调整菜单卡片功能标题与功能键字号为12 2026-04-20 13:06:11 +08:00