bid-comparison-freelisted
Install: claude install-skill chenqg618/compliance-skills
# 多家报价横向比价(免费)
> 一句话:把**多家投标人的报价明细逐项摆在一起对齐** —— 不需要付款,也不需要注册。
**完全免费**:不需要付款、不需要注册、不需要配置任何 API Key,直接调用即可。
## 什么时候用
- 评标/清标时要快速把各家报价**摆到同一个项目名上**看
- 想知道**谁少报了几项**(缺项),或谁多报了什么
- 想先看清**各家合计与排名**,再看要不要深入比单价
## 这个免费版给出什么
| # | 产出 |
|---|---|
| 1 | **逐项对照表**:按项目名对齐各家的数量 / 单价 / 合价,并给出**各家中位数** |
| 2 | 缺项与多项(某家有、别家没有的项目) |
| 3 | **各家合价合计与排序** |
**项目名会做归一**:去空白、标点与常见单位后缀后再对齐,所以「钢筋」与「钢筋 / t��能对上。
**中位数只在三家以上才用于判断**(家数太少时中位数不稳,本版本不做分析)。
## 怎么用
```bash
node scripts/run.mjs --sample
node scripts/run.mjs --input my-bids.json
node scripts/run.mjs --input my-bids.json --json
```
入参两种写法,任选:
```json
{ "bidders": [
{ "name": "河南甲建设", "items": [
{ "name": "土方开挖", "qty": 100, "price": 25, "amount": 2500 }
] },
{ "name": "河南乙工程", "items": [
{ "name": "土方开挖", "qty": 100, "price": 26, "amount": 2600 }
] }
] }
```
或者**直接给纯文本,各家之间空一行**,行格式为「项目名称 数量 单价 合价」:
```
河南甲建设有限公司
土方开挖 100 25 2500
路基填筑 200 38 7600
河南乙工程有限公司
土方开挖 100 26 2600
路基填筑 200 39 7800
```
(支持 Tab / 竖线 / 逗号 / 空格分隔;行首的序号会被自动忽略。)
### 退出码
| 码 | 含义 |
|---|---|
| 0 | 已执行检查 |
| 1 | 没给入参 |
| 3 | **材料不足 —— 此时不给结论**(横向比价至少两家) |
| 4 | 入参文件读不到或无法解析 |
| 9 | 未预期错误 |
## 这个免费版不包含
以下检查项**不在本版本范围内**,调用时也不会执行:
- 单价离群检测(某项单价与各家中位数的偏离超过阈值)
- 不平衡报价线索(同一家内单价偏离方向不一致)
- 合价 = 数量 × 单价 的算术核对
- 数量在各家之间不一致的提示
- 最高限价与各家合计的对比(需提供 maxPrice)
## 使用次数与完整档
本免费版每次运行结束后会向服务端做**一次匿名次数统计**:只发送本包标识和一个不含任何材料的匿名安装标识(由主机名与用户名做短哈希得到),**不发送你的材料、不写任何文件**。
· 前 3 次:服务端不返回任何内容,输出与现在完全一样;
· 第 4 次起:服务端会返回一段**完整档说明**(完整档是另一个独立商品,条款与价格以它自己的商品页为准),届