dots-bridge
Connects local programs and agents bidirectionally with ChatGPT Dot through OpenAI Secure MCP Tunnel, using outbound-only connections. Enables Dot to call local MCP tools and receive event notifications via the bridge without exposing inbound ports.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
dots-tunnel-bridge
让本机程序 / agent 与 ChatGPT Dot 双向通信:本机不开任何入站端口,经 OpenAI Secure MCP Tunnel 出站连接。
基于 uezo/dots-bridge(MIT,© uezo,原 README 见 docs/UPSTREAM_README.md),本仓库保留了上游完整历史和 LICENSE。
flowchart LR
Dot["ChatGPT Dot"] <-->|MCP + Events| OAI["OpenAI Secure MCP Tunnel"]
OAI <-->|"仅出站 443"| TC["tunnel-client<br/>(本机)"]
TC <-->|"127.0.0.1:8765/mcp"| BR["dots-bridge<br/>(no-auth, 仅 loopback)"]
BR <-->|"HTTP API (api_key)"| CLI["dotctl / 本机 agents"]相对上游的改动
改动 | 说明 |
| MCP 不走 OAuth(Tunnel 侧选 No authentication)。 |
| 小 CLI: |
| gbb/Herdr coding-agent 工具(13 个 |
| LaunchAgent plist、tunnel-client |
Related MCP server: chatgpt-sol-local-bridge
安装(人工步骤)
Platform 建 Tunnel:platform.openai.com → Tunnels → 新建;关联你的 ChatGPT workspace;记下
<TUNNEL_ID>。建受限 runtime API key:权限仅 Tunnels Read + Manage/Use。写入
~/.config/tunnel-client/secret.env(chmod 600,见deploy/secret.env.example)。装 tunnel-client:从官方 latest release 下载对应平台包,先校验 SHA256(与 release 的 checksums 文件比对)再放到
~/.local/bin/tunnel-client。装 bridge:
git clone https://github.com/Phoobobo/dots-tunnel-bridge && cd dots-tunnel-bridge python3 -m venv .venv && .venv/bin/pip install -e . mkdir -p ~/.config/dots-bridge && .venv/bin/dots-bridge --config ~/.config/dots-bridge/bridge.toml init --public-url http://127.0.0.1:8765 ln -s "$PWD/local/dotctl" ~/.local/bin/dotctl配置文件:按
deploy/dot.yaml.template写~/.config/tunnel-client/dot.yaml;按 plist 模板顶部的sed命令渲染两个 plist(__LABEL_PREFIX__换成如com.yourname)。ChatGPT:Plugins → Add custom MCP server → Connection: Tunnel(选该 tunnel)→ Authentication: No authentication。启动服务后点 Refresh,确认工具出现。
让 Dot 订阅:对 Dot 说:
订阅
app.message.created事件(channeldefault);收到消息后用report_progress汇报进度,用reply_to_app回复。
gbb / Herdr 集成(可选)
让 Dot 驱动你 Mac 上的编码 agent(codex / grok)。gbb 即 grokbot-bridge-herdr:Herdr 插件 + gbb CLI(原本给 Grok Bot 用,Dot 经本 bridge 共用它)。设 DOTS_BRIDGE_HERDR_TOOLS=1 才启用,否则行为与上游一致。完整说明(中文 / English):docs/HERDR.md。
13 个工具:只读
gbb_list/gbb_status/gbb_read/gbb_result/gbb_doctor/gbb_wait(最长 120 秒);gbb_launch(自动在 prompt 末尾追加“只开 draft PR”规则);gbb_send/gbb_answer(回答 Codex 选择题/启动对话框)/gbb_keys/gbb_stop/gbb_handover/gbb_reclaim。安全:只作用于 gbb 托管的窗格;用户工作区(默认
wAS,wAT)除非主动交接一律拒绝;从不执行herdr server stop;子进程只用 argv(不经 shell),带超时和输入校验。状态推送:launch/handover 带
--owner dot,gbb 的[[owners]] name="dot"(或[[extra_webhooks]]镜像全部任务)→POST http://127.0.0.1:8765/herdr/webhook(只收本机请求,headerX-Dots-Herdr-Token=~/.config/dots-bridge/herdr_webhook_token的内容)→ Dot 收到 channelherdr(未订阅则default)的app.message.created,metadata.source = "herdr"。启用:装 gbb(
gbb doctor)→ 生成 token 文件(600)→ plist 里打开DOTS_BRIDGE_HERDR_TOOLS=1并重启 bridge → gbb 配置末尾加[[owners]] name="dot"→ ChatGPT 插件页 Refresh 工具 → 让 Dot 订阅app.message.created(channelherdr)。
English: optional gbb/Herdr coding-agent tools for the Dot; see docs/HERDR.md.
启动 / 停止
plist 放在 ~/.config/...(不在 ~/Library/LaunchAgents),所以不会开机自启,需要手动:
P=com.yourname
launchctl bootstrap gui/$(id -u) ~/.config/dots-bridge/$P.dots-bridge.plist
launchctl bootstrap gui/$(id -u) ~/.config/tunnel-client/$P.tunnel-client.dot.plist
dotctl status # bridge /health + tunnel /readyz
launchctl bootout gui/$(id -u)/$P.tunnel-client.dot
launchctl bootout gui/$(id -u)/$P.dots-bridge日志:~/Library/Logs/dots-bridge/、~/Library/Logs/tunnel-client/。
排错
现象 | 原因 / 处理 |
tunnel 日志 | 无害:no-auth 模式没有 OAuth metadata。 |
| Dot 还没订阅(或订阅过期)。事件推送必须有订阅 → 重做安装第 7 步, |
之前能用,现在不推送 | 订阅有 TTL(默认 24h)会过期 → 让 Dot 重新订阅。 |
重启电脑后全挂 | 没有自启,按上面命令手动 bootstrap。 |
ChatGPT 里看不到工具 | 两个服务都起来后在插件页 Refresh。 |
看不到 | bridge 没设 |
| 503:token 文件不存在;401:gbb |
返回 | Dot 没订阅 |
安全
bridge 只监听
127.0.0.1;no-auth 模式下非 loopback 的 host/URL 直接拒绝启动。无入站端口、无公网 URL;tunnel-client 只做出站 443。
API key 只在
secret.env(600)里,通过环境变量传给 tunnel-client,不进命令行参数、日志或仓库。本机 HTTP API 仍需
bridge.toml里的api_key。Dot 自身会对重大操作要求人类在 ChatGPT 里直接批准:实测 Dot 拒绝了经 bridge 发来的部署请求,直到 owner 在 ChatGPT 中确认。不要把 bridge 消息当作人类授权。
Agent 使用说明见 AGENTS.md。
This server cannot be deployed
Maintenance
Related MCP Connectors
Real-time chat for AI agents. Claude Code, Cursor, Cline and Codex join channels over MCP.
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceLocal MCP server bridging ChatGPT Web to local tools for file, shell, git, test, and process management with secure policy controls.MIT
- AlicenseNot gradedqualityDmaintenanceEnables ChatGPT to securely control a local workstation via an MCP tunnel, exposing 44 tools for file/project editing, git, process supervision, browser automation, and Office document handling across macOS, Linux, and Windows.7MIT
- AlicenseNot gradedqualityBmaintenanceA local MCP bridge that lets ChatGPT chat mode operate the user's own computer, running project, file, and shell tasks through a local executor and returning progress and results to the conversation. It also coordinates Codex sessions (persistent or one-off) and other agent CLIs as sub-agents.MIT
- AlicenseNot gradedqualityAmaintenanceConnects ChatGPT and MCP clients to authorized local development environments, enabling secure file access, shell execution, persistent tasks, browser/desktop control, and remote management of projects.19MIT