这是七条路里唯一完全不联网、也不产生费用的一条:模型文件下到手机本地, 之后飞行模式照样回话。代价写在前面:要先下几百 MB 到几个 GB, 而且能塞进手机的模型都不大,长上下文和复杂设定会明显吃力。
需要准备的东西:一次 Wi-Fi 下载,以及足够的存储空间和内存。 模型不在安装包里,所有可选模型都是首次使用时在应用内下载的。
可选哪些模型
内置三个,都来自 litert-community 的公开镜像,不需要登录、不需要 token。
最小的 Qwen3 0.6B 约 614 MB,最大的 Gemma 4 E4B 约 3.66 GB。
| 模型 | 下载体积 | 建议内存 | 应用加载时的上下文 | 模型原生上下文 |
|---|---|---|---|---|
| Qwen3 0.6B(Test) | 约 614 MB | 2 GB | 8192 | 32768 |
| Gemma 4 E2B(Lite) | 约 2.59 GB | 4 GB | 4096 | 131072 |
| Gemma 4 E4B(Quality) | 约 3.66 GB | 6 GB | 4096 | 131072 |
最后两列对不上,差距在这里。Gemma 4 标称能吃 128k 上下文, 但按整窗分配 KV 缓存会把手机内存撑爆,所以应用是按「移动端能扛住」的值去加载的: 两个 Gemma 都是 4096,体积最小的 Qwen3 因为余量大给到 8192。 也就是说,你实际能用的上下文是 4k 或 8k,不是宣传页上的 128k。
三个里只有 Qwen3 0.6B 标了思考能力。它主要用来快速验证「这条路通不通」, 真要对话质量还是得上 Gemma 4。
怎么启用
- 在应用的 Local Models 页选一个模型,点下载。下载前会弹一个确认框: 默认只走 Wi-Fi,要用移动数据得显式选「Allow cellular」。
- 下完之后激活它。
- 激活时应用会替你把酒馆的连接设置写好:来源改成「自定义(兼容 OpenAI)」,
端点填
poki://local,模型名填模型的文件名,然后重载页面。 - 如果自动写入没成功,应用会提示你手工填这两栏,填法完全一样。
poki://local 是什么
是一个哨兵地址,不是真的网络地址。SillyTavern 前端的来源列表是一个封闭枚举,
加不了新项,所以端侧推理借用了「自定义」这条通道:服务端看到基础 URL 正好等于
poki://local,就把这次请求交给机内的推理引擎,
一个字节都不会出设备,也不会尝试去解析这个地址。
能不能用别的模型
能,只要是公开可直链的 .litertlm 文件。URL 必须是 https,
路径最后一段必须以 .litertlm 结尾,否则在下载开始前就会被拒绝。
下载下来的文件名就是这个模型在列表里的 id,也是酒馆模型栏里要填的值。 需要 token 或登录才能下的仓库不支持,因为下载器不带凭据。 自定义模型的记录会持久化,即使某次下载失败或中断,那一行也会留在列表里, 可以重试或删除,不会凭空消失。
哪些参数会被忽略
端侧这条路只认四个采样参数:温度、top-k、top-p、最大输出长度。
frequency_penalty、presence_penalty、logit_bias、
stop、n、logprobs、response_format、
seed 全部被丢掉。
默认值:温度缺省 0.8,top-k 缺省 64,top-p 会被限制在 0.9 以内。 top-k 的默认值这里有个坑值得单独讲:它绝对不能是 1, 因为 top-k 等于 1 就是贪心解码,每一步都取概率最高的那个 token, 结果是模型逐字复读。之前排查「端侧模型一直重复同一句」时,真凶就是这个。
图片输入这条路目前直接报错,消息里带图会得到 400,不会静默丢弃。
系统提示和多轮对话会被改写
引擎要求严格的用户与助手交替,所以消息在进引擎前会被重排:开头的系统消息合并成 systemInstruction;对话中间出现的系统消息会被折进后面那条用户消息; 连续同角色的消息合并成一条。
这条规则有一个实际后果:以系统身份插在对话中间的内容,比如 世界书里按深度注入的条目、 作者注释,最终会变成用户消息的一部分, 不再有独立的系统身份。想让模型照做,把话写得像用户在说,比写成系统指令更有效。
一次只能跑一个
生成是串行的:同时最多一个在跑、一个在排队,第三个直接被拒,返回 429。 模型没装好返回 500。
应用切到后台并且没有生成在跑时,60 秒后会释放模型占的内存;下次再用会重新加载, 表现为第一次回复慢一些。手动取消激活也会立刻释放内存,这是清理占用最直接的办法。
它做不到什么
- 长上下文撑不住。实际窗口是 4096 或 8192 token。 角色卡写得长、世界书条目多,很快就会顶到上限,前面的内容会被裁掉。
- 复杂推理和长篇连贯性明显弱于云端大模型。 这里最大的一个也只是几十亿参数量级,做不到几百上千亿参数模型的事, 属于物理限制,不是调参能补的。
- 首次要下几个 GB。Gemma 4 E4B 接近 3.7 GB, 手机存储紧张的话先掂量一下。
- 模型加载后常驻内存,直到应用后台闲置 60 秒或你手动取消激活。
- 内置的三个模型都没有声明函数调用能力,图片输入会直接报错。
如果这些都能接受,它换来的是:断网可用、不花一分钱、聊天内容不出设备。 在飞机上、地铁里、信号差的地方,这条路是唯一还能用的。
常见报错
| 提示 | 含义 |
|---|---|
local inference not available | 服务端没有接上机内推理引擎,常见于纯服务端环境 |
local model not installed | 模型栏里填的 id 在设备上找不到。检查文件名有没有写全,包括 .litertlm 后缀 |
| 429 | 引擎忙。等上一条生成结束再试 |
| 下载点了没反应 | 自定义 URL 不是 https,或者末段不以 .litertlm 结尾,被提前拦下 |
| 进度条到一半停住 | 下载失败会在那一行显示原因,可以重试或删除后重来 |
常见问题
模型在安装包里吗
不在。安装包里只有推理引擎,模型是首次使用时在应用内下载的,免费。 所以「装完就能离线聊」这句话不成立,得先联一次网。
能同时装多个吗
能。列表里可以装好几个,但同一时刻只有一个是激活状态。 切换激活模型时,上一个占的内存会被释放。
模型 id 到底填什么
填带扩展名的文件名,比如 gemma-4-E2B-it.litertlm。
不带扩展名的话,已经下好的模型会被认成没安装。
和在电脑上跑 Ollama 比呢
电脑能跑的模型大得多,质量差距很明显,但要开着那台机器、还得在同一个网络里。 两条路可以并存:在家用 Ollama,出门切回端侧。
换成别的接入方式
对质量要求更高,就得接云端: OpenRouter 一个密钥试多家, DeepSeek、 Claude、 Gemini 各有专用来源。 七条路的横向对照在枢纽页。