Repository navigation
Releases: ZF3373/icpc-workbench
Releases · ZF3373/icpc-workbench
Release list
v0.5.7
What's Changed
Features
- feat(ai): 训练计划/题单接入完整题库选题与 AC 状态核验
- feat: 完善训练证据与复习闭环
- feat: 完善每日训练计划工作流
- feat: 完善赛事中心数据准确性与 AI 题面证据
- feat(ai): CF 题面改走 Tavily Extract,内容审查拒绝可降级收尾
- feat: 新增赛时分析页,分离赛时/补题提交并支持手动打标签
- feat: 模板例题可自定义增删,题单支持导出 vjudge 文本
- feat: 数据概览支持勾选账号同步 + 交互逻辑优化
- feat(server): SEA 单文件 bundle 重构 + 细节优化批次修复(错误脱敏/SQL 性能/备份健壮性)
- feat(client): 路由级懒加载拆包 + AI 助手会话/消息稳定标识 + 模型目录草稿 UI key
- feat(contests): 赛时分析融合进赛事中心——单场弹窗 + 标签选择框
- feat(ai): 模板库风格注入改为 read_template 按需查询——AI 自行查看模板再仿写
- 添加全局缩放及 AI 对话文字同步缩放 by @noxargenta in #49
- 限制文字缩放仅在 AI 助手页面使用 by @noxargenta in #51
Bug Fixes
- fix: 第一批细节优化——错误脱敏/安全收口/性能修复(优化计划 #4 #15 #41 #78 #79 #80 #93 #94 + 2 项新发现)
- fix: 第二批细节优化——备份错误口径/竞态护栏/重复收敛(优化计划 #45 #47 + 6 项新发现)
- fix: 题单导出每题附带原题链接
- fix(ai): 修复 issue #50/#36 残留——上游 SSE error 帧与搜索失败不再被静默吞掉
- fix(ai): DeepSeek 思维链回传 + DSML 双竖线方言——修 issue #50 工具轮次后 400 根因
- fix(server): CF participantType 读取位置与枚举拼写——赛事分析与赛事中心计数一致
Performance
- perf: 第三批细节优化——AI 路由日志/深链重放/渲染性能/重复收敛(优化计划 #18 #20-27 #48 #49 #65)
- perf(ui): GPU 节能——常驻动画改合成器友好 + 页面隐藏时全局冻结
- perf(gpu): 失焦窗口节能——动画延迟冻结 + 容器隔离 + WebView2 光栅化
UI / Style
- ui: 优化 AI 助手界面排版与交互
- style(client): 全站去紫与配色收敛——统计图标块换青、回顾 Tag 换金、Contests 预设色 13→9
Documentation
- docs: add contest time analysis design
- docs: 优化计划 2026-10 核实与修复记录——勾选 27 条 + 改写 4 条部分修复口径
- docs: 优化计划同步第三批勾选(12 条)+ 剩余待办总览
Other Changes
- chore: 删除遗留的 icpc-widget 挂件旧壳(desktop/src-tauri)与 offline.html
New Contributors
- @noxargenta made their first contribution in #49
Full Changelog: v0.5.6...v0.5.7
v0.5.6
What's Changed
- fix(security): 连接测试不再跨源复用已保存的 API Key;新增 Host 头校验;Inter 字体改自托管 by @T2MGKNFX in #45
- fix(security): 补上 #45 漏掉的 SEA 入口 Host 头校验(桌面版 icpc-core.exe / Docker 的 DNS rebinding) by @ZF3373 in #46
- chore(deps): 清掉 3 项致命依赖漏洞(2 critical + 1 high),审计 13→9 by @ZF3373 in #47
New Contributors
Full Changelog: v0.5.5...v0.5.6
v0.5.5
What's Changed
- chore(deps): bump the cargo group across 2 directories with 1 update by @dependabot[bot] in #42
- feat(review): 到期复习题进入今日训练与日历,AI 计划按真实复习时间排期 by @ZF3373 in #44
New Contributors
- @dependabot[bot] made their first contribution in #42
Full Changelog: v0.5.4...v0.5.5
v0.5.4
v0.5.3
v0.5.2
What's Changed
- Add title-based topic pipeline, secure fetch tool, hide secrets in settings, and related DB/API updates by @ZF3373 in #13
- feat(templates): 支持新建自定义标签 by @ZF3373 in #23
- feat(notes): 复习/学习笔记编辑器升级 + 表格公式渲染修复 (issue #20) by @ZF3373 in #25
- feat(history): 写题历史查询面板(closes #19) by @ZF3373 in #26
- feat: 题库删除入口 + 复习库笔记默认收起(fix #27) by @ZF3373 in #28
- fix(release): tag 产物一律走 CI MSVC 构建,杜绝 WebView2Loader.dll 缺失崩溃 by @ZF3373 in #30
- feat(ability): weighted solve-evidence rating + slow recalibration; r… by @ZF3373 in #31
- fix(today): 推荐冷却 + 复习队列排除 + 换一批整批轮换 by @ZF3373 in #32
- fix(problems): 概览条移至页顶 + 折叠按钮,修复高分屏挤压题目列表 by @ZF3373 in #33
- feat(stats): 刷题热力图 + 数据概览模块卡片拖拽排序 by @ZF3373 in #34
New Contributors
Full Changelog: v0.5.1...v0.5.2
v0.5.1
v0.5.1 — 修复拖拽功能在桌面版中不可用
🐛 Bug 修复
修复侧边栏菜单排序和模板分类排序的拖拽功能在 WebView2(桌面版内嵌浏览器)中无法使用的问题。
根因:这两处拖拽使用了 HTML5 Drag and Drop API(draggable + onDragStart/onDrop),而 HTML5 DnD 在 WebView2/WKWebView 中不被支持。项目中 AI 助手的会话拖拽此前已改用 mouse 事件方案(v0.4.x),本次将同样的方案应用到侧边栏和模板分类。
改动:
- 侧边栏菜单拖拽排序:HTML5 DnD → mouse 事件(
onMouseDown/onMouseEnter/onMouseUp+ 全局mouseup兜底) - 模板分类拖拽排序:同上改造
- 修复
menuConfig.tsx的Object.fromEntries类型断言
更新方式:设置页底部「检查更新」→ 一键更新,或手动下载新版覆盖。
v0.5.0
v0.5.0 — 分批同步防封号 + UI 优化
🔧 核心修复:同步分批拉取防封号
解决用户反馈的「洛谷 7000+ 提交全量拉取导致封号」问题。所有平台同步改为分批拉取:
- 单次同步上限:默认 500 条/次(可在「设置 → 平台账号与适配器」调整为 100–1500)
- 自动续拉:触及上限即停止,下次点击同步自动从断点继续拉取更早的历史
- 补全模式:跳过已入库的页,不重复请求,逐步补全全部历史记录
- 6 个平台全部接入:Codeforces / AtCoder / 洛谷 / 牛客 / 力扣 / 代码源
🛡️ 风控防护加固
- 洛谷题目信息抓取限流:并发降至 3、批次间 200ms、单次上限 100 题
- 洛谷 C3VK 反爬重试间加 300ms 间隔
- AtCoder 翻页边界死循环防护(maxSecond 初始化)
- AtCoder 题库拉取改顺序请求(符合 ≥1s 间隔要求)
- 各平台单次同步页数兜底收紧(最长时间 ≤ 45 秒)
🐛 Bug 修复
- 力扣
hasNext===false丢失最后一页数据 - 同步截断状态正确持久化(sync_truncated + backfill_page)
🎨 UI 优化
- 侧边栏菜单组件
- 同步结果展示截断提示
- 设置页新增「单次同步上限」可调项
更新方式:设置页底部「检查更新」→ 一键更新(自动下载校验替换),或手动下载新版安装包覆盖。
nightly · b8e57ed · 2026-10-25
master 分支提交 b8e57ed 的自动构建(开发版,稳定性低于正式发布版)。
- Windows:icpc-workbench-<版本>-x64-setup.exe 安装程序,或便携版双 exe;支持应用内一键更新
- macOS(Apple Silicon M 系列):*.dmg 安装镜像,ad-hoc 已签名(构建脚本强制签名并校验,签名不过不出包)。未公证,首次打开如提示「无法验证开发者/已损坏」:右键 →「打开」,或「系统设置 → 隐私与安全性 → 仍要打开」,或终端 xattr -cr /Applications/icpc-workbench.app。数据在 ~/Library/Application Support/icpc-workbench/data,覆盖安装不丢。暂不支持 Intel Mac 与应用内一键更新,更新请手动下载覆盖
v0.4.4 · 掌握度地图 + 知识点直达练题 + macOS 安装包
本版本亮点
知识点掌握度地图(新功能)
- 按知识点五档评估掌握度(未开始→接触→入门→掌握→熟练),串联刷题数据、弱项画像与模板课程
- 每个知识点点开即见「对应题目」:按难度从低到高展示(含题库未做题),带已 AC / 尝试 / 未做状态,点击直达原题;题库暂无该知识点题目时引导一键去题目管理同步/拉取
- 中英文标签自动归并:CF 英文标签(binary search / dp / dsu …)与课程中文知识点(二分 / 动态规划 / 并查集 …)合并统计,同一知识点不再分裂;题目管理按标签筛选同样命中同义别名
- 奖励反馈:掌握/熟练知识点显示 ⭐/🏆 徽章、升档进度条(悬停提示还差几题)、新升档 🎉 标记与抽屉庆祝横幅
修复与优化
- 题目管理不再截断:修复洛谷提交数较多时题目列表只显示 300 题的问题(原 SQL 硬编码 LIMIT 300)
- 洛谷首次全量同步分页上限 100→500 页(约 1 万条提交),重度用户不再漏拉历史提交
- 完整个人练习数据汇总(可下载 .md 存档复盘)并接入 AI 计划生成提示词
- 赛前提醒:可配置开赛前 N 分钟通知,点击直达赛事中心
- 模板库例题扩充至每知识点约 4 题并补 Codeforces 原题
- 自更新下载提速约 60 倍(Range 分片并行 + 镜像自动回退 + 断点续传)
- 趋势图横轴修复为连续自然周(空周补零)
- 稳定性:全局错误中间件 + graceful shutdown + CI 流水线 + 测试扩充至 239 项
macOS(Apple Silicon)
- 本版本起正式版附件附带
icpc-workbench_<版本>_aarch64.dmg:拖入「应用程序」即完成安装 - 未签名,首次打开提示「无法验证开发者」时:右键 →「打开」,或终端执行
xattr -cr /Applications/icpc-workbench.app - macOS 暂不支持应用内一键更新,更新请手动下载覆盖
升级说明
- v0.4.3 用户可在 设置 → 软件更新 中「一键更新」(Windows);更早版本或便携版用户下载
*-setup.exe覆盖安装(data练习数据自动保留)
校验
附件附带 checksums.sha256:
Get-FileHash -Algorithm SHA256 .\icpc-workbench_0.4.4_x64-setup.exeFull Changelog: v0.4.3...v0.4.4