AIUI蓝牙运动开发实战课(一)入门认识 AIUI 与协作环境:用 TaoToken 统一 Key 打通配置骨架
发布时间:2026/9/28 18:42:54 作者:尧图编辑部 阅读量:1,286
入门认识 AIUI 与协作环境:用 TaoToken 统一 Key 打通配置骨架)
1. 先搞清楚 AIUI 蓝牙运动开发到底在做什么如果你之前做的是 Web 或前端第一次听到 AIUI 蓝牙运动开发大概率会有点懵AIUI 是什么蓝牙链路又插在哪一层智能眼镜上的运动数据到底怎么流转。我先把这几个概念用最直白的话讲清楚再带你搭一套能跑通的协作环境。AIUI 可以理解成一套面向智能眼镜的 Agent 开发范式写法和微信小程序、网页很接近页面用.ink文件组织一个文件里同时放配置、逻辑、结构和样式。它优先运行在智能眼镜这类设备上交互入口不只是触摸还有确认键、返回键、上下滑动、触摸板以及语音唤醒。对运动场景来说这意味着你可以在骑行、跑步时用语音和按键完成操作而不是盯着手机屏幕点来点去。蓝牙运动开发的核心链路是这样的智能眼镜通过蓝牙连接外部传感器比如心率带、踏频器、IMU 模块传感器把数据推给眼镜端AIUI 应用负责接收、解析、展示必要时再调用 AI 能力做实时反馈。你要写的业务逻辑大部分集中在数据接收、状态管理和页面渲染这三块。适合谁上手有基础 Web 或前端认知的开发者最顺会 JavaScript 更容易进入状态。如果你已经在做智能眼镜、AR 或可穿戴设备这套东西能直接接到你现有的工程习惯上。对 IMU、蓝牙传感器和运动数据应用感兴趣的人也能从这条链路里找到明确的落点。这一篇的目标不是让你立刻写出完整应用而是把协作环境一次搭好认识 AIUI 与蓝牙链路落地一份可复制的settings.json/config.toml骨架把 TaoToken 作为统一 Key 和 API 通道接进你的 AI 工具。环境跑通之后后面写页面、调蓝牙、做打包都会顺很多。2. 为什么用 TaoToken 做统一 Key 通道入门阶段最容易卡住的地方往往不是代码本身而是工具链的鉴权配置。你可能会同时用几个 AI 编程助手、几个命令行工具每个都要单独配 Key、单独填 Base URL改一次环境变量就要翻好几个配置文件。协作环境一旦不统一后面排查问题时你连到底是代码错了还是 Key 配错了都分不清。TaoToken 在这里的角色是一个统一的 Key 和 API 通道。你申请一次 Key把它写进统一的配置文件各个 AI 工具都从这里读接入点收敛到一个地方。官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 注意 API 地址不带 UTM 参数配置时别把跟踪参数拼进去。对 AIUI 蓝牙运动开发来说这个统一通道的价值在于你在写.ink页面、调蓝牙 API、让 AI 帮你生成业务逻辑时背后用的是同一套鉴权。环境变量只维护一份换工具不用重新配。我试过把 Key 分散写在多个工具配置里结果某次轮换 Key 漏改了一个排查了半小时才发现是鉴权失败不是代码问题。需要先拿到 Key 的话去控制台创建https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 然后在 API Keys 页面生成https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。生成后先复制保存页面刷新后不一定还能看到完整值。注意Key 属于敏感凭证不要提交到 Git 仓库也不要写进会打包进 AIX 的源码文件里。协作环境里用环境变量或本地配置文件承载配置文件加进.gitignore。3. 可复制的 settings.json 与 config.toml 骨架下面这份骨架你可以直接抄改掉 Key 和路径就能用。思路是把通道信息和工具行为分开settings.json管 AI 工具侧的模型与鉴权config.toml管项目侧的构建、测试、打包参数。先看settings.json放在你的用户配置目录或项目根目录具体位置取决于你用的工具但结构一致{ api: { baseUrl: https://taotoken.net/api, apiKey: ${TAOTOKEN_API_KEY}, timeoutMs: 60000, retry: { maxAttempts: 3, backoffMs: 800 } }, models: { default: claude-sonnet, coding: claude-sonnet, fast: claude-haiku }, workspace: { root: ./, aiuiProject: ./hello-aiui, ignore: [node_modules, dist, *.aix] }, logging: { level: info, requestEcho: true } }几个关键点说明。baseUrl固定写https://taotoken.net/api不要带任何查询参数。apiKey用${TAOTOKEN_API_KEY}这种占位引用真实值放环境变量避免明文落盘。requestEcho打开后请求回显会打到日志里验证阶段很有用正式跑的时候可以调成false减少噪音。再看config.toml放在 AIUI 项目根目录管构建和打包[project] name hello-aiui version 0.0.2 entry pages/index/index [build] pages [pages/index/index] output dist aix_name hello-aiui.aix [preview] device auto canvas_width 480 canvas_height 352 [test] command npm test doctor true [channel] provider taotoken base_url https://taotoken.net/api api_key_env TAOTOKEN_API_KEYentry和build.pages要和app.json里的pages数组保持一致路径不写.ink后缀AIUI 会自动找到对应文件。canvas_width和canvas_height对应沉浸式页面的 480x352如果你做的是对话流卡片尺寸是 448x150按实际页面类型改。环境变量这样设置Linux 或 macOS 下export TAOTOKEN_API_KEY你的KeyWindows PowerShell$env:TAOTOKEN_API_KEY你的Key想持久化就写进 shell 的 profile 文件或者用系统环境变量面板。设置完新开一个终端用echo $TAOTOKEN_API_KEY确认能读到。4. 逐项验证连通性、鉴权、调用回显配置写完不代表能用必须逐项验证。我按先通网络、再验鉴权、最后看回显的顺序来每一步都有明确的成功标志。第一步验证连通性。用 curl 打一下 API 入口看能不能建立连接curl -s -o /dev/null -w %{http_code}\n https://taotoken.net/api返回 200、401 或 403 都说明网络通了区别只在鉴权。如果卡住或返回连接错误先检查网络和地址拼写确认没有多余参数。第二步验证鉴权。带上 Key 发一个最小请求curl -s https://taotoken.net/api/v1/models \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -H Content-Type: application/json成功的话会返回模型列表的 JSON。如果返回 401说明 Key 没读到或写错了回到上一步确认环境变量。如果返回 403检查 Key 是否有对应权限。第三步验证调用回显。发一个真实的对话请求确认整条链路能返回内容curl -s https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -H Content-Type: application/json \ -d { model: claude-sonnet, messages: [{role: user, content: 回复 OK 两个字母}] }返回体里能看到模型输出就说明通道完全打通了。这一步的响应时间通常在几秒内如果超时把timeoutMs调大再试。第四步验证 AIUI 项目侧能读到配置。在项目根目录跑一次构建命令看它是否从config.toml正确读取了通道信息npm run pack:aix如果构建日志里出现通道相关的初始化信息且没有鉴权报错说明项目侧配置生效了。到这一步协作环境就算一次跑通了。5. 本篇常见错排查配置阶段踩的坑大多集中在几个固定位置我把最常见的列出来对照着查能省不少时间。报错一401 Unauthorized。九成是 Key 没读到。先确认echo $TAOTOKEN_API_KEY有输出再确认settings.json里的占位符拼写和实际环境变量名一致。注意大小写TAOTOKEN_API_KEY和taotoken_api_key不是一回事。报错二404 或路径错误。检查baseUrl是不是写成了带/v1的完整路径。settings.json里只写https://taotoken.net/api具体路径由工具或请求自己拼。多写一层或少写一层都会 404。报错三连接超时。先确认网络能访问 API 入口再检查timeoutMs是否太小。首次请求可能因为 DNS 解析慢而超时把超时调到 60000 毫秒再试一次。报错四构建时读不到 config.toml。确认文件在项目根目录且api_key_env指向的环境变量名和实际设置的一致。有些工具对 TOML 的缩进和引号敏感用标准双引号别用中文引号。报错五Key 泄露风险。如果你不小心把 Key 写进了app.json或.ink文件这些内容会打包进 AIX。立刻去控制台轮换 Key然后把配置改成环境变量引用。打包产物里不应该出现任何明文凭证。报错六页面路径对不上。config.toml的entry、app.json的pages、实际文件路径三者必须一致。路径不写.ink后缀但目录层级要完全对应。改了一处忘了改另一处就会出现页面加载失败。排查时打开requestEcho让每次请求的回显打到日志里能快速定位是网络层、鉴权层还是业务层的问题。定位清楚再改别盲目重装环境。6. 环境跑通之后怎么继续到这里你的协作环境应该已经能稳定工作了TaoToken 作为统一 Key 通道接进了 AI 工具settings.json和config.toml两份骨架落地连通性、鉴权、调用回显三项验证都过了。接下来就是在这个骨架上写真正的 AIUI 页面和蓝牙逻辑。如果你在验证阶段遇到鉴权或接入问题先去 API Keys 页面确认 Key 状态https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 再对照接入文档检查参数https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。想先验证模型能不能正常对话用模型对话页面快速试一次https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite 。如果你打算长期做 AIUI 蓝牙运动开发后面会频繁调用模型来生成页面逻辑、解析传感器数据、做实时反馈这种持续编码和 Agent 场景更适合用 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。把通道固定下来后面写.ink页面、调蓝牙 API、跑打包测试都在这套环境里完成不用每次重新配。下一篇会进入 AIUI 项目工程解析把app.json、app.js、index.ink和manifest.json的协同关系拆开讲然后接上蓝牙设备扫描与数据接收的第一段代码。环境先跑通后面每一步都能验证不会攒一堆问题到最后一起爆。