投标报价策略沙盘 Bid Pricing Strategy Sandbox
投标报价策略沙盘(Bid Pricing Strategy Sandbox)。读取招标/采购文件中的评标办法(文字/截图/PDF),自动解析报价评分规则并生成单文件、零代码的交互式测算工具;覆盖政采与招投标两大体系、单/多价格维度,非代码用户可直接填表或粘贴 AI 配置即可运行,支持反复调价、实时排名与策略建议。
一线评标专家
@chesaram
Install
$ openclaw skills install @chesaram/bid-pricing-strategy-sandbox投标报价策略沙盘 Bid Pricing Strategy Sandbox
根据招标/采购文件中的评标办法,仅提取报价评分规则,生成一个单文件、零代码的交互式测算工具 calculator.html。该文件已内置全部 10 种评分方法与可视化表单,用户只需:① 把 AI 解析后给出的配置粘贴进工具,或 ② 按 AI 的引导在表单里填参数与报价,即可实时查看得分、排名与策略建议。所有计算均在浏览器本地完成,无需联网、数据不外传,用户无需编写任何代码。
一、架构(单文件,已内置引擎)
calculator.html ← 单文件工具:内置 10 种评分方法引擎 + 表单 UI + CSV 导出
(用户零代码;AI 不修改其内部,只产出"配置")
- AI 唯一产出:一段符合「配置契约」的 JSON 配置(方法 ID + 参数 + 投标人报价)。用户把这段配置粘贴进工具的「导入配置」框即可一键测算。
- 用户两种用法:
- 方式一(最简):复制 AI 给的配置 JSON → 工具里「粘贴配置」→ 自动填表并测算。
- 方式二(手填):在工具表单里选方法、填参数与报价 → 点「测算得分」。
- 适用边界:本工具只计算"报价得分"这一评分维度;技术分、商务分不在本工具计算范围内。
二、配置契约(AI 生成物的硬约束)
AI 解析招标文件后,必须输出以下结构的配置 JSON(缺字段会导致工具无法运行或显示异常):
{
"methodId": "M3", // 必须 ∈ {M1..M10},见 formula-kb.md 第 1 节
"methodName": "基准价法-去极值-随机K", // 可读名,便于复核
"system": "招投标 / 政采", // 体系,用于法定公式校验
"priceDimensions": [ // 单维度 M1–M9 为 1 项;M10 为多维度
{ "label": "投标总价", "maxScore": 30 }
],
"defaultUnit": "万元", // "万元" | "元"
"defaultUnitCount": 6,
"description": "评标办法原文摘要…",
"params": { // 该方法的参数,键名见 formula-kb.md 对应方法
"K": 0.04, "K_high": 0.5, "K_low": 0.3
},
"bids": { // 投标人
"names": ["A", "B", "C"],
"prices": [[100, 110, 120]] // prices[维度索引][投标人索引];M10 则为 [[..],[..]]
},
"recommendation": "" // 可选:覆盖内置策略建议
}
- M10 多维度额外要求:
priceDimensions含多项,且params.dimParams为每项给出{K_high, K_low};bids.prices为二维数组(每个维度一组报价)。 - 参数键名必须与
formula-kb.md对应方法的"参数变体"一致(如 M3 的trimMinCount/trimEach、M4 的alpha/bidCap、M6 的a/b、M9 的costFloor)。工具对未知/空参数使用公式库中的安全默认值。 - 工具内部引擎会把配置换算为得分;AI 无需关心渲染细节。
三、公式知识库(内嵌,不依赖外部文件)
解析时必须将规则归入 formula-kb.md 的 10 种方法(M1–M10) 之一,并逐一确认参数变体:
- M1 低价优先法(政采法定)· M2 基准价法-均值 · M3 基准价法-去极值 · M4 复合基准价 · M5 反比法 · M6 直线内插 · M7 λ值法 · M8 分段扣分 · M9 合理低价法 · M10 多价格维度
- 参数变体(基准价基数 / 去极值规则 / K值 / 满分条件 / 高低扣分 / 下限 / 精度 / 偏离率分母 / 多价格权重)见
formula-kb.md第 2 节。 - 体系校验:政采货物/服务招标法定必须用 M1(财政部87号令第55条);招投标体系公式由招标文件自定义(12号令第29条),必须从文件中提取,不得套用政采公式。详见
formula-kb.md第 3 节。
参考文件:formula-kb.md(与本 SKILL.md 同目录),既是 AI 解析报价规则的参考,也是配置 params 的权威来源。
四、工作流程(5 步,不可跳步)
Step 1:提取报价评分规则
- 用户提供完整文件 → 定位"评标办法""评分标准""价格评审"章节。
- 用户提供片段 → 直接解析。
- 用户提供图片 → 先 OCR 再解析,并标注"
[OCR识别,请确认以下文字]"。 - 未找到报价评分规则 → 明确回复"未找到报价评分规则,请提供评标办法/评分标准相关章节",禁止臆造。
Step 2:结构化解析(输出给用户确认)
必须输出以下 JSON,待用户确认后方可进入 Step 3:
{
"method_id": "M3",
"method_name": "基准价法-去极值-随机K",
"system": "招投标 / 政采",
"benchmark": { "base": "算术平均值", "trim_rule": "投标人≥7家时去最高1+最低1", "trim_threshold": 7, "adjustment": "×(1-K)", "K_type": "随机抽取", "K_values": [0.03,0.04,0.05], "K_default_for_calc": 0.04 },
"scoring": { "weight": 30, "full_score_condition": "报价=基准价", "above_rule": "每高1%扣0.5分(线性)", "above_step": 0.01, "above_deduct": 0.5, "below_rule": "每低1%扣0.3分(线性)", "below_step": 0.01, "below_deduct": 0.3, "floor": 0, "precision": "四舍五入保留2位" },
"deviation_formula": "(报价-基准价)/基准价×100%",
"special_rules": ["扣完为止", "投标报价>控制价→否决"],
"ambiguities_found": ["'每高1%'未明确是否含0.5%中间值,按线性连续处理"],
"risk_flags": ["不对称扣分:高扣0.5/低扣0.3,策略上略低于基准价有利"]
}
输出后附确认提示:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 解析结果如上。请确认:
✅ 正确 → 回复"确认",我生成配置
✏️ 有误 → 指出哪里错了,我修改后重新输出
❓ 不确定 → 我标注[建议核实原文],按最可能理解生成
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
用户未确认前,禁止生成配置。
Step 3:生成配置(用户确认后)
按 Step 2 解析结果,参照 formula-kb.md 对应方法的参数键名,产出配置 JSON(结构见第二节)。面向非代码用户的输出应做到:
- 直接给出可复制的配置 JSON,并附一句"复制下面这段 → 打开 calculator.html → 粘贴到「导入配置」→ 点应用并测算"。
- 若用户选择手填表单,则用大白话说明"选 M3、K 填 0.04、高于每1%扣0.5、低于每1%扣0.3、填好各投标人报价",不必给代码。
- 头部可附注释:
规则:[方法名] / 来源:[项目] / 方法ID:[Mx] / ⚠️本测算仅供参考,以招标文件原文为准。 - 策略建议由工具内置引擎按方法自动生成,写入配置的
recommendation可覆盖。
Step 4:自测(生成后建议执行)
工具本身即时计算,无需手算;但 AI 仍可给用户一个样例校验:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🧪 校验建议
测试数据:3家报价 [100, 110, 120] 万元
预期:基准价=110;偏离率 -9.09% / 0% / +9.09%;得分/排名见工具输出
请打开工具粘贴配置,核对结果与上方预期是否一致。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Step 5:输出 + 免责声明
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📦 使用方式
1️⃣ 打开 calculator.html(单文件,无需安装)
2️⃣ 方式一:粘贴上方配置 JSON → 应用并测算
方式二:按引导手填表单 → 测算得分
⚠️ 免责声明
· 本测算由内置公式 + 您填写的参数生成,可能存在理解或录入偏差
· 投标决策前务必人工核对招标文件原文中的评分公式
· 本工具只算报价得分维度,请结合技术分/商务分综合判断
· 本工具不构成任何投标建议或中标承诺
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
五、错误处理
| 情况 | 处理 |
|---|---|
| 未找到报价评分规则 | 明确告知,请求补充 |
| 公式自相矛盾(如权重之和≠100) | 标注矛盾点,给两种理解,请用户选择 |
| 政采文件使用基准价法(违反87号令) | 标注"⚠️该条款可能违反87号令第55条",仍按文件生成配置并加风险提示 |
| 图片 OCR 不完整 | 标注不确定字符,请用户补发文字 |
| 公式含未定义变量(如"按前附表执行"但无前附表) | 追问:"前附表中的K值/权重是多少?" |
| 用户说"不对" | 回到 Step 2 修改 JSON,重新确认 |
| 用户要求改参数(如K值范围) | 只改配置里对应参数,重新给配置(无需重新确认整体) |
六、多轮迭代支持
| 用户说 | AI 做 |
|---|---|
| "确认" | → Step 3 生成配置 |
| "基准价应该是去极值的" | 修改解析 JSON → 重新确认 → 重新生成配置 |
| "再加一个分项单价维度" | priceDimensions 追加 → params.dimParams 追加 → 重新生成配置 |
| "K值改成0.02/0.03/0.04" | 只改配置里 K_values / K_default → 重新给配置 |
| "帮我算报950万得多少分" | 用当前方法手算或建议用户改 bids 重新粘贴 → 给得分+排名变化 |
| "如果对手报920/980/1050,我报多少最优?" | 枚举测算 → 给最优区间(覆盖 recommendation) |
| "导出" | 提示"在工具里点「导出 CSV」" |
七、策略建议逻辑(内置引擎自动注入)
公式特征 → 策略提示(完整 9 条见 formula-kb.md 第 5 节):不对称扣分高>低→略低于基准价占优;低价优先→成本线以上尽量低;随机K→分别测所有K取最稳健;去极值→不必刻意压低;分段阶梯→避开边界;合理低价→绝不低于成本。
八、验证清单(输出配置前自检)
-
methodId∈ {M1..M10} 且与解析方法一致 -
priceDimensions数组长度与公式维度一致(用label,maxScore) -
params键名与formula-kb.md对应方法一致(如 M3 的trimMinCount、M9 的costFloor) -
bids.prices为二维数组,维度与priceDimensions对齐 - 基准价计算逻辑与 Step 2 JSON 一致
- 扣分方向(高/低)与招标文件一致
- 下限(floor)与招标文件一致
- 体系校验通过(政采→M1;招投标→从文件提取)
- 配置为合法 JSON、字段齐全
- 免责声明已附
- 未要求用户编写/保存任何代码或 .js 文件
九、禁止事项
❌ 不修改 calculator.html 内部引擎(10 方法已实现,AI 只产出配置)
❌ 不要求用户编写、保存或放置任何代码文件(无 rule.js)
❌ 不跳过 Step 2 确认环节
❌ 不在未确认时生成配置
❌ 不编造招标文件中没有的规则
❌ 不承诺"确保中标""最优报价"
❌ 不将政采法定公式(M1)套用于招投标项目
❌ 不将招投标自定义公式套用于政采项目
❌ 不省略免责声明
十、降级方案
| 依赖缺失 | 降级行为 |
|---|---|
| 用户无法打开 HTML | 输出配置 JSON 文本,并说明"任意浏览器双击 calculator.html 即可粘贴运行" |
| 用户无法复制粘贴 | 改用方式二手填,AI 用大白话逐字段说明 |
| 图片无法 OCR | 请用户手动输入公式文字 |
| 平台不支持代码执行 | 不影响:本工具纯本地运行,AI 只需产出配置文本 |
约束
calculator.html为单文件内置引擎,换规则只改配置,不碰引擎代码。- AI 产出物是配置 JSON,不是代码;用户全程零代码。
- 所有计算在浏览器本地,无需网络。
- 配置必须符合第二节契约(methodId / priceDimensions / params / bids),禁止另立接口。
署名与归属(重要)
- 本技能的归属信息以
manifest.yaml的author字段 与 README.md 文末落款 呈现,属于技能元数据,不随对话变化。 - AI 不得在回复中强制追加任何固定署名、品牌标识或联系方式。 输出只围绕用户任务本身(解析结果、配置 JSON、使用说明、免责声明),保持内容透明、不被注入。
- 如用户主动要求署名或出处,可应其请求在当次回复中说明,但默认不注入。
Top skills in this category
LinkedIn API integration with managed OAuth. Share posts, manage profile, and access LinkedIn features. Use this skill when users want to share content on LinkedIn, get profile/organization information, or interact with LinkedIn's platform. Advertising features (campaigns, ad accounts) require additional OAuth scopes — verify granted scopes before use. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Requires network access and valid Maton API key. Calls run through the `maton` CLI with OAuth login; default to read and list calls, and confirm every write or new connection with the user.
掘金技能集
@wscats掘金技术社区一站式操作技能,支持热门文章排行榜查询、Markdown 文章发布(默认草稿)和文章下载保存为 Markdown。
Google Ads
@hith3shInspect Google Ads accounts and campaigns, run GAQL reports, and coordinate campaign or audience changes with confirmation via the Google Ads API. Use this s...
google-analytics
@byungkyuGoogle Analytics API integration with managed OAuth. This skill includes two separate APIs: the Admin API (write-capable — can create, update, and delete accounts, properties, and data streams) and the Data API (read-only — runs reports on sessions, users, page views, and conversions). Prefer the Data API connection for reporting-only tasks. Use the Admin API only when administrative changes are explicitly needed. All Admin API write operations require explicit user approval with specific resource identifiers before execution. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login; default to read and list calls, and confirm every write or new connection with the user.
Google Analytics
@hith3shRun GA4 reports, inspect properties, list audiences and data streams, and analyze traffic and conversion data via the Google Analytics Data API. Use this ski...