Ollama 跑在你自己的电脑上,手机通过局域网连过去,不产生按量费用。
前提是你有一台能跑模型的机器,而且它和手机在同一个网络里。
最容易踩的坑只有一个:地址里绝对不能写 localhost。
为什么不能填 localhost
因为发请求的是跑在手机上的服务端。localhost
对它来说指的是手机自己,不是你的电脑。要填电脑在局域网里的 IP,
形如 192.168.x.x。
服务端还会做一次替换:地址里出现 localhost 时会被换成
127.0.0.1。这个替换照抄自 SillyTavern
(text-completions.js 第 104 行),
目的是绕开 IPv6 优先解析,换完之后指的仍然是运行服务端的那台机器。
所以它救不了你,只会让错误更隐蔽。
两种接法
| 走文本补全 | 走聊天补全 | |
|---|---|---|
| 通道 | API 选「文本补全」,API 类型选 Ollama | API 选「聊天补全」,来源选「自定义(兼容 OpenAI)」 |
| 地址填法 | http://电脑IP:11434 | http://电脑IP:11434/v1 |
| 模型名 | 连接后从「Ollama 模型」下拉里选 | 手填,用你在 Ollama 里拉下来的那个名字 |
| 请求形状 | Ollama 原生接口 | OpenAI 兼容接口 |
走文本补全的原生接法
- 顶部 API 下拉选「文本补全」。
- 「API 类型」选 Ollama。
- 「API 地址」填
http://电脑IP:11434。前端给的示例是http://127.0.0.1:11434,那是给桌面端用的,手机上要换成电脑的局域网 IP。 - 点「连接」。
- 在「Ollama 模型」下拉里选一个。
服务端这时在做什么
状态检查是一次 GET {你填的地址}/api/tags。拿到结果后,
服务端把 models 数组里每一项的 name 复制成 id,
再按 { data: [...] } 的形状交给前端,这样前端那套通用的模型下拉才认得。
生成请求是 POST {你填的地址}/api/generate,请求体被重新包过一层:
{
"model": "...",
"prompt": "...",
"stream": true,
"keep_alive": -1,
"raw": true,
"options": { ...原请求体... }
}
raw: true 是因为提示词已经由酒馆自己拼好了,不需要 Ollama 再套一层模板;
keep_alive: -1 是固定值,含义由 Ollama 那边定义。
对应 SillyTavern 的
同一段包装逻辑。
流式响应的形状也不一样,服务端会把 Ollama 的逐行 JSON 重新包成 SSE 再转给前端。
连不上时先查什么
| 现象 | 多半是 |
|---|---|
| 一直转圈然后超时 | 地址写了 localhost,或者电脑的防火墙挡了 11434 端口 |
| 能 ping 通电脑但连不上 | Ollama 默认只监听本机地址,局域网进不来。按 Ollama 的文档改监听地址 |
| 状态检查返回 400 | 那个地址返回的 JSON 里没有 models 数组,说明它不是 Ollama,或者路径不对 |
| 状态检查返回 500 | 请求根本没发出去,属于网络层面的失败 |
| 时好时坏 | 手机连的是移动网络不是同一个 Wi-Fi,或者电脑睡眠了 |
Ollama 自身的配置(监听地址、端口、模型管理)看 ollama/ollama, 前端的 Ollama 那一栏里也放着这个链接。
常见问题
能不能反过来,让电脑连手机
能,那是另一件事:PokiTavern 的服务端监听在局域网上,电脑用浏览器打开手机的地址, 就是同一个酒馆、同一份聊天记录。做法见局域网模式。
KoboldCpp、llama.cpp、LM Studio 呢
都在同一个「API 类型」列表里,填法和 Ollama 一样,区别在服务端拼的路径:
llama.cpp 走 /completion,其余多数走 /v1/completions,
状态检查走 /v1/models。TabbyAPI 的模型列表在 /v1/model/list。
列表里没有的后端怎么办
服务端对没有专门分支的类型一律按 OpenAI 兼容处理,也就是
/v1/models 加 /v1/completions。
多数自建后端都吃这套,可以先试「通用(兼容 OpenAI)[LM Studio、LiteLLM 等]」那一项。
和手机自己跑模型比,哪个好
电脑上能跑的模型大得多,质量明显更好;代价是要开着那台机器,而且出门就用不了。 想出门也能用,看手机端侧模型那一页, 它是唯一完全不依赖网络的一条。
换成别的接入方式
家里没有能跑模型的电脑,云端 API 是更省事的选择: OpenRouter 一个密钥试多家, DeepSeek 直连官方端点。 七条路的对照在枢纽页。