在物品图鉴中,按价格、单格价值(vpc)、规格均价(asv)自由组合约束,搜索满足条件的物品组合。
uv syncbidq --price 2685114 # 查价格精确匹配
bidq --vpc 226538 --asv 1x1-226538 # vpc 上限 + 规格均价
bidq --asv 3x2-122920 --rarity 金 --no-repeat # 规格均价 + 品级上限 + 不重复
bidq --vpc 50000 --asv 2x3-50000 --max-n 3 # 组合件数上限 3| 参数 | 说明 |
|---|---|
--price N |
目标价格(搜索均价 = N 的组合) |
--vpc N |
最大单格价值上限 |
--asv WxH-N |
规格均价,如 3x2-122920 |
--rarity R |
品级上限:彩/金/紫/蓝/白(默认 彩) |
--no-repeat |
禁止重复选取同一物品 |
--max N |
最多返回组合数(默认 10000) |
--max-n N |
组合件数上限(默认 10) |
所有约束自由组合,无条件叠加。
src/albet/
├── model.py 领域模型 (Rarity, Spec, Item, Combo)
├── data.py CSV 加载 + 字符串解析
├── solver.py 组合求解器(回溯 + 剪枝)
├── query.py 可组合约束 (Constraint & Composite)
├── display.py Rich 终端渲染
├── cli.py cyclopts CLI 入口
└── catalog.csv 图鉴数据
核心设计:每个约束(RarityCap、SpecFilter、MaxVpc、TargetAvg)独立限定选择池、贡献必选池、产出组合。& 运算符组合约束,组合体仍是约束(Composite 模式),可直接调用输出结果。
uv sync # 安装依赖
uv run pytest # 跑测试
uv run bidq --help # 验证 CLI