mirror of
https://ghfast.top/https://github.com/aeroxw/tick-stock-panel.git
synced 2026-09-12 16:44:15 +08:00
* feat(wecom): 智能机器人长连接接入(配置项 + 保活) 新增企业微信智能机器人(API模式/长连接)通道, 与群推送 Webhook 并存。 后端: - wecom_bot_service: WebSocket 长连接管理器, daemon 线程内跑 asyncio 连接 wss://openws.work.weixin.qq.com → aibot_subscribe 鉴权 → 30s ping 心跳 → 断开指数退避重连(min(base*2^(n-1),60s)) 结构对齐 depth_service(start/stop/boot_check/apply_credential_change) - preferences: 新增 wecom_bot_id/secret/enabled getter/setter - settings: PUT /preferences/wecom-bot 保存即重建连接 + 聚合 GET 补字段 - main.py: lifespan 挂载启停(失败不阻断应用启动) 前端: - api.ts: Preferences 加 3 字段 + updateWecomBot 函数 - Monitoring.tsx: 智能机器人配置卡片(BotID + Secret 密码框 + 连接状态) 本阶段只做连接保活, 暂不处理消息收发(@交互/流式回复后续扩展)。 * fix(wecom-bot): 卡片标签改为「企业微信 智能机器人」与上方一致 * feat(wecom-bot): 智能机器人长连接独立开关 卡片头部加勾选框, 用户可明确控制长连接开启/关闭: - 勾选 → 建立 WebSocket 连接保活 - 取消勾选 → 立即断开 后端: 新增 PUT /preferences/wecom-bot-toggle(只切 enabled 不改凭证) 前端: toggleWecomBot API + 勾选框 + 说明文字 凭证不齐时勾选框禁用(无法连接) * feat(wecom-bot): 接收消息解析并记 INFO 日志(验证接收能力) 收到消息从 DEBUG 提升到 INFO, 并解析关键帧: - aibot_msg_callback: 用户消息(会话类型/消息类型/用户ID/内容) - aibot_event_callback: 事件回调(进入会话/卡片点击/被踢等) - 其他帧: cmd + 原文截断 发消息给机器人即可在后端日志看到接收记录。