项目标签: 个人造价 工程造价 数据沉淀 经验管理 个人定额库 材料设备库 工程量清单 报价版本 造价指标 AI 助手 复盘笔记 IndexedDB 纯前端 Vercel
一个面向个人造价从业者的通用数据与经验沉淀平台,不限定工程类型或专业方向。它把历史清单、常用定额、材料设备价格、项目案例和复盘经验组织在同一个工作台中,帮助个人完成报价编制、版本留痕、指标分析和经验复用。
业务资料默认保存在当前浏览器的 IndexedDB 中,也可切换到用户授权的本地文件夹;AI Key 仅保存在当前浏览器的 localStorage 中。
造价工作不是一次性算出一个总价,而是把来源不一的数据、每一次判断和持续变化的价格,逐步沉淀为可复核、可复用的个人资产。这个产品围绕以下原则设计:
- 本地优先,资料由使用者掌控。 清单、定额、价格、项目资料和复盘笔记默认保存在本机;调用远端 AI 前明确数据范围,避免把业务资料默认交给平台。
- 先看得懂,再写进去。 面对来源复杂的 Excel / CSV,系统先识别表头、数据区和字段映射,展示质量预览后才允许写入;自动识别用于减轻重复劳动,不替代人工确认。
- 每个数字都应能追溯。 导入记录、原始工作表行号、价格快照、报价版本和数据质量状态共同保留“这个数从哪里来、何时生效、是否可信”的依据。
- 沉淀可复用的判断,而不只是堆积数据。 通用清单、常用定额、材料设备价格、案例指标和复盘笔记相互关联,让一次项目经验能在下一次报价中被检索、比较和验证。
- 专业逻辑优先于炫技。 产品以工程造价日常工作流为中心:资料入库、项目编制、审查、版本留痕、案例复用;AI 只在识别、检查和检索等环节提供可降级的辅助。
- 打开 costdata.cybertumu.com 查看产品介绍。
- 点击“进入工作台”,或直接访问 costdata.cybertumu.com/app/。
- 首次体验可进入“数据与备份”加载演示数据;正式录入前使用“清理演示数据”移除系统示例。
在线版本的业务数据仍保存在当前浏览器中,不会因为登录其他设备而自动同步。清理浏览器数据、使用无痕模式或更换设备前,请先导出完整 ZIP 备份。
建议通过本地静态服务运行,避免浏览器拦截 ES Module 或演示数据加载:
git clone YOUR_REPOSITORY_URL cost-data-workbench
cd cost-data-workbench
python3 -m http.server 8000然后打开 http://localhost:8000/app/ 进入实际工作台。http://localhost:8000/ 是产品介绍落地页,两者用途不同;不建议直接双击 HTML 文件。
下面是一条适合首次使用的完整工作流。按钮名称以当前工作台为准。
- 进入“数据与备份”,确认当前使用的是浏览器 IndexedDB;Chrome 或 Edge 用户也可授权一个本地数据文件夹。
- 如果已有历史备份,先导入“兼容 JSON”或“完整 ZIP”;如果只是体验,可加载演示数据。
- 批量导入、恢复备份或执行重要调整前,先导出一份完整 ZIP 作为回退副本。
- 在“导入资料”中选择要导入的资料类型。
- 导入定额、通用清单、材料或设备 Excel,核对字段映射和预览结果。
- 处理“缺单价、重复、冲突、格式错误”等提示后再确认写入。
- 到“我的定额库”“我的清单库”“我的材料库”或“我的设备库”复核数据;材料和设备可继续补充价格快照、有效期及报价附件。
- 进入“我的项目”,新建项目并填写项目类型、规模、工艺等基础信息。
- 打开项目的“工程量清单”,选择或新增清单条目,核对工程量、单价和调整系数。
- 执行报价审查,处理缺单价、零工程量和资源价格异常。
- 确认当前工作稿后点击“保存版本”,生成不可变报价快照;需要时可对比或恢复历史版本。
- 报价稳定后将项目收录为案例,系统会整理项目、清单和分类造价事实。
- 在“造价参考”查看案例分位数、中位数、均值及数据质量状态。
- 保存版本、报价审查或案例收录后创建复盘笔记,补充判断依据、适用边界和风险提示。
- 后续可通过全局搜索或 AI 助手检索已确认的个人经验。
- 进入“数据与备份”的 AI 配置区域。
- 选择服务商,填写 API 地址、模型名称和 API Key,然后测试连接。
- 回到 AI 助手执行报价检查、定额推荐或经验检索。
API Key 只保存在当前浏览器的 localStorage,不会包含在业务备份中。调用远端模型时,完成当前任务所需的上下文会发送给所选 AI 服务商;请先确认数据范围和服务商的数据政策。不要把 Key 写进源码、README、截图或导出的项目资料。
- 日常轻量留档可导出“兼容 JSON”。
- 需要跨设备迁移材料/设备报价附件时,导出“完整 ZIP”。
- 在目标设备打开工作台,进入“数据与备份”导入文件;恢复完成后刷新页面并抽查项目、版本和附件。
- 确认迁移成功前保留原设备数据和原始备份文件。
| 模块 | 作用 |
|---|---|
| 我的概览 | 继续最近工作,查看待补单价、待保存版本和个人资料完整度 |
| 导入资料 | 统一导入定额、通用清单、项目清单、材料和设备资料 |
| 我的定额库 | 维护常用定额、Excel 导入、分类/单位/价格状态筛选 |
| 我的清单库 | 维护可复用的标准清单,套用到项目后可独立调整 |
| 我的材料库 / 我的设备库 | 维护材料设备主数据、不可变价格快照、报价附件和定额引用 |
| 我的项目 | 新建、编辑、收录案例,并直接进入项目清单 |
| 工程量清单 | 选择定额、填写工程量、批量调价、保存报价版本、报价审查和导出报价单 |
| 造价参考 | 基于已收录案例统计极值、分位数、中位数和均值 |
| AI 助手 | 本地指令 + 远端模型,用于查造价、推荐定额、检查缺单价 |
| 复盘笔记 | 将报价审查、版本调整和案例收录里的判断保存为可检索的个人经验 |
| 数据与备份 | AI 配置、本地数据文件夹、资料整理、JSON 备份恢复、演示数据加载和重置 |
造价数据库/
├─ index.html # 产品介绍落地页
├─ app/index.html # 工作台页面壳、本地 vendor 依赖与全局布局
├─ app.js # 路由、导航和应用入口
├─ assets/
│ ├─ views/ # 各功能页面
│ ├─ services/ # 业务逻辑
│ ├─ data/ # 存储适配、IndexedDB、Excel、演示数据
│ ├─ ai/ # 本地指令和远端 LLM 调用
│ └─ utils/ # DOM、统计、造价计算等工具
├─ data/ # JSON 备份建议存放目录
└─ tests/run.mjs # 轻量逻辑测试
定额 Excel 支持“清单名称 / 项目特征 / 单位 / 综合单价”等列。导入后会展示总行数、成功数、失败数、跳过数和缺单价数。综合单价为空或为 0 的条目会被标记为“缺单价”,生成报价时按 0 计。
工程量清单支持“报价版本管理”。当前清单是工作稿,点击“保存版本”会生成不可变快照;可在“版本管理”中查看历史版本、对比两个版本的增删改和总价变化,也可恢复某个版本覆盖当前清单。
保存报价版本、报价审查和案例收录都可以发起“报价复盘笔记”。系统会根据当前项目、清单、版本和质量报告生成追问,用户回答后生成笔记草稿,确认后才保存到个人复盘笔记。
材料、设备价格均保存为不可变快照;资源可手动指定首选价,否则系统按本地日历日期选择仍在有效期内的最新价格。三种价格口径含义如下:
ex_factory(出厂价):货物离开生产厂家时的价格,不含运至项目现场的运杂费用,也不含安装调试。delivered(到场价):货物送达项目现场的价格,可包含约定的运费、运输损耗和采购保管费,不含现场安装调试。installed_composite(安装综合价):按已填写的安装范围包含设备/材料、安装及可能的调试费用;用于定额或清单时应避免再重复计取人工、机械或安装费。
供应商报价建议关联原始依据。附件支持 PDF、JPG/JPEG、PNG、XLS 和 XLSX,单个文件必须大于 0 且不超过 20MB;系统同时校验扩展名、MIME 与文件签名。
系统内置本地数据引擎,业务资料默认保存在当前本机存储模式中,不依赖业务后端。只有主动调用远端 AI 时,相关任务上下文才会发送给所选模型服务商。数据引擎采用审慎的自动沉淀策略:
- 导入工程量清单 Excel 后,自动生成待检查记录和质量报告。
- 保存报价版本后,自动沉淀为不可变版本样本。
- 案例收录后,自动整理为可用案例并重算造价参考。
- 造价参考的“案例记录”可查看来源、质量、可用/待检查状态,并确认记录是否可用。
- “数据与备份”中的“数据整理”面板可查看采集、标准化、质量检查、保存和参考重建记录。
- 系统会为记录写入来源 ID、来源数据集、质量分和处理记录,便于后续追溯和排查。
缺单价、总价为 0、工程量为 0、未匹配定额的记录会标记为低可信或需复核。默认参考只使用可用案例,不直接使用临时工作稿。
复盘采用“追问 → 草稿 → 确认保存 → 查阅复用”的轻闭环:
- 追问由 AI 优先生成;没有 API Key 时使用本地模板兜底。
- 复盘笔记包含结论、适用边界、风险提示、证据来源、可信度、有效期和复核状态。
- 复盘笔记以条目列表展示,支持关键词、项目类型、工艺类型、成本分类、状态和有效期筛选。
- AI 助手查询经验时优先检索已确认笔记,并记录引用次数。
- 复盘笔记不参与造价参考计算,只作为个人复盘和报价辅助资料。
默认 IndexedDB 模式下,业务表保存在各 store 中,附件元数据位于 resource_attachments,附件二进制按内部附件键独立保存。切换到用户授权的本地文件夹后,布局为:
本地数据文件夹/
├─ manifest.json
├─ stores/*.json
├─ attachments/<resourceId>/<attachmentId>-<safeFileName>
└─ backups/*.json
“数据与备份”提供两类备份,导入文件上限均为 500MB:
- 兼容 JSON:用于旧版兼容和轻量留档,包含全部业务表与附件元数据,但不包含附件二进制;恢复后相应附件会标记为缺失。
- 完整 ZIP:包含业务数据、
manifest.json校验清单和附件原文件,是跨设备完整迁移附件的格式;压缩文件及安全解压后的总内容都受 500MB 限制。
ZIP 压缩/解压使用仓库内固定版本的 assets/vendor/fflate/,避免运行时访问公共 CDN,并确保备份格式行为可复现。所有 JSON/ZIP 备份都可能包含敏感业务数据,应存放在受控位置;API Key 不会随业务备份导出或被恢复覆盖。
当前没有构建步骤,Vercel 以静态文件方式部署 /app/;前端依赖已放在 assets/vendor/,避免运行时依赖公共 CDN。运行轻量逻辑测试:
node tests/run.mjs手动验证建议覆盖:/app/ 启动与干净控制台、材料/设备导航和价格/附件、导入中心、定额七项费用与人材机组成、清单资源审查四组问题、“数据与备份”中的 JSON/ZIP 恢复、概览页资源健康入口、数据刷新后持久化,以及 1440/1024/768/320px 下的布局与键盘焦点。任何恢复测试前都应先导出当前备份。