背景
ohmycloud 侧立项 D27(reader_rs 分发面),承接你仓 D42(模型分发自维护,载体待澄清:候选 GitHub Releases 资产 / ModelScope / 自有镜像)。触发证据即你仓验收记录:v0.4.0 封版时 lan-linux 首用下载 HF tiny-rec 三连重试失败,scp 手动放置后 --offline 才全通。ohmycloud 已完成三路研究(R2 公开服务面、GitHub Actions 上传路线、HF 模型镜像与许可)与用户四裁,本 ISSUE 同步裁决与规范,请按此立项落地。
用户四裁(ohmycloud 追问链第 16 轮 Q27 至 Q30)
| 物料 |
默认 |
兜底 |
| OCR 模型(tiny / small 两档) |
reader.ohmygh.com 镜像 |
HF 直连、GitHub Releases(模型专用 tag) |
| self update 二进制 |
镜像侧 latest.json |
GitHub Releases API |
纪律:清单只发一份(镜像侧为真);兜底只兜资产可用性,客户端不信任第二份未签名清单;两渠道资产共用同一 sha256 验(digest 校验复用你仓现有实现)。
ohmycloud 侧负责(基建,另行落地)
R2 专用桶挂自定义域 reader.ohmygh.com(关 r2.dev,公开仅自定义域);就绪后在本 ISSUE 回执。S3 凭据(桶级 Object Read & Write)建好后给本仓进 GitHub Secrets:R2_ACCESS_KEY_ID 与 R2_SECRET_ACCESS_KEY。
reader_rs 侧待办
- 模型源链:ModelStore 接入镜像源(预取入缓存目录,或 patch 源链;接入形态你仓定),失败回退 HF 直连,再回退 GitHub Releases 模型专用 tag
- self update:先读 latest.json,失败回退 GitHub Releases API;minisign 签名字段(离线私钥,minisign-verify 零依赖)为可选项,是否上由你仓裁
- CI:release.yml 加 mirror job(gh release download 本 tag 资产后 rclone copy 上桶,latest.json 最后传,清单即发布提交点);新增 mirror-models.yml(workflow_dispatch 加每周 schedule;注意 schedule 只在默认分支生效且仓库 60 天无活动自动停用,文档注明手动补跑入口)
规范(自包含摘录,ohmycloud S009)
- 路径:reader//(asset 与 .sha256 边车同名对)与 models///
- 清单 reader/latest.json(Tauri v2 形状加 sha256):
{
"version": "0.4.1",
"pub_date": "2026-09-03T00:00:00Z",
"platforms": {
"x86_64-pc-windows-msvc": {
"url": "https://reader.ohmygh.com/reader/0.4.1/reader-v0.4.1-x86_64-pc-windows-msvc.zip",
"sha256": "0ec041fa38...",
"signature": "可选,minisign"
}
}
}
- 清单 models/models.manifest.json:数组,每项 repo / rev / file / sha256 / license / mirrored_at
- 缓存头(上传时逐对象带):版本化资产 public, max-age=31536000, immutable;latest.json public, max-age=60
- rclone 配置:type = s3,provider = Cloudflare,endpoint = https://.r2.cloudflarestorage.com;Cache-Control 用 --header-upload 带
- 源校验免下载:Hf tree API /api/models//tree/main 的 lfs.oid 即文件 sha256,公开免 token;源 sha256 漂移只告警不自动跟(钉死值以你仓现有 ppocr-rs pin 为准)
- 许可:PaddlePaddle PP-OCRv6 safetensors 全系(tiny_det 07595f9 / tiny_rec 6f2d2d5 / small_det eae2ee9 / small_rec fe049fb 等)HF API 实证 Apache-2.0 非 gated,再分发合规;义务仅随分发物带 Apache-2.0 文本与 PaddlePaddle 出处声明
- 两档四仓:PP-OCRv6_tiny_det / tiny_rec / small_det / small_rec_safetensors(tiny 与 small 是 v6 档位,v5 只有 mobile 与 server,别取错系)
验收判据(建议)
- 大陆机器首用 --ocr:镜像源下载两档全通,不再 scp
- self update 镜像通道真升级(或 --force 重装)走 latest.json 成功
- 镜像不可达时模型回退 HF 与 GitHub、升级回退 GitHub API 仍可用
请回复
- 路径与清单 schema 是否照此落地(有异议提出)
- ModelStore 接入形态选型:预取入缓存目录,还是 patch 源链
- minisign 可选项上不上
背景
ohmycloud 侧立项 D27(reader_rs 分发面),承接你仓 D42(模型分发自维护,载体待澄清:候选 GitHub Releases 资产 / ModelScope / 自有镜像)。触发证据即你仓验收记录:v0.4.0 封版时 lan-linux 首用下载 HF tiny-rec 三连重试失败,scp 手动放置后 --offline 才全通。ohmycloud 已完成三路研究(R2 公开服务面、GitHub Actions 上传路线、HF 模型镜像与许可)与用户四裁,本 ISSUE 同步裁决与规范,请按此立项落地。
用户四裁(ohmycloud 追问链第 16 轮 Q27 至 Q30)
纪律:清单只发一份(镜像侧为真);兜底只兜资产可用性,客户端不信任第二份未签名清单;两渠道资产共用同一 sha256 验(digest 校验复用你仓现有实现)。
ohmycloud 侧负责(基建,另行落地)
R2 专用桶挂自定义域 reader.ohmygh.com(关 r2.dev,公开仅自定义域);就绪后在本 ISSUE 回执。S3 凭据(桶级 Object Read & Write)建好后给本仓进 GitHub Secrets:R2_ACCESS_KEY_ID 与 R2_SECRET_ACCESS_KEY。
reader_rs 侧待办
规范(自包含摘录,ohmycloud S009)
{ "version": "0.4.1", "pub_date": "2026-09-03T00:00:00Z", "platforms": { "x86_64-pc-windows-msvc": { "url": "https://reader.ohmygh.com/reader/0.4.1/reader-v0.4.1-x86_64-pc-windows-msvc.zip", "sha256": "0ec041fa38...", "signature": "可选,minisign" } } }验收判据(建议)
请回复