1. 为什么 OpenClaw 本地部署后,手机远程调用总是卡在“连不上”
OpenClaw 本地部署后手机远程调用大模型,是很多把显卡装在家里、人却常在外面跑的开发者最真实的需求。我自己在 3060 12G 的机器上跑 OpenClaw 加本地模型有一段时间了,桌面端体验确实舒服,但只要一出门,问题就来了:手机想接着用家里那台机器跑推理,要么是地址填不对,要么是端口没通,要么是模型加载到一半连接断了。折腾一圈下来,真正用上的时间还没配置的时间长。
这个场景的核心矛盾其实很清楚。OpenClaw 本身是一个偏工程化的本地服务框架,它默认你懂 HTTP 服务、懂端口、懂反向代理,甚至默认你愿意去读它的配置文件。而手机端要远程调用,中间还横着一层网络问题:家庭宽带绝大多数没有公网 IP,运营商给的是大内网地址,你在外面根本没法直接访问到家里的 11434 或者你自定义的那个端口。于是很多人第一反应是去找内网穿透工具,结果又掉进另一个坑——命令行参数、隧道配置、证书、鉴权,每一步都能劝退。
BitFun 龙虾版想解决的正是这一段。它把 OpenClaw 服务端的连接配置、内网穿透的通道建立、手机端的扫码配对,全部收进一个图形界面里。你不需要记端口,不需要手写隧道命令,手机扫一下码就能建立会话。但要注意,扫码即连不等于什么都不用配,服务端那一段的 OpenClaw 配置、模型 ID、监听地址,还是得写对,否则手机端连上了也调不动模型。这篇就按最小闭环来拆:先让 OpenClaw 在电脑上正常跑起来,再让 BitFun 龙虾版把这条链路打通,最后用手机发一次真实的推理请求验证。
适合谁看?如果你已经在本机装好了 OpenClaw,模型也能在桌面端正常对话,但一换到手机就各种报错;或者你正准备入坑本地大模型,想一步到位把远程调用也规划进去,那这篇的配置路径可以直接抄。下面所有配置片段都可以复制,路径和参数我会写清楚,你按自己机器的实际情况替换就行。
2. TaoToken 前置:把模型调用凭证和 OpenClaw 服务端准备好
在动 BitFun 龙虾版之前,得先把 OpenClaw 这一侧的服务端配置理顺。很多人远程连不上,根因不在穿透,而在服务端根本没监听对地址,或者模型凭证没配好,手机端发过去的请求在电脑本地就被拒了。所以这一步是地基。
先说模型调用凭证。OpenClaw 要跑大模型,得有一个能调用的模型入口。你可以用本地模型,也可以用云端 API。如果你希望手机远程指挥家里电脑跑大模型时,模型侧稳定一点、不用每次等本地加载,可以走 TaoToken 的 API 入口。它的 Base URL 是https://taotoken.net/api,Key 在控制台生成。控制台地址是https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=,API Keys 管理页在https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=。生成 Key 之后先放一边,等下写进 OpenClaw 配置。
这里要提醒一句:OpenClaw 的模型配置和 BitFun 龙虾版的连接配置是两回事。前者决定“电脑用什么模型推理”,后者决定“手机怎么连到电脑”。两个都配对了,远程调用才成立。我见过有人手机端扫码成功了,但一发指令就报模型不存在,就是模型 ID 没对上。
OpenClaw 服务端这边,核心是让它监听一个局域网内可访问的地址,而不是只绑在127.0.0.1。如果你只监听回环地址,BitFun 龙虾版在局域网直连模式下都找不到它,更别说穿透了。所以配置文件里 host 要写成0.0.0.0或者你电脑的局域网 IP。端口建议固定一个,比如 11434,方便后面手机端和穿透通道对齐。
另外,OpenClaw 的会话和模型加载策略也建议调一下。远程调用时,如果模型每次请求都重新加载,手机端会等很久甚至超时。把模型常驻或者设置合理的 keep-alive,体验会好很多。这些参数在 OpenClaw 的配置文件里都有对应项,下面第三节会给完整片段。
TaoToken 在这里的角色是模型侧的稳定入口。如果你本地显卡够强,纯本地模型也行;但如果你希望远程调用时响应更可控,或者本地模型偶尔要切换,用 API 方式接进来会省心一些。它的模型对话入口在https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=,你可以先在网页上确认模型可用,再写进 OpenClaw。接入文档在https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=,里面有各语言的调用示例,照着改 Base URL 和 Key 就行。
这一步做完,你应该能在电脑浏览器里访问http://你的局域网IP:11434看到 OpenClaw 的响应,或者用 curl 发一条测试请求拿到模型回复。如果这一步不通,先别急着开 BitFun,回头检查防火墙和监听地址。Windows 上尤其要注意,第一次监听非回环地址时系统会弹防火墙授权,要点允许,否则手机和穿透通道都会被挡在外面。
3. 可复制配置:OpenClaw 服务端片段与 BitFun 龙虾版连接参数
这一节是整篇的核心,配置写对了,后面验证就是水到渠成。我按“服务端配置 → 模型凭证 → BitFun 连接参数”的顺序给,每一段都可以直接复制后改。
先看 OpenClaw 服务端的配置片段。不同版本的 OpenClaw 配置文件格式可能略有差异,但核心字段是一致的。下面这段是 TOML 风格,路径按你实际安装位置来,通常在家目录下的.openclaw/config.toml或者项目目录里的config.toml:
# OpenClaw 服务端配置片段 [server] host = "0.0.0.0" port = 11434 # 远程调用建议开启,方便排查连接问题 access_log = true [model] # 模型 ID 必须和实际调用的模型一致 model_id = "your-model-id" # 如果走 TaoToken API,base_url 填下面这个 base_url = "https://taotoken.net/api" api_key = "sk-你的TaoTokenKey" # 本地模型则改成对应的本地推理地址 # base_url = "http://127.0.0.1:8000/v1" [session] # 模型常驻,避免远程每次重新加载 keep_alive = "30m" max_tokens = 4096这段里host = "0.0.0.0"是关键,它让 OpenClaw 监听所有网卡,局域网内其他设备才能访问。model_id和base_url、api_key三件套要配套:走 TaoToken 就填 TaoToken 的 Base URL 和 Key,走本地推理就填本地地址。keep_alive设成 30 分钟,手机端连续发几条指令时不会反复加载模型。
如果你用的是 JSON 格式的配置,等价片段是这样:
{ "server": { "host": "0.0.0.0", "port": 11434, "access_log": true }, "model": { "model_id": "your-model-id", "base_url": "https://taotoken.net/api", "api_key": "sk-你的TaoTokenKey" }, "session": { "keep_alive": "30m", "max_tokens": 4096 } }改完配置后重启 OpenClaw 服务。重启命令看你安装方式,如果是 systemd 就systemctl restart openclaw,如果是手动起的就 Ctrl+C 再重新运行。重启后先在电脑上用 curl 验证:
curl -X POST http://127.0.0.1:11434/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "your-model-id", "messages": [{"role": "user", "content": "你好"}] }'能拿到 JSON 回复,说明服务端和模型侧都通了。这一步不通,后面 BitFun 配了也白搭。
接下来是 BitFun 龙虾版的连接参数。打开 BitFun 龙虾版后,连接方式有三种:局域网直连、内网穿透、自建服务器。家庭网络下最省事的是内网穿透,不需要公网 IP,BitFun 会自动建立通道。你在连接设置里选“内网穿透”,然后填 OpenClaw 的服务地址和端口。注意这里填的是 OpenClaw 的地址,不是 BitFun 自己的地址:
连接方式:内网穿透 服务地址:http://192.168.1.100:11434 模型 ID:your-model-id 会话类型:Code 会话 / Cowork 会话192.168.1.100换成你电脑的局域网 IP。Windows 上用ipconfig看,macOS 和 Linux 用ifconfig或ip addr。填完之后 BitFun 会生成一个二维码,手机端扫码就能建立会话。如果你在同一 WiFi 下,也可以选“局域网直连”,速度最快,零延迟,不需要外网。
这里有个容易踩的坑:服务地址填了127.0.0.1或者localhost。手机端和穿透通道访问的是你电脑的局域网地址,回环地址只有电脑自己能访问,手机扫码后必然连不上。所以一定要填局域网 IP 或者0.0.0.0对应的实际地址。
如果你要用自建服务器中继,那就在 BitFun 里选“自建服务器”,填入你自己服务器的地址和端口。这种方式数据完全走自己的通道,隐私性最好,但需要你有一台有公网 IP 的服务器。家庭宽带没有公网 IP 的情况下,内网穿透是更现实的选择。
配置完成后,BitFun 龙虾版会显示连接状态。状态变成“已连接”后,手机端就可以发指令了。这时候手机只是发令端,真正的推理还是在电脑的 GPU 上跑,手机不发烫,电量也不焦虑。
4. 验证请求:手机发一条指令,看家里电脑是否真的在跑模型
配置写完,必须做一次真实的远程推理验证,否则你不知道链路到底通没通。我建议用一个明确的、可观察的指令,而不是简单说“你好”,因为简单对话可能被缓存或者走本地小模型,看不出远程调用是否真的生效。
验证步骤分三步:手机发令、电脑观察、结果回传。
第一步,手机端打开 BitFun 龙虾版,扫码建立会话后,在对话框里发一条指令。比如:
帮我用 Python 写一个读取 CSV 并统计每列缺失值的函数,返回缺失值数量和占比。这条指令有明确的输出物,代码里能看出模型是否真的在推理。发送后,手机端会显示进度和日志。
第二步,回到电脑上观察。你应该能看到 OpenClaw 的访问日志里出现一条来自 BitFun 通道的请求,模型开始加载或直接推理,GPU 占用上升。如果你在 OpenClaw 配置里开了access_log = true,终端会打印请求路径和响应状态。这一步是确认“手机指令确实传到了电脑”。
第三步,等几秒到几十秒(取决于模型大小和是否常驻),手机端会收到回复。回复里应该包含完整的 Python 函数,有缺失值统计逻辑。如果收到的是报错,比如model not found或者connection refused,那就回到第五节对照排查。
我实测下来,局域网直连模式下,7B 级别的模型在 3060 上,这条指令大概 8 到 15 秒返回。内网穿透模式会多一两秒的通道延迟,但整体可接受。如果你用的是更大的模型或者云端 API,时间会不同,但链路验证的逻辑是一样的。
验证通过后,你可以再试一个带文件的指令,比如手机拍一张现场照片发给 BitFun,让电脑端模型识别图片内容。这能验证文件双向互通是否正常。BitFun 龙虾版支持图片和文档截图输入,手机拍的照片会传到电脑端处理,处理结果再回传手机。这个闭环跑通,说明你的远程调用已经不只是文本,而是完整的多模态协作。
这里要提醒:验证时不要一上来就发超长任务或者大文件。先用短指令确认链路,再逐步加复杂度。我踩过的坑是第一次就发了一个几千行的代码分析请求,结果模型加载加上下文处理,手机端等了很久以为断了,其实是还在跑。先短后长,心里有数。
5. 本篇常见错排查:401、local proxy failed、reading choices、OAuth 报错怎么解
远程调用出问题时,报错信息往往很模糊。我把这几类高频错误按现象、原因、解法列出来,你对照着查。
401 Unauthorized。这个最常见,出现在手机端发指令后立刻返回。原因基本是模型凭证不对:TaoToken 的 Key 填错、过期,或者 OpenClaw 配置里的api_key和实际使用的不一致。解法是回到https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=重新生成一个 Key,复制完整,注意不要带空格。然后检查 OpenClaw 配置里的api_key字段,重启服务。如果你用的是本地模型,401 可能是本地推理服务的鉴权没关,检查本地服务的启动参数。
local proxy failed。这个报错通常出现在 BitFun 建立穿透通道的阶段,或者手机端连接时。原因是本地代理没起来,或者端口被占用。先检查 OpenClaw 是否真的在监听你配置的端口,用netstat -ano | findstr 11434(Windows)或lsof -i :11434(macOS/Linux)看端口状态。如果端口没监听,说明 OpenClaw 没启动成功,回去看服务端日志。如果端口被别的程序占了,换一个端口,同时改 BitFun 里的服务地址。另外,防火墙也可能导致 proxy failed,确认 OpenClaw 的端口在防火墙入站规则里是允许的。
reading choices 相关报错。这类错误一般出现在模型返回格式不符合预期时,比如error reading choices或者choices field missing。原因是 OpenClaw 期望的响应结构和实际模型返回的不一致。如果你走 TaoToken API,确认base_url是https://taotoken.net/api,不要多加/v1或者少写路径。模型 ID 也要和 API 支持的列表对上。如果你用本地模型,检查本地推理服务的响应格式是否是 OpenAI 兼容格式。有些本地框架默认不是这个格式,需要加一层适配。
OAuth 报错。如果你在 BitFun 里用了飞书或 Telegram 的 SMS 远程控制,可能会遇到 OAuth 相关的错误,比如OAuth token expired或者redirect_uri mismatch。原因是机器人应用的授权配置和实际回调地址不一致。解法是回到飞书或 Telegram 的开发者后台,检查回调地址是否和 BitFun 里填的一致,重新授权一次。Token 过期的话,重新走一遍授权流程即可。这类问题不影响局域网直连和内网穿透,只是 SMS 通道的配置问题。
手机扫码后一直显示“连接中”。这个不是报错,但很常见。原因通常是服务地址填了回环地址,或者手机和电脑不在同一个网络下且穿透通道没建立成功。先确认服务地址是局域网 IP,再确认 BitFun 的穿透状态是“已连接”。如果还不行,换成局域网直连模式试试,排除穿透通道的问题。
模型回复很慢或者超时。检查keep_alive设置,如果太短,每次请求都重新加载模型。另外,手机端和电脑端的网络质量也会影响,内网穿透模式下如果家里上行带宽小,传输大响应会慢。可以先把max_tokens调小,验证链路,再逐步放开。
排查的顺序建议是:先确认 OpenClaw 本地能通(curl 测试),再确认 BitFun 连接状态,最后确认手机端指令能到达。一层一层来,不要同时改多个地方,否则不知道是哪个改动生效了。
6. 长期远程编码与 Agent 场景:把 Coding Plan 和接入文档用起来
最小闭环跑通之后,如果你打算长期用手机远程指挥家里电脑跑大模型,尤其是做代码分析、Agent 任务这类持续性的工作,建议把 Coding Plan 和接入文档一起用起来。Coding Plan 入口在https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=,它适合需要长期、稳定调用模型的编码场景。接入文档在https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=,里面有完整的 API 参数说明和示例,你配置 OpenClaw 时遇到字段不确定,直接查文档比猜快。
如果你用的是 Claude Code 这类工具配合 OpenClaw,配置三件套要写全:Base URL 填https://taotoken.net/api,Key 填控制台生成的,Model ID 填你实际要用的模型。这三个字段在 OpenClaw 配置、BitFun 连接参数、以及任何客户端里都要保持一致,否则就会出现“连上了但调不动”的情况。
模型对话入口https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=可以用来快速验证某个模型是否可用,确认后再写进配置。API Keys 管理页https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=用来生成和轮换 Key。控制台https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=可以看用量和调用记录,排查问题时很有用。
长期跑远程 Agent 的话,还有几个实用技巧。一是把 OpenClaw 配成开机自启,这样电脑重启后服务自动起来,手机随时能连。二是给模型设置合理的并发限制,避免手机端连续发多条指令把电脑资源打满。三是定期检查穿透通道的稳定性,如果发现频繁断连,可以切到自建服务器中继,数据走自己的通道,稳定性更好。四是手机端和电脑端的文件同步目录规划好,BitFun 支持文件双向互通,但目录结构清晰的话,远程生成的代码和报告更容易管理。
最后一步,你可以在手机端建一个长期的 Code 会话,把常用的项目路径和模型配置固定下来。这样每次出门,打开手机就能接着电脑上的任务继续,不用重新配置。任务进度不中断,这才是远程调用本地算力最舒服的状态。