English | 简体中文 | 💝 赞助 Sponsor
一个给 Dota/Dota2 卡尔(Invoker)爱好者的桌面练习工具。模拟切球(Quas/Wex/Exort)、祈唤(Invoke)、释放(Cast)的完整链路,支持连招编辑、最优按键求解、自动统计、趋势复盘。
从 Releases 下载安装包,双击安装即可。提供两种包,根据设备是否已安装 WebView2 选择:
Kombo_x.x.x_x64-setup.exe(精简包,约 5MB)— 不含 WebView2,安装时联网下载运行时。适用于已安装 WebView2 的设备(Windows 11、较新的 Windows 10 通常已预装),且需要联网。Kombo_x.x.x_x64-webview2-setup.exe(整合包,约 200MB)— 内置 WebView2 运行时。适用于未安装 WebView2 的设备,或离线环境。
不确定设备是否已装 WebView2?Windows 11 和近期更新的 Windows 10 一般都有,优先下精简包;若安装或启动失败,再换整合包。
- 自由练习:任意切球/祈唤/释放,最近 10 个释放技能展示在下方,不计入统计
- 连招练习:从连招库选择连招进入练习,按序释放目标技能推进进度
- 预切起手:预切连招进入练习时头顶已带预切技能的球序(无需重新切出)
- 完成停驻:连招结束后停留在评估状态,展示三维指标,不再自动循环
- 空格重开:完成态按空格键立即开始下一轮,无需鼠标
- Esc 放弃:练习中按 Esc 静默放弃本轮(不存盘、不计入统计、不显示结果)
- 实时计时器:首个有效按键起计时,完成态停表冻结精确用时
- 切球队列动画:FIFO 队列从右向左递进——新球滑入脉冲、整队左移、队首被推出
- 技能冷却:释放成功后该技能 2 秒冷却(时钟顺时针扫过遮蔽层),冷却期内重复释放被拦截
- 音效反馈:释放技能 / 祈唤成功时播放对应音效(可在设置中分别开关,设置持久化)
- 击杀播报:连招成功视为击杀,播放 Dota2 广播音效(一血/双杀/三杀/暴走 + 大杀特杀/.../超神);失败视为自身死亡重置连杀
- 技能配方参考:自由练习页提供可切换的配方面板(10 技能 + 3 元素配方,元素用图标,按 Q→W→E 排列)
- 自定义连招:依次添加技能成序列(每个技能在一条连招中仅出现一次),可选预切前两个技能作为起手
- 最优按键求解:基于 FIFO 切球队列 + BFS 求解的最少按键序列,遵循"切一个合一个放一个"的实战节奏;切球顺序按三级裁决(最少切球 → 重复按键分组 → 跟随配方),符合人体工学。在编辑器、连招库列表、练习页均可显示(眼睛按钮切换,设置持久化)
- 预置连招:内置吹风→磁暴→陨石→推波 等经典连招
- 汇总卡片:总轮次 / 成功率 / 平均按键达成率 / 最佳速度,一眼看清当前筛选范围总览
- 三指标趋势图:切球达成率 / 总按键达成率 / 速度得分,归一化到 0-100%(越高越好),只画成功轮次;窗口缩放时图表自适应
- 成功率徽章:范围内成功轮次 / 总轮次,按熟练度着色(绿/黄/红)
- 筛选:按连招 + 时间范围(今日/7天/30天/全部)切片查看
- 桌面应用级布局:固定顶栏(导航 + 齿轮设置弹层),窗口最小尺寸限制,窗口位置/大小自动记忆
- 默认语言跟随系统:中文系统(简/繁)默认中文,否则默认英文;手动切换后以用户选择为准
- 帮助页:内置使用说明与复盘指标解释(导航栏「帮助」)
- 双主题双语言:DOTA1/DOTA2 图标主题(点击头像切换),中/英文切换
- DOTA1/DOTA2 键位:传统键位(Y/V/G/C/X...)与 Dota2 默认键(D/F),按主题绑定
- 统一图标:UI 控件图标统一使用 lucide 线性图标
| 键 | 功能 |
|---|---|
Q / W / E |
切元素球(冰/雷/火,FIFO 至多 3 个) |
R |
祈唤(合成当前 3 球为技能) |
| 释放键(按方案不同) | 释放槽位技能 |
Space |
完成态时:立即开始下一轮 |
Esc |
练习中:放弃本轮(不存盘) |
LEGACY(传统键):Y=ColdSnap / V=GhostWalk / G=IceWall / C=EMP / X=Tornado / Z=Alacrity / T=SunStrike / F=ForgeSpirit / D=ChaosMeteor / B=DeafeningBlast
DOTA2(默认键):D=第一顺位 / F=第二顺位
| 指标 | 含义 |
|---|---|
| 切球达成率 | 最优切球数 / 实际切球数。只看 Q/W/E,衡量切球效率。100% 表示无多余切球 |
| 总按键达成率 | 最优总按键数 / 实际总按键数。涵盖 Q/W/E/R/D/F,多按 R、空放、切错球回头都会扣分 |
| 速度得分 | 范围内最快轮次时长 / 本轮时长。最快轮次为 100 分基准 |
| 成功率 | 成功轮次 / 总轮次(含失败)。绿 ≥ 80% / 黄 50-80% / 红 < 50% / 灰 = 未知(无数据) |
失败轮次不计入趋势图(避免拉低曲线),但计入成功率统计。
连招练习中,每次成功完成一轮连招视为击杀一名敌方英雄(自身未死),连招失败视为自身死亡。两套独立计数器:
| 维度 | 序列 | 重置条件 |
|---|---|---|
| 连杀(一条命累计) | 3=大杀特杀 → ... → 9=超神 → 10+=超越神了 | 连招失败(自身死亡)即归零 |
| 多杀(18 秒窗口内) | 1=一血 → 2=双杀 → ... → 5+=暴走 | 间隔超 18 秒重计;一血仅首次触发 |
重新进入连招页(切换连招/重选)时全部重置,包括一血;空格重开不重置。
新合成的技能占据 D 槽,原 D 槽技能被推到 F 槽。故:
- 预切 F 槽 =
spells[0](玩家先合成、先释放) - 预切 D 槽 =
spells[1](玩家后合成、后释放)
例:连招 吹风→磁暴,玩家先 R 合吹风 → 再 R 合磁暴(吹风推到 F),释放时按 F(吹风) D(磁暴)。
npm install # 安装前端依赖
npm run dev # 纯前端开发(Vite + React)
npm run test # 运行测试
npm run tauri dev # Tauri 桌面应用开发
npm run tauri build # 打包 Windows 安装包(在线版,需联网)
npm run build:installers # 同时产出在线版 + 内嵌 WebView2 离线版(见 dist-installers/)技术栈:Vite + React + TypeScript + Tailwind CSS + Tauri v2(Rust) + framer-motion
MIT