资讯动态

OpenClaw+cpolar内网穿透:打造随时随地可用的私人AI助手

发布时间:2026/9/29 15:58:00 来源:尧图企业网站定制
折腾了一个周末终于把自己本地跑的 OpenClaw 智能体服务通过 cpolar 内网穿透做成真正的私人 AI 随身带了。现在不管人在公司、地铁还是机场手机、笔记本、甚至 Teams 里随时都能喊它干活对话记录还全在自己机器上。这套方案的部署过程不算复杂但中间的坑确实不少尤其是 openclaw 的 channel 配置、会话锁报错、以及 cpolar 隧道稳定性这块网上的资料特别零散。今天把这套完整教程从头到尾写下来从架构思路到每个命令、每个参数怎么填再到报错怎么排查一次讲透希望能帮想搞私有 AI 助手的朋友少走弯路。1. 先定方案为什么本地部署内网穿透最适合1.1 一个本地管家要解决什么问题OpenClaw 说直白点就是一个跑在你自己的服务器或电脑上的 AI Agent 智能体框架。它不是那种打开网页就能聊的聊天机器人而是把大模型的能力封装成一个可以接收消息、识别意图、执行任务的管家。你可以在里面接入通义千问、DeepSeek 这些大模型然后通过各种渠道去使唤它比如网页、命令行、Microsoft Teams、Obsidian 笔记它都能接。我自己用下来的感受是这玩意儿最吸引人的点不是能聊而是归我管。对话记录、插件配置、模型参数全在我自己手里数据不出门想接什么模型就接什么成本可控。对比一下用现成的云端 AI 助手虽然省事但隐私和数据归属总有点隔应自己裸写脚本调 API 又太零散没有会话管理、没有工具调用、没有多渠道集成。OpenClaw 正好卡在中间这个生态位上像一个开源的私人管家底座你自己决定让它住哪、吃什么模型、跟哪些平台通信。1.2 两种远程方案的取舍本地服务有一个绕不开的痛点出了局域网就失联。我把 OpenClaw 部署在家里那台长期开机的迷你主机上在客厅里用是很爽可一旦跑到公司或者外地想让它帮你整理个文档、查个资料就完全没门了。远程访问这个需求主要就两条路线。第一条是直接租一台云服务器把 OpenClaw 部署在云端。好处是公网 IP 现成、带宽充足、稳定性好坏处也很明显数据不在自己手里了而且云服务器按时长计费跑个 AI Agent 的配置需求还不低长期下来是一笔不小的开销。第二条就是我今天要讲的思路服务留在本地用一个内网穿透工具把本地端口映射到公网。这样数据还是在自己设备上访问也走的是加密隧道成本基本可以忽略。我最后选了 cpolar原因很实际注册简单、有免费额度、支持 HTTP/HTTPS/TCP 隧道而且在国内的访问速度和稳定性上都够用。更重要的是它对新手友好安装好之后跑两条命令就能拿到一个公网地址不用去折腾路由器端口转发那一堆事儿。1.3 完整访问链路长什么样在动手之前先理清楚这套方案的完整链路后面出问题才好排查。OpenClaw 服务跑在本地的某个端口上比如 8080。cpolar 客户端也在同一台机器上运行它会主动向 cpolar 的服务器发起一条加密的长连接隧道。你在外网访问 cpolar 分配给你的公网地址时请求会先到 cpolar 的服务器然后通过这条隧道转发到本地机器的 8080 端口由 OpenClaw 来处理。简单打个比方OpenClaw 是住在深巷子里的手艺人cpolar 就是巷口那个挂了招牌的传达室。外面的人不用知道巷子在哪只需要找到传达室传达室再把消息递到人手里。所以整个链路就是手机/电脑/Teams - cpolar 公网地址 - 本地隧道 - OpenClaw:8080。搞清楚这个流向遇到问题至少知道该查哪一段。2. 本地把 OpenClaw 跑起来环境、安装、模型接入2.1 环境准备建议用长期开机的 LinuxOpenClaw 不是那种装完就跑一下的脚本它是常驻服务所以运行环境有两个硬性要求一是不能动不动关机休眠二是性能别太拉胯。我用的是一台 Ubuntu 22.04 的迷你主机8G 内存跑 OpenClaw 加上本地的一些辅助进程日常占用大概在 30% 到 50% 之间完全够用。如果你不想专门搞一台机器用自己常用的电脑也行Windows 下同样能跑只是 Windows 的文件占用和偶尔的自动重启会带来一点麻烦。依赖方面OpenClaw 是基于 Node.js 的所以 Node.js 18 以上的版本必须提前装好另外 Git 也建议装上方便拉取代码。装 Node.js 建议用 NodeSource 的官方源别用系统自带的旧版本。Ubuntu 下的安装命令是这样的curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt-get install -y nodejs git node -v npm -v看到v20.x.x这样输出基本就没问题了。这里我多说一句尽量避免直接使用最新版的 Node 22OpenClaw 这类 Agent 框架对某些原生模块的编译还有兼容问题20 这个 LTS 版本是最稳的。2.2 安装与初始化配置环境准备好之后就可以拉取 OpenClaw 的代码了。从官方仓库把源码克隆下来然后安装依赖、初始化配置git clone https://github.com/你的源地址/openclaw.git cd openclaw npm install npm run initnpm run init会启动一个交互式向导它会问你三个关键问题Agent 叫什么名字、用哪个大模型服务商、启用哪些 channel消息渠道。这里要注意初始化向导生成的配置是基础版后面肯定要手动改文件所以不用追求一次填对大致选好就行。初始化完成之后会在项目根目录生成一个配置文件格式是 YAML 或者.env风格具体看版本。我的建议是先用openclaw start跑一次默认配置确认能起来再去做模型和渠道的精细调整。2.3 接入大模型以通义千问为例OpenClaw 本身不带大模型它要接一个大脑。目前主流的选择有通义千问、DeepSeek、OpenAI 兼容接口等。我第一个接的是通义千问原因有三一是国内节点访问稳定不用折腾网络二是性价比高qwen-plus 应对日常对话和任务处理完全够三是它提供 OpenAI 兼容的接口OpenClaw 配置起来非常顺滑。先到阿里云的百炼平台注册一个账号开通模型服务创建一个 API Key。拿到之后编辑 OpenClaw 的配置文件把模型 provider 切换成 DashScopemodel: provider: dashscope api_key: sk-你的API密钥 model_name: qwen-plus temperature: 0.7 max_tokens: 4096temperature我建议设 0.7既能保证输出的逻辑性又不会太死板。max_tokens要看你的使用场景如果经常让它总结长文档4096 是不够的建议直接拉到 8192。配置保存之后运行openclaw restart如果日志里出现类似model connected的信息就说明大脑接上了。这里有个很容易踩的坑API Key 不要放在配置文件里提交到 Git用环境变量引用比如api_key: ${DASHSCOPE_API_KEY}这样即便配置不小心泄露别人也拿不到密钥。2.4 本地自测确认服务正常模型接入后先别急着做内网穿透一定先把本地通路跑通。启动 OpenClaw 后它默认会在 8080 端口监听我们可以先用 curl 探一下curl http://localhost:8080/health如果返回{status:ok}之类的内容说明服务已经起来了。然后到网页上打开http://localhost:8080会看到一个简单的 Web 对话界面你能在这个界面跟 Agent 对话看到模型回复就算本地链路完全通了。这一步很关键它把后面排查问题的范围缩小了——如果本地都聊不了就别急着去调 cpolar先把本地问题解决掉再往下走。3. cpolar 内网穿透给本地的 AI 开一扇公网的门3.1 内网穿透的工作原理在配置之前先把原理讲透。内网穿透之所以能工作核心在于反向连接正常情况下公网无法主动找到你家里的设备因为没有公网 IP。但如果你设备上的 cpolar 客户端主动向外部的 cpolar 服务器发起连接并保持这条长连接不断开那么 cpolar 服务器就成了一个中转站。公网用户访问 cpolar 服务器上的某个地址时服务器可以把请求原封不动地通过这条连接传回本地设备设备处理完再把响应原路返回。你可以把它理解为本地服务没有公网身份但它是向外打电话的只要线路不断外面的人就可以通过接电话的总机找到它。这种设计的好处是你不需要在路由器上做端口映射不需要申请公网 IP而且所有流量都经过加密隧道比简单地暴露端口要安全。3.2 安装 cpolar 并登录cpolar 的安装方式非常简单官方提供了一行脚本curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash安装完成后用cpolar version验证一下。接下来要去 cpolar 官网注册一个账号然后在控制台的验证页面找到你的 authtoken这个 token 是把你本地的 cpolar 客户端跟你账号绑定起来的凭证cpolar authtoken 你的authtoken执行完这一步本地客户端就跟账号关联上了后面创建的隧道都会出现在网页控制台里。注意authtoken 相当于账号钥匙不要随便泄露也别贴在博客或者仓库里。3.3 创建 HTTP 隧道本地 OpenClaw 已经在 8080 端口跑着了现在只需要让 cpolar 把公网的 HTTP 流量转发到 8080。命令非常简单cpolar http 8080回车之后cpolar 会自动连接服务器大概几秒钟后终端里会出现一段信息里面有你的公网地址形如https://xxxxx.cpolar.cn。把地址复制到手机浏览器里打开只要能正常显示 OpenClaw 的 Web 聊天界面内网穿透就算打通了。这里要说清楚免费版的两个限制一是公网域名是随机的每次重启隧道都会变化二是免费版的带宽和流量都有限如果 AI 对话频繁返回长文本体验会稍微卡顿。如果是短期体验免费版足够了如果打算长期用建议升级到基础套餐能选固定的二级域名带宽也会翻好几倍。3.4 固定域名与 HTTPS 配置免费版随机域名的问题在于每次重启隧道之后域名就变了你需要把新地址重新发给所有用这个 AI 的人很麻烦。固定域名是 cpolar 付费套餐的功能升级之后你可以在控制台里选一个固定的二级域名比如my-ai.cpolar.cn然后本地用同样的方式启动但指定这个域名cpolar http -subdomainmy-ai 8080这样域名就固定下来了。关于 HTTPScpolar 的免费版其实已经默认提供了隧道地址直接用https://打开就行。这个非常关键因为如果浏览器访问的是 HTTP 明文地址你的对话内容相当于在大街上裸奔谁都能截获。所以任何情况下都不要用非 HTTPS 的链接去访问自己的 AI。3.5 访问安全和鉴权内网穿透最大的风险是你把自己的服务暴露给了整个公网任何人都能访问这个地址如果你的服务本身没有鉴权等于把 AI 管家大门敞开别人说什么它就干什么。OpenClaw 自身是支持设置访问口令的在配置文件里找到安全相关的部分开启 Web 登录验证设置一个强度足够的密码。另外cpolar 本身也提供了一个 Basic Auth 的访问认证功能在隧道创建时可以加上-basicauth 用户名:密码cpolar http -basicauthadmin:你的密码 8080这样在请求到达 OpenClaw 之前cpolar 这一层就先拦了一道双保险。我个人强烈建议把这两层认证都开着cpolar 层做第一道防线OpenClaw 层做业务鉴权这样就算其中一层被打穿另一层还能兜底。4. 多端接入实战手机、Teams、Obsidian 都能用4.1 手机浏览器直接对话隧道建立之后最直观的用法就是在手机浏览器里打开公网地址。输入 cpolar 分配的 HTTPS 域名会先弹出 Basic Auth 登录框如果你设置了然后进入 OpenClaw 的 Web 聊天界面。我在手机上的实际体验是只要网络不是太差回复速度和本地访问差别不大唯一能感知到的延迟大约在 1 到 2 秒属于可以接受的范围。为了方便日常使用我建议在手机桌面上把地址添加到主屏幕这样看起来就像一个原生的 App 图标点进去就直接是聊天界面。如果你使用 iOS 的 Safari这个操作就是分享 - 添加到主屏幕安卓的 Chrome 也有类似的选项。这样折腾下来那种私人 AI 随身带的感觉就真正出来了不用装一堆乱七八糟的 App。4.2 接入 Microsoft Teams网页聊天只是第一步OpenClaw 真正厉害的是多渠道接入。我第一个打通的是 Microsoft Teams因为日常工作中团队沟通基本都在 Teams 里直接在对话列表里找 AI 帮个忙比切到浏览器要顺手得多。接入 Teams 需要在 Azure 门户创建一个 Bot 应用主要步骤是在 Azure Active Directory 中注册一个应用开启 Bot Service拿到 Microsoft App ID 和密码。然后在 OpenClaw 配置文件中启用 Teams channelchannels: - type: teams enabled: true app_id: 你的应用ID app_password: 你的应用密码 endpoint: https://my-ai.cpolar.cn/api/teams这里的endpoint非常关键它告诉 Azure 该把你的 Bot 消息转发到哪个地址所以填的必须是你 cpolar 的 HTTPS 域名后面的/api/teams是 OpenClaw 预设的路由。配置好之后重启 OpenClaw再到 Teams 里跟你的 Bot 应用对话就能直接召唤 AI 了。4.3 接入 Obsidian如果你是 Obsidian 的重度用户把 OpenClaw 接进去之后生产力会提升一个档次。Obsidian 插件的逻辑是你在笔记库里选中一段文字通过命令触发 AI让它做摘要、扩写或者翻译。OpenClaw 官方提供了一套 Obsidian 桥接方式需要在 Obsidian 的社区插件市场里安装对应的插件然后配置 OpenClaw 服务器的地址。配置路径大概是Obsidian 设置 - 社区插件 - 搜索 OpenClaw - 启用并填写公网地址。填的同样是 cpolar 的 HTTPS 域名如果在 Web 端也开了 Basic Auth插件设置里也要填对应的用户名和密码。接好之后在笔记里选中文字右键菜单里就会出现发送给 OpenClaw之类的选项点一下 AI 回复就直接插入到笔记里。这个功能我实测下来非常香尤其是整理会议纪要、批量翻译技术文档的场景。4.4 三个典型场景实测我把三天的真实使用经历整理成了一张表可以直观感受下这套方案的价值场景设备操作方式实际效果通勤路上整理会议纪要手机Teams 里把录音转出的文字发给 AI到公司前已经拿到结构化的纪要要点在外地调用家里的文档笔记本浏览器打开 Web 界面输入请求准确找到了指定文档并做了摘要读书笔记快速归档平板Obsidian 选中笔记段落发送给 AI自动生成标签并补全了关联笔记的双链当然中途也遇到很多不稳定的情况比如 Teams 突然不回消息、隧道莫名断连等等这些都是我后面要讲的排查重点。但从整体效果来说这套方案打通之后OpenClaw 从一个只能在家玩的玩具变成了真正随时随地可用的生产力工具。5. 坑与对策错误排查和稳定运行经验5.1 session file locked 报错处理这个报错可能是大家搜最多的一个问题agent failed before reply: session file locked (timeout 60000ms)。我印象里第一次遇到是在同时打开了 Web 界面和 Teams 之后两边同时给 Agent 发消息然后日志里就开始刷这个报错。它的本质是OpenClaw 的会话状态保存在本地文件里同一时刻只能被一个会话进程写入。当多个 channel 同时发消息过来时后面的请求拿不到文件锁等 60 秒超时就直接报失败了。排查和解决分三步走第一步确认当前是不是有多个 OpenClaw 进程在跑ps aux | grep openclaw如果看到多个进程把多余的杀掉只留主服务。这种情况往往是因为你手动启动了多个实例或者之前某个崩溃的进程没有完全退出。第二步如果确认进程只有一个那可能是残留的锁文件没有清理。找到 OpenClaw 的数据目录把.lock结尾的文件删掉前提是服务已经停掉然后重新启动。第三步如果这种报错在你正常使用时频繁出现说明你的使用方式是多端同时调用需要在配置文件里把并发策略调整为串行队列或者调大锁等待时间在 Agent 配置里找到session_lock_timeout之类的参数从默认的 60000 改成 120000给慢响应留出更多余量。5.2 channel 选择与消息路由OpenClaw 支持多个 channel 同时启用但不同渠道的消息是独立会话还是共用上下文需要你主动配置。默认情况下同一个 channel 内的会话是连续的但不同 channel 之间是隔开的比如你在 Teams 里聊了一半的内容切到网页端重新问同样的问题它可能完全不记得。这就涉及到热词里的一个问题openclaw agent 怎么选择 channel。我的建议是认真设定默认 channel。在配置里你可以给每个 channel 设置default: true或default: false只有标注了default: true的渠道才会使用系统级会话上下文其他渠道各自独立。如果你的目标是一个 AI、随时续聊就把最常用的渠道设成默认比如 Teams 或者 Web然后其他渠道都设成非默认。这样既保留了渠道隔离的灵活性又保证了核心会话的连续性。5.3 隧道断连与延迟cpolar 隧道断连的情况我遇到过两次一次是本地网络重启另一次是免费版流量用完了触发限流。排查时先用cpolar status看隧道的连接状态如果显示 disconnected那基本就是隧道掉了重新启动一下就行。为了避免这种问题建议把 cpolar 配置成 systemd 服务让它开机自启、崩溃自动拉起[Unit] Descriptioncpolar tunnel Afternetwork.target [Service] ExecStart/usr/local/bin/cpolar http -subdomainmy-ai -basicauthadmin:你的密码 8080 Restartalways RestartSec5 [Install] WantedBymulti-user.target把这段保存到/etc/systemd/system/cpolar.service然后执行systemctl enable cpolar和systemctl start cpolar之后 cpolar 就会以守护进程的方式运行掉线自动重连省心很多。关于延迟内网穿透毕竟多了一段公网中转延迟肯定没法跟局域网比但如果你的 AI 回复明显卡顿先检查是不是免费版的带宽瓶颈再检查是不是 OpenClaw 本地的并发队列阻塞。后者通常表现为你请求发出去了日志里能看到消息进来了但 Agent 迟迟不回复这就是模型调用慢跟隧道没关系可以考虑换成响应更快的模型比如千问的 qwen-turbo或者优化请求的 token 长度。5.4 安全自查清单最后整理一个安全清单不复杂但每一条都值得认真核对OpenClaw Web 界面是否设置了强密码没有的话立即补上。隧道地址是不是强制 HTTPS纯 HTTP 地址绝对不要用。cpolar 的 Basic Auth 是否开启建议开启这是第一道防线。本地服务是否还暴露了其他端口比如 OpenClaw 的调试端口确保它们没有被 cpolar 映射。日志文件是否定期清理对话日志里可能包含敏感信息配置文件建议日志轮转。这套OpenClaw 本地部署 cpolar 内网穿透的方案我自己跑了两周中间踩了不少坑最后稳定运行下来体验确实回不去了。它不是一个适合所有人的通用方案但如果你本身就在折腾私有 AI、有远程访问的需求愿意花点时间调配置文件那么这套组合能带给你的是真正意义上随身的私人 AI而不只是又一个套壳 App。最后再分享一个小技巧cpolar 的免费域名虽然够用但如果你打算长期靠它干活还是建议升级固定域名服务一来域名稳定二来带宽明显提升AI 回复长文本的时候体验差距极其明显。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