让网页版 ChatGPT 真正操作自己的电脑:AgentDock MCP + Cloudflare 固定域名完整实战
让网页版 ChatGPT 真正操作自己的电脑
用 AgentDock 把文件、Shell、Git、浏览器和服务器能力安全地暴露给 ChatGPT。先跑通本机 MCP,再用临时公网地址验证,最后升级到 Cloudflare 固定域名;同时保留 VPS + Nginx + 反向 SSH 的传统进阶方案。

AgentDock 到底解决什么问题
原教程先把目标说得很清楚:不是再做一个聊天机器人,而是让网页版 ChatGPT 可以调用自己电脑上的真实工具,包括文件、Shell、Git 和浏览器。
AgentDock 本身不是模型,也不是完整 AI 应用平台。它更像一个受控的“工具运行层”:把允许访问的本机和服务器能力通过 MCP 提供给 ChatGPT、Claude、Codex 等客户端。

先把本机 AgentDock 跑通
macOS、Windows 可以优先使用 AgentDock 官方图形化安装程序;Linux 也有官方安装流程。安装完成以后,不要急着配域名,先确认本机服务工作正常。
http://127.0.0.1:8765/mcp先检查健康状态:
curl -fsS http://127.0.0.1:8765/healthzhealthz 都不通,就先解决 AgentDock 服务本身。不要一开始就去排查域名、Cloudflare、OAuth 或 ChatGPT。第一次连接:先用临时公网地址
网页版 ChatGPT 无法直接访问你电脑上的 127.0.0.1,所以必须有一个公网 MCP 地址。原教程建议第一次先跑通临时公网地址,这个思路现在仍然适用。
仅本机
适合 MCP 客户端也运行在同一台电脑。网页版 ChatGPT 无法直接访问。
临时公网地址
最适合第一次测试。地址可能在 Tunnel 或设备重启后变化。
固定域名
适合长期使用。当前官方推荐 Cloudflare Named Tunnel。
第一次验证只需要确认下面这条链路是真的可用:
ChatGPT -> MCP -> AgentDock -> 电脑在 ChatGPT 里连接 AgentDock
AgentDock 开启公网访问以后,会提供公网 MCP 地址以及用于认证的 OAuth / Bearer 凭据。MCP 地址通常类似:
https://your-public-host.example/mcp在 ChatGPT 的 MCP / Connector / 开发者相关入口中新增远程 MCP 服务,并按 AgentDock 提供的认证方式完成 OAuth 或 Bearer Token 配置。
不要只看“已连接”,要做真实工具验证
原教程非常值得保留的一点,是建议按“只读 → 无副作用执行 → 受控写入”的顺序验证,而不是看到 OAuth 成功就默认一切正常。
| 阶段 | 建议测试 | 目的 |
|---|---|---|
| 1 | server_info | 确认 MCP 工具真正可调用 |
| 2 | 列出一个测试目录 | 确认文件系统只读访问 |
| 3 | 读取 README + git status | 确认项目和 Git 能力 |
| 4 | pwd、查看分支 | 确认 Shell 无副作用执行 |
| 5 | 在测试目录创建一个 smoke 文件 | 确认受控写入 |
创建 mcp-smoke.txt,写入一行 smoke test,
读回确认后停止。不要操作其他路径。真正开发时怎么用
接通后,不需要再把整个项目复制到聊天框。项目代码、文档、Git、日志和进程都留在你的电脑或服务器上,ChatGPT 需要什么就通过 AgentDock 重新读取什么。
查看 /Users/xxx/project/demo。
先读 AGENTS.md 和项目文档,再检查 git status。
根据当前任务完成修改,运行测试并验证结果。
只操作这个项目目录。对于服务器项目也是一样:可以让 ChatGPT 检查 Docker 容器、日志、配置文件和反向代理,再实际修改并验证,而不是只给你一段“理论命令”。
当前推荐:Cloudflare Named Tunnel 固定域名
这是相比原教程最值得更新的一部分。AgentDock 当前官方固定域名文档直接使用 Cloudflare Named Tunnel,不需要你自己维护公网 Nginx,也不需要在家里路由器开放端口。
准备条件:
- AgentDock 本机已经正常运行。
- 你的域名已经托管到 Cloudflare。
- 可以进入 Cloudflare Zero Trust 创建 Tunnel。
- 准备一个专用子域名,例如
agent.example.com。
在 Cloudflare Tunnel 中添加 Public Hostname 时,原生 macOS / Windows / Linux 的 Service URL 使用:
http://127.0.0.1:8765如果是 Docker Compose 部署,则使用:
http://agentdock:8765https://agent.example.com,只有最后配置 MCP 客户端时才使用 https://agent.example.com/mcp。| 位置 | 示例 |
|---|---|
| Cloudflare Service URL | http://127.0.0.1:8765 |
| AgentDock Public Address | https://agent.example.com |
| ChatGPT MCP URL | https://agent.example.com/mcp |
配置完成后先验证:
curl -fsS https://agent.example.com/healthz原教程进阶方案:VPS + Nginx + 反向 SSH
如果你不想使用 Cloudflare Named Tunnel,或者需要把公网入口固定在自己的 VPS 上,原教程里的反向 SSH 方案依旧是一个可用的进阶路线。
ChatGPT
|
v HTTPS + OAuth
agent.example.com
|
v
VPS Nginx :443
|
v
VPS 127.0.0.1:18765
|
v reverse SSH
电脑 127.0.0.1:8765
|
v
AgentDock电脑不需要固定公网 IP,AgentDock 也不需要直接暴露到公网。先在电脑上手动验证反向 SSH:
ssh -NT \
-o BatchMode=yes \
-o ExitOnForwardFailure=yes \
-o ServerAliveInterval=30 \
-o ServerAliveCountMax=3 \
-i /ABSOLUTE/PATH/TO/TUNNEL_KEY \
-R 127.0.0.1:18765:127.0.0.1:8765 \
agentdock-tunnel@VPS_HOSTNAME然后在 VPS 上验证隧道:
curl -fsS http://127.0.0.1:18765/healthzNginx 的上游则指向:
http://127.0.0.1:18765原教程还特别提醒,MCP 和 OAuth 相关路径都必须完整转发:
/mcp
/register
/oauth/*
/.well-known/*让反向 SSH 自动恢复
原教程建议 macOS 使用 LaunchAgent 管理 SSH 隧道。重点不是 plist 文件“存在”,而是要验证断线之后真的可以自动恢复:
SSH 断开
|
v
LaunchAgent 自动拉起
|
v
VPS 18765 恢复监听
|
v
公网 healthz 恢复如果你使用 systemd、supervisord 或 autossh,也应该用同样思路做实际断线恢复测试。
常见问题与排错顺序
| 问题 | 先检查什么 |
|---|---|
| 公网 502 | 先确认本机或 VPS 上游 /healthz 是否可达 |
remote port forwarding failed | 检查 18765 是否被旧 SSH 会话占用 |
| ChatGPT 显示已连接但工具不能用 | 重新按 server_info → 文件读取 → Git → Shell → 受控写入验证 |
| 临时公网地址失效 | 临时 Tunnel 地址变化属于正常现象 |
| 固定域名打不开 | 确认 Named Tunnel 在线、Public Hostname Service URL 正确 |
反向 SSH 端口占用可以这样检查:
sudo ss -lntp | grep 18765安全边界:能控制电脑,不代表应该无限开放
- 本机 AgentDock 尽量只监听回环地址。
- 公网访问必须保留 AgentDock 的 Bearer Token 或 OAuth。
- Cloudflare Tunnel Token 只负责建立 Tunnel,不是 MCP 登录密码。
- 把测试目录和真实项目目录分开,先做只读验证再授权写入。
- 高风险系统命令、删除操作、生产环境发布需要额外确认和备份。
- 不要把 MCP 密钥、OAuth 密码、SSH 私钥写进聊天、文章、截图或 Git。
参考资料
原始内容来自你提供的《让网页版 GPT 控制自己的电脑:AgentDock MCP 与固定域名实战》HTML。文章保留了其中的本机 MCP、临时公网连接、真实调用验证、VPS + Nginx + 反向 SSH、LaunchAgent 自动恢复与排错思路;Cloudflare Named Tunnel 固定域名部分依据 AgentDock 当前官方文档补充。
AgentDock:github.com/uvwt/agentdock
AgentDock 固定域名文档:Cloudflare Named Tunnel
ChatGPT 连接指南:使用 ChatGPT 连接 AgentDock
原文持续更新仓库:GPT-TaskBoard