Commit Graph

519 Commits

Author SHA1 Message Date
Liu
1b6da6db1f 修复菜单插件超时拖慢主链路问题
1. 为菜单图片发送增加独立的同步等待预算,避免单次菜单命令长时间占用消息处理协程。

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

3. 修复 md2img 专用运行时在超时/取消时未显式取消后台任务的问题,减少渲染残留任务堆积。
2026-05-01 11:08:49 +08:00
Liu
342b4c0065 修复后台弱密码提示误判并恢复server.py编码
1. 修复数据库账号存在时仍回退 config.toml 判断,导致每次登录重复提示弱密码的问题。
2. 补齐默认管理员密码从旧配置迁移到数据库的同步逻辑,兼容历史部署。
3. 恢复 server.py 为可读 UTF-8 中文版本,并补充后台登录与弱密码判定的回归测试。
2026-05-01 10:49:38 +08:00
liuwei
9a52eb33bf 新增后台命令索引页面与群命令视图 2026-04-30 17:51:45 +08:00
liuwei
369b74e834 补充插件依赖拓扑与缺失依赖风险视图 2026-04-30 17:35:48 +08:00
liuwei
e3694b9320 增强插件治理中心执行表现与风险排行 2026-04-30 17:31:31 +08:00
liuwei
5487142fe1 增强首页LLM运行态与任务调度监控卡片 2026-04-30 17:16:37 +08:00
liuwei
b62c1cf161 增强首页MySQL与Redis运行摘要卡片
- 为系统健康摘要接口补充 MySQL 连接负载、QPS、库体积、表数量等指标

- 为系统健康摘要接口补充 Redis key 数量、客户端数、OPS、命中率和运行时间等指标

- 调整首页基础设施卡片为服务摘要面板,分别展示 MySQL 与 Redis 的状态和关键运行信息
2026-04-30 16:40:16 +08:00
liuwei
1db8681636 完善后台任务中心历史摘要视图
- 为系统任务和插件调度补充批量历史摘要查询,支持最近成功时间、最近失败原因与累计成功失败次数

- 任务列表接口合并内存运行态与数据库日志态,服务重启后后台仍可回看最近执行结果

- 系统任务页与插件调度页新增健康状态、历史执行摘要与插件调度快捷启停入口

- 更新工程优化文档,记录 7.3 第一阶段当前进展
2026-04-30 16:21:29 +08:00
liuwei
0d7fe5d6f0 完善插件超时保护与熔断恢复
- 为消息插件执行增加统一超时保护,避免单插件长时间卡住消息主链路

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

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

- 更新工程优化文档,记录 7.2 第一阶段当前进展
2026-04-30 16:15:53 +08:00
liuwei
b0e11fb9b5 完善插件治理中心第一阶段
- 为 PluginManager 增加统一插件治理快照,补充配置概览、治理诊断、运行态记录与未加载模块展示\n- 更新插件管理后台页面,展示治理健康、能力类型、Feature Key、依赖关系与配置概览信息\n- 优化插件配置保存流程,保存前先做格式校验,并支持对未加载插件查看详情与重新尝试加载\n- 更新工程优化文档,记录插件治理中心第一阶段的当前进展
2026-04-30 16:07:02 +08:00
liuwei
cb99e94493 增强后台登录安全与密码策略 2026-04-30 15:32:41 +08:00
liuwei
4ddab01b8d 完善系统健康面板并接入AI运行态观测 2026-04-30 15:12:47 +08:00
liuwei
83910b287b 新增系统健康快照并更新优化文档 2026-04-30 15:07:03 +08:00
liuwei
23b5d5bef0 优化群管理详情页展示与群成员统计口径
1. 群成员列表仅展示仍在群内的成员,排除已退群用户,避免僵尸成员与成员明细口径不一致。

2. 群成员列表按最后发言时间倒序排序,最近活跃成员优先展示,未发言成员排在后面。

3. 群详情启用功能区域的最后消息改为紧凑预览,图片、视频、链接、表情、XML、系统消息统一显示标记,不再直接展示原始内容。

4. 群功能权限区域默认折叠,需手动展开后再查看和操作,降低详情弹窗的信息噪音。

