大卫 任何地方
用于将本地会话通过中继服务器连接到移动/网络 SPA 的 AI 编码 CLI 的透明本地代理 .
安装
npm install -g @dev-anywhere/proxy
此安装 dev-anywhere 全球指挥.
所支持的开发机:macOS,Linux,和原生Windows 11. 在Windows上不需要WSL.
需要Node.js QQ 22.22.2,至少一个支持本地安装的AI编码CLI: Claude Code, Codex, Kimi Code, 或 Cursor CLI.
快开始
# 1. Initialize workspace (creates ~/.dev-anywhere/config.json)
dev-anywhere init
# 2. Edit ~/.dev-anywhere/config.json:
# set relays.cloud.proxyToken when your cloud relay requires auth
# 3. Start background daemon
dev-anywhere serve start
# Or switch relay target while restarting the daemon
dev-anywhere serve restart --relay cloud
# 4. Start or attach a terminal session from any directory
dev-anywhere claude
dev-anywhere codex
dev-anywhere kimi
dev-anywhere cursor
# 5. Open the web SPA served by your relay, pick your computer, create or resume a session
图标
dev-anywhere serve start # start background daemon
dev-anywhere serve stop # stop daemon
dev-anywhere serve restart # restart daemon using the selected profile's relay
dev-anywhere serve restart --relay cloud
dev-anywhere serve status # show daemon status
dev-anywhere serve autostart enable # start automatically at user login
dev-anywhere serve autostart disable # cancel automatic startup
dev-anywhere serve autostart status # show automatic startup setting
dev-anywhere serve autostart enable --system --now # install and start before-login service; restart Proxy
dev-anywhere serve autostart status --system # show system startup and service state
dev-anywhere serve autostart disable --system # disable future boot startup; keep Proxy running
dev-anywhere init # create default config at ~/.dev-anywhere/config.json
dev-anywhere tunnel # temporary account-free Cloudflare Quick Tunnel
dev-anywhere claude [...args] # start/attach a Claude Code terminal session
dev-anywhere codex [...args] # start/attach a Codex terminal session
dev-anywhere kimi [...args] # start/attach a Kimi Code terminal session
dev-anywhere cursor [...args] # start/attach a Cursor CLI terminal session
dev-anywhere agent [...args] # same as cursor; matches the native `agent` binary
dev-anywhere --help
守护进程通过WebSocket连接到中继服务器,并管理本地AI CLI会话. 连接到同一中继器的移动/网络客户端可以看到并驱动这些会话.
登录自动启动是可选的,并适用于所选配置 。 启用或禁用它不会启动、重新启动或停止当前代理服务器。 它可以在macOS,Linux上提供系统化的用户服务,也可以为当前用户提供Windows.
添加 --system 在启动时运行,而不在macOS、系统Linux或Windows上进行桌面登录。 安装需要管理员授权,服务作为您的用户账户运行 。 添加 --now 以立即启动并重新启动代理服务器;否则将在下一个启动时生效。 在允许服务在桌面登录后继续使用后创建新的 shell 或 Adent 会话 .
Windows在第一次安装时也需要您的账户密码. 见 系统服务指南 用于设置、验证和回切.
参数后 claude, (中文(简体) ), codex, (中文(简体) ), kimi, (中文(简体) ), cursor,或 agent 传递到真正的CLI:
dev-anywhere claude -c
dev-anywhere codex --model gpt-5.5
dev-anywhere kimi --auto
dev-anywhere cursor --mode=plan
Kimi Code支持终端会话和结构化的ACP聊天. 你可以开始
一个终端 dev-anywhere kimi ...,从Web UI创建任一模式,以及
从历史会话列表中恢复基米会话.
Cursor CLI既支持终端会话,也支持结构化的ACP聊天. 使用
dev-anywhere cursor ... (或 dev-anywhere agent ...,匹配本地二进制)来包接本地终端,
或从 Web UI 创建任一模式。 ACP聊天流输出,工具调用,
批准、提问和计划确认。 大卫 到处找 CURSOR_BIN, (中文(简体) ),
接下来 agent,则 cursor-agent; 它不使用命名为 Cursor IDE 二进制
cursor。首先登录光标 CLI agent login,或设置 CURSOR_API_KEY 编号 :
CURSOR_AUTH_TOKEN。 。 。 .
中继服务器
对于没有VPS的临时评价,安装 cloudflared 运行 :
dev-anywhere tunnel
命令启动一个孤立的本地中继器、 Web 客户端和代理配置文件,然后打印一个随机 trycloudflare.com URL (中文(简体) ). 测试时保持运行. 快通隧道不拟生产.
为了经常使用,请从您的本地机器和移动/网络客户端中部署一个可到达的中继器:
# On any VPS with ports 80/443 reachable:
npm install -g @dev-anywhere/relay
PORT=3100 dev-anywhere-relay
中继包包括了Web客户端. TLS 和 nginx 的统包式 VPS 设置参见 install-relay.sh 脚本在 还原。 。 。 .
配置
配置文件 : ~/.dev-anywhere/config.json (单位:千美元)%USERPROFILE%\.dev-anywhere\config.json )),在视窗上.
{
"defaultProfile": "default",
"autoUpdate": true,
"profiles": {
"default": {
"relay": "cloud"
},
"local": {
"relay": "local"
}
},
"relays": {
"cloud": {
"url": "wss://dev-anywhere.example.com",
"proxyToken": ""
},
"local": {
"url": "ws://localhost:3100"
}
}
}
主机中继拒绝代理连接, 不包含 RELAY_PROXY_TOKEN填充时
relays.cloud.proxyToken 从中继服务器 .env 切换到
云门. 如果中继器也设置 RELAY_CLIENT_TOKEN,打开网络应用程序并粘贴
设置中的值 - > 中继 Token 这样浏览器客户端就可以认证.
dev-anywhere serve start --relay cloud 财务报告和审定财务报表 dev-anywhere serve restart --relay cloud 使用命名的中继器,而不每次编辑文件.
autoUpdate 默认为 true 并在此机后运行连接到中继器。 设定 autoUpdate 改为 false 并重新启动服务以保留已安装的版本.
第一次从更早的版本升级到0.9.2需要一次性人工更新. 在升级中继器或安装新放出前, 停止使用现有的 CLI 代理 :
dev-anywhere serve stop
升级中继器后 :
npm install -g @dev-anywhere/[email protected]
dev-anywhere serve start --relay cloud
此升级结束已有的终端会话; 在更新后重新启动 。 见 升级指南 整个步骤.
如果 DEV 则 任何无法自动检测CLI剂的地方, 设置其持久性
在顶层下设置路径 agentCli 对象 :
{
"agentCli": {
"claudeBin": "/absolute/path/to/claude",
"codexBin": "/absolute/path/to/codex",
"kimiBin": "/absolute/path/to/kimi",
"cursorBin": "/absolute/path/to/agent"
}
}
环境变量被保留给临时的覆盖 :
RELAY_URL接通 WebSocket URLRELAY_PROXY_TOKEN—— 认证符号CLAUDE_BIN— Claude 代码 CLI 路径; 覆盖agentCli.claudeBinCODEX_BIN—— Codex CLI 路径; 覆盖agentCli.codexBinKIMI_BIN— Kimi 代码 CLI 路径; 覆盖agentCli.kimiBinCURSOR_BIN——光标 CLI 路径( )agent编号 :cursor-agent; 覆盖agentCli.cursorBin
如何运作
- 本地守护进程将 Claude 代码、 Codex 、 Kimi 代码和 Cursor CLI 会话包成
node-pty用于透明的终端控制。 Claude Code和Codex也支持结构化的聊天-消息模式;Kimi Code和Cursor CLI支持ACP聊天,同时提供流出输出,工具调用和交互批准,转会取消,并恢复历史. Cursor ACP也浮出问题来,计划批准和待办事宜. - 本地终端附件在macOS/Linux上使用Unix-domain socket,或在Windows上使用被命名的管.
- 终端字节+结构化控制消息通过WebSocket转发给中继.
- 中继服务于Web客户端和路径活路流量;会话状态仍然在代理端.
许可证
麻省理工学院 Catli