PrimeBot 启元 Q1 & T1 技能整活工作台
PREFLIGHT CHECK · 偷懒神器二号

开工前 30 秒本机体检仪源码精讲

一键检查 Python 环境、国密库 gmssl、OpenSSH/curl 客户端及 PrimeHub 匿名搜索连通性

😜 调皮课代表大白话划重点(30 秒读懂核心)
上考场前先给电脑做个全身体检!这个纯 Python 跨平台脚本会依次摸底:1) Python 版本对不对;2) 负责国密 SM4 加密的 gmssl 装好没;3) 系统里找得到 ssh / scp / curl 吗;4) 不带 Token 能不能调通 PrimeHub 云端搜索接口搜出「51 点歌台」。最后打出 PREFLIGHT_OK 才算安心!

🔍 核心机关与修改指南

🔐 国密 gmssl 检查 SM4 传输必用

PrimeHub 市场接口全靠国密 SM4-CBC 加密,缺了 gmssl 寸步难行,脚本第一时间帮你查清。

🌐 免登录云端探针 search 点歌

直接实弹调用 primehub_publish.py search 点歌,一把验证本机 curl 与云端 SM4 解密全链路畅通!

💻 完整源码与配置内容(共 43 行 · 支持行号定位与一键复制)

📄 共 43 行
1#!/usr/bin/env python3
2"""本机开发环境与 PrimeHub 技能市场连通性一键预检脚本(纯 Python 跨平台版)。"""
3
4import importlib.metadata
5import shutil
6import subprocess
7import sys
8from pathlib import Path
9
10TOOLS_ROOT = Path(__file__).resolve().parent.parent
11PUBLISH_SCRIPT = TOOLS_ROOT / "primehub_dev_kit/primehub_publish.py"
12
13
14def main() -> int:
15 print(f"Python: {sys.version.split()[0]} ({sys.executable})")
16 try:
17 gmssl_ver = importlib.metadata.version("gmssl")
18 print(f"gmssl: {gmssl_ver}")
19 except importlib.metadata.PackageNotFoundError:
20 print("错误:缺少 gmssl 依赖,请使用 Tools/.venv 中的 Python 运行。", file=sys.stderr)
21 return 1
22
23 for cmd in ("ssh", "scp", "curl"):
24 loc = shutil.which(cmd)
25 if not loc:
26 print(f"错误:未找到系统命令 {cmd}。", file=sys.stderr)
27 return 1
28 print(f"{cmd:6s}: {loc}")
29
30 res = subprocess.run(
31 [sys.executable, "-B", str(PUBLISH_SCRIPT), "search", "点歌"],
32 check=False,
33 )
34 if res.returncode != 0:
35 print("错误:PrimeHub 匿名搜索连通性检查失败。", file=sys.stderr)
36 return res.returncode
37
38 print("PREFLIGHT_OK(本机工具与 PrimeHub 网络连通正常;账号登录与真机运行请按步骤继续验收)")
39 return 0
40
41
42if __name__ == "__main__":
43 raise SystemExit(main())