`api.uiobot.com` 现在按模块组织。新增接口时优先进入对应模块,而不是继续堆在单独页面里。
{"ok":true,"gateway":"api.uiobot.com","node":"racknerd"}ASR 与 OCR 共用宇流 API Key,管理入口为console.uiobot.com/api-keys。创建时可单独授予 asr:use、ocr:use,并设置月度额度与有效期。
Authorization: Bearer uio_live_...。完整密钥仅在创建或轮换时显示一次;服务端只保存摘要。健康检查和国内签名上传地址不使用长期密钥。export UIO_API_KEY="uio_live_..." curl "https://api.uiobot.com/asr/v1/models" \ -H "X-API-Key: $UIO_API_KEY"
给用户稳定唯一 ID 作 seed(用户 ID、邮箱哈希等),即可获得稳定不变的头像。无需存储图片。推荐 kimi 风格。
image/svg+xml,可直接用于 <img src>。带 ETag 与缓存头。kimi kimiRandom pixel mono hand geo initial{"generator":"kimi","seeds":["u1","u2"]},返回各 seed 对应 SVG。# 网页中直接使用 <img src="https://api.uiobot.com/avatar/api/kimi?seed=用户ID" width="64"> # curl curl "https://api.uiobot.com/avatar/api/kimi?seed=u12345" -o avatar.svg
内容模块独立于头像模块,适合首页卡片、空状态文案、每日一句和随机激励文案。支持 `kind` 与 `style` 双维度选择。
随机文案当前直接复用内容模块里的 sentence 池,最适合做首页提示、空状态、Toast、按钮旁白和轻提示卡片。后续如果想细分场景,可以自然扩成 copy / banner / empty / toast。
| 场景 | 推荐接口 | 风格建议 |
|---|---|---|
| 每日一句 | /avatar/api/content/daily | warm / bookish |
| 随机文案 | /avatar/api/content/random?kind=sentence | clean / warm |
| 空状态文案 | /avatar/api/content/random?kind=sentence&style=zen | zen / bookish |
| 鼓励提示 | /avatar/api/content/random?kind=encourage | warm / classic |
| 古诗词卡片 | /avatar/api/content/random?kind=poem | classic / bookish |
静态码即取即用;活码内容可在管理后台随时改址。生成接口限流:每 IP 每分钟 30 次。
fmt=png|svg(默认 png)、size(默认 8)、ecc=l|m|q|h(默认 h)、dark/light 颜色、logo=1 叠加 logo。GET /qr/live/{lid} 查询,GET /qr/live/{lid}/qr 取码图,扫码入口为 /q/{lid}。curl "https://api.uiobot.com/qr?data=https://uiobot.com&fmt=svg" -o qr.svg
控制接口统一使用宇流 API Key。推荐先创建异步任务,再将音频直接上传到国内入口;RackNerd 只处理鉴权与任务元数据,音频由 ncyz 本地模型识别。
队列、最近任务和真实音频测试可在语音识别管理页查看,复用 UIO Console 管理密钥。
filename、size、content_type、language 和 response_format,返回十分钟有效的一次性上传地址与票据。multipart/form-data 的 file 字段直传国内入口,并在 X-Upload-Token 中携带创建任务时返回的短期票据。waiting_upload、queued、running、succeeded 或 failed 状态,需要 API Key。# 1. 创建任务
curl "https://api.uiobot.com/asr/v1/audio/upload-tickets" \
-H "X-API-Key: $UIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"filename":"sample.wav","size":123456,"content_type":"audio/wav","language":"auto","response_format":"verbose_json"}'
# 2. 按返回的 upload_url 与 upload_token 上传
curl "$UPLOAD_URL" -H "X-Upload-Token: $UPLOAD_TOKEN" -F "[email protected];type=audio/wav"
# 3. 通过返回的 status_url 查询结果
curl "$STATUS_URL" -H "X-API-Key: $UIO_API_KEY"
控制接口使用带 ocr:use 权限的宇流 API Key。推荐先创建异步任务,再让浏览器把图片直接上传到腾讯云国内入口;图片最终由 ncyz 上的离线 ONNX 模型识别。
队列、最近任务和真实图片测试可在图片识别管理页查看,复用 UIO Console 管理密钥。
filename、size、content_type、language 和 response_format,返回十分钟有效的一次性上传地址与票据。multipart/form-data 的 file 字段直传国内入口,并在 X-Upload-Token 中携带短期票据。# 同步识别 curl "https://api.uiobot.com/ocr/v1/images/ocr" \ -H "X-API-Key: $UIO_API_KEY" \ -F "[email protected];type=image/png" \ -F "response_format=verbose_json" # 创建异步任务 curl "https://api.uiobot.com/ocr/v1/images/upload-tickets" \ -H "X-API-Key: $UIO_API_KEY" \ -H "Content-Type: application/json" \ -d '{"filename":"sample.png","size":123456,"content_type":"image/png","language":"auto","response_format":"verbose_json"}'
将官方 API 域名替换为本网关路径即可,Authorization / x-api-key 原样透传,无凭证请求直接 401。
curl https://api.uiobot.com/anthropic/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":64,"messages":[{"role":"user","content":"hi"}]}'
Web 版两步验证令牌:管理台集中保管 TOTP 密钥并实时显示 6 位验证码;API 供脚本/服务取码。除 healthz 外全部接口需 X-Admin-Key 头。
{"name","code","expiresIn"}。{"name","secret"},secret 支持 Base32 或 otpauth:// 链接。DELETE /api/accounts/{name} 删除。curl "https://2fa.uiobot.com/api/code/GitHub-主账号" -H "X-Admin-Key: $KEY"
重能力(有状态/有密钥/需审计)做独立接口;轻能力(纯计算)进 @uio/kit SDK 本地生成;部分能力双轨提供 —— 前端项目用 SDK 本地生成,低代码平台与邮件模板走 API 取地址。
| 独立接口 | 状态 | 落位 |
|---|---|---|
| 统一登录 | ✅ 已上线 | auth.uiobot.com(自建 OAuth 2.1 / OIDC) |
| OAuth / OIDC | ✅ 已上线 | auth.uiobot.com/.well-known/openid-configuration |
| 微信身份绑定 | 🔶 配置中 | 自建认证中心 Provider(待接微信开放平台) |
| 临时令牌 | ✅ 已上线 | 2fa.uiobot.com |
| 动态二维码(活码) | ✅ 已上线 | /qr/live + /q/{lid} |
| 邮件发送 | 🔶 存量改造 | mail.uiobot.com 中枢 → 暴露 /mail/send |
| 邮箱验证码 | ⏳ 待建 | 依赖邮件发送,规划 /mail/otp |
| 服务令牌 | ⏳ 待建 | 规划 /token/(服务间签发/校验) |
| 短链接 | 🔶 存量收编 | CF KV「short」→ 规划 /s/{id} |
| 文件上传签名 | ⏳ 待建 | 规划 /upload/sign(对接对象存储) |
| Webhook | 🔶 存量收编 | webhooknexus Worker → 统一入口 |
| 审计日志 | ⏳ 待建 | 网关统一日志 → 查询 API |
| SDK 能力(@uio/kit,零依赖) | 状态 |
|---|---|
| 随机头像(确定性 SVG,双轨:SDK 本地 + /avatar/ API) | ✅ 0.1.0 |
| UUID(v4 / v7 / 短 ID)· 数据校验 · 文本处理 · 日期处理 · 图片占位符 | ✅ 0.1.0 |
| 静态二维码(双轨:当前走 /qr API,本地编码器 0.2 计划) | 🔶 API 可用 |
| 前端组件 | ⏳ 框架选型后 |