Claude-bridge:可替代 claude -p 的桥接工具,自6月15日起可用
claude-bridge 是一个桥接工具,可替代常见的 claude -p 自动化。它通过 tmux 启动交互式 Claude Code 会话,发送提示、捕获转录、格式化回复并自动退出。支持打印模式、流式输出、JSON Schema 验证等功能,旨在作为脚本中 claude -p 的直接替代品。
claude-bridge 是一个开源的桥接工具,旨在作为 claude -p 命令的替代品,用于自动化 Claude Code 交互。它通过在 tmux 面板中启动交互式 Claude Code 会话,将提示通过 tmux 发送,然后跟踪 Claude 的磁盘转录文件,格式化回复并在对话轮次结束时退出。这种方法将提示分发、转录捕获、输出格式处理和进程退出行为都封装在桥接器中。
该工具解决了直接使用 claude -p 时的一些限制,例如需要处理多个步骤和转录管理。claude-bridge 的工作原理如下:首先,它会预先清除可能阻止 Claude 界面的提示,编辑 Claude 的全局配置以接受信任对话框和项目入门,并在工作目录中设置本地设置以绕过权限。然后,它使用 --dangerously-skip-permissions 标志启动 Claude,并通过 tmux 自动确认主题和安全启动提示。
使用 claude-bridge 需要安装 Bun(版本 >= 1.1)、tmux 和 Claude CLI(版本 >= 2.1.80),并且需要为 Claude Code 进行身份验证。它可以通过 bunx 直接运行,无需安装,也可以全局安装到 npm 或 Bun。
打印模式是 claude-bridge 的核心功能,可用于替代 claude -p 的脚本调用。它支持 --output-format 参数,可选 text、json 或 stream-json。json 和 stream-json 输出与 Claude 原生格式兼容,而 --desplega-format 标志可为桥接器特定消费者提供自定义信封。
身份验证方面,claude-bridge 不直接调用 Anthropic API,而是依赖本地 Claude CLI 的身份验证。对于本地机器,只需确保 claude 能正常工作即可;对于无头 CI,可使用 claude setup-token 生成的长期 OAuth 令牌。默认情况下,桥接器会清空 ANTHROPIC_API_KEY 等环境变量,以避免意外使用不同的认证路径,但可通过 --desplega-local-auth 标志启用本地认证。
结构化 JSON 输出是 claude-bridge 的另一项重要功能。通过 --json-schema 参数,可以指定一个 JSON Schema,桥接器会在提示中附加系统提示以引导 Claude 输出符合 Schema 的 JSON,然后从最终回复中提取 JSON 并使用 Zod 进行验证。它还安装了一个全局的 Claude Code 停止钩子,在 Schema 运行期间阻止 Claude 停止,直到输出有效 JSON。