5. 进群欢迎配置区域默认折叠,需手动展开后再查看和编辑群级差异化欢迎配置。
2026-04-30 14:12:01 +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
3eb87478d7 群组--》通讯录 2026-04-27 16:58:10 +08:00
liuwei
0fc5398b9b 优化插件管理页小屏适配
- 为插件列表增加移动端卡片布局,避免手机端出现整页横向滚动
- 为插件详情与群状态弹窗增加响应式宽度和单列展示
- 为群状态列表增加移动端卡片视图,并优化小屏按钮与文案换行
2026-04-27 16:52:56 +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
62e6f67836 持久化表情中文语义资产\n\n- 新增 t_emoji_assets 表及迁移脚本,持久化保存表情发送参数、中文语义与预览图路径\n- 在消息归档与媒体补偿流程中自动回填表情资产,实现收到表情即落语义、补图后回填预览\n- 后台表情库与自动回复优先读取持久化表情资产,仅在空表场景下小范围回补历史数据 2026-04-27 11:52:31 +08:00
liuwei
884ffb81e8 完善表情库中文语义解析与检索展示\n\n- 解析表情 desc 和 emojiattr 字段,提取可读中文语义与别名\n- 按 md5 聚合表情历史记录,合并发送参数、预览图与语义信息\n- 后台表情库弹窗增加语义展示与按中文语义搜索能力 2026-04-27 11:34:07 +08:00
liuwei
19411d19c8 修复后台聊天表情发送易卡住问题\n\n- 将后台表情发送改为异步提交,避免请求线程同步等待导致卡住\n- 增加按 md5 反查历史表情 total_length 的兜底逻辑\n- 为 SendEmoji 增加超时与详细日志,便于定位接口无响应问题 2026-04-27 11:21:11 +08:00
liuwei
4dbf390c65 将通讯录刷新与头像缓存同步改为异步处理 2026-04-27 09:30:21 +08:00
liuwei
e573fd9c37 优化社交图展示并为通讯录接入本地头像缓存 2026-04-27 09:13:01 +08:00
liuwei
c208dcb2fb 修复后台首屏无样式闪烁并保留空白页兜底
变更项:

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

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

- 保持现有导航与业务逻辑不变,仅修复页面首屏加载体验
2026-04-23 16:09:25 +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
37d6c36e2c 修复中文文件名上传wav误判为不支持类型
1. 上传扩展名校验改为基于原始文件名提取,避免secure_filename清洗后丢失点号导致误判。

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

3. 继续保留媒体类型白名单校验,不放宽安全边界。
2026-04-23 13:50:02 +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
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
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
693e6dae03 调整token 2026-04-21 17:18:55 +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
a0a6ea8e08 ui: 新增Dify高级配置折叠面板
变更项:

1. Dify应用卡片新增‘展开/收起高级配置’按钮,默认收起。

2. 高级面板内提供可选覆盖字段:mode/endpoint/response_mode/request_timeout。

3. 保持主表单只展示刚需字段,兼顾简洁维护与高级调优。

4. 保存时移除前端状态字段 advanced_open,避免污染后端配置数据。
2026-04-20 15:22:10 +08:00
liuwei
b15b060afb ui: 收敛Dify配置项并补充字段说明
变更项:

1. Dify 应用配置区保留刚需字段:name、provider_template、app_key、workflow_output_key(out key)。

2. 隐藏非刚需覆盖字段(mode/endpoint/response_mode/request_timeout),降低维护复杂度。

3. app_key 输入改为密码样式:默认小圆点展示,支持眼睛按钮切换明文。

4. 在 Provider 模板与 Dify 应用区新增字段说明提示,便于快速理解配置含义。
2026-04-20 15:20:43 +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
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
db08a4a15e 插件群状态弹窗支持按群开启/关闭,复用原有群权限缓存管理逻辑 2026-04-20 14:13:51 +08:00
liuwei
634fb4d67e 插件管理新增群状态按钮与群开关明细弹窗,后端补充按插件查询群启用状态接口 2026-04-20 14:09:00 +08:00
liuwei
00f874665d 限制群级插件配置仅开放群成员变更监控并增加后端白名单校验 2026-04-20 11:28:05 +08:00
liuwei
f5dfe0b296 feat(群级配置): 优化群显示、模板入口和JSON编辑体验
- 列表中群信息改为群名主展示,ID弱化展示
- 模板入口改为按插件动态显示:仅选择群成员变更监控时显示欢迎模板按钮
- 移除顶部通用快捷模板,减少误导
- JSON编辑区升级为多行自适应编辑器,增加等宽字体与格式化按钮
2026-04-20 11:23:55 +08:00
liuwei
492711ea0c feat(通讯录): 在群权限面板内嵌进群欢迎表单配置
在通讯录-群详情-群功能权限区域新增群级欢迎配置表单,支持文本与卡片模板的直观维护、变量提示与实时预览;打开群详情自动加载当前群欢迎配置,保存时直接调用群级配置接口写入MySQL并刷新Redis,避免跳转到独立页面查找配置。
2026-04-20 11:01:21 +08:00