远程也能用上家里的本地大模型:Tailscale 实战(附 LM Studio / llama.cpp 接入)
一、从一个真实的痛点说起
大模型的算力,往往集中在一台主力机上——比如一台大内存的 Mac。它跑得动 30B 的模型,而你的笔记本、平板、手机跑不动。
于是问题来了:人在外面,怎么用上家里那台机器的算力?
不只是大模型。家里的 Mac 通常还跑着一堆有用的服务:代码仓库(Gitea)、博客预览、远程桌面……理想情况下,这些都应该随时随地能访问。
传统做法有三条路,但每条都不太顺手:
| 方案 | 痛点 |
|---|---|
| 公网 IP + 端口转发 | 运营商大多不给公网 IP;家庭宽带封端口;暴露公网有安全风险 |
| 花生壳 / frp 等内网穿透 | 需自建或买服务;速度受中继带宽限制;配置繁琐 |
| 向日葵 / TeamViewer | 只适合远程桌面,访问 Web / SSH / API 不灵活,免费版有限制 |
Tailscale 给了一条更优雅的路。它基于 WireGuard 做虚拟组网(Mesh VPN):把不同设备拉进同一个”虚拟局域网”,每台设备拿到一个固定的内网 IP,彼此直连通信——不管隔着几个路由器、在不在同一个城市。
读完你会得到:
- 一个零配置的远程访问方案(不需要公网 IP、不需要端口转发、不需要备案)
- 两套远程调用本地大模型的完整实践(LM Studio / llama.cpp)
- 把本地模型接进 AI 编码工具(harness 模式)的配置与踩坑
- 若干实测数据和血泪教训
二、安装与登录
macOS 用 Homebrew 一条命令搞定:
1 | brew install --cask tailscale |
Windows / Android / iOS 从 官网 下载客户端即可。
安装后登录同一账号(Google / GitHub / Microsoft 均可),设备就自动加入同一个虚拟网络了。没有别的步骤——这就是它最大的优点。
三、常用命令
macOS / Linux 上常用命令行操作:
1 | tailscale status # 查看所有设备及在线状态 |
tailscale status 的输出类似(以下 IP 均为示例):
1 | 100.64.0.1 dev-macbook user@ macOS - |
为方便下文举例,我们给这三台设备起个名字:
| 设备 | 角色 | 示例 Tailscale IP |
|---|---|---|
dev-macbook |
Mac 主力机(跑服务的机器) | 100.64.0.1 |
win-laptop |
Windows 笔记本(访问方) | 100.64.0.2 |
phone |
手机 | 100.64.0.3 |
这个 100.x.x.x 地址是固定的,跨网络、跨地区都稳定可用,可以直接当内网地址用。
四、实战一:从 Windows 访问 Mac 上的本地服务
最基础的场景。假设 Mac 上跑着几个本地服务(Gitea 在 3000 端口、博客预览在 4123 端口),想让 Windows 也能访问。
1. 确认服务监听在 0.0.0.0
这一步是关键:服务必须监听所有网卡(0.0.0.0),否则只有本机 localhost 能访问。用 lsof 确认:
1 | lsof -iTCP:3000 -sTCP:LISTEN -P # Gitea → 期望 *:3000 |
一个容易误判的坑:
lsof输出IPv6 *:3000不代表只监听 IPv6。这里的*是双栈 socket,表示监听所有接口(含 IPv4)。看到*:PORT即正常。
好消息是,**Gitea、Hexo 默认就监听在 0.0.0.0**,通常无需改动。
2. 从 Windows 直接访问
Mac(dev-macbook,100.64.0.1)上的服务跑着,在 Windows(win-laptop)浏览器里直接打开:
1 | http://100.64.0.1:3000 # Windows 访问 Mac 上的 Gitea |
没有端口转发,没有额外配置。
3. Gitea 的 ROOT_URL 修正(可选)
如果发现 Gitea 的**页面链接、clone 地址都指向 localhost**,那是因为它默认配置了 ROOT_URL=http://localhost:3000/。在 Windows 上 localhost 指 Windows 自己,点链接会失效。
改一下 custom/conf/app.ini 即可:
1 | [server] |
重启生效:
1 | brew services restart gitea |
不改也能用:登录、浏览仓库都正常。只有想让链接和 clone 地址完全可用时才需要改。
五、实战二:远程调用本机的大模型(重点)
这才是 Tailscale 最被低估、也最有价值的用法。
痛点很直接:大模型吃显存/内存,只有一台主力机跑得动。但你可能想在笔记本、手机、平板上——甚至在外面——继续用这台机器的模型。传统做法要么把端口暴露到公网(危险),要么根本连不上。
Tailscale 的思路很干净:把模型服务的 API 端口暴露在虚拟内网上,任何已加入 Tailnet 的设备都能直接调用,既安全又免配置。
下面三套方案,按上手难度递增。
1. LM Studio(图形界面,最易上手)
LM Studio 可以图形化管理模型,并内置一个 OpenAI 兼容的 API 服务。
1 | brew install --cask lm-studio |
关键步骤:
- 打开 LM Studio,在 Developer / Local Server 页加载一个模型,启动服务
- 打开「Serve on Local Network」选项(默认可能只绑
127.0.0.1,开启后才能被其他设备访问) - 服务默认监听 1234 端口,提供 OpenAI 兼容接口:
1 | # 在 Mac 本机验证(列出可用模型) |
返回模型列表 JSON 即成功:
1 | { |
因为接口路径是
/v1/...,任何支持自定义 OpenAI Base URL 的客户端都能直接用:把 Base URL 填成http://100.64.0.1:1234/v1,API Key 随意(本地不校验),就能在别的设备上调用这台 Mac 的模型。
2. llama.cpp(命令行,最适合常驻 + 远程)
llama.cpp 是最底层的 GGUF 推理引擎,llama-server 同样提供 OpenAI 兼容接口。相比 LM Studio,它纯命令行、资源占用低,最适合后台常驻和远程调用。
下载预编译版(macOS Apple Silicon):
1 | # 从官方 release 下载 llama-bXXXX-bin-macos-arm64.tar.gz,解压到 ~/tools/llama.cpp/ |
常用工具:llama-cli(命令行对话)、llama-server(HTTP 服务)、llama-bench(测速)、llama-quantize(量化)。
直接启动(关键是 --host 0.0.0.0,否则无法被 Tailscale 访问):
1 | ./llama-server -m model.gguf --host 0.0.0.0 --port 8081 \ |
封装成启动脚本更好用——用别名切换模型、用环境变量控制绑定:
1 | # run-llama.sh 用法示意 |
HOST默认127.0.0.1(仅本机)。**要用 Tailscale 远程访问,必须改成0.0.0.0**——这是最关键的一步。
其他设备即可调用:
1 | curl http://100.64.0.1:8081/v1/models |
实测速度(M2 Max 64GB,Metal 后端):
| 模型 | 架构 | 量化 | 输出速度 |
|---|---|---|---|
| Qwen3-Coder-Next | MoE(80B/A3B) | Q3_K_XL | 33 t/s |
| Qwen3-30B-A3B | MoE(激活 3B) | Q4_K_M | 81.4 t/s |
| Qwen3.8-27B | Dense | Q4_K_M | 15.9 t/s |
一条经验:MoE 架构(激活参数少)远快于 Dense。Mac 上的瓶颈常在算力而非内存,优先选 MoE 模型。
3. 接入 Codex / Claude 等 AI 编码工具(harness 模式)
这是”远程本地大模型”最爽的用法:把本地模型接进 AI 编码工具,让它们跑你家里的算力。
因为 llama-server / LM Studio 都提供 OpenAI 兼容接口,只要工具支持自定义 base_url,把地址指向 Tailscale IP 即可:
1 | { |
几个实测踩出来的坑:
model字段必须和/v1/models返回的完整名精确一致,否则报”模型不存在”。- 跑 agent 场景,模型必须支持原生 tool calling。不是所有”编码很强”的模型都能当 agent 用——有些只会把工具调用输出成普通文本,agent 框架无法解析 → 直接失败。选模型时要专门验证这一点(实测下来,专门的 coding agent 模型如 Qwen3-Coder-Next 表现最好)。
- MoE 模型记得关 thinking。例如 Qwen3-30B-A3B 开 thinking 时,思考链会吃光 token 预算,导致空输出,加
--reasoning off即可。 - 同网段优先走局域网 IP。手机与 Mac 在同一 Wi-Fi 时,用
192.168.x.x直连比走 Tailscale 更快(绕开可能的海外中继)。
4. AI 时代:把本机算力变成”共享基础设施”
放到更大的视角看,这件事的意义不止于”省事”。AI 时代,算力正在成为一种基础设施——而 Tailscale 让它变得像局域网一样随手可用:
- 一个人,一套模型,全设备协作:家里的 Mac 跑着模型,手机、平板、笔记本、甚至其他机器都能作为客户端接入。模型只下载一份,算力却四处可用。
- 人 + AI 的协作模式:本地模型接入编码工具后,你不再受限于某一台设备——通勤路上用手机对着本地 agent 提需求,回到家接着让它跑。设备和 AI 助手是解耦的。
- 数据不出内网的私有 AI:所有推理都在你自己的机器上完成,请求只走 P2P 虚拟内网,没有任何数据发往第三方云端。对代码、文档等敏感内容,这一点尤其重要。
- 对客户端透明,生态通吃:因为都是 OpenAI 兼容接口,任何支持自定义 Base URL 的工具都能接入,不必为每个客户端单独适配。
- 比暴露公网安全:端口只存在于虚拟内网,公网扫描不到、无攻击面;比某些内网穿透方案更省心。
一句话:Tailscale 让”把本机算力当成服务来用”变得毫无门槛——这正是个人开发者在 AI 时代最需要的一块拼图。
六、实战三:远程控制桌面(RustDesk / UU 远程)
Tailscale 负责”网络连通”,但如果你需要的是看屏幕、操作鼠标键盘这种完整远程控制,还得配一个远程桌面工具。这里给两条路线。
1. RustDesk(开源,配合 Tailscale 直连)
开源免费的 RustDesk,可以自建中继:
1 | brew install --cask rustdesk |
RustDesk 本身支持 P2P,但打不通时会走公共中继(慢)。配合 Tailscale 后,两台设备处在同一虚拟内网,RustDesk 直接 P2P 直连,速度快、延迟低,还不用自建中继服务器。
适合:想要开源可控、数据自主,或已在用 Tailscale 组网的场景。
2. UU 远程(网易出品,开箱即用)
如果你只想装上就能用、不折腾组网,UU 远程(网易出品)是这两年很值得推荐的选择:
- 免费:个人使用基本免费(这也是它快速蹿红的原因)
- 主打低延迟:面向游戏串流优化,官方定位就是”超低延迟远程串流”,远程办公、远程玩游戏都够用
- 全平台:Windows / macOS / Android / iOS 等主流平台都有客户端
- 开箱即用:登录账号、两端配对即可,不需要自己组网或配 P2P
适合:不想折腾、追求简单,或者主要用途是远程玩游戏 / 图形化操作的场景。
3. 什么时候用哪个?
| 你的需求 | 推荐 |
|---|---|
| 想访问 Web 服务 / SSH / API(不需要图形界面) | Tailscale(本文主线) |
| 图形化远程控制,且想开源可控 / 已有 Tailscale 组网 | RustDesk + Tailscale |
| 图形化远程控制,只想开箱即用、主打低延迟 | UU 远程 |
| 远程玩游戏 / 需要高帧率串流 | UU 远程 |
三者并不冲突:Tailscale 是”网络层”的通用方案(Web/SSH/API/大模型都能用),UU 远程 / RustDesk 是”远程桌面”层。完全可以 Tailscale 做内网互联,需要看屏幕时再叠加一个远控工具。
七、踩坑与注意事项
- 服务默认只绑 localhost:很多本地服务(各类工具的 API)默认只监听
127.0.0.1,**必须显式改成0.0.0.0或开启”局域网访问”**才能被 Tailscale 访问。这是最常见的”连不上”原因,排在第一位。 - 双栈 socket 判断:
lsof显示IPv6 *:PORT不要误判为仅 IPv6,*= 监听所有接口。 - 防火墙:macOS 应用防火墙若开启会挡入站连接,需放行对应程序(或用
socketfilterfw关闭)。 - 登录同一账号:两端设备必须在同一个 Tailscale 账号(同一 Tailnet)下才能互通。
- 并非完全匿名:Tailscale 的控制面(协调服务器)仍是中心化的,只是数据面走 P2P。对隐私要求极高的场景可了解 Headscale(开源自建控制面)。
- 与局域网 IP 的区别:同网段时用局域网 IP(如
192.168.x.x)也行,但 Tailscale IP 在跨网络、异地、切换 Wi-Fi 时始终稳定,更省心。
八、小结
Tailscale 把”让不同设备互相访问”这件事,从”配置网络”简化成了”装个软件、登录账号”。典型用途:
- 远程访问家里的开发机 / NAS / 服务
- 本地开发服务多设备联调
- 在外调用家里机器上的本地大模型(共享算力)
- 异地组网、出门在外回连家里的电脑
它几乎是当前最省心的方案。配合 RustDesk / UU 远程、LM Studio 这类工具,一套免费的”远程开发 + 远程算力”工作流就搭起来了。
如果只是想开箱即用地远程看/控制桌面,网易 UU 远程 也是很好的选择;但要访问 Web / SSH / API、或共享本机大模型,Tailscale 才是那个”底座”。




