← 返回
未分类 Key

cnsdoce

中国工程造价技能,支持安装工程定额查询、组价计算与报价表生成。 数据源支持两种模式(见下方说明): · 默认模式:大模型推理数据(无需本地数据库,推荐新手) · 唯一来源模式:严格限定为山东省安装工程消耗量定额(2025版) + 济南市价目表(2026版) 核心依据:《建设工程工程量清单计价标准》GB/T 505...
中国工程造价技能,支持安装工程/建筑工程/市政工程/园林绿化工程定额查询、组价计算与报价表生成。 数据源支持两种模式(见下方说明): · 默认模式:大模型推理数据(无需本地数据库,推荐新手) · 唯一来源模式:严格限定为山东省消耗量定额(2025版) + 济南市价目表(2026版) 核心依据:《建设工程工程量清单...
caoshun-sudo caoshun-sudo 来源
未分类 clawhub v1.2.0 3 版本 100000 Key: 需要
★ 1
Stars
📥 114
下载
💾 0
安装
3
版本
#latest

概述

中国安装工程造价技能

LLM语义匹配配置 (2026-05更新)

多模型支持

  • 默认模型:腾讯混元 Hunyuan-Lite(免费,无使用限制)⭐已开启
  • 备选模型:字节豆包 Doubao(按需开启,需设置 LLM_PROVIDER=doubao
  • 降级策略:混元调用失败时,自动降级到豆包(如已配置API Key)

当前状态 ✅ 全部配置完成(2026-05-15)

| 配置项 | 状态 | 说明 |

|--------|------|------|

| 混元 SDK | ✅ 已安装 | tencentcloud-sdk-python-hunyuan 3.1.56 |

| 混元 API Key | ✅ 已配置 | 环境变量 HUNYUAN_API_KEY(sk-开头) |

| 豆包 API Key | ✅ 已配置 | 环境变量 DOUBAO_API_KEY(ark-开头) |

| 豆包模型服务 | ✅ 已开通 | doubao-1-5-lite-32k-250115,直接用模型ID调用 |

| 默认 Provider | ✅ hunyuan | 环境变量 LLM_PROVIDER(默认混元免费) |

> 重要:豆包无需设置 DOUBAO_ENDPOINT_ID,直接用模型ID doubao-1-5-lite-32k-250115 即可调用。

豆包模型调用方式(已验证 2026-05-15)

  • 直接设置 LLM_PROVIDER=doubao 即可使用
  • 无需创建接入点(Endpoint),模型ID即为调用标识
  • API地址:https://ark.cn-beijing.volces.com/api/v3/chat/completions
  • 费率:0.003元/千tokens(lite版)

模型切换

from scripts.llm_semantic_match import *

use_hunyuan()            # 切换到腾讯混元(免费)⭐默认
use_doubao()             # 切换到豆包模型(备选)
switch_model("hunyuan")  # 通过字符串切换
restore_default()        # 恢复默认(混元)
get_current_provider()   # 查看当前使用的模型

命令行模型切换

# 默认使用混元
python scripts/llm_semantic_match.py "热泵安装" "第2册热力设备"

# 指定使用豆包
python scripts/llm_semantic_match.py "热泵安装" "第2册热力设备" --doubao

# 指定使用混元
python scripts/llm_semantic_match.py "热泵安装" "第2册热力设备" --hunyuan

# 环境变量切换(持久化)
export LLM_PROVIDER=doubao   # 切换到豆包
export LLM_PROVIDER=hunyuan  # 切换到混元(默认)

语义匹配脚本

  • 脚本路径scripts/llm_semantic_match.py
  • 调用方式python scripts/llm_semantic_match.py "热泵安装" "第2册热力设备"
  • 输出格式:JSON格式的定额推荐列表

确认机制 (2026-05新增)

工作流程(带确认节点)

用户输入需求
    ↓
Step 1: LLM语义匹配(默认调用腾讯混元API)
    ↓
显示推荐定额列表,等待用户确认 ⭐【确认节点1】
    ↓
    用户回复"确认" → 继续组价
    用户回复"修改" → 重新匹配
    ↓
Step 2: 组价计算
    ↓
显示组价明细,等待用户确认 ⭐【确认节点2】
    ↓
    用户回复"确认" → 生成报价表
    用户回复"调整" → 修改参数
    ↓
Step 3: 生成报价表
    ↓
最终确认是否导出Excel ⭐【确认节点3】
    ↓
完成

确认节点说明

| 确认节点 | 时机 | 用户操作 | 后续动作 |

|---------|------|---------|---------|

| 确认节点1 | 定额匹配完成后 | 确认/修改/补充 | 进入组价或重新匹配 |

| 确认节点2 | 组价计算完成后 | 确认/调整取费 | 进入报价表生成或重新计算 |

| 确认节点3 | 报价表生成前 | 确认导出/查看明细 | 输出Excel或继续编辑 |

确认界面示例

┌─────────────────────────────────────────┐
│  📋 定额语义匹配结果                    │
├─────────────────────────────────────────┤
│                                         │
│  根据您的需求「热泵机组安装」,           │
│  AI推荐以下定额组合:                    │
│                                         │
│  ┌─────────────────────────────────┐   │
│  │ 【主定额】                       │   │
│  │  ☐ 2-1-5  热泵机组安装(200kW内)│   │
│  │    基价:1,250.00元/台          │   │
│  ├─────────────────────────────────┤   │
│  │ 【辅定额】                       │   │
│  │  ☐ 2-1-12 附件安装             │   │
│  │  ☐ 8-3-28 管道焊接             │   │
│  │  ☐ 8-5-15 管道冲洗试压         │   │
│  └─────────────────────────────────┘   │
│                                         │
│  ─────────────────────────────────────  │
│                                         │
│  ⚠️ 请确认以上定额是否正确?            │
│                                         │
│  ┌─────────────┐  ┌─────────────┐       │
│  │  ✅ 确认    │  │  ❌ 修改    │       │
│  └─────────────┘  └─────────────┘       │
│                                         │
└─────────────────────────────────────────┘

确认超时处理

  • 用户超过5分钟未回复 → 发送提醒
  • 超过10分钟未回复 → 保留当前结果,可随时继续

v1.1.0 更新说明(2026-06-13)

新增功能

  1. 全专业费率库 — 新增 assets/quota_reference.db(20KB,34条费率记录),覆盖16个工程类型
  2. 取费标准扩充 — 从安装工程单专业扩充为:安装工程、建筑工程(I/II/III类)、市政工程(道路/给水/桥涵/排水)、园林绿化工程、装饰工程(I/II/III类)、房屋修缮工程、古建筑修缮工程、仿古建筑工程、构筑物工程(I/II/III类)、桩基础工程(I/II/III类)、单独土石方工程(I/II/III类)、市政养护维修工程
  3. 新增参考文档references/cost_composition.md(费用构成与计价程序)、references/measure_items.md(措施项目费计算规则)、references/other_items.md(其他项目费)

使用变化

  • 组价时必须查询 fee_rates获取费率,严禁使用 quota_items.management_rate / profit_rate 字段
  • 计费基础分两种:安装/建筑/园林/装饰/修缮 → 人工费;市政工程 → 人工费+施工机具使用费
  • 税金统一为 9%(增值税一般纳税人)

数据来源

  • 费率数据来源:《山东省建设工程费用项目组成及计算规则》(2025年版)第三章
  • 覆盖地区:山东省济南市(可扩展至其他地市)

v1.2.0 更新说明(2026-06-18)

新增功能

  1. 单位比对强制检查(Step 0) — 组价前必须比对清单单位与定额单位,不一致时自动提示折算系数
  2. 典型不匹配速查表 — 7种常见单位不匹配场景及折算规则(10m³→个/项、100m→米等)
  3. 体积折算公式 — 基础/构筑物类定额(10m³单位)与清单(个/项)的体积换算方法
  4. 拆除工程特殊规则 — 山东规定拆除类定额按 50% 计取(拆除系数 = 0.5)
  5. 济南价目表特殊规则general_price 已是综合单价,不可再叠加管理费
  6. 校验规则 — 组价完成后逐项验证安装单价1 ≤ 安装单价
  7. 典型错误案例 — 7条来自实际项目(已脱敏)的修正案例,展示单位折算遗漏导致的偏差

工作流程变化

  • 组价工作流从「流程零~流程三」改为 「Step 0~流程三」
  • Step 0(单位比对)在 Step 1(定额查询)之前强制执行
  • 任何组价任务必须先执行 Step 0,不经过单位比对直接输出价格可能产生数倍偏差

数据来源

  • 换算规则依据:山东省建设工程费用项目组成及计算规则(2025年版)
  • 拆除系数 0.5:山东省住房和城乡建设厅相关规定
  • 案例数据:已脱敏处理,保留定额编号和折算逻辑

数据源(强制规则)

> 📌 双模式说明:本技能支持两种数据源模式,默认使用大模型推理数据(无需配置本地数据库)。如需严格溯源,可切换为唯一来源模式。

模式一:默认模式(大模型推理)⭐推荐

使用大模型的工程造价知识进行定额推理,适用于:

  • 初步估算、方案比选
  • 查询通用定额编号和基价区间
  • 无需额外配置,直接可用

模式二:唯一来源模式(严格溯源)

如需精确到章节条款的溯源数据,请联系作者获取完整数据库,或自行导入:

数据来源

  • 《山东省安装工程消耗量定额(2025版)》13分册
  • 《济南市价目表(2026版)》
  • 《济南造价信息》2026年03期

导入方式

  1. 联系作者获取 quota.db 完整数据库文件(SQLite格式,含约3.5万条定额+8,441条材料价格)
  2. 或自行使用 scripts/migrate_to_sqlite.py 从PDF/Excel源文件导入
  3. quota.db 放入 index/ 目录

数据库结构

  • quotas 表:quota_no、original_quota_no、名称、chapter、base_price、labor_fee 等
  • materials 表:名称、规格型号、含税单价、除税单价、增值税率等
  • FTS5全文索引:支持精确/LIKE模糊/FTS5全文三级检索

费率数据库(v1.1.0 新增)

  • quota_reference.db(技能 assets 目录,20KB):含 fee_rates 表,34条记录
  • 覆盖专业:安装工程、建筑工程(I/II/III类)、市政工程(分子专业)、园林绿化工程、装饰工程、房屋修缮工程、古建筑修缮工程、仿古建筑工程、构筑物工程、桩基础工程、单独土石方工程、市政养护维修工程
  • 查询方式:SELECT management_rate, profit_rate, calculation_base FROM fee_rates WHERE engineering_type = '安装工程' AND city = '济南市'
  • ⚠️ 严禁使用 quota_items.management_rate / profit_rate 字段(全部为安装费率,其他专业不正确)

示例数据(已脱敏,仅供演示)

> 以下10条代表性定额为技能内置示例数据,无完整商业授权。

| 定额编号 | 名称 | 基价(元) | 单位 | 人工费(元) |

|---------|------|---------|------|-----------|

| AZ-8-3-27 | 低压碳钢阀门安装 DN200 | 313.64 | 个 | 205.50 |

| AZ-8-3-28 | 低压钢管焊接 φ57×3.5 | 45.20 | 10m | 28.30 |

| AZ-10-1-1 | 室内给水镀锌钢管 DN50 | 89.50 | 10m | 56.80 |

| AZ-9-1-1 | 自动喷淋系统管道螺纹连接 | 68.30 | 10m | 42.10 |

| AZ-4-6-1 | 电气管道钢管敷设 MT20 | 56.80 | 100m | 35.20 |

| AZ-7-2-1 | 风管制作安装(δ0.75mm) | 98.50 | 10m² | 62.40 |

| AZ-6-1-1 | 温度仪表安装 | 125.00 | 支 | 78.60 |

| AZ-12-1-1 | 管道除锈(轻锈) | 18.60 | 10m² | 12.30 |

| AZ-13-1-1 | 脚手架搭拆(10m内) | 45.00 | 10m² | 28.50 |

| AZ-3-1-1 | 碳钢容器安装(5t内) | 680.00 | 台 | 420.00 |

> ⚠️ 法律声明:示例数据仅供技能演示使用,不得作为正式计价依据。正式项目请使用经授权的完整定额数据库。

严禁(唯一来源模式)

  • 使用大模型通用知识补充定额数据;无溯源依据不得输出定额子目
  • 材料价格必须从数据库中查取,不得使用估算值

安装工程13分册专业结构(2025版)

> 重要:《山东省安装工程消耗量定额(2025版)》共 13个分册,覆盖安装工程全专业。

| 分册号 | 分册名称 | 主要内容 | 常见定额编号示例 |

|:------:|---------|---------|---------------|

| 第1册 | 机械设备安装工程 | 泵、风机、制冷设备、通用设备的安装与调试,找正、灌浆 | 1-1-1(泵安装) |

| 第2册 | 热力设备安装工程 | 锅炉、换热站、余热利用系统安装 | 2-1-1(锅炉安装) |

| 第3册 | 静置设备与工艺金属结构 | 容器、塔器、储罐制作安装,金属平台/梯子/栏杆 | 3-1-1(塔器安装) |

| 第4册 | 电气设备安装工程 | 变配电、电缆敷设、照明系统、防雷接地、配管配线 | 4-6-1(钢管敷设) |

| 第5册 | 建筑智能化工程 | 综合布线、安防、楼宇自控、智能照明、火灾报警联动 | 5-1-1(综合布线) |

| 第6册 | 自动化控制仪表安装工程 | 工业自动化仪表、过程检测与控制装置、仪表盘柜,共10章47节885个子目 | 6-1-1(温度仪表) |

| 第7册 | 通风空调工程 | 风管、风机、空调机组、冷却塔、消声设备系统安装 | 7-2-1(风管制作安装) |

| 第8册 | 工业管道工程 | 高温高压工业管道预制、安装、试压、吹扫(石化/制药行业) | 8-3-28(低压钢管焊接) |

| 第9册 | 消防工程 | 水/气体/泡沫灭火系统、火灾自动报警、消防联动设备 | 9-1-1(自动喷淋管道) |

| 第10册 | 给排水、采暖、燃气工程 | 室内外给排水、散热器、地暖、燃气管道及器具安装 | 10-1-1(室内给水镀锌钢管) |

| 第11册 | 通信设备与线缆安装工程 | 电话、网络、有线电视、移动通信室内覆盖系统 | 11-1-1(电话系统安装) |

| 第12册 | 刷油、防腐蚀、绝热工程 | 金属表面防腐、管道绝热、设备保温施工 | 12-1-1(管道除锈) |

| 第13册 | 措施项目 | 脚手架、高层建筑施工增加费、系统调试费、安全文明施工费等可计量措施项目 | 13-1-1(脚手架搭拆) |

> 注:原2016版定额已废止。2025版各分册均体现"四新"技术应用导向,支持绿色建造与智能建造。

核心功能

  1. 定额查询 — 根据工作内容关键词,匹配1条或多条定额子目,标注分册号+章节号+条款号+工作内容原文
  2. 分册精确过滤搜索search_quota.py 支持 volume 参数,先过滤分册再做语义/文本搜索,用法:python search_quota.py "低压焊接" 5 "第8册"
  3. SQLite + FTS5 全文索引search_quota.py v6 优先使用SQLite数据库查询(毫秒级),支持精确/LIKE模糊/FTS5全文三级检索
  4. LLM语义匹配 — 接入腾讯混元API(默认免费)+ 字节豆包API(备选),支持自然语言查询(如"热泵安装"→自动识别为第2册相关定额)
  5. 确认机制 — 定额匹配后需用户确认一次,确保准确性后再执行组价
  6. 材料价格查询 — 按名称/规格型号模糊搜索材料价格(支持含税价/除税价/增值税率)
  7. 一清单对N定额组价 — 主定额 + 辅定额 + 主材费,合成综合单价
  8. 取费计算 — ⚡v1.1.0 全专业费率自动匹配(16种工程类型,管理费+利润自动计算)
  9. 报价表输出 — 生成带 Excel 公式的标准报价表,可追溯计算逻辑
  10. ⚡v1.2.0 单位比对强制检查 — 组价前强制比对清单单位与定额单位,自动提示折算系数(10m³→个/×0.1等)

> 重要:一个清单项目通常需要多条定额配合(如:安装定额 + 除锈定额 + 保温定额 + 主材),组价时必须齐全!

search_quota.py 搜索技巧(经验 2026-05-16)

> search_quota.py v6 已支持 SQLite 毫秒级查询,优先使用本脚本,避免手写临时Python文件。

⚡ 最快方式:精确编号查询

`ash

python search_quota.py --quota-no "AZ-8-3-85"

`

  • 耗时:~200ms(含SQLite初始化)
  • 适用:已知定额编号,直接精确查询

🔍 关键词搜索注意事项

**数据库

ame 字段格式**:第8册阀门类定额的

ame 字段为 "公称直径(mm以内) 100",不含"DN"前缀和"调节阀"字样。

| 搜索词 | 结果 | 原因 |

|--------|------|------|

| "DN100 调节阀" | ❌ 未找到 | name不含"调节阀","DN100"不匹配(数据库是"100") |

| "低压调节阀" | ❌ 未找到 | chapter="一、低压阀门"不含"调节阀"三字 |

| "100 阀门" | ✅ 找到 | name含"100",chapter含"阀门" |

| "调节阀" | ⚠️ 找到第6册 | 匹配第6册(仪表调节阀),非第8册 |

| "公称直径 100" | ✅ 找到 | 精确匹配name字段 |

📌 推荐搜索策略

`ash

第8册 低压阀门 → 用 "100 阀门" + 分册过滤

python search_quota.py "100 阀门" 5 "第8册"

已知定额编号 → 直接精确查询(最快)

python search_quota.py --quota-no "AZ-8-3-85"

材料查询 → 用 --material 参数

python search_quota.py --material "法兰 DN100"

python search_quota.py --material "螺栓 M16"

`

⏱️ 性能参考

| 操作 | 耗时 |

|------|------|

| 脚本启动 + SQLite初始化 | ~150ms |

| --quota-no 精确查询 | ~200ms |

| 关键词搜索("100 阀门") | ~220ms |

| 完整查询(主定额+辅定额+2种材料) | ~900ms |


定额溯源标准

每个定额子目输出必须包含以下字段,缺一不可:

| 字段 | 说明 |

|------|------|

| 定额编号 | 如 AZ-8-3-28(带专业前缀) |

| 分册号 | 第X册 XX工程 |

| 章节号 | 定额手册章节编号 |

| 条款号 | 该子目在章节中的条款编号 |

| 工作内容 | 定额工作内容原文(逐字引用) |

| 计量单位 | 如:m、m²、个、套等 |

| 基价 | 济南市价目表2026版单价 |

无分册号、章节号、条款号、工作内容原文的定额输出视为不合格。

取费标准(山东全专业,2025版规则)⚡ v1.1.0 新增

> 重大变化:依据 GB/T 50500-2024,自2025年11月1日起:

> - 取消"规费"科目,社会保险费、住房公积金并入人工费

> - 企业管理费中已含相关统筹费用

> - 费用结构简化为:人工费 + 管理费 + 利润 + 税金

全专业费率表(quota_reference.db → fee_rates 表)

| 工程类型 | 工程类别 | 管理费率 | 利润率 | 计费基础 | 税金 |

|---------|---------|---------|--------|---------|------|

| 安装工程 | — | 48.08% | 29.15% | 人工费 | 9% |

| 建筑工程 | I类 | 39.15% | 32.13% | 人工费 | 9% |

| 建筑工程 | II类 | 30.11% | 17.61% | 人工费 | 9% |

| 建筑工程 | III类 | 23.27% | 13.59% | 人工费 | 9% |

| 市政工程 | 道路/桥涵/排水 | 19.35% | 10.36% | 人工费+机具费 | 9% |

| 市政工程 | 给水 | 36.22% | 22.89% | 人工费+机具费 | 9% |

| 园林绿化工程 | — | 52.33% | 27.26% | 人工费 | 9% |

| 装饰工程 | I类 | 61.57% | 34.87% | 人工费 | 9% |

| 装饰工程 | II类 | 47.03% | 21.30% | 人工费 | 9% |

| 装饰工程 | III类 | 29.81% | 16.37% | 人工费 | 9% |

| 房屋修缮工程 | — | 48.08%~46.16% | 29.15%~24.15% | 人工费 | 9% |

| 古建筑修缮工程 | — | 47.81% | 28.47% | 人工费 | 9% |

| 仿古建筑工程 | — | 30.59% | 13.13% | 人工费 | 9% |

| 构筑物工程 | I/II/III类 | 31.30%/27.16%/18.91% | 26.93%/20.99%/10.51% | 人工费 | 9% |

| 桩基础工程 | I/II/III类 | 20.93%/15.53%/11.91% | 15.17%/11.36%/4.35% | 人工费 | 9% |

| 单独土石方工程 | I/II/III类 | 26.07%/18.05%/11.91% | 20.02%/13.88%/6.16% | 人工费 | 9% |

| 市政养护维修工程 | — | 20.07%~25.19% | 11.79%~14.86% | 人工费+机具费 | 9% |

> 计费基础说明

> - 安装/建筑/装饰/园林/修缮/仿古/构筑物/桩基础/土石方 → 人工费

> - 市政工程(含养护维修)→ 人工费 + 施工机具使用费

费率查询SQL(⚠️ 严禁使用 quota_items 表中的费率列)

-- 正确做法:查 fee_rates 表
SELECT management_rate, profit_rate, calculation_base
FROM fee_rates
WHERE engineering_type = '安装工程'
  AND city = '济南市';

-- ❌ 错误做法:以下字段全部为安装工程费率,对其他专业不正确
-- SELECT management_rate, profit_rate FROM quota_items WHERE ...

安装工程组价公式(示例)

管理费   = 人工费 × 48.08%
利润     = (人工费 + 管理费) × 29.15%
税前综合单价 = 基价 + 管理费 + 利润 + 未计价材料费
含税综合单价 = 税前综合单价 × 1.09

> 其他专业的组价公式同理,只需替换对应的管理费率和利润率。

> 市政工程的管理费和利润以人工费+施工机具使用费为基数计算。

执行时间节点(重要)

| 时间节点 | 政策内容 |

|---------|---------|

| 2025年9月1日 | 国有资金投资项目必须执行 GB/T 50500-2024 |

| 2025年11月1日 | 山东省新版费用计算规则与各专业消耗量定额正式施行 |

| 2026年1月1日 | 济南公共资源交易中心全面启用新标准,房屋市政工程按新标准执行 |

> ⚠️ 过渡期:2026年1月1日前已发标或签约项目可继续沿用2013版清单标准。

价格信息获取渠道

  • 广材助手:一键选取济南2026版价目表,定额、价格、取费同步
  • 广材网:信息价专区,定位济南检索全套价格,支持导出
  • 询价无忧网:2008年至2026年2月历史信息价汇总
  • 济南市城乡交通运输局:公路工程主要材料价格参考信息

工作流程(含一清单对N定额组价)

> ⚠️ v1.2.0 强制要求:任何组价任务启动时,必须先执行 Step 0(单位比对),再进入后续流程。不经过单位比对直接输出价格可能产生数倍偏差。

Step 0:单位比对(⚡v1.2.0 新增,强制执行)

执行时机:组价计算前(在 Step 1 定额查询之后、Step 2 组价计算之前)

组价 Step 0(必须在计算前执行):
  1. 读取用户清单中每一项的"单位"(从Excel或用户输入)
  2. 查询匹配定额的 unit 字段(quota.db → quotas 表或 quota_reference.db 对应表)
  3. 比对两个单位:
     ├─ 一致 → 折算系数 = 1.0
     ├─ 不同但等价(处↔个、台↔个) → 折算系数 = 1.0(1:1等价)
     └─ 不同 → 计算折算系数(见下方速查表)
  4. 安装单价1 = (定额基价 + 管理费) × 折算系数 × 拆除系数

> ⚠️ 强制要求:任何组价任务启动时,必须先执行 Step 0,再进入 Step 1。不经过单位比对直接输出价格可能产生数倍偏差。

流程零:LLM语义匹配 (2026-05新增)

> 触发时机:用户使用自然语言描述工作内容时(如"热泵安装"、"低压管道焊接")

  1. 接收用户输入的工作内容描述
  2. 调用 scripts/llm_semantic_match.py

```bash

python scripts/llm_semantic_match.py "热泵机组安装" "第2册热力设备"

```

  1. 豆包API返回推荐的定额列表(JSON格式)
  2. 展示推荐结果,等待用户确认(⭐确认节点1)
  3. 用户确认后,进入流程一

流程一:定额查询(输出主定额+关联辅定额)

  1. 接收用户确认的定额范围(或直接输入的工作内容关键词)
  2. 根据专业类型确定分册(第X册)
  3. references/ 目录对应分册文件中检索匹配定额
  4. 读取 references/multi_quota_mapping.md 查找该清单的主定额+辅定额标准组合
  5. 输出:
    • 主定额:主定额编号 + 分册 + 章节 + 条款 + 工作内容 + 基价
    • 辅定额List:辅定额1编号 + ... + 辅定额N编号
    • 主材List:主材名称 + 规格 + 估算用量
  6. 若本地无匹配,返回"未查到合规定额,请补充依据"

> ⚠️ 重要:输出定额后必须进入确认节点,等待用户确认后再执行组价!

> 输出格式示例

> ```

> 【清单】室内给水镀锌钢管DN50

>

> 【主定额】10-1-1(第10册第1章第1条)基价:XX元/10m

> 【辅定额】

> - 8-7-1 管道冲洗消毒(第8册第7章第1条)基价:XX元/100m

> - 8-5-12 螺纹阀门安装(第8册第5章第12条)基价:XX元/个

> 【主材】

> - 镀锌钢管DN50:清单量×1.02(含2%损耗)

> - 截止阀DN50:按设计数量

> ```

流程二:组价计算(一清单对N定额,含单位换算)

> ⚠️ 重要:一个清单项目的综合单价 = Σ(所有定额合价) + Σ(所有主材费)

>

> ⚠️ v1.2.0 强制要求:执行组价前必须先完成 Step 0(单位比对)(见上方工作流程开头),读取清单单位与定额 unit 字段比对,不一致时按折算系数换算。不执行 Step 0 直接输出价格可能产生数倍偏差!

Step 0:单位比对(⚡v1.2.0,先于 Step 1 执行)

  • 读取清单单位 → 查定额 unit 字段 → 比对 → 计算折算系数(见「单位换算规范」速查表)
  • 拆除类定额 ×0.5

Step 1:识别清单信息

  • 读取清单单位、清单工程量

Step 2:查定额组合

  • 读取 references/multi_quota_mapping.md 获取该清单的标准定额组合
  • 若表中无记录,询问用户需要哪些辅定额

Step 3:逐项计算定额工程量

  • 主定额:定额工程量 = 清单工程量 × 换算系数(查 unit_conversion.md
  • 每个辅定额:定额工程量 = 清单工程量 × 该辅定额的换算系数
  • 主材:主材用量 = 清单工程量 × (1 + 损耗率)

Step 4:逐项计算定额合价

主定额合价 = 主定额工程量 × 主定额基价
辅定额1合价 = 辅定额1工程量 × 辅定额1基价
辅定额2合价 = 辅定额2工程量 × 辅定额2基价
...
主材费 = 主材用量 × 主材信息价

Step 5:计算清单综合单价

清单总价 = 主定额合价 + Σ(辅定额合价) + 主材费
税前综合单价 = 清单总价 × (1 + 48.08%) × (1 + 29.15%)
含税综合单价 = 税前综合单价 × (1 + 9%)

Step 6:输出组价明细表 (⭐确认节点2)

  • 展示每个定额的计算过程
  • 展示主材费计算过程
  • 汇总清单综合单价
  • 等待用户确认后进入流程三

流程三:报价表生成(含多定额分解)(⭐确认节点3)

  1. 读取用户确认的组价结果
  2. 读取 assets/报价模板.xlsx 作为基础模板
  3. 创建以下Sheet结构
    • Sheet1:清单汇总表

| 清单编码 | 清单名称 | 单位 | 工程量 | 综合单价 | 合价 |

  • Sheet2:定额明细表

| 清单编码 | 定额类型(主/辅/主材) | 定额编号 | 子目名称 | 清单单位 | 清单量 | 定额单位 | 换算系数 | 定额量 | 基价 | 定额合价 | 主材费 |

  1. 填充数据:
    • 每个清单对应1行在"清单汇总表"
    • 每个清单对应N行在"定额明细表"(1主定额 + N辅定额 + M主材)
  2. 公式设置
    • 定额工程量:=[@清单工程量]*[@换算系数]
    • 定额合价:=[@定额工程量]*[@基价]
    • 清单综合单价:=SUMIFS(定额明细表[@定额合价],[@清单编码],[@当前清单编码]) (1+48.08%)(1+29.15%)
    • 含税综合单价:=[@综合单价]*(1+9%)
  3. 汇总行:=SUBTOTAL(109,[合价])(筛选时不跳行)
  4. 输出文件并告知用户保存路径

> Excel模板改进建议

> 报价模板.xlsx 需要更新为双Sheet结构(清单汇总 + 定额明细),才能支持一清单对N定额的输出!



目录结构

cnsdoce/
├── SKILL.md                         # 本文件(含MIT-0许可证声明)
├── LICENSE                          # MIT-0许可证(ClawHub强制要求)
├── scripts/
│   ├── search_quota.py             # 定额搜索脚本(SQLite优先)
│   ├── llm_semantic_match.py       # LLM语义匹配脚本
│   ├── calc_fees.py                # 取费计算(2025版规则)
│   ├── match_quota.py              # 定额关键词匹配引擎
│   ├── migrate_to_sqlite.py        # SQLite迁移脚本
│   └── requirements.txt            # Python依赖包
├── references/
│   ├── fee_standard.md            # 取费标准(全专业,v1.1.0扩充)
│   ├── unit_conversion.md          # 清单与定额单位换算表
│   ├── multi_quota_mapping.md      # 一清单对N定额标准组合
│   ├── cost_composition.md         # ⚡费用构成与计价程序(v1.1.0新增)
│   ├── measure_items.md            # ⚡措施项目费计算规则(v1.1.0新增)
│   ├── other_items.md              # ⚡其他项目费(暂列金额/暂估价/计日工)(v1.1.0新增)
│   └── volume_0[1-9]_*.md         # 13分册章节摘要(精简版)
├── index/
│   └── quota.db                    # SQLite数据库(可选,示例10条)
└── assets/
    ├── 报价模板.xlsx               # 带公式的标准报价表Excel模板
    └── quota_reference.db          # ⚡全专业费率库(v1.1.0新增,20KB,34条记录)

> ⚠️ quota.db 完整数据库(含约3.5万条定额+8,441条材料价格)需联系作者获取,或自行导入。

> ✅ quota_reference.db 已内置在技能中(20KB),无需额外配置,覆盖16个专业类型费率。

常用定额编号参考(2025版安装工程13分册)

| 分册 | 专业 | 常见定额编号示例 | 备注 |

|:----:|------|----------------|------|

| 第4册 | 电气安装 | 4-6-1(钢管敷设 MT20) | 变配电/电缆/照明 |

| 第6册 | 仪表安装 | 6-1-1(温度仪表安装) | 自动化控制仪表 |

| 第7册 | 通风空调 | 7-2-1(风管制作安装) | 风机/空调机组 |

| 第8册 | 工业管道 | 8-3-28(低压钢管焊接 φ57×3.5) | 高温高压管道 |

| 第9册 | 消防安装 | 9-1-1(自动喷淋管道) | 水/气体/泡沫灭火 |

| 第10册 | 给排水 | 10-1-1(室内给水镀锌钢管) | 散热器/地暖/燃气 |

| 第12册 | 刷油绝热 | 12-1-1(管道除锈) | 防腐/保温 |

| 第13册 | 措施项目 | 13-1-1(脚手架搭拆) | 高层增加费/调试费 |

Excel 输出规范(含单位换算)

报价表 Excel 必须满足:

  1. 表头:项目名称 + 日期 + 编制人
  2. 列结构
    • 序号 | 分册 | 定额编号 | 子目名称 | 章节 | 条款 | 工作内容
    • 清单单位 | 清单工程量 | 定额单位 | 换算系数 | 定额工程量
    • 基价 | 税前综合单价 | 含税综合单价 | 合价 | 备注
  3. 公式列
    • 换算系数:=IF(清单单位="m",0.1,IF(...)) 或 VLOOKUP 查表
    • 定额工程量:=[@清单工程量]*[@换算系数]
    • 税前综合单价:=[@基价](1+48.08%)(1+29.15%)
    • 含税综合单价:=[@税前综合单价]*(1+9%)
    • 合价:=[@定额工程量]*[@含税综合单价]
    • 小计:=SUBTOTAL(109,[合价])(筛选时不跳行)
  4. 格式:千元以上保留2位小数,千元以下取整,金额用万元标注
  5. 合计行:加粗,含大写金额

单位换算规范(⚡v1.2.0 强制检查规则)

> 详细换算表见 references/unit_conversion.md

核心原则:数据库中定额条目的 unit 字段 ≠ 用户清单中的计量单位。组价前必须读取并比对两个单位,单位不一致时必须按折算系数换算价格。

强制检查流程

组价 Step 0(必须在计算前执行):
  1. 读取用户清单中每一项的"单位"(从Excel或用户输入)
  2. 查询匹配定额的 unit 字段(quota.db → quotas 表)
  3. 比对两个单位:
     ├─ 一致 → 折算系数 = 1.0
     ├─ 不同但等价(处↔个、台↔个) → 折算系数 = 1.0(1:1等价)
     └─ 不同 → 计算折算系数
  4. 安装单价1 = (定额基价 + 管理费) × 折算系数 × 拆除系数

典型单位不匹配场景速查表

| 定额单位 | 清单单位 | 折算系数 | 典型定额 | 说明 |

|:---:|:---:|:---:|------|------|

| 10m³ | 个/项 | 体积/10 | JZ-5-1-11 基础制作 | 需从规格中提取长×宽×厚计算体积(m³),体积÷10 |

| 10m³ | 项 | 体积/10 | JZ-19-3-4 基础拆除 | 同上,通过规格字段提取实际体积 |

| 10m | 米 | ×0.1 | 管道类定额 | 定额每10米,清单每米 |

| 100m | 米 | ×0.01 | AZ-4-9-104 电缆敷设 | 定额每100米,清单每米 |

| 100kg | kg | ×0.01 | AZ-13-1-5 支架安装 | 定额每100kg,清单每kg |

| 处 | 个 | ×1.0 | SZ-5-3-157 阀门附件 | 1:1等价,市政给水"处"=1个连接点 |

| 台 | 个 | ×1.0 | AZ-4-2-1 断路器 | 1:1等价,设备类"台"=清单"个" |

通用换算规则(基础速查)

| 定额单位 | 清单单位 | 换算系数 | 示例 |

|---------|---------|---------|------|

| 10m | m | ×0.1 | 100m管道 → 10个定额单位 |

| 100m | m | ×0.01 | 500m电缆 → 5个定额单位 |

| 10m² | m² | ×0.1 | 200m²风管 → 20个定额单位 |

| 10个 | 个 | ×0.1 | 50个阀门 → 5个定额单位 |

| 100kg | kg | ×0.01 | 300kg支架 → 3个定额单位 |

| 个 | 个 | ×1 | 变压器/空调机组不换算 |

体积折算公式

当定额单位=10m³、清单单位=个/项时:

# 从规格字段解析体积(如 "C30砼长2.9m宽1.85m厚0.1m")
# 或 "长5m×宽3m×高0.3m"
体积 = 长 × 宽 × 高(厚)  # 单位 m³
折算系数 = 体积 / 10
安装单价1 = (定额基价 + 管理费) × 折算系数 × 拆除系数

拆除工程特殊规则

拆除类定额按山东省规定以 50% 计取(拆除系数 = 0.5):

if '拆除' in 定额名称 or '拆除' in 项目名称:
    拆除系数 = 0.5
else:
    拆除系数 = 1.0

济南价目表特殊规则

若使用 quota_jinan_2026.db(完整版数据库,需自行导入),其 general_price 已是综合单价(含管理费+利润),不可再叠加管理费

# quota_jinan_2026.db 中的定额
安装单价1 = general_price × 折算系数 × 拆除系数

# 标准 quota.db 中的定额
计费基础 = 人工费 + 机械费 (安装工程用人工费)
管理费 = 计费基础 × 管理费率
安装单价1 = (定额基价 + 管理费) × 折算系数 × 拆除系数

校验规则

组价完成后必须逐项验证:

  • 安装单价1 ≤ 安装单价(安装单价1不含利润和主材费,应小于全费用安装单价)
  • 若违反此规则,检查:① 单位折算是否正确 ② 是否误用济南价目表叠加管理费 ③ 拆除项是否遗漏×0.5

典型错误案例(已脱敏,仅供参考)

以下案例来自实际工程项目,已对项目名称和具体金额做脱敏处理,保留定额编号和折算逻辑:

| 序号 | 项目 | 定额编号 | 定额单位 | 清单单位 | 折算 | 错误根因 |

|:---:|------|------|:---:|:---:|:---:|:--:|

| 1 | 风机拆除 | AZ-1-7-65 | 台 | 台 | ×1.0 | 遗漏拆除×0.5(少扣50%) |

| 2 | 基础制作 | JZ-5-1-11 | 10m³ | 个 | 需体积折算 | 未做体积折算(10m³按1个算,偏差可达~19倍) |

| 3 | 基础拆除 | JZ-19-3-4 | 10m³ | 项 | 需×0.45 | 体积折算+拆除×0.5 双遗漏 |

| 4 | 风机安装 | 济南 1-7-8 | 台 | 台 | ×1.0 | 济南价目表叠加管理费(general_price已含管理费,重复计算偏高~33%) |

| 5 | 钢管 | 济南 8-1-30 | 10m | 米 | ×0.1 | 未做单位折算(10m按1m算,偏高10倍) |

| 6 | 电缆桥架 | AZ-4-9-38 | 10m | 米 | ×0.1 | 未做单位折算(偏高10倍) |

| 7 | 电缆 | AZ-4-9-104 | 100m | 米 | ×0.01 | 未做单位折算(偏高100倍) |

> ⚠️ 以上案例说明:单位不匹配可能导致价格偏差数倍到百倍,这是工程计价中最常见也最严重的错误来源之一。

数据库 unit 字段查询 SQL

-- quota.db 查单位(quota 是定额编号字段名,具体字段名以实际数据库为准)
SELECT quota_no, name, unit, base_price, labor_fee, machine_fee
FROM quotas WHERE quota_no = 'JZ-5-1-11';

-- 若使用 quota_jinan_2026.db
SELECT quota_id, unit, general_price, general_labor, general_machine, project_name
FROM quota_items WHERE quota_type = '安装工程' AND quota_id = '1-7-8';

特殊换算(保温工程)

保温体积 = π × (管道外径 + 保温厚度) × 保温厚度 × 管道长度
Excel:=PI()*(D2+δ)*δ*L2

材料匹配与单价换算规则

> 背景:在生成报价表时,需从材料数据库(quota.dbmaterials 表,或用户导入的完整数据库)匹配未计价材料价格。材料库中规格信息在名称字段中(非规格型号),且计价单位(m/个/t/kg等)可能与定额计量单位(10m/10个/副等)不一致,需要匹配+换算。

材料匹配打分机制

当根据定额子目匹配材料时,采用以下多层级打分策略:

| 匹配层级 | 条件 | 分数 |

|---------|------|:----:|

| 精确DN匹配 | 材料名称含DN{目标DN} | +10 |

| 管外径匹配 | 材料名称含D{管外径}管外径D{管外径} | +9 |

| φ匹配 | 材料名称含φ{管外径}Φ{管外径} | +8 |

| 尺寸标记匹配 | 名称含目标数字且有D/φ标记 | +5 |

| 来源优先级 | 价格取定表(2026) | +2 |

| 来源优先级 | 济南造价信息2026年03期 | +1 |

| 通用条目加分 | 名称无DN/φ/D等规格标记(通用条目) | +1 |

| 错误DN扣分 | 名称含非目标DN号(如搜索DN250但名称含DN20) | -5 |

DN→管外径映射表

| DN | 15 | 20 | 25 | 32 | 40 | 50 | 65 | 80 | 100 | 125 | 150 | 200 | 250 | 300 | 350 | 400 | 450 | 500 | 600 | 700 | 800 |

|----|----|----|----|----|----|----|----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|

| D | 18 | 25 | 32 | 38 | 45 | 57 | 76 | 89 | 108 | 133 | 159 | 219 | 273 | 325 | 377 | 426 | 480 | 530 | 630 | 720 | 820 |

匹配结果标注

  • 精确匹配(score > 3):直接显示材料名称+规格
  • 参考匹配(score ≤ 3):显示清理后名称+(参考)标记,移除名称中的错误DN号

排除关键词:栏杆、扶手、成品安装、底座、盲板等非工程材料条目需过滤

未计价材料单价换算

材料库中的计价单位(如m、个、t、kg、片、只)可能与定额计量单位(如10m、10个、副)不同,需统一换算:

可换算的维度(同维度)

| 材料单位 | 定额单位 | 换算系数 | 说明 |

|---------|---------|:--------:|------|

| 个 | 10个 | ×10 | 管件、阀门 |

| m | 10m | ×10 | 管材按长度计价 |

| 片 | 副 | ×2 | 1副法兰 = 2片 |

| 只 | 副 | ×2 | 1副法兰 = 2只 |

不可换算的维度(跨维度)

| 材料单位 | 定额单位 | 处理方式 |

|---------|---------|---------|

| kg | 10m | ⚠️ 无法换算,需人工确认或另找按米计价的条目 |

| t | 10m / 10个 | ⚠️ 无法换算,标记红色提醒 |

| 个 | 副 | ⚠️ 含义不同(阀门个≠法兰副),需人工确认 |

未计价材料列规范(Excel输出)

报价表综合单价Sheet末尾应包含以下列:

| 列 | 列名 | 说明 |

|----|------|------|

| 未计价材料 | 材料名称+规格 | 如"无缝钢管 DN50",参考匹配标注(参考) |

| 未计价材料单价(元) | 数值 | 已换算为定额计量单位的单价,不可换算的红色标注 |

| 计价单位 | 定额计量单位 | 与定额"计量单位"列一致 |

| 来源 | 数据来源 | 价格取定表(2026)济南造价信息2026年03期(含税单价_202603) |

> ⚠️ 价格溯源:每个未计价材料价格必须标注来源,济南造价信息还需标注具体字段名(含税单价_202603/含税单价_202602/取定价

⚠️ PowerShell/Windows 执行注意事项(经验教训 2026-05-16)

> 以下是在 Windows PowerShell 5.1 环境下执行定额查询时积累的经验教训,必须严格遵守。

1. PowerShell 5.1 语法限制

| 操作 | ❌ 错误写法 | ✅ 正确写法 | 说明 |

|------|------------|------------|------|

| 链式命令 | cd X && python a.py | cd X; python a.py | PS5.1 不支持 &&/\|\| |

| 条件执行 | A && B | A; if ($?) { B } | 需用 $? 判断上条命令是否成功 |

| 三元运算 | A ? B : C | if (A) { B } else { C } | 三元运算符为 PS7+ 特性 |

| 空合并 | $a ?? $b | if ($null -eq $a) { $b } else { $a } | ?? 为 PS7+ 特性 |

2. 中文编码问题(最常见问题)

问题:在 PowerShell 中直接用 python -c "含中文的字符串" 执行,中文会乱码或报错。

解决方案

  1. 将 Python 代码写入临时 .py 文件(UTF-8 编码)
  2. 执行该 .py 文件
  3. 读取输出结果
# ❌ 错误:中文会乱码
python -c "print('DN100调节阀')"

# ✅ 正确:先写文件再执行
Set-Content -Path temp_query.py -Value "print('DN100调节阀')" -Encoding UTF8
C:\Users\Administrator\.workbuddy\binaries\python\envs\default\Scripts\python.exe temp_query.py

3. 路径引用规则

| 场景 | 正确做法 | 原因 |

|------|---------|------|

| 引用 .workbuddy 目录 | 使用绝对路径 C:\Users\Administrator\.workbuddy\... | 相对路径会被 PS 当作模块名解析 |

| Python 可执行文件 | C:\Users\Administrator\.workbuddy\binaries\python\envs\default\Scripts\python.exe | 避免 PATH 混乱 |

| 脚本路径 | 绝对路径或确保正确 working directory | PowerShell 的 cwd 可能与预期不同 |

4. SQLite 列名规范

查询 quota.db 时,必须先确认列名(用 PRAGMA table_info(表名)),严禁猜测列名

| 表名 | 正确列名 | 常见错误 |

|------|---------|---------|

| quotas | labor_fee(人工费) | labor_cost ❌ |

| quotas | material_fee(材料费) | material_cost ❌ |

| quotas | machine_fee(机械费) | machine_cost ❌ |

| quotas | base_price(基价) | basePrice ❌ |

| materials | 含税单价(中文列名) | tax_included_price ❌ |

5. 优先使用 search_quota.py 脚本

不要每次都写临时 Python 文件! search_quota.py v6 已支持命令行直接查询,且优先使用 SQLite 毫秒级查询。

# ✅ 推荐:直接调用脚本(快)
$python = "C:\Users\Administrator\.workbuddy\binaries\python\envs\default\Scripts\python.exe"
$script = "C:\Users\Administrator\.workbuddy\skills\cnsdoce\scripts\search_quota.py"
& $python $script "DN100 调节阀"

# ❌ 避免:每次都创建临时查询文件(慢)
# 仅在脚本无法满足需求时才写临时 .py 文件

6. 快速查询定额的标准流程

用户提问
  ↓
直接调用 search_quota.py(命令行参数传入)
  ↓
(如脚本参数解析不支持中文)→ 写临时 .py 文件查询 SQLite
  ↓
解析结果 → 输出给用户

7. 常见错误速查

| 错误信息 | 原因 | 解决方案 |

|---------|------|---------|

| && is not recognized | PS5.1 不支持 && | 改用 ; 链接命令 |

| labor_cost column not found | 列名错误,应为 labor_fee | PRAGMA table_info(quotas) 查列名 |

| 中文乱码/问号 | python -c 编码问题 | 写 .py 文件,UTF8 编码执行 |

| .workbuddy 被当作模块 | 相对路径问题 | 改用绝对路径 |

| FTS5 中文无效 | unicode61 不支持中文分词 | 中文搜索用 LIKE,不用 FTS5 |


触发词

以下表述自动触发本技能:

  • "查一下这个定额"
  • "帮我组价"
  • "套这个定额"
  • "生成报价表"
  • "计算一下取费"
  • "@skill://cnsdoce"
  • "山东安装定额" / "2025版安装定额" / "安装工程13分册"
  • "建筑工程定额" / "市政工程定额" / "园林绿化定额" / "装饰工程定额"
  • "济南价目表" / "济南市价目表2026"
  • "GB/T 50500-2024" / "50500-2024"
  • "取费标准" / "管理费" / "利润率" / "费率" + "建筑"/"市政"/"园林"/"安装"
  • "管道/电气/暖通/仪表/消防/给排水/智能化/通信/刷油/绝热/建筑/市政/园林/装饰" + "定额" 或 "组价"
  • "材料价格" / "查询材料" / "钢筋价格" / "钢管价格" + "多少" 或 "查询"
  • "单位换算" / "折算系数" / "定额单位" / "清单单位" / "拆除系数" / "体积折算"
  • "10m³" / "10m" / "100m" + "换算" / "怎么算"

LLM语义匹配触发词

  • "帮我查一下" + 工作内容描述(自然语言)
  • "我想装" / "我想做" + 工程描述
  • "热泵/泵/风机/管道" + "安装" + 规格描述
  • 任何使用自然语言描述工程内容的场景

确认机制触发

  • 定额匹配完成后自动进入确认节点
  • 用户回复"确认"/"对的"/"正确" → 继续下一步
  • 用户回复"修改"/"不对"/"调整" → 重新匹配
  • 用户回复"加上XX" → 在当前基础上补充

版本历史

共 3 个版本

  • v1.2.0 当前
    2026-06-19 15:43
  • v1.1.1
    2026-06-14 20:10
  • v1.0.0
    2026-06-06 07:11

安全检测

腾讯云安全 (Keen)

队列中

腾讯云安全 (Sanbu)

队列中

🔗 相关推荐

professional

All-Market Financial Data Hub

financial-ai-analyst
基于东方财富数据库,支持自然语言查询金融数据,覆盖A股、港股、美股、基金、债券等资产,提供实时行情、公司信息、估值、财务报表等,适用于投资研究、交易复盘、市场监控、行业分析、信用研究、财报审计、资产配置等场景,满足机构与个人需求。返回结果为
★ 128 📥 42,256
professional

A股量化 AkShare

mbpz
A股量化数据分析工具,基于AkShare库获取A股行情、财务数据、板块信息等。用于回答关于A股股票查询、行情数据、财务分析、选股等问题。
★ 194 📥 63,164
professional

Stock Analysis

udiedrichsen
{"answer":"基于雅虎财经数据,分析股票与加密货币。支持投资组合管理、自选股预警、股息分析、8维评分、热门趋势扫描及传闻/早期信号探测。适用于股票分析、持仓追踪、财报异动、加密监控、热门股追踪或提前发掘非主流传闻。"}
★ 278 📥 57,752