项目名HAPI,可以直接在公司电脑部署实现远程vibe coding,也能切换为终端模式使用,这里先不放链接了,近期有远程VC相关需求,所以就借助codex检索多方产品对比实测后,综合下来 HAPI 实用性更好点,并且还有国际化,目前支持Claude/Codex/Cursor/Gemini/OpenCode/Kimi


我们的目标是通过CF的隧道(HTTP/2)把本地HAPI服务暴露到公网来实现远程移动端访问
前置要求:
1.一个由 CF 托管的域名
2.一台个安装了nodejs的服务器或本地PC
1. cloudflared 配置
-
安装cloudflared
windows:
winget install --id Cloudflare.cloudflared
mac:
brew install cloudflare/cloudflare/cloudflared
linux:# Debian / Ubuntu sudo dpkg -i cloudflared-linux-amd64.deb # RHEL / Fedora sudo rpm -i cloudflared-linux-x86_64.rpm -
登录账号并且选择域名完成授权,证书会保存在
~/.cloudflared/cert.pem
cloudflared tunnel login -
创建Named Tunnel
cloudflared tunnel create hapi -
创建成功后会在
~/.cloudflared/目录下生成一个 JSON 凭据文件~/.cloudflared/<tunnel-id>.json- 编写 cloudflared 配置文件
配置文件路径:
~/.cloudflared/config.ymltunnel: hapi credentials-file: ~/.cloudflared/<tunnel-id>.json protocol: http2 ingress: - hostname: hapi.<你的域名> service: http://localhost:3006 - service: http_status:404Q:为什么用
http2而不是默认的quic?
A:QUIC 协议走 UDP,在某些网络环境下长连接容易超时断开。HTTP/2 走 TCP,连接更稳定,适合长时间维持的 AI 会话。 -
配置 Cloudflare DNS
类型 名称 目标 代理 CNAME
在 Cloudflare 控制面板中,为你的域名添加 DNS 记录:hapihapi.<tunnel-id>.cfargotunnel.com开启(橙色)
2. 安装 HAPI
-
npm安装HAPI包
npm install -g @twsxtd/hapi --registry=https://registry.npmjs.org -
配置HAPI的settings.json
平台 路径 Windows %USERPROFILE%.hapi\settings.json macOS/Linux ~/.hapi/settings.jsoncliApiToken在首次运行hapi hub时自动生成{ "HAPI_API_URL": "https://hapi.<你的域名>", "publicUrl": "https://hapi.<你的域名>" }
3. 启动服务
-
启动Hub
hapi hub默认监听127.0.0.1:3006,提供 Web 界面和 API -
启动 Runner
hapi runner start --workspace-root <项目目录1> -workspace-root <项目目录2>
这个--workspace-root参数可以传多次,但是唯一要求不能用E:\这种根目录 -
启动 cloudflared
后台运行 tunnel:
cloudflared tunnel --protocol http2 run hapi
或者直接用前面config.yml中我们已经配置好的协议
cloudflared tunnel run hapi
移动端用法
打开浏览器进入https://hapi.<你的域名>,然后输入你设置的CLI_API_TOKEN就可以了
踩坑
使用 TUN 模式的代理工具时,所有流量会被虚拟网卡劫持,需要在代理里面添加直连将 Cloudflare Tunnel 流量从代理中排除:
rules:
- DOMAIN-SUFFIX,argotunnel.com,DIRECT
- IP-CIDR,28.0.0.0/8,DIRECT
1 个帖子 - 1 位参与者