手机上想用一个能自己填接口地址的 AI 客户端,要填的就四项,照抄即可:API 类型选 OpenAI 兼容,接口地址填 https://xyuapi.top/v1,API Key 填你在小鱼API 平台生成的 sk- 开头令牌,模型名填具体 ID,比如 gemini-2.5-pro、deepseek-v4-flash-thinking。四项存好,回主界面新建对话,能出字就是通了。
四项写成 JSON,方便对着填:
{
"provider_type": "OpenAI 兼容",
"base_url": "https://xyuapi.top/v1",
"api_key": "sk-替换成你自己的令牌",
"model": "gemini-2.5-pro"
}
base_url 末尾的 /v1 带不带,看那一栏的示例文案,带错就是 404 page not found,第三节专门讲。下面按「填在哪 → 选哪个客户端 → 会踩哪些坑 → 一次多少钱 → 怎么先验证」走一遍。
配置入口都在应用自己的设置页里,跟手机系统设置无关。不同 App 叫法不一样:添加服务商、自定义服务商、自定义提供方、API Host、自定义接口、Base URL 都可能。按这些关键词翻设置,找到允许你填一个 URL 的那一项就是它。
OpenAI 兼容下拉框里同时有 OpenAI 兼容、OpenAI 原生、Anthropic、Gemini 时,选 OpenAI 兼容。小鱼API 对外就是这套格式:/v1/chat/completions 发对话、/v1/models 拉模型列表。选成原生格式请求体结构对不上,会报参数缺失或者 400。
https://xyuapi.top/v1这栏不管叫 API 域名、API Host、接口地址还是 Base URL,值都是 https://xyuapi.top/v1。备用地址 https://xyuai.cc/v1 同账号同令牌通用,主域名连不通时换它。填的时候前后别带空格,末尾别多加斜杠。
sk- 开头的令牌Key 要到小鱼API 网站后台自己生成,不是账号密码也不是注册邮箱,形如 sk-xxxxxxxx。手机输入框窄,长 Key 容易少掉尾巴,粘完把光标拉到行尾看一眼再保存。
写具体 ID,比如 gemini-2.5-pro、claude-sonnet-4-5-thinking。不要填「默认」「自动」「GPT」这类模糊词。从 /v1/models 拉列表让你选的客户端填不错,只能手填的要逐字核对大小写和连字符位置。
Chatbox 在 iOS 和 Android 都有客户端,设置里有自定义服务商一栏,能填 API 域名,也就是能指到 https://xyuapi.top/v1。OpenCat 是 iOS 上的老牌客户端,设置里可以把服务商改成自定义的 OpenAI 兼容地址。这类原生 App 能常驻、能走系统通知。
这三个本身就是网页应用。手机浏览器打开它们的地址,用浏览器「添加到主屏幕」把网页变成桌面图标,点开全屏,用起来和 App 差别不大,这种玩法叫 PWA。iOS 去 Safari 的分享菜单里找「添加到主屏幕」,Android 去 Chrome 右上角菜单里找同名项或者「安装应用」。
后台保活:PWA 本质还是浏览器页面,切去别的 App 待一会儿可能被挂起甚至回收,切回来要重新加载,长回答容易断。通知:原生 App 走系统推送通道,PWA 依赖浏览器和网站权限,锁屏时常收不到。键盘:原生 App 跟系统输入法配合更顺,PWA 里编辑长文本、换行有时别扭。短文问答够用,挂长任务就用原生 App。
自己有服务器跑着 Open WebUI 或 LobeChat 的话,手机端什么都不装:浏览器打开地址、登录,配置和会话都在服务器上,换手机重新登录就回来了。代价是每次要开浏览器点书签,网络差时首屏慢一点。
判断方法都一样:设置里能找到「自定义」「OpenAI 兼容」「API Host」并且允许填一个 URL 的,就能接 https://xyuapi.top/v1;找不到这类字段的换一个。
| 客户端 | 平台 | 是否可填自定义接口地址 | 适合什么场景 | 主要限制 |
|---|---|---|---|---|
| Chatbox | iOS、Android | 可以,设置里有自定义服务商的 API 域名栏 | 手机电脑共用一套配置 | 换手机要重填或导配置 |
| OpenCat | iOS | 可以,设置里能改成自定义的 OpenAI 兼容地址 | 只用 iPhone、要原生手感 | 主要面向 iOS |
| LobeChat(加桌面图标) | 手机浏览器 | 看你部署的那一份,自部署版可在设置里加自定义服务商 | 要多助手、会话分组 | 靠浏览器跑,后台易被回收 |
| NextChat(加桌面图标) | 手机浏览器 | 可以,设置里能填自定义接口地址和模型名 | 轻量、打开快、只要一个对话框 | 保活不如原生 App |
| Open WebUI(自部署) | 手机浏览器 | 自部署版在管理设置里加 OpenAI 兼容连接 | 团队用、要账号体系和会话留档 | 要自己有服务器 |
/v1:带还是不带404 page not found地址多填一层,请求会打到 https://xyuapi.top/v1/v1/chat/completions,返回 404 page not found。手机客户端界面通常只显示「请求失败」,要展开错误详情才有原文。
/v1多数手机客户端会在你填的地址后面自动补 /v1/chat/completions,这种栏位(常写 API Host、API 域名、服务商地址)只填 https://xyuapi.top;写着「完整 Base URL」「基础地址」的栏位要把 /v1 带上。分不清就看输入框或者重置按钮旁的示例文案:示例带 /v1 就跟着带,示例只有裸域名就别带。
/v1 一样会 404要完整基础地址的栏位你只填了 https://xyuapi.top,客户端会拼成 https://xyuapi.top/chat/completions,照样 404。两种错法表现几乎一样,排错时要把客户端实际请求的完整 URL 找出来看,别靠猜。
| 你这一栏的名字 | 该填的值 | 客户端实际请求的路径 |
|---|---|---|
| 「API Host」「API 域名」(自己补 /v1) | https://xyuapi.top | https://xyuapi.top/v1/chat/completions,正常 |
| 「完整 Base URL」「基础地址」 | https://xyuapi.top/v1 | https://xyuapi.top/v1/chat/completions,正常 |
| 「API Host」里多写了 /v1 | https://xyuapi.top/v1 | 拼成 /v1/v1/chat/completions,404 page not found |
| 「完整 Base URL」里只写域名 | https://xyuapi.top | 拼成 /chat/completions,404 page not found |
model not found 或 invalid_request_error手填模型名写错一个字母,会拿到 {"error":{"message":"model not found"}},有时是 invalid_request_error 或者一个 400。界面一般只说「请求失败」,不告诉你哪个模型名错了。动作:把模型名复制到备忘录,跟平台后台的模型列表逐字对一遍。
iOS 键盘的「智能标点」开着时,手敲的直引号会变成弯引号,句首字母还会自动大写。Key 一般不受影响,但手敲模型名或者参数时,弯引号和自动大写会让参数不合法,返回 400。动作:在设置里搜「智能标点」关掉,或者一律复制粘贴。
不少 Android 输入法在标点、逗号后自动加空格,有的粘贴时还会带进换行。Key 前后多一个空格,服务端就认不出这个令牌,返回 401 invalid api key。动作:粘完拉到行尾按一下退格,确认最后一个字符就是 Key 的结尾。
先在备忘录或者密码管理器里存一份 Key,从那里复制再粘进客户端。别从聊天记录、截图、网页正文里长按选择复制,容易带上空格和换行。初次调用就报 401,先怀疑空格,再怀疑 Key 本身。
certificate is not yet valid手机时间被改过或者时区设错,TLS 证书校验会失败,报 certificate is not yet valid 或 certificate has expired,跟地址和 Key 都没关系。动作:打开设置里的日期与时间,开启「自动设置」让系统校时,再重试。
http:// 明文地址在 iOS 上会被拦下地址必须 https:// 开头。填成明文地址,iOS 的 App Transport Security 会直接拒绝这次连接,报 The resource could not be loaded because the App Transport Security policy requires the use of a secure connection。https://xyuapi.top/v1 本身是 HTTPS 不会碰到,会踩坑的是你把地址换成别的明文地址的时候。动作:改回 https:// 开头。
WiFi 切流量、锁屏、切到别的 App 再回来,正在流式输出的回答会断在半截,报 network error 或请求超时。两个动作:长回答期间把客户端留在前台;或者在设置里关掉「流式输出」改成一次性返回,中途抖动重试一次也能拿到完整结果。
手机上装着本地代理类工具并开了分应用模式,这个 App 的请求会被它接管,表现是 SSL handshake failed、Connection timed out,有时能连上但一直转圈。动作:在那个工具的分应用列表里排除这个客户端,或者临时关掉它再试一次,两次一对比就知道是不是它干的。
手机浏览器的请求跟随系统代理设置,系统代理开着,网页版客户端一起被带走;原生 App 一般各自独立,要单独给它配代理才生效。排查时先确认自己用的是哪种客户端,再决定去哪个开关里关代理。
小鱼API 以按次计费为主,一次请求收一个固定价,输入长度不影响价格。在手机上把整篇长文丢进去总结,和只问一句「今天几号」扣的钱一样,几百字和几千字的输入不产生差价。另有按量计费和无限卡套餐,按 token 走的场景才需要另算。
| 手机上的用法 | 模型 ID | 单价 |
|---|---|---|
| 随手问答、查词、翻译 | gemini-2.5-pro | 0.031 元/次 |
| 写文案、改标题、整理笔记 | deepseek-v3.2-thinking | 0.049 元/次 |
| 要响应快、不想等 | deepseek-v4-flash-thinking | 0.05 元/次 |
| 深度问题、长文分析、写代码 | claude-sonnet-4-5-thinking | 0.09 元/次 |
| 复杂推理、要长篇结构化输出 | claude-opus-4-5-thinking | 0.12 元/次 |
粗算一下:一天在手机上问 30 次,全用 gemini-2.5-pro,一天不到 1 元,一个月不到 30 元。长文总结挪到手机上做,账单也不会因为字数变多。
最低充值 7 元,支付宝、微信都能付,不需要海外信用卡。手机上先充 7 元够用很久,确认长期用再加。入口就是网站后台,登录、充值、复制令牌都在手机浏览器里完成。
先用这条只验地址和 Key:
curl -s https://xyuapi.top/v1/models \
-H "Authorization: Bearer sk-你的令牌"
能刷出一大串模型 ID,说明地址和 Key 都对。再发一条对话,把模型名也验掉:
curl -s https://xyuapi.top/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的令牌" \
-d '{"model":"gemini-2.5-pro","messages":[{"role":"user","content":"你好"}]}'
返回里带着 choices 和一段文本,三项就全部确认,可以放心去手机上填。
电脑上能直接看到 HTTP 状态码和返回原文,手机客户端多数只给一句「请求失败」。电脑 curl 一次把地址、Key、模型名验完再去手机端填,手机上报错,问题就锁定在手机这一侧(空格、代理、后台被回收),不用回头重查地址和 Key。反过来先在手机上填,一报错连是哪一类问题都分不清。
记住一句:电脑上能通的配置原样搬进手机,中间只多出「输入法、代理、后台保活」这三个变量。