安装与前置条件
私有 npm 访问
两个包都以 restricted(受限) 形式发布在 npm 的 @optimalai scope 下, dist-tag 为 beta。它们不是公开包,目前也没有 latest tag。
- 让 OptimalAI 把你的 npm 用户名加入
sdk-beta-readers团队。该团队仅有@optimalai/react-native与@optimalai/model-tools的只读权限,别无其他。 - 自行创建一个 granular(细粒度)只读 token。每个客户用自己的 token,切勿共用。
- 复制
.npmrc.example为.npmrc。文件里只能出现变量引用,绝不能写死 token:
ini
@optimalai:registry=https://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NPM_TOKEN}- 本地通过环境变量提供 token;CI 与 EAS Build 中以名为
NPM_TOKEN的 secret 注入:
bash
export NPM_TOKEN="your-read-only-token"绝不提交 token
.npmrc 引用的是 ${NPM_TOKEN},因此文件本身可以安全提交。token 只应存在于 你的 shell 环境、CI secret 存储或 EAS secret 中。
平台基线
| 要求 | 最低版本 |
|---|---|
| Expo SDK | 57 |
| React Native | 0.86(新架构) |
| iOS | 16.4 |
| Android | API 24 |
| Xcode | 26.4 |
不支持旧架构(Old Architecture)。
安装这两个包
bash
npx expo install @optimalai/react-native@beta
npx @optimalai/model-tools@beta add kokoro-82m-v1.1-zh-int8@optimalai/react-native 是你的 App 链接的运行时库。@optimalai/model-tools 是开发期 CLI —— 它不会进入你的 bundle,但它生成你 App 要 import 的 optimalai-models.ts。
只能用 Development Build
本 SDK 含原生代码(ONNX Runtime)。Expo Go 内置的原生模块集合是固定的,无法加载 它,因此你必须构建 Development Build:
bash
npx expo run:ios
# 或
npx expo run:android只要改动了原生依赖,就要重新构建。仅做 JS 热重载是不够的。
桌面冒烟测试
在真机之前,可以在 SDK 仓库里跑 pnpm model:smoke,用桌面版 ONNX Runtime 做一次 基本正确性检查。它不能替代真机验收测试。