跳转到正文

CLI 参考手册

基本用法

直接运行命令即可,无需参数:

命令行
npx termbridge

这会启动所有组件:本地服务器、tmux 会话和默认的 Cloudflare 隧道。

不带子命令运行 termbridge 等同于 termbridge start。

也可以显式运行 termbridge start 并指定所有标志:

命令行
termbridge start --port 8080 --proxy 5173 --session dev --kill-on-exit --no-qr --tunnel cloudflare

标志

标志 作用 默认值
--port <port> 使用指定端口,而不是随机端口 随机
--proxy <port> 代理本地开发服务器(启用 Terminal/Preview 视图) -
--session <name> 为你的 tmux 会话命名 自动生成
--kill-on-exit 在 Termbridge 退出时清理 tmux 会话 关闭
--no-qr 不打印 QR 代码(适用于脚本) 关闭
--no-tunnel 禁用隧道(需要 --public-url) 关闭
--public-url <url> 禁用隧道时使用的公共 URL -
--tunnel <provider> 隧道提供商(cloudflare 或 none) cloudflare
--tunnel-token <token> 使用命名的 Cloudflare Tunnel 令牌(需要 --port) -
--tunnel-url <url> 命名隧道的公共 URL(与 --tunnel-token 一起使用时必需) -
--backend <backend> 终端后端(tmux 或 sandbox-daytona) tmux
--sandbox-repo <url> 要克隆到 Daytona 沙盒中的仓库 URL -
--sandbox-branch <branch> 要在沙盒中检出的分支 -
--sandbox-path <path> 沙盒中的仓库路径 根据仓库名称推导
--sandbox-name <name> 沙盒名称 随机 termbridge-<hex>
--sandbox-preview-port <port> 沙盒中的预览端口 -
--sandbox-public 创建公共沙盒 关闭(直接模式下开启)
--sandbox-direct 在 Daytona 沙盒内运行服务器(无隧道) 关闭
--dev-proxy-url <url> 将预览流量代理到此 URL,而不是 localhost:<proxy port>(供开发脚本使用) -
-h、--help 打印帮助文本 -

任何其他选项都会因 unknown option: <flag> 而失败。没有 --version 标志。

命令行标志优先于对应的环境变量,只有一个例外:TERMBRIDGE_TUNNEL 当前会覆盖 --tunnel 和 --no-tunnel(#5)。

注意 内置的 termbridge --help 输出仍会列出 --daytona-* 标志和 --backend tmux | daytona。这些名称已被弃用;请改用上表中的 --sandbox-* 标志和 --backend sandbox-daytona(#1)。

示例

接入现有的 tmux 会话

如果你已经有一个正在运行的 tmux 会话:

命令行
termbridge --session my-session

固定端口和自定义会话

命令行
termbridge --port 8080 --session codex

正常退出(不遗留会话)

命令行
termbridge --kill-on-exit

脚本用法(无 QR 输出)

命令行
termbridge --no-qr

代理 Vite 开发服务器

命令行
# Start your Vite app first
cd my-app && npm run dev  # runs on port 5173

# Then start Termbridge with proxy
termbridge --proxy 5173

使用 Views 按钮在终端和预览之间切换。预览会通过代理加载你的应用,并支持 HMR。

命名的 Cloudflare 隧道(基于令牌)

如果你有 Cloudflare 账户,并希望避免 trycloudflare 的速率限制:

命令行
termbridge --port 8080 --tunnel-token <TOKEN> --tunnel-url https://term.example.com

禁用隧道(使用自己的公共 URL)

命令行
termbridge --no-tunnel --public-url https://example.com

环境变量

Termbridge 会从 shell 和运行它所在目录中的 .env 文件读取环境变量。shell 中已设置的变量优先于 .env 文件中的变量。

核心设置

变量 作用
TERMBRIDGE_SESSIONS=2 启动时创建多个 tmux 会话
TERMBRIDGE_TMUX_CWD=/path 新建 tmux 会话的工作目录
TERMBRIDGE_PUBLIC_URL=https://example.com 隧道禁用时使用的公共 URL
TERMBRIDGE_TUNNEL=none 禁用隧道
TERMBRIDGE_TUNNEL_TOKEN=<token> 命名隧道令牌(需要 TERMBRIDGE_TUNNEL_URL)
TERMBRIDGE_TUNNEL_URL=https://term.example.com 命名隧道的公共 URL

高级设置

Daytona 直连模式会为其在沙盒中运行的服务器设置这些变量。你也可以自行设置。

变量 作用
TERMBRIDGE_HOST=0.0.0.0 服务器绑定的地址(默认值为 127.0.0.1)。打印出的本地 URL 始终显示 127.0.0.1。
TERMBRIDGE_COOKIE_SAMESITE=lax 会话 Cookie 的 SameSite 值:lax、strict 或 none(默认值为 Lax,直连模式下为 None)
TERMBRIDGE_SHARE_FILE=/path/share-url.txt 同时将共享 URL 写入此文件
TERMBRIDGE_HIDE_TERMINAL_SWITCHER=1 在 UI 中隐藏终端切换器
TERMBRIDGE_TMUX_PATH_PREFIX=/path/bin 在每个 tmux 会话中,将此内容添加到 PATH 开头,Termbridge 启动或接入会话时生效(作为 export 命令输入会话)

开发

变量 作用
TERMBRIDGE_INSECURE_COOKIE=1 允许 HTTP Cookie(仅限本地开发)
TERMBRIDGE_PROXY_PORT=5173 dev:beam:proxy 脚本的代理端口
TERMBRIDGE_DEV_UI=http://127.0.0.1:5000 覆盖 Vite 开发 UI URL
TERMBRIDGE_DEV_PORT=3000 覆盖开发环境中的 Termbridge 服务器端口(默认值为 8787)
TERMBRIDGE_DEV_SESSION=codex dev:beam 的 tmux 会话名称(默认值为 codex)
TERMBRIDGE_SKIP_BUILD=1 在 dev:beam 中跳过 CLI 构建

沙盒(Daytona)

变量 作用
TERMBRIDGE_BACKEND=sandbox-daytona 使用 Daytona 沙盒后端
TERMBRIDGE_SANDBOX_DIRECT=true 在沙盒中运行 Termbridge
TERMBRIDGE_SANDBOX_SERVER_PORT=8080 沙盒服务器的端口
TERMBRIDGE_SANDBOX_AGENTS=claude-code,codex 为代理自动安装并同步身份验证
TERMBRIDGE_SANDBOX_AGENT_ENV=... 要转发的额外环境变量
TERMBRIDGE_SANDBOX_AGENT_AUTH_PATHS=... 要同步的本地身份验证文件

完整的 Daytona 配置请参阅 Daytona 指南。

停止 Termbridge

在运行 Termbridge 的终端中按 Ctrl+C。这会:

  • 关闭隧道(如果已启用)
  • 停止本地服务器
  • 保持 tmux 会话运行(除非你使用了 --kill-on-exit)

默认情况下,tmux 会话会持续保留,因此你可以稍后重新连接。