docs: 添加涉密文件自检工具实施计划

This commit is contained in:
2026-06-08 13:53:24 +08:00
commit 31161d9a5f
1838 changed files with 455407 additions and 0 deletions

View File

@@ -0,0 +1,109 @@
import os
import psutil
from plugin_i18n import Translator
tr = Translator(__file__, "i18n.csv")
# 模块配置路径
MODELS_CONFIGS = "/models/configs.txt"
# 保存语言字典
LangDict = {}
# 动态获取模型库列表
def _getlanguageList():
global LangDict
"""configs.txt 格式示例:
简体中文(V4)
ch_PP-OCRv4_det_infer.onnx
ch_ppocr_mobile_v2.0_cls_infer.onnx
rec_ch_PP-OCRv4_infer.onnx
dict_chinese.txt
"""
optionsList = []
configsPath = os.path.dirname(os.path.abspath(__file__)) + MODELS_CONFIGS
try:
with open(configsPath, "r", encoding="utf-8") as file:
content = file.read()
parts = content.split("\n\n")
for part in parts:
items = part.split("\n")
if len(items) == 5:
title, det, cls, rec, keys = items
LangDict[title] = {
"det": det,
"cls": cls,
"rec": rec,
"keys": keys,
}
optionsList.append([title, title])
return optionsList
except FileNotFoundError:
print("[Error] RapidOCR配置文件configs不存在请检查文件路径是否正确。", configsPath)
except IOError:
print("[Error] RapidOCR配置文件configs无法打开或读取。")
return []
_LanguageList = _getlanguageList()
# 获取最佳线程数
def _getThreads():
try:
phyCore = psutil.cpu_count(logical=False) # 物理核心数
lgiCore = psutil.cpu_count(logical=True) # 逻辑核心数
if (
not isinstance(phyCore, int)
or not isinstance(lgiCore, int)
or lgiCore < phyCore
):
raise ValueError("核心数计算异常")
# 物理核数=逻辑核数,返回逻辑核数
if phyCore * 2 == lgiCore or phyCore == lgiCore:
return lgiCore
# 大小核处理器,返回大核线程数
big = lgiCore - phyCore
return big * 2
except Exception as e:
print("[Warning] 无法获取CPU核心数", e)
return 4
_threads = _getThreads()
globalOptions = {
"title": tr("RapidOCR本地"),
"type": "group",
"numThread": {
"title": tr("线程数"),
"default": _threads,
"min": 1,
"isInt": True,
},
}
localOptions = {
"title": tr("文字识别RapidOCR"),
"type": "group",
"language": {
"title": tr("语言/模型库"),
"optionsList": _LanguageList,
},
"angle": {
"title": tr("纠正文本方向"),
"default": False,
"toolTip": tr("启用方向分类,识别倾斜或倒置的文本。可能降低识别速度。"),
},
"maxSideLen": {
"title": tr("限制图像边长"),
"optionsList": [
[1024, "1024 " + tr("(默认)")],
[2048, "2048"],
[4096, "4096"],
[999999, tr("无限制")],
],
"toolTip": tr("将边长大于该值的图片进行压缩,可以提高识别速度。可能降低识别精度。"),
},
}