Skip to content

Releases: TokenRollAI/tool-bridge-mobile

Tool Bridge Mobile v0.0.11 (Preview)

Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Aug 20:01
57d7f5f

Tool Bridge Mobile v0.0.11(Preview)

Preview:修复真实远程拍照完成后无法交付对象,并升级 Tool Bridge device SDK;不是 production、
App Store 或 Google Play 正式版本。

修复与变更

  • @tool-bridge/sdk 精确升级到 0.17.0,移除已废弃的 uploadContextObject / camera/photos Context
    假设,改用网关为每次 device call 注入的窄 call.uploadObject Store capability。
  • 相机结果改为稳定 store://default/... 引用;上传同时提交 JPEG size、SHA-256、脱敏文件名和基于
    commandId 摘要的幂等键,并复核 Gateway 返回的对象描述。
  • 缺少本次调用的 Store upload capability 时,在本地确认、相机 probe 和打开预览前 fail closed。
  • Android Preview 构建在 prebuild 与 Gradle bundle 两阶段都保持 APP_VARIANT=preview,避免 native
    package 是 Preview、内嵌 JS 配置却回落 Development。

证据与已知限制

  • 旧 0.0.9 真机日志已证明远程命令实际打开相机、生成并重编码 JPEG;失败发生在旧 Context 上传,且照片
    按设计只存在于 App 私有临时文件,不写入系统相册。
  • SDK 0.17 的 call.uploadObject 只使用 SDK 原始 call signal,不接受 App 的前台丢失 signal;上传开始后
    切后台仍可能产生未返回的 Store 对象。当前会拒绝成功结果并清理本地文件,但完整中止需上游支持组合 signal。
  • Android Preview 0.0.11 已完成 APK native/JS variant 反查、ADB 覆盖安装和一次真实远程后摄调用;相机
    日志记录 takePictureInternal / onImageCaptured,Store 对象为 ready,受保护读回的 JPEG MIME、
    11,569 字节与 SHA-256 均和设备返回一致。
  • 同一源码随后在锁定 Node 22.23.1 下再次完成 release clean build;最终 APK 覆盖安装后恢复
    active/online/direct_call。为避免重复副作用,没有在该重建 artifact 上再次拍照。
  • iOS simulator build 已尝试,但本机只有 Command Line Tools、缺少完整 Xcode/CocoaPods,尚未形成 iOS
    build 或真机证据;未自动安装系统级工具链。

Tool Bridge Mobile v0.0.10 (Preview)

Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Aug 19:54
27c53cd

Tool Bridge Mobile v0.0.10(Preview)

Preview:修复 Android/iOS 前台相机硬件探测,不是 production、App Store 或
Google Play 正式版本。

修复

  • 不再在 Android/iOS 上调用 Web-only 的 CameraView.isAvailableAsync(),改为通过 Camera2 与
    AVFoundation 只读枚举设备的前/后镜头,避免有权限且硬件正常时误报 camera_probe_failed
  • 在本地确认前检查请求的 facing;设备缺少对应镜头时稳定返回
    camera_facing_unavailable,并保留不向远端暴露原生异常的边界。

验证边界

  • Android Preview release clean build、全量 pnpm verify 与 Android 真机前置镜头的可见预览、
    自动拍摄和本地图像处理已通过。
  • Gateway 尚未挂载可写 camera/photos context,因此真实对象上传 E2E 未完成;iOS 原生
    build 和真机需在安装完整 Xcode/CocoaPods 的环境继续验收。

Tool Bridge Mobile v0.0.8 (Preview)

Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Aug 15:17
2ac033f

Tool Bridge Mobile v0.0.8(Preview)

这是供内部验证设备本地信箱长正文投递的 GitHub Pre-release,不是 production、App Store 或 Google Play
正式版本。本版本在 v0.0.7 三 tab 与新闻/邮件式信箱界面基础上,提高单条信箱正文容量并修复 Preview
发布元数据门禁;不放宽本地策略、确认、权限 probe、SQLite 去重、审计或图片安全边界。

本次变化

信箱长正文

  • phone/inbox.deliver 的单条 Markdown body 上限从 4,000 字符提高到 64,000 字符,支持 Agent 投递
    新闻整理、订阅摘要等长篇内容;
  • device expose 的 JSON Schema 同步公开 maxLength: 64000,本地 schema 与 runtime contract 覆盖
    64,000 字符成功落盘、64,001 字符在产生副作用前拒绝;
  • 保留 1,000 条消息 retention、Markdown token/图片数量限制、一次只阅读一条消息、正文专用存储与
    普通日志/审计脱敏。容量提高不等于正文或移动端资源变为无界。

发布门禁

  • 统一 package version、Expo App version、Android versionCode、iOS buildNumber 与配置验证脚本的
    release metadata 为 0.0.8/8;
  • 修复 v0.0.7 中配置验证脚本仍期望 0.0.6/6,导致 PR、main 与 tag workflow 在
    verify:config 失败的问题。

安装包与证据边界

Android Preview 包使用 ai.tokenroll.toolbridgemobile.preview,内嵌 production JavaScript bundle,
并继续使用内部 debug test key 签名。本地自动化只证明 Agent 可发现的 schema、本地参数裁决与专用 SQLite
落盘边界;尚未验证真实 Gateway 对 64,000 字符 inbox/deliver frame 的兼容性,也未完成 Android/iOS
真机长正文的内存、搜索、布局、后台或锁屏验收。

pairing、设备专用最小权限 credential、短期 WebSocket ticket、durable mailbox 与 push 仍未实现。
请勿把 API key、Authorization、SK、敏感 arguments 或原始 WebSocket 失败内容写入日志、issue 或截图。

Tool Bridge Mobile v0.0.5 (Preview)

Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Aug 11:38
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、日志
或截图。

Tool Bridge Mobile v0.0.3 (Preview)

Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Aug 22:15
01e8daa

Tool Bridge Mobile v0.0.3(Preview)

这是供内部验证高特权能力、后台运行与新 UI 的 GitHub Pre-release,不是 production、App Store 或
Google Play 正式版本。本版本按明确的本地授权探索方向扩展了设备控制能力,同时保留“设备本地裁决优先”
的安全边界。

本次变化

高特权 phone/system 能力簇(新)

  • exec_shell:以 App 自身权限执行一条 shell 命令并返回 stdout/stderr/exitCode(不获取 root,输出与
    时长受本地上限约束);
  • clipboard_get / clipboard_set:读取/写入系统剪贴板;
  • open_intent:通过系统打开任意 URL 或自定义 scheme/Intent(区别于受 hostname allowlist 限制的
    phone/apps);
  • accessibility_status:探测无障碍服务是否开启(UI 自动化前置);
  • 原生边界由新增的 tool-bridge-system Expo 模块提供;iOS 无 shell/AccessibilityService 对等能力,
    相应工具结构化返回 unsupported,不伪装成功。

新控制模式 direct_call(允许直接调用)

  • 在设备本地设置中新增第三档控制模式:direct_call 除紧急停用外放行全部命令(含 high risk 与
    confirmation: always),实现“不再逐次询问”;
  • trusted_session 维持“仅放行非高危”;ask_every_time 为默认;紧急停用始终可中断;
  • 系统权限、前后台/锁屏状态与 native probe 仍是各能力的最终裁决,direct_call 只放开策略层确认。

后台运行(Android 前台服务)

  • 新增设备本地“允许后台运行”开关(默认关闭,持久化于本地 settings);
  • 开启后 Android 启动一个 dataSync 前台服务并显示常驻可见通知,App 退到后台时保持设备连接;
  • SDK transport 生命周期放宽:activebackground 均保持连接,inactive/unknown 过渡态与紧急停用
    仍 suspend;
  • iOS 不支持后台常驻长连接,开关在 iOS 为 no-op,后台可达仍依赖未交付的 push/mailbox。

UI 重构

  • 新增第五个“设置”标签页,集中管理控制模式、后台运行、网关配置、本地通知与紧急停用;
  • 首页精简为只读总览:状态徽标(控制模式/连接/后台运行/前后台)、连接详情与进行中的
    attention/计时器;
  • 新增 Pill 状态徽标与 SettingToggle 开关组件,保留最小触控尺寸与非仅颜色依赖的无障碍语义。

原生配置

  • Android 新增 FOREGROUND_SERVICEFOREGROUND_SERVICE_DATA_SYNC 权限;
  • 通过 config plugin 注入 non-exported、dataSync 类型的 ToolBridgeForegroundService
  • 未新增相机、麦克风、后台位置、boot/exact alarm、FCM/APNs 或 Face ID 权限。

安装包

Release 附件中的 tool-bridge-mobile-preview-v0.0.3.apk

  • application id:ai.tokenroll.toolbridgemobile.preview
  • 内嵌 JavaScript bundle,不需要 Metro;
  • 使用自动生成的 Android debug test key 签名,只用于内部安装;
  • 同目录 .sha256 文件用于核对 APK 完整性。

重要限制

  • 高特权能力、后台前台服务与新 UI 均只完成本地实现、单元/组件测试与双端 autolinking 发现,尚未
    完成双端真机验收
    :shell 实际输出、剪贴板、无障碍探测、Intent handoff、前台服务保活、Doze/厂商
    省电与常驻通知呈现都需真机确认;
  • accessibility_status 只探测服务开关状态,尚未实现读取屏幕节点或模拟点击/输入的 UI 自动化;
  • direct_call 是用户在设备本地明确选择的高信任模式;能力目录仍以正式协议 profile 为准,本版本未
    引入上游高特权 credential 隔离或最小权限;
  • pairing、设备专用最小权限 credential、短期 WebSocket ticket、mailbox 与 push 尚未实现;
  • 手工 API key fallback 尚未通过完整 Gateway compatibility matrix;配置保存成功不代表鉴权成功;
  • 没有 production signer、AAB、iOS 设备包、商店合规、SBOM、真机矩阵或 staged rollout 证据;
  • 清除本机 Gateway 配置不会撤销服务端 API key。

只有 SDK 收到 Gateway ready 后 App 才显示 online。请不要把 API key 或原始网络异常写进 issue、日志
或截图。

Tool Bridge Mobile v0.0.2 (Preview)

Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Aug 13:59
818c622

Tool Bridge Mobile v0.0.2(Preview)

这是供内部定位 Android 前台连接问题的 GitHub Pre-release,不是 production、App Store 或 Google Play
正式版本。

本次变化

  • 首页在 SDK transport 失败时显示固定的失败类型、失败阶段和 WebSocket close code;
  • 可区分连接超时、DNS、TLS、WebSocket upgrade、网络不可达、连接重置与未知关闭;
  • 原始 WebSocket reason、Gateway URL query、Authorization、API key 和 deviceId 不进入诊断、日志、审计
    或 UI;
  • 主动暂停、配置切换、credential invalidation 和旧 socket 的迟到事件不会覆盖当前诊断;
  • SDK 收到 ready 后清除旧诊断。

本版本没有新增远程 capability、系统权限、原生模块或持久化 schema,也没有调整 SDK 当前连接超时。

安装包

Release 附件中的 tool-bridge-mobile-preview-v0.0.2.apk

  • application id:ai.tokenroll.toolbridgemobile.preview
  • 内嵌 JavaScript bundle,不需要 Metro;
  • 使用自动生成的 Android debug test key 签名,只用于内部安装;
  • 同目录 .sha256 文件用于核对 APK 完整性。

重要限制

  • 固定诊断字段只提升现场取证能力,不代表真机连接根因已经确认或修复;
  • pairing、设备专用最小权限 credential、短期 WebSocket ticket、mailbox 与 push 尚未实现;
  • 手工 API key fallback 尚未通过完整 Gateway compatibility matrix;配置保存成功不代表鉴权成功;
  • 没有 production signer、AAB、iOS 设备包、商店合规、SBOM、真机矩阵或 staged rollout 证据;
  • haptic、媒体、位置、通知、后台/锁屏和弱网行为尚未完成双端真机验收;
  • 清除本机 Gateway 配置不会撤销服务端 API key。

只有 SDK 收到 Gateway ready 后 App 才显示 online。请不要把 API key 或原始网络异常写进 issue、日志
或截图。

Tool Bridge Mobile v0.0.1 (Preview)

Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Aug 11:20
ccd0a18

Tool Bridge Mobile v0.0.1(Preview)

这是首个供内部试用的 GitHub Pre-release,不是 production、App Store 或 Google Play 正式版本。

可体验内容

  • 使用 @tool-bridge/sdk/device@0.11.0 的前台 Tool Bridge device transport;
  • 首页手工配置 Gateway HTTPS origin 与 API key,secret 只保存到系统 SecureStore;
  • 本地状态、能力、媒体与活动页面,以及 Ask every time / Trusted / Disabled 控制模式;
  • status、haptic attention、受控媒体、App/地图 handoff、一次性前台位置、本地通知与 App 内计时器;
  • SQLite command 去重、crash recovery、有界保留、脱敏审计与仅审计历史清除。

安装包

Release 附件中的 tool-bridge-mobile-preview-v0.0.1.apk

  • application id:ai.tokenroll.toolbridgemobile.preview
  • 内嵌 JavaScript bundle,不需要 Metro;
  • 使用自动生成的 Android debug test key 签名,只用于内部安装;
  • 同目录 .sha256 文件用于核对 APK 完整性。

重要限制

  • pairing、设备专用最小权限 credential、短期 WebSocket ticket、mailbox 与 push 尚未实现;
  • 手工 API key fallback 尚未通过真实 Gateway compatibility matrix;配置保存成功不代表鉴权成功;
  • 没有 production signer、AAB、iOS 设备包、商店合规、SBOM、真机矩阵或 staged rollout 证据;
  • haptic、媒体、位置、通知、后台/锁屏和弱网行为尚未完成双端真机验收;
  • 清除本机 Gateway 配置不会撤销服务端 API key。

只有 SDK 收到 Gateway ready 后 App 才显示 online。请不要把 API key 写进 issue、日志或截图。