竞拍之王估价器的 Rust 开源实现。项目包含核心估价模型、egui 桌面 GUI、Windows 全局快捷键、屏幕区域截图,以及基于 PP-OCRv4 ONNX 的视觉扫描。
本项目是独立实现,目标是提供一个可维护、可构建、可验证的开源估价器。
- Rust 核心计算模型,支持 P25 / P50 / P75 出价参考
- 桌面 GUI:地图选择、颜色约束、当前预估最低价格、随机样本价值线索、手动定价、组合列表
- Windows 全局快捷键:
Alt+Q开始计算Alt+W视觉扫描Alt+E重置条件
- 视觉扫描:直接截取主屏幕信息区域,并使用 PP-OCRv4 ONNX 识别
- 计算后自动回填唯一件数 / 格数
- 内置 4.12.3 数据,可直接构建运行
cargo build --release --bin bidking-analyzer运行:
.\target\release\bidking-analyzer.exe也可以使用脚本:
powershell -ExecutionPolicy Bypass -File .\scripts\start-gui.ps1仓库提供 GitHub Actions 发布流程:
- 推送
v*tag 会自动构建并创建 GitHub Release - 也可以在 Actions 页面手动运行
Build and release,输入 tag,例如v0.2.2
Release 资产名为 bidking-analyzer-windows-x64.zip。解压后直接运行 bidking-analyzer.exe,包内已包含 OCR 所需的 PP-OCRv4 ONNX 模型和 ONNX Runtime DLL。
开发 CLI 默认不编译,需要启用 dev-cli:
cargo run --features dev-cli --bin bidking-dev -- calc --tier 101 --map-id 2101 --total 63 --safety 0.85 --max-show 1参考输出:
combos=1054 raw=766480
bid_p25=85913 bid_p50=105758 bid_p75=130632
测试 OCR 样本图片:
cargo run --features dev-cli --bin bidking-dev -- ocr-image --image .\tests\fixtures\sample.png --fallback-total 63实时截取主屏区域并 OCR:
cargo run --features dev-cli --bin bidking-dev -- ocr-screen --fallback-total 63data/auctionanalyzer-4.12.3/static_data.jsondata/auctionanalyzer-4.12.3/resources/MapBidCalculator.calculator_data_merged.csv
这两个文件用于内置估价数据。
4.12.3 的资源 CSV 与 4.12.2 完全一致;本项目同步了 4.12.3 新增的真实物品格数组合校验。
OCR 运行时文件放在 models/ppocrv4。为了保持 Git 仓库轻量,ONNX 模型和 ONNX Runtime DLL 不直接提交到仓库;需要视觉扫描时,按 models/ppocrv4/README.md 准备这些文件。
PaddleOCR / RapidOCR 模型遵循 Apache-2.0,ONNX Runtime 遵循 MIT。
cargo test当前测试覆盖参考估价用例、4.12.2/4.12.3 兼容用例、真实物品格数组合校验、OCR 文本归一化和屏幕裁剪比例。
本项目源码使用 MIT License。第三方模型和运行时遵循各自上游许可证。