Install
openclaw skills install @kormendierijon681-oss/cost-file-doctor诊断工程计价文件的格式、加密状态与本地解析可行性,推荐处理路径,并提供导出 Excel 的重复表头清理工具。
openclaw skills install @kormendierijon681-oss/cost-file-doctor拿到一个工程计价文件,先诊断再动手。别上来就逆向——先花 5 分钟判断值不值得。
| 扩展名 | 软件 / 厂商 |
|---|---|
.SGCFX .GCFX .gcf | 宏业(清单计价专家,四川为主) |
.qhf | 青山.net 大禹水利计价 |
.qgf .qgfx | 青山.net 清单计价 |
.GBQ .GBQ4/5/6 .GWH | 广联达 |
.gzb4 .gpb9 | 广联达(旧版招标/投标) |
.iYst | 鹏业预算通 |
.KZJ | 品茗 |
.CDZ | 青山(地灾) |
python3 scripts/diagnose.py "<文件路径>"
脚本会输出:香农熵、分块熵、可读中文串数、容器签名命中、压缩流实测。
判据:
| 指标 | 明文可解析 | 加密/强压缩 |
|---|---|---|
| 香农熵 | 4.0 ~ 6.5 | > 7.9 |
| 分块熵(8 等分) | 不均匀 | 均匀且都高 |
| UTF-16 中文串 | 成百上千 | 0 |
| 容器签名(ZIP/OLE/7z…) | 通常命中 | 全部未命中 |
| zlib 疑似命中 | 能真解压 | 假阳性(报 invalid code) |
关键:高熵文件里 2 字节签名必然随机撞上, 判断压缩格式必须实际解压验证,只看"签名存在"会误判。
已知结论:
.SGCFX(宏业)未加密 → 可本地解析,见 sgcfx-hongye-parse 技能.qhf(青山水利)全系加密 → 无公开解密方案,别浪费时间| 情况 | 路径 |
|---|---|
| SGCFX / 未加密 | 本地解析 → 用 sgcfx-hongye-parse 技能 |
| 加密,但用户已有导出的 Excel/PDF | 直接用现成的 ← 最常见、最省事 |
| 加密,且没有导出件 | 装原软件导出 / 找发件人要 / 第三方浏览工具 |
拿到一个加密计价文件时,先在该文件所在目录翻一遍。 造价项目的资料目录里,通常已经躺着导出的 Excel 或 PDF:
…/招标控制价/<项目名>---控制价.xlsx ← 往往就在 .qhf 旁边
…/概算(审改)/<项目名>---(概算).xlsx
…/财评回复/…
实测案例:为解一个加密的 .qhf 折腾很久,最后发现
同目录下就有导出的招标控制价 xlsx(25 个 sheet)。
搜索命令:
find "$(dirname '<加密文件>')/../" -type f \( -name '*.xlsx' -o -name '*.xls' -o -name '*.pdf' \) 2>/dev/null
造价软件导出的 Excel 通常带分页重复表头(每页都重一遍标题+表头),
直接看很痛苦。用 scripts/tidy_excel.py 清理:
python3 scripts/tidy_excel.py "源文件.xlsx" "输出.xlsx"
处理:丢弃空行 → 定位首行表头 → 删除重复的标题行/表头行 → 规范化输出(表头加粗、冻结首行、列宽自适应、金额千分位、层级缩进、合计高亮)。
给用户输出时按这个结构,别只说"打不开":
1. 这是什么文件 → 厂商 + 软件 + 用途
2. 能不能解析 → 熵值证据 + 中文串数 + 签名实测(给数字,不给感觉)
3. 三条路径 + 代价 → 成本 / 耗时 / 成功率 / 风险
4. 我的建议 → 明确推荐一条,说明理由
诚实原则:
注:本技能涉及的厂商与格式为行业公开知识,不含任何具体项目数据。