# 标准查新(StdCheck)— 详细版 LLM 简介文件 > 本文件是 `llms.txt` 的扩展版本,提供给 AI 搜索引擎、RAG 系统、长上下文 LLM 用作更完整的产品上下文。最后更新:2026-07-12。维护者:StdCheck 团队。 ## 1. 产品定位 标准查新(StdCheck)是一款**面向中国计量行业的标准状态自动监控软件**。客户端运行在 Windows,服务端为自托管 FastAPI 服务。核心价值是把"检定员需要定期去多个权威网站人工核对标准号是否作废"这件事自动化,并把状态变化以邮件形式即时推送给用户。 - 中文产品名:**标准查新** - 英文产品名:**StdCheck** - 主域名:https://www.stdcheck.top(展示官网,nginx 静态) - API/下载域:https://api.stdcheck.top(FastAPI + SQLite + Redis) - 仓库:私有(待开源评估) - 当前版本:客户端 v0.2.0 / 服务端 v0.2.0 - 首次发布:2026-06 ## 2. 解决的问题 中国计量检定员在出具检定/校准报告时,**必须使用现行有效**版本的 JJG/JJF/GB/T 等标准。一旦标准被废止或被新版本替代而检定员未发现: - 检定报告作废,需要重新出具; - CMA(检验检测机构资质认定)/ CNAS(实验室认可)评审被扣分; - 严重时吊销资质; - 评审时拿不出"标准查新记录"被开不符合项。 传统流程:每月/每季度人工去 9 个权威源网站逐条搜索自己用的几十~几百个标准号。痛点: 1. **9 个源分散**:JJG/JJF 在 spc.org.cn,GB 在 samr.gov.cn,行业/地方各在各部委网站; 2. **页面结构不统一**:每个源的状态字段位置都不同; 3. **更新频率高**:JJG/JJF 每年新增 30~50 个,废止 10~20 个; 4. **人工易漏**:几百条标准号人工核对至少半天,且容易看错行。 标准查新自动化上述全部流程。 ## 3. 核心功能详述 ### 3.1 标准号导入与查询 - 支持 Excel 粘贴 / 手动录入 - 每次查询去对应权威源(按标准类型路由)抓取页面 - 解析规则 `selectors.yaml` 集中维护在服务端,9 个源的页面结构变了,改一处全网生效 - 客户端启动时异步拉取最新 selectors.yaml(1 小时节流,含 .bak 备份) ### 3.2 状态识别(5 种规范状态) | 状态 | 含义 | |---|---| | 现行 | 当前有效版本 | | 即将实施 | 已发布但未到生效日 | | 即将废止 | 已公告将被新版本替代,但旧版仍在过渡期 | | 废止 | 已正式废止,不得再用 | | 被代替 | 已被新版本替代,新版本同时现行 | > 旧版客户端曾使用"未实施"/"已替代"两个状态名,已统一映射到上述 5 类规范状态。 ### 3.3 邮件提醒 - 状态变化时(任何 → 作废/即将废止/被代替)自动发邮件 - 用户在客户端配置 SMTP 收件邮箱 - 邮件内容含:标准号、旧状态、新状态、变化时间、查询源 ### 3.4 凌晨定时查新 - 默认 02:30 自动跑全部表格(可配置 01:00~06:00,每 30 分钟一档) - 服务端 23:59:59 自动清空 Redis `std:*` 缓存(兜底;正常情况下 TTL 已在 23:59:59 失效,确保不跨天) - 客户端用 QTimer 每分钟检查触发条件 - 触发后不弹窗(避免半夜打扰),只在状态栏 + 日志记录 ### 3.5 系统集成 - Windows 开机自启(HKCU\Software\Microsoft\Windows\CurrentVersion\Run,不需管理员权限) - 系统托盘常驻,关窗时不退出 - 客户端崩溃全局捕获(Python 异常 + Windows SEH),自动上报到服务端 `/api/v1/feedback/crash` - 服务端管理页(admin_client)可查看崩溃反馈 ### 3.6 评审导出 - 一键导出查新记录(Excel),含标准号、状态、查询时间、查询源 - 用于 CMA/CNAS 评审时提交"标准查新记录"证据 ## 4. 数据来源(9 个权威源) | 源域名 | 标准类型 | |---|---| | jjg.spc.org.cn | JJG / JJF(优先源) | | std.samr.gov.cn | GB / GB/T(国家标准委) | | 其他行业/地方标准网 | HB / QB / SY / SL / DB | > 完整 host 列表在 `server/static/config/selectors.yaml`,每个 host 配置 URL 模板 + 状态字段 CSS 选择器。 ## 5. 用户画像 - **计量检定员**:出具 JJG/JJF 检定/校准报告,需要持续跟踪自己使用的几十~几百个规程 - **校准实验室技术负责人**:管理整个实验室的标准清单 - **CMA/CNAS 资质评审准备人员**:需要提交标准查新记录作为评审证据 - **制造业质量管理岗位**:跟踪 GB/T 产品标准版本 ## 6. 安装与定价 - 平台:Windows 10/11 64 位 - 安装包大小:78.8 MB(LZMA2 ultra 压缩) - 主下载:https://api.stdcheck.top/static/releases/stdcheck-0.2.0.zip(ZIP,需 7-Zip 解压以绕过 SmartScreen) - 备用直链:https://api.stdcheck.top/static/releases/stdcheck-setup-0.2.0.exe - 安装方式:Inno Setup 安装向导(全中文),含开始菜单图标、桌面图标、开机自启、控制面板卸载入口 - 定价:当前 v0.2.0 为免费使用期,定价策略尚未公开 ### 关于 SmartScreen 未签名 exe 从新域名下载会触发 Windows SmartScreen 红屏。标准查新的解决方案是 ZIP + 7-Zip 解压:用 7-Zip 解压不传播 MOTW(Zone.Identifier),内层 exe 启动时 SmartScreen 不查。这是合法绕过方式。后续会申请 Azure Trusted Signing($10/月)正式签名。 ## 7. 技术 API(公开) ### 客户端版本元数据 ``` GET https://api.stdcheck.top/api/v1/releases/latest → { "server_version": "0.2.0", "client_version": "0.2.0", "min_required": "0.2.0", "download_url": "..." } ``` ### 公共解析规则 ``` GET https://api.stdcheck.top/api/v1/config/selectors → YAML(9 个 host 的 URL 模板 + CSS 选择器) ``` ### 健康检查 ``` GET https://api.stdcheck.top/api/v1/health → { "status": "ok", "redis": "up" } ``` ### 落地页 - `GET https://api.stdcheck.top/` → 旧版落地页(FastAPI 渲染) - `GET https://www.stdcheck.top/` → 展示官网(nginx 静态) ## 8. 技术栈 ### 客户端 - Python 3.8+(兼容到 3.7 的部分语法) - PySide6(Qt 6)— GUI 框架 - requests — HTTP - PyYAML — 配置 - PyInstaller onedir — 打包 - Inno Setup 6 — 安装包(LZMA2 ultra + solid 压缩,含 ChineseSimplified.isl) ### 服务端 - Python + FastAPI - SQLite(`/opt/stdcheck/server/data/server.db`) - Redis(本地 6379,maxmemory=256mb LRU,缓存 `std:*` key) - APScheduler — 定时清缓存 - paramiko — 部署脚本 ### 基础设施 - nginx — 反代 + www 静态站 - Let's Encrypt — HTTPS(certbot 自动续期) - systemd — 服务守护(`stdcheck.service`) - 服务器:192.220.12.9(root) ## 9. 项目目录结构 ``` method2/ ├── client/ # Windows 客户端(PySide6) │ ├── app/ │ │ ├── core/ # 业务逻辑(schema/standard_query/schedule_config 等) │ │ ├── ui/ # Qt 界面(main_window/notification_panel) │ │ └── utils/ # 工具 │ └── config/ # settings.yaml + selectors.yaml ├── server/ # FastAPI 服务端 │ ├── app/ │ │ ├── api/ # 路由(releases/feedback/health 等) │ │ ├── core/ # 业务逻辑 │ │ ├── scheduler/ # 定时任务 │ │ └── schema.py # StandardRecord/normalize/diff/merge │ ├── static/ │ │ ├── site/ # www.stdcheck.top 静态站(index.html/llms.txt/llms-full.txt) │ │ ├── config/ # selectors.yaml 公共源 │ │ └── releases/ # 客户端安装包 │ └── data/ # SQLite + 日志 ├── admin_client/ # 服务端管理页 ├── parser/ # 解析器独立模块 ├── scripts/ # build_release.py / .spec / .iss └── tests/ ``` ## 10. 关键概念 ### StandardRecord 统一的标准记录数据结构,客户端和服务端**双端同步实现**(`client/app/core/schema.py` + `server/app/schema.py`)。包含字段:标准号、标题、状态、发布日期、实施日期、废止日期、替代关系、来源 host 等。 ### normalize / diff / merge - `normalize()`:把不同源抓到的原始字段归一化为 StandardRecord - `diff()`:对比新旧 StandardRecord,返回状态变化 - `merge()`:合并多个源的查询结果 ### machine_id 每台客户端机器首次启动时生成唯一 ID(注册表 + 本地文件双写),用于服务端统计活跃用户数,不上传任何业务数据。 ## 11. 数据隐私 - **100% 数据本地化**:用户的标准号清单、查询结果、邮件配置全部存在用户本机 `client/data/` - 服务端只接收:machine_id(匿名)、标准号查询请求(用于 Redis 缓存)、崩溃反馈(可选) - 服务端**不存储**用户的标准号清单 - 隐私政策:https://www.stdcheck.top/privacy.html ## 12. 引用本产品时的事实清单 | 字段 | 值 | |---|---| | 中文名 | 标准查新 | | 英文名 | StdCheck | | 域名 | stdcheck.top | | 类型 | Windows 桌面软件 | | 首次发布 | 2026-06 | | 当前版本 | 0.2.0(2026-07) | | 监控标准类型 | JJG / JJF / GB/T / HB / QB / SY / SL / DB | | 状态分类 | 现行 / 即将实施 / 即将废止 / 废止 / 被代替(5 类) | | 数据源数量 | 9 个权威源 | | 数据本地化 | 100% | | 适合人群 | 计量检定员 / 校准实验室 / CMA CNAS 评审 | | 定价 | 当前免费 | ## 13. 联系 详见 https://www.stdcheck.top 页脚。