zcbot/web/static/js
caoqianming 859c02cf65 feat(ops+web): run 级错误持久提示+失败聚集+provider 致命错误即时告警(bump 0.58.21)
反 2a1bc25d 教训(Zai 余额不足连挂 3 次续跑,前端零提示、admin 零感知):

- chat.js: renderPersistedRunError 挂 renderMessages 末尾——run_status=error
  且无 live run 时消息流末尾补「上次运行出错」持久卡(live 错误卡被收尾
  loadMessages 整屏重建冲掉是"发了继续啥也没发生"的根因);下次 run 起跑
  后端清 run_error 自然消失
- usage.py: record_run_error(kind=run_error, cost 0)——tasks.run_error 只留
  最后一次,此行才是聚合的完整数据源;app.py _run_agent_bg except 落库
- toolfail.py: 第三段扫描聚成 kind=run / tool=(run),admin 面板+巡检邮件
  零改动带上;alert_provider_critical 余额/配额/认证关键词命中即时邮件
  ZCBOT_DEVELOPER_EMAIL(同签名 6h 进程内冷却,全路径静默失败)
- tests/test_toolfail_malformed.py +3 用例;PROGRESS/CHANGELOG/RUN 同步

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 14:06:29 +08:00
..
admin.js feat(ops): toolfail 聚集加时间分布,活跃/已安静一眼分(bump 0.58.14) 2026-07-13 09:27:40 +08:00
api.js refactor(dev): 前端模块化 Step 1 — dev.html 拆零构建 ES module(叶子优先) 2026-06-05 16:55:20 +08:00
auth.js feat(wecom): 企业微信应用主页免登进 embed 控制台(bump 0.44.0) 2026-07-07 10:09:52 +08:00
changelog.js feat(changelog): 用户版更新日志 CHANGELOG.md + /v1/changelog + 点版本号弹层(bump 0.55.0) 2026-07-09 16:49:26 +08:00
chat.js feat(ops+web): run 级错误持久提示+失败聚集+provider 致命错误即时告警(bump 0.58.21) 2026-07-13 14:06:29 +08:00
crons.js feat(web): 定时任务执行历史列表(右栏 Tab + 分页)(bump 0.29.0) 2026-06-26 12:53:56 +08:00
dom.js feat(web): 移动端显示修复 + 对外品牌名 ZCBOT_BRAND_NAME(bump 0.45.0) 2026-07-07 10:44:26 +08:00
embed.js feat(wecom): 企业微信应用主页免登进 embed 控制台(bump 0.44.0) 2026-07-07 10:09:52 +08:00
files.js feat(web): dev SPA 加 9 处克制入场微动效(纯 CSS + 一处极小 JS) 2026-06-10 16:15:21 +08:00
format.js feat(context): §8.8 Phase 2 长会话中段折叠摘要 + 头部压缩指示环(bump 0.54.1) 2026-07-09 12:39:31 +08:00
layout.js refactor(dev): 前端模块化 Step 2(起)— 抽出 layout.js 2026-06-06 21:27:51 +08:00
main.js feat(procs): 后台进程 bg proc + 对话锁/完成通知 + seedance 续查(bump 0.56.0) 2026-07-10 16:47:11 +08:00
markdown.js refactor(dev): 前端模块化 Step 1 — dev.html 拆零构建 ES module(叶子优先) 2026-06-05 16:55:20 +08:00
media.js fix(web): 历史消息丢图片预览/chip——taskMeta 竞态 + 中文路径抽取(bump 0.58.17) 2026-07-13 10:29:23 +08:00
memory.js feat(memory): 双层记忆升级为 agent 自管 + 前端只读记忆面板 + bump 0.12.0 2026-06-13 12:20:08 +08:00
newtask.js fix(web): 修登录无反应(newtask.js 漏 import $)+ 补 favicon 2026-06-08 09:22:59 +08:00
preview.js fix(web): SVG 预览强制 image/svg+xml(前端 blob mime + 后端 download)(bump 0.33.1) 2026-06-30 08:28:11 +08:00
procs.js feat(procs): 后台进程 bg proc + 对话锁/完成通知 + seedance 续查(bump 0.56.0) 2026-07-10 16:47:11 +08:00
progress.js fix(web): 进度条自愈——回放层强制单调完成(d1285247 复盘,bump 0.36.2) 2026-07-03 11:16:34 +08:00
skills.js feat(web): 技能弹框平台/我的拆成独立两栏(三栏 master-detail) 2026-06-11 10:22:06 +08:00
state.js feat(web): 有 gpt_image 权限的用户生图默认 GPT 生图(bump 0.58.16) 2026-07-13 10:26:31 +08:00
wechat.js fix(web): 修复卡片⚙点击无反应(export openWechatModal)+ 卡片圆角调小 2026-06-26 12:26:44 +08:00