Tool Bridge Mobile v0.0.5 (Preview)
Pre-releaseTool Bridge Mobile v0.0.5(Preview)
这是供内部验证应用图标与 attention flash 通道的 GitHub Pre-release,不是 production、App Store 或
Google Play 正式版本。本版本未改动本地命令运行时、策略裁决与确认流程,继续保留“设备本地裁决优先”的
安全边界;新增的 flash 通道走系统 torch API,不声明 Camera 权限。
本次变化
应用图标
此前 app.config.ts 从未配置 icon/adaptiveIcon,安装后显示的是 Expo 默认图标。
- 新增
assets/icon/brand-mark.svg作为唯一形状来源:桥形标识按上游tool-bridge仓库根目录的
tool-bridge.png逐行/逐列扫描测量重建(拱线最小二乘拟合三次贝塞尔,连线端点截断在节点圆环上以
保证内孔镂空干净),渲染稿与原位图逐像素比对差异 2.91%,集中在抗锯齿边缘; - 配色取
src/ui/theme.ts的background#08111f与primary#66d9c8,与应用内视觉同源,不再是
上游的黑白线稿; pnpm icons:generate从该 SVG 导出四份并提交进仓库:app-icon.png(1024²,iOS/通用,不透明)、
adaptive-icon.png(Android 自适应前景,透明)、monochrome-icon.png(Android 13+ 主题化图标)、
favicon.png(48²,笔画显著加粗);- Android 自适应前景宽度占比 0.548:108dp 画布中系统保证不被厂商遮罩裁掉的只有居中 66dp 圆,标识
宽高比 1048:480 较扁,这是让墨迹半对角落进该圆的上限。因此前景层视觉上比 iOS 图标小一圈,换取
圆形 / squircle / 方形任意遮罩下两端节点都不被切; - 导出依赖
rsvg-convert(macOSbrew install librsvg),不进package.json也不在 CI 执行。
attention flash 通道
- flash 由此前的
flash_not_implemented改为经系统 torch API 实际点亮:Android
CameraManager.setTorchMode、iOSAVCaptureDevice.torchMode; - 只在探测到闪光灯硬件时点亮,不声明 Camera 权限、不打开相机采集流;无硬件、被其他 App 占用或
系统拒绝时诚实返回flash_unavailable,不把 API 接受请求等同于用户一定感知; docs/CAPABILITIES.md、docs/SECURITY.md与llmdoc/architecture/capability-slices.md同步更新
能力边界描述。
校验门禁
- 新增
pnpm verify:app-icons(已挂进聚合verify):不依赖rsvg-convert,自行解析已提交 PNG 的
尺寸、透明通道与自适应图标安全区比例,并检查app.config.ts引用完整,防止图标悄悄退回 Expo
默认或破掉平台约束。四个负向场景(尺寸错、前景层不透明、超出安全区、配置引用缺失)均已验证能拦住; verify:app-config增加图标断言,确认三个环境共用同一套品牌图标——安装标识隔离,视觉标识不分叉;- 修正
verify-app-config.mjs中滞留在0.0.3的版本期望值(v0.0.4 提交漏改,与app.config.ts不符); /artifacts/加入.gitignore:本地构建的 APK 不应进版本控制,发布产物只经 release workflow 上传。
补装 expo-font(修复 v0.0.4 起两端原生构建失败)
v0.0.4 引入 @expo/vector-icons 时漏装了它声明的原生 peer expo-font,导致自 main 的 v0.0.4 合并点
起 verify:doctor 报 Missing peer dependency,Android preview APK 与 iOS simulator 两个构建 job
一直失败;缺失原生 peer 还可能让 App 在 Expo Go 之外崩溃。本版本以精确版本 57.0.1 直接列入依赖,
expo-doctor 恢复 21/21 通过。不注册其 config plugin——该 plugin 只用于嵌入自定义字体文件,而本仓库
只用 @expo/vector-icons 自带的运行时加载字体。docs/TECH-STACK.md 依赖表同步补记
@expo/vector-icons 与 expo-font(v0.0.4 也未记录)。
安装包
Release 附件中的 tool-bridge-mobile-preview-v0.0.5.apk:
- application id:
ai.tokenroll.toolbridgemobile.preview; - 内嵌 JavaScript bundle,不需要 Metro;
- 使用自动生成的 Android debug test key 签名,只用于内部安装;
- 同目录
.sha256文件用于核对 APK 完整性。
重要限制
- 图标尚未完成双端真机验收:已通过
expo prebuild确认 Android 侧生成
ic_launcher_foreground/ic_launcher_monochrome与@color/iconBackground,并检查圆形遮罩下
标识完整,但各厂商启动器实际遮罩、Android 13+ 主题化取色、iOS 主屏与设置页的实际观感都需真机确认;
48px 下笔画偏细,小尺寸可辨识度也待真机核对; - flash 通道未做双端真机物理验收:torch 实际亮度、被其他 App 抢占 torch、系统拒绝路径都只经单元
测试覆盖,没有真机证据; - 未改动高特权能力、后台前台服务、策略裁决与原生权限;v0.0.3 / v0.0.4 记录的能力边界与限制继续适用;
- 未开启 TalkBack / VoiceOver 等真机可访问性验收;
- pairing、设备专用最小权限 credential、短期 WebSocket ticket、mailbox 与 push 仍未实现;
- 手工 API key fallback 尚未通过完整 Gateway compatibility matrix;配置保存成功不代表鉴权成功;
- 没有 production signer、AAB、iOS 设备包、商店合规、SBOM、真机矩阵或 staged rollout 证据。
只有 SDK 收到 Gateway ready 后 App 才显示 online。请不要把 API key 或原始网络异常写进 issue、日志
或截图。