交换机
跨团队沟通、开发容器编排和代理团队的工具代理。通过中央路由器连接在单独的DevContainers中运行的Claude Code、Cursor、Copilot和Codex代理。
给谁的
这是针对已经使用 Dev容器 并希望不同容器中的代理团队能够相互通信。如果你不使用Dev Containers,这个项目对你没有帮助。
运作原理
团队通过WebSocket向中央路由器(仲裁器)注册。任何代理人都可以打电话 crosstalk_send 到达另一个团队。路由器处理消息传递、响应生命周期和请求序列化。
- 克劳德特工 使用通道模式:消息以推送通知的形式到达,响应会自动推回。
- CLI代理 (游标、副驾驶、codex)使用注入模式:路由器生成代理进程,发送提示,并等待完成。
仲裁员还与 evie机器人 (在Kubernetes中运行的Discord机器人),将其46个动作工具代理为MCP工具,并将Discord DM转发到主机Claude会话中。
看 skills/crosstalk/SKILL.md 获取完整的工具参考和响应格式。
建筑
Host Machine
start-host-daemon.sh
Claude Code (host orchestrator)
MCP Plugin (main-mcp.ts)
crosstalk_send / crosstalk_discover
dispatch_cli / dispatch_exec
session_peek / session_send
evie_* tools (46 proxied from evie-bot)
Docker: switchboard (port 20000)
Arbiter (main-arbiter.ts)
HTTP routes + WebSocket hub
kubectl port-forward to evie K8s pod (port 20001)
Evie WS client (tool calls, DM forwarding)
DevContainers (one per project)
Claude / Cursor / Copilot / Codex
MCP Plugin (main-mcp.ts)
crosstalk_send / channel_reply / crosstalk_reply
Game client connector (port 20002)端口映射
| 端口 | 服务 |
|---|---|
| 20000 | 仲裁器(HTTP+WS桥) |
| 20001 | Evie网桥服务器(工具调用WS) |
| 20002 | MCP连接器(游戏客户端WS) |
启动路由器
docker compose up -d路由器监听端口20000并使用外部网络 switchboard.
设置
1.安装插件。 在克劳德代码中:
/plugin install atelier-nyaarium/switchboard该插件自动提供MCP服务器和技能。
2.设置环境变量 在您的devcontainer中:
PROJECT_NAME-桥上的团队名称(例如。my-project)BRIDGE_ROUTER_URL-路由器URL(默认值:http://switchboard:20000)
3.添加Docker网络 到您的devcontainer:
/path/to/switchboard/install.sh这增加了 switchboard-network 给你的 .devcontainer/compose.yml.
4.重建Devcontainer。
- 一层楼 然后
Dev Containers: Rebuild Container
要删除网络配置,请执行以下操作:
/path/to/switchboard/uninstall.shMCP工具
仅主机工具(编排器)
| 工具 | 说明 |
|---|---|
dispatch_cli | 在devcontainer中运行CLI代理(游标/copilot/codex) |
dispatch_exec | 在devcontainer中执行shell命令 |
session_peek | 捕捉团队Claude会话的可见tmux屏幕 |
session_send | 向团队的tmux会话发送一行输入 |
crosstalk_send | 向另一个团队发送请求 |
crosstalk_discover | 列出桥上的所有队伍 |
evie_* | 来自evie bot的46个代理工具(Discord、Cloudflare、Linode、Cursor等) |
容器工具(所有代理)
| 工具 | 说明 |
|---|---|
crosstalk_send | 向另一个团队发送请求 |
crosstalk_discover | 列出桥上的所有队伍 |
crosstalk_wait | 等待N秒后重试延迟请求 |
channel_reply | 回复传入的频道消息(仅限Claude) |
crosstalk_reply | 回复传入的网桥请求(仅限CLI代理) |
mcpConnectorStatus | 游戏客户端连接器状态 |
mcpConnectorServe | 开始在连接器端口上提供项目工具 |
mcpConnectorUnserve | 停止提供项目工具 |
| 项目工具 | 项目中的动态工具 mcp-schema.js |
埃维大桥
当 BRIDGE_TOKEN 在仲裁器的环境中设置,它建立一个kubectl端口转发隧道到evie-bot的Kubernetes pod,并通过WebSocket与承载认证连接。这使得:
- 工具代理:Evie的操作注册表(46个工具)导出为JSON模式,并在主机上动态注册为MCP工具,前缀为
evie_. - DM转发:来自机器人所有者的Discord DM作为通道推送通知转发给主机编排器。
- 工具调用:主机可以通过代理的MCP工具调用任何evie操作。
使用Cursor代理代替Claude
集 AGENT_TYPE=cursor 在您的devcontainer环境中。如果未设置,网桥会自动检测哪个CLI代理可用。
循环依赖警告
如果A队正在等待B队,B队不得回电给A队。双方都将陷入僵局,直到超时。
