Turbo1123
Turbo-IO
雷鸟 iO / RayNeo iO 非官方 SDK 与 iOS 客户端:非商业学习研究,语音 AI、录音、自定义通知、Codex 与 Web 显示预览。BES2800 轻量眼镜,Android 待开发。
Documentation snapshot
README 快照
本页保存的是公开项目资料快照,阅读过程不需要连接 GitHub。
Turbo IO · 雷鸟 iO / RayNeo iO 非官方 SDK
先看项目定位:这是给开发者用的非官方 SDK,不是给小白下载安装就能用的成品 App。
仓库中的 iOS App 是 SDK 的示例客户端与研究调试工具,用于演示和验证眼镜连接、语音、录音、通知及 Agent 接入,方便开发者二次开发。使用者需要自行编译、签名、配置 API,并具备基本的开发与调试能力。
不提供现成 IPA、代签名或开箱即用服务。不熟悉开发、只想直接使用眼镜功能的用户,请使用雷鸟官方 App。 部分功能仍在研究和验收,欢迎开发者一起完善。
仅供学习、研究与非商业使用,未经授权不得商用或收费分发。 当前原创内容采用 PolyForm Noncommercial 1.0.0,不再以 MIT 提供新版本。未经授权的商用可能侵犯相关权利,权利人保留依法追究法律责任的权利。第三方组件仍遵循各自许可,详见许可说明。
面向雷鸟 iO(RayNeo iO)AI 眼镜的非官方 SDK 研究项目,附带 iOS 示例客户端:眼镜语音 → 自己的 ASR/模型,录音 → 本地归档与手动转写,Codex → 电脑任务与结果通知。
发布源码与明确列出的构建依赖,不发布 IPA、预签名 App 或开发者服务密钥。用户自行配置、签名与编译。 现阶段是研究驱动的开发版,不是所有设备/固件都已验收的通用 SDK。
An unofficial RayNeo iO smart glasses SDK for developers, with a sample iOS client—not a ready-to-install consumer app. Build, sign and configure your own services to explore voice AI, recordings, custom notifications, Codex integration and a read-only web display observer.
连接前务必先在雷鸟官方 App 内解绑,再到手机蓝牙设置中“忽略此设备”,然后重新进入配对模式连接 Turbo IO。 详见下方“连接前必读”。Android 版本待开发;非越狱 iPhone 已由用户实机验收通过。
本项目仅面向懂 iOS 开发、签名、API 配置与基本调试的技术用户,用于互操作研究。如果希望开箱即用、不熟悉这些操作,请使用官方 App。部分功能仍在验证,欢迎一起研究和补充实测,不承诺替代官方 App 的全部功能。
界面截图
以下为项目实际运行截图:手机使用无账号、无密钥的隔离模拟器页面;Web 使用明确标注的样式演示数据。不是眼镜像素截图,也不表示截图时已经连接眼镜。
Web 显示预览与观察台
源码包含浏览器端显示观察工具,方便研究雷鸟 iO 的页面状态与双向事件:
- 实时跟随:通过手机临时观察接口与 USB 转发读取真实页面/状态回报,区分眼镜回报和 App 已提交内容。
- 样式预览:首页、对话、单页应用菜单和通知模板;菜单支持逐页查看七个应用图标。
- 明确边界:这是协议状态重绘,不是镜片录屏或截图,不会修改眼镜 UI;切换预览样式不会给眼镜发控制指令。
- 隐私:本地只读观察,默认不含正文,文字观察需单独同意,临时接口会过期。不把断开前的旧快照冒充实时画面。
下图分别为对话与菜单样式;“观察接口失联”表示拍摄时没有连接手机,不影响查看演示布局。启动与 USB 配置见配置文档。
只看样式预览不需要手机、iproxy 或服务密钥:
node display-observer/server.mjs --no-proxy
打开 http://127.0.0.1:8790/,选择“首页样式 / 对话样式 / 菜单样式 / 通知样式”。实时跟随才需要手机的临时观察接口与 USB 转发。
图片:雷鸟 iO Web 对话预览:绿色镜片模板,演示文字,非实时画面
图片:RayNeo iO Web 菜单预览:每页一个应用图标,当前为录音
可以做什么
当前仅有 iOS 研究版,Android 版本待开发。
- 使用自己的服务完成眼镜语音识别、流式 AI 回答与会话内插话;保存聊天文字时间轴。
- 接收眼镜录音、保存本机,手动触发云端转写,导出音频与文字。
- 下发待办、提词器内容和天气;导入 TXT / EPUB 作为本地书稿。
- 发送自定义通知,把电脑任务结果主动推到眼镜。
- 以眼镜作为 Agent 的语音输入与结果显示入口。目前实际打通的是 Codex,其他 Agent 需要开发适配器,状态见下表。
- 通过 USB + Web 观察协议回报的页面/状态,辅助研究双向交互;这不是眼镜截图。
Agent 接入:已实现与可扩展
| Agent | 当前状态 | 接入思路 |
|---|---|---|
| Codex | 已实现,有眼镜发起任务、查询结果及完成通知的实测记录 | 手机工具调用 → 本项目 HTTP bridge → Codex app-server → 任务事件 → 眼镜 |
| Claude Code | 未实现适配、未测试 | 可研究通过 Claude Agent SDK 或 CLI 子进程实现电脑侧适配 |
| Hermes Agent | 未实现适配、未测试 | 可研究其程序化入口/消息网关,转换为手机侧统一任务与事件接口 |
| OpenClaw | 未实现适配、未测试 | 可研究 Gateway 协议适配,包括认证、任务、事件与权限处理 |
| WorkBuddy | 理论上可研究接入,未测试 | 需先确认其可用 API / 扩展或自动化入口,不能保证当前已有可用接口 |
扩展方向依据各项目公开入口提出,不等于本仓库已经内置或验证这些适配。参考:Claude Agent SDK、Hermes Agent、OpenClaw Gateway。各服务账号、权限、费用和适用条款由用户自行配置与确认;不能只把名称换成另一个 Agent 就直接运行。
不可以做什么
为什么不像 Android 眼镜那样自由定制?
本项目研究的雷鸟 iO 使用 BES2800 平台,走的是低功耗、轻量嵌入式固件路线,而不是完整的 Android 应用系统。可以把它理解为“随身输入与显示终端”:眼镜负责唤醒、音频和内置界面,手机/云端/电脑承担更复杂的识别、模型与 Agent 任务。它不是一台能随意安装 APK、替换 Launcher、运行任意 Android 界面的微型手机。
因此,当前主要是通过协议给眼镜自带模板填入内容和发送控制指令,而不是上传一套新 UI。限制来自当前固件和可用通信接口,不能简单归结为 BES2800 完全没有图形能力。 恒玄对 BES2800 系列的定位也是超低功耗可穿戴计算平台;系列不同型号的可选规格不代表这副眼镜全部具备。芯片背景见恒玄官方介绍。
当前边界
- 不能修改眼镜任何内置 UI 的布局、组件或模板,也不是刷机/自定义桌面工具。 当前唯一开放的自定义 UI 入口是我们使用的通知 view,用来发自定义通知;不代表支持任意页面、HTML、Canvas 或第三方 App 渲染。
- 对话、待办、提词器、天气等可以修改或下发内容,但只能使用眼镜自带的 UI 模板,不能自由改变模板排版与交互。Web 预览样式也不会变成镜片固件 UI。
- 不能与官方 App 同时连接同一副眼镜。 使用 Turbo IO 时停止官方 App 的连接;切换客户端需正确处理已有绑定,不要同时抢连接。
- 不能保证完整离线录音、任意长度的无损补传、长期后台永不掉线、强退后可靠推送或所有固件都兼容。
- 不提供官方历史数据迁移、镜片像素级截图、语音自动批准高风险电脑操作;NAS / Obsidian 自动入库尚未完成。
未完成或仍有问题的功能会继续标注,不把成功回执当作镜片验收。欢迎提交脱敏日志、复现步骤和 PR;请勿上传自己的 Key、录音、聊天、设备标识或他人的私人数据。
快速开始
用 Codex / Claude Code 技能引导安装
已安装 Node.js 和相应编程助手的用户,可以用一行命令安装 turbo-io 技能(用户级,同时面向 Codex 与 Claude Code):
DISABLE_TELEMETRY=1 npx --yes skills@1.5.24 add Turbo1123/Turbo-IO --skill turbo-io -g -a codex claude-code --copy
在安装器中确认目标后,新开助手会话,让它执行:“使用 turbo-io 技能,帮我以非商业学习用途安装并启动 Turbo IO,先跑不需要眼镜的 Web 预览。” Claude Code 可输入 /turbo-io,Codex 可在技能选择器中选中或显式提及技能。
技能会检查环境、获取源码、启动预览,再按需指导 iOS 编译、服务配置与 Codex bridge。一行安装的是技能,不是已签名 iPhone App:真机仍需自己的 Xcode 签名、配对和服务 Key。支持 Claude Code 使用技能,不等于已经实现眼镜的 Claude Code 后端适配。完整说明与手动安装。
连接前必读:先解绑,再忽略蓝牙设备
首次使用 Turbo IO,或从官方 App 切换过来时,务必先完成以下步骤,再尝试连接:
- 在雷鸟官方 App 内对这副眼镜执行“解绑”,确认解绑完成;仅关闭官方 App 不等于解绑。
- 打开手机“设置 → 蓝牙”,找到对应的雷鸟眼镜,进入设备详情并选择“忽略此设备”,清除旧配对记录。
- 让眼镜重新进入配对状态(长按按钮约 5 秒,确认蓝灯闪烁),再到 Turbo IO 内配对和连接。
不要让官方 App 与 Turbo IO 同时连接或抢连同一副眼镜。已经绑定到 Turbo IO 后的日常重连,不需要每次重复解绑、忽略或重置。只用模拟器预览的用户无需操作眼镜。
编译运行
准备 macOS、Xcode、XcodeGen、Node.js 和一个可用模拟器,在源码根目录运行:
node scripts/start.mjs --local
选择 RayNeoCompanion + 模拟器,在 Xcode 点击 Run。这条路径不需要厂商库/眼镜/云 Key,可使用本机页面、文件、待办和书库。ZIPFoundation 0.9.20 已以本地源码依赖附带;Xcode/运行时由使用者安装。
实际连接眼镜使用:
node scripts/start.mjs --device
设备版所需的现有厂商 framework、Opus 静态库/头文件和 WebRTC VAD 编译源码已经随工程提供,版本清单见 DEPENDENCIES.json。脚本预检依赖并重新生成恢复接口声明模块;缺文件会明确列出。在 Xcode 选择 RayNeoCompanionDevice,设置自己的 Team,连接自己的 iPhone 编译运行。具体步骤与 API 配置见 配置与启动。
配置后怎么使用
- 从官方 App 切换时先完成上面的解绑、忽略蓝牙设备与重新配对;已绑定 Turbo IO 的眼镜在设备页重连/认证即可,别反复重置。
- 在语音服务页填写自己的 ASR Host / Key 与 DeepSeek Key,再选择启用待命。
- 唤醒后识别文字与模型回答流式显示,会话内有效新句可以插话。
- 录音先保存本机,手动点转写才上传到自己的 ASR。聊天文字在“会话 → 对话时间轴”。
- Codex、天气和 USB 观察分别按需配置;不要把另一项的 Key 当通用令牌。
源码无默认开发者租户或凭据;用户提供的服务必须支持当前已实现的协议/模型,不承诺随意换一个 API 名称就兼容。iPhone 当前目标 iOS16+,独立公共传输包需要Swift6.2+工具链。
能力与边界
| 能力 | 状态 |
|---|---|
| 独立 App 绑定/认证/连接恢复 | 厂商库复用路线有真机记录;非越狱设备已由用户实机验收通过 |
| 云 ASR/VAD、DeepSeek 流式、持续插话 | 真机通过;新配置入口需在自己的服务验收,自有 TTS未完成 |
| 普通录音→WAV、手动ASR→Markdown | 短录音真机通过;无线无损、长录音及完整离线开录不保证 |
| 聊天时间轴、本机待办、TXT/EPUB | 已实现;不导入官方历史,系统提醒事项单向复制 |
| 眼镜待办反向同步 | 当前有完成状态未回到 App 的问题 |
| 提词、天气、通知 | 已接入,部分镜片验收;所有图标/旋钮/排版仍未全覆盖 |
| Codex 发任务/查结果/主动提醒 | 有真机记录;无 APNs,语音自动批准未开放 |
| 全天智记 | 限时实验,原包/电脑解码/ASR对照;非正式全天产品链 |
| 显示观察 | 真实页面状态→USB→Web;不是镜片截图 |
| NAS/Obsidian自动入库 | 未完成,已有本地导出基础 |
Roadmap
以下是后续研究方向,不是已实现功能或交付时间承诺;顺序会随实测结果与社区贡献调整。
- 优先完善现有链路:连接恢复与后台稳定性、待办完成状态回传、长录音接收和导出,扩展更多设备及不同固件的实测。
- Android 版本(待开发):研究并实现 Android 客户端的连接、认证、语音、录音与通知链路;当前仓库不提供可用 Android App。
- 更多 Agent 适配:继续完善 Codex,研究 Claude Code、Hermes Agent、OpenClaw;WorkBuddy 仍需先确认接入方式,以上新增适配均未测试。
- 记录与知识库:完善录音/对话归档,研究 NAS、Obsidian 与用户自建服务的导出和同步。
- 更丰富的手机 App:后续考虑完善书库/提词器、待办、天气、设备设置和配置体验;丰富的是手机端与业务内容,不改变眼镜内置 UI 的限制。
- 开发者文档与验收:补充协议说明、适配示例、脱敏测试数据与功能验收记录,欢迎一起研究、提 Issue 或 PR。
项目仍建议开发者按自己的需求编译、改造和研究使用,不以面向普通用户的开箱即用产品为当前目标。不熟悉开发与调试的用户,建议继续使用官方 App。
怎么做出来的
先分析官方 App 结构和真实交互,区分连接认证与业务消息;复用通信核心快速打通独立客户端,再把可确定逻辑拆成 protocol、session、transport、display、archive 等 Swift 包。眼镜做输入/显示,手机做连接/音频/状态,云端做识别和模型,电脑执行 Codex。
完整解释及踩坑:实现思路。它说明证据如何建立、为什么不能把发包成功当镜片显示成功,以及为何当前不急于把通信底层全部重写。
源码布局
| 路径 | 内容 |
|---|---|
| apps/RayNeoCompanion | SwiftUI客户端与测试,技术名称为兼容保留 |
| core-probe/Sources | 当前设备版复用的研究通信/语音适配源码 |
| rayneo-* | 纯Swift协议、会话、传输、显示、归档和容器检查模块 |
| codex-bridge | 电脑端受限HTTP桥接与测试 |
| display-observer | USB只读观察服务与Web预览 |
| scripts/start.mjs | 开发工具检查、依赖预检、打开Xcode |
| scripts/check-source.mjs | 不打印敏感值的发布候选扫描 |
| docs | 启动、架构、发布边界 |
测试
node --test codex-bridge/bridge.test.mjs display-observer/*.test.mjs
xcrun swift test --package-path rayneo-protocol
xcrun swift test --package-path rayneo-session
更多步骤见配置文档。本地通过、普通签名、真实镜片与非越狱验收分别记录;不使用含开发者录音或账号的fixture。
本次源码交付的编译与测试记录见 交付验证。
隐私与许可
自己的Key保存在自己的iOS钥匙串;云对话会上传音频/识别文字,录音转写由用户手动触发。音频/Markdown留在自己的App容器,不覆盖原件,不自动上传NAS。Hash/CRC不是加密,也不构成全程端到端加密承诺。
当前有权授权的原创内容采用 PolyForm Noncommercial 1.0.0,用于非商业学习研究;未经授权不得商用或收费分发。历史 MIT 权利不追溯撤销,详见许可说明。第三方组件及厂商通信库不因随工程使用而变更许可,具体归属见 第三方说明。本工程与设备厂商无官方隶属关系。
发布不包含个人录音、聊天、凭据、绑定数据库、原始日志、私有临时隧道配置、IPA或预签名App。详见源码发布说明。
Official distribution
获取与安装
暂未发现可确认的官方软件包地址
当前 README 快照没有出现 npm、PyPI、Crates.io、pub.dev 等官方包页链接。本站不会根据仓库名称猜测下载地址。
本站不托管项目文件;需要安装时,请以项目维护者发布的官方文档为准。
Before installing
使用前核验
本站保存公开资料用于阅读,不代表安全审计或功能背书。安装前请核对许可证、依赖来源和发布签名,不要直接运行来源不明的二进制文件或高权限脚本。