Skip to content

Tool Bridge Mobile v0.0.5 (Preview)

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Aug 11:38
· 29 commits to main since this release
bedfe6b

Tool 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.tsbackground #08111fprimary #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(macOS brew install librsvg),不进 package.json 也不在 CI 执行。

attention flash 通道

  • flash 由此前的 flash_not_implemented 改为经系统 torch API 实际点亮:Android
    CameraManager.setTorchMode、iOS AVCaptureDevice.torchMode
  • 只在探测到闪光灯硬件时点亮,不声明 Camera 权限、不打开相机采集流;无硬件、被其他 App 占用或
    系统拒绝时诚实返回 flash_unavailable,不把 API 接受请求等同于用户一定感知;
  • docs/CAPABILITIES.mddocs/SECURITY.mdllmdoc/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:doctorMissing 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-iconsexpo-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、日志
或截图。