@ cocket/ 桥牌
连接 Claude 会话的桥接服务器 克劳德探员SDK 财务报告和审定财务报表 代码 CLI 通过 WebSocket 到移动设备.
这是服务器组件 盗贼 ——克劳德和Codex的移动客户端.
快速启动
npx @ccpocket/bridge@latest
QR 代码将出现在您的终端中 。 用相接器移动应用程序扫描.
Claude 会话使用 ANTHROPIC_API_KEY 默认。 订阅认证
通过 Bridge 机器的 Claude 代码登录仅在明确后才能使用
选择使用 BRIDGE_ALLOW_CLAUDE_OAUTH=1; 见
克劳德订阅认证。 。 。 .
Amazon Bedrock上运行克洛德代码的主机不需要这些;见
亚马逊河畔克洛德。 。 。 .
安装
# Recommended: run the latest Bridge directly
npx @ccpocket/bridge@latest
# Optional: install globally
npm install -g @ccpocket/bridge
ccpocket-bridge
# Show CLI help or version
ccpocket-bridge --help
ccpocket-bridge --version
配置
| 环境变量 | 默认 | 说明 |
|---|---|---|
BRIDGE_PORT | 8765 | WebSocket 端口 |
BRIDGE_IDLE_SESSION_TTL_MINUTES | 已禁用 | 在这几分钟后自动停止闲会 。 只有有限的正数才能实现此目标;未设置、为空、为零、为负数,或为无效值。 30分期保留上限仍然适用. |
BRIDGE_NOTIFY_GOAL_TURN_COMPLETED | false | 设定为 true 在目标活动时通知中间 Codex 转弯。 目标完成、阻塞、限制、核准和出错仍然能够实现。 在会话创建时读取; 重新启动桥接以适用于所有会话 . |
BRIDGE_HOST | 0.0.0.0 | 绑定地址 |
BRIDGE_API_KEY | (生成) | API 关键客户端必须提交 。 没有它,一个密钥会生成一次并存储在 ~/.ccpocket/bridge-api-key (模式) 0600(中文(简体) ) |
BRIDGE_INSECURE_NO_AUTH | (无) | 设定为 1 (或通过) --insecure-no-auth)以禁用 API 密钥认证。 不建议 |
BRIDGE_ALLOWED_DIRS | $HOME | 以逗号分隔的桥可访问的项目目录列表; 设置为 * 以允许任何目录 |
BRIDGE_FILE_DOWNLOAD_ALLOW_ALL_PATHS | 未设置( 仅限项目) | 设定为 1 允许共享/下载 Bridge 进程可读的任何普通文件,包括外部路径 BRIDGE_ALLOWED_DIRS默认情况下,选定项目工作内的绝对路径和相对路径. |
BRIDGE_PUBLIC_WS_URL | (无) | 公开 ws:// 编号 : wss:// 用于启动深链接和 QR 代码的 URL |
BRIDGE_CODEX_APP_SERVER_MODE | private | 实验 Codex 应用服务器模式 : private, (中文(简体) ), managed,或 external |
BRIDGE_CODEX_SHARED_APP_SERVER_URL | ws://127.0.0.1:8767 内 managed 模式 | Codex CLI 共同存在的实验共享 Codex 应用服务器 URL |
BRIDGE_CODEX_ASSIST_MODEL | gpt-5.6-luna | 用于自动重命名和传输消息辅助呼叫的编码模型 |
BRIDGE_CODEX_ASSIST_REASONING_EFFORT | none | Codex 协助电话使用的理由 |
BRIDGE_DEMO_MODE | (无) | 演示模式:从 QR 代码/ 日志中隐藏 Tailscale IP 和 API 密钥 |
BRIDGE_RECORDING | (无) | 为调试启用会话记录( 设定时启用) |
BRIDGE_DISABLE_MDNS | (无) | 禁用 mDNS 自动发现广告(macOS 自动禁用) |
BRIDGE_ALLOW_CLAUDE_OAUTH | (无) | 设定为 1 明确启用实验性克劳德订阅认证 |
BRIDGE_PROMPT_HISTORY_FILE | $HOME/.ccpocket/prompt-history-v2.json | 自定义快捷历史存储路径 |
BRIDGE_RECENT_SESSIONS_PROFILE | (无) | 将最近的会话索引时间设定为 1 或者说 true |
BRIDGE_FILE_LIST_MAX_ENTRIES | 5000 | 最大文件和目录条目返回客户端; 非正值或无效值使用默认值 |
BRIDGE_FILE_LIST_MAX_BYTES | 524288 | 在客户端文件列表中返回的最大序列化路径字节; 非正值或无效值使用默认值 |
BRIDGE_FILE_DOWNLOAD_MAX_SIZE_MB | 512 | 从 Explorer 下载的文件的最大大小为 MiB; 非正值或无效值使用默认值 |
BRIDGE_FILE_UPLOAD_MAX_SIZE_MB | 512 | 从 Explorer 上传的一个文件的最大大小为 MiB; 非正值或无效值使用默认值 |
BRIDGE_FILE_UPLOAD_MAX_RESERVED_MB | 2048 | 由等待上传的 Explorer 保留的最大声明字节总数 |
BRIDGE_FILE_UPLOAD_MAX_CONCURRENT | 4 | 同时收到的 Explorer 上传天体的最大数量 |
BRIDGE_DELTA_BATCH_MS | 100 | 每个连接客户端的分批流三角洲; 设置为 0 来禁用批量 |
BRIDGE_DELTA_BATCH_MAX_CHARS | 4096 | 每个分批流载荷的最大Unicode字符;非正值或无效值使用默认值 |
DIFF_IMAGE_AUTO_DISPLAY_KB | 1024 ( 1 MB ) | 自动播放 diff 图像达到此大小, 以 KB 为单位 |
DIFF_IMAGE_MAX_SIZE_MB | 5 (5 MB) (中文(简体) ) | 按需装入的最大 diff 图像大小可用, 以 MB 为单位 |
ANTHROPIC_API_KEY | (无) | Claude Agent SDK API 密钥;推荐用于可预测的第三方产品使用 |
ANTHROPIC_AUTH_TOKEN | (无) | 高级 Claude SDK 认证符; 偏好 ANTHROPIC_API_KEY |
CLAUDE_CODE_USE_BEDROCK | (无) | Claude 代码设置; 启用时, Claude 会话运行在 Amazon Bedrock 上, 不需要 Anthropic 证书 |
AWS_REGION 编号 : AWS_PROFILE | (无) | 由 Claude 代码读取的 Bedrock 区域( 需要) 和可选 AWS 证书配置 |
OPENAI_API_KEY | (无) | Codex API 密钥; Codex 也可以使用 ~/.codex/auth.json |
HTTPS_PROXY 编号 : HTTP_PROXY 编号 : ALL_PROXY | (无) | 输出取取请求的代理( E)http://, (中文(简体) ), https://, (中文(简体) ), socks4://, (中文(简体) ), socks5://(中文(简体) ) |
小写代理变量( E)https_proxy, (中文(简体) ), http_proxy, (中文(简体) ), all_proxy) 和(a)
已支持。 何时 BRIDGE_PROMPT_HISTORY_FILE 没有设置 BRIDGE_PORT 没有
8765,便捷历史存储在
$HOME/.ccpocket/prompt-history-v2-<port>.json。 。 。 .
Push 中继自动使用 Firebase 匿名 Auth; 无 FCM 环境 需要变量.
克劳德订阅认证( Explient Opt- In)
安东尼 法律和遵守情况 页面上说其商业术语并不妨碍平台托管 当每个终端用户用自己的签名输入时,未修改 Claude 代码二进制 签署全权证书或其他全权证书,但须符合所列条件. CC Pocket同样在用户桥上运行Anthropic的官方代理SDK 机器和代表 证书加载到主机的克洛德密码环境. CC Pocket不复制,存储,或刷新克洛德·奥阿斯的证书本身.
在用户的电脑上运行 Claude 代码并远程控制它也是一个 各种工具之间的共同模式,例如: 打开Claw, (中文(简体) ), 快乐,以及 特鲁普斯,尽管他们准确的 执行情况不同于CC袖珍.
不过,Anthropic的 代理 SDK 概览 也说,除非事先获得批准,第三方产品应使用API 键而不是提供 Claude.ai 登录或订阅率限制 。 范围 对于CC Pocket的架构,这两个语句并不清楚,所以订阅 认证可能在未来受到限制或停止工作.
为了避免这种不确定性,使用 ANTHROPIC_API_KEY。如果你理解风险
并想要使用 Bridge 机器的 Claude 代码订阅登录, 启用它
明确并重新启动桥:
BRIDGE_ALLOW_CLAUDE_OAUTH=1 npx @ccpocket/bridge@latest
只有准确的值 1 允许这种行为。 服务设置保留
设置在设置环境中.
# Example: custom port with API key
BRIDGE_PORT=9000 BRIDGE_API_KEY=my-secret npx @ccpocket/bridge@latest
# Example: allow projects outside $HOME
BRIDGE_ALLOWED_DIRS="$HOME,/scratch/$USER" npx @ccpocket/bridge@latest
# Example: expose Bridge through a reverse proxy / ngrok
BRIDGE_PUBLIC_WS_URL=wss://example.ngrok-free.app npx @ccpocket/bridge@latest
# Example: same setting via CLI flag
ccpocket-bridge --public-ws-url wss://example.ngrok-free.app
# Example: disable mDNS advertisement
BRIDGE_DISABLE_MDNS=1 npx @ccpocket/bridge@latest
# or via CLI flag
ccpocket-bridge --no-mdns
# Example: use an assist model provided by a custom Codex gateway
BRIDGE_CODEX_ASSIST_MODEL=gpt-oss:20b-cloud \
BRIDGE_CODEX_ASSIST_REASONING_EFFORT=none \
npx @ccpocket/bridge@latest
何时 BRIDGE_PUBLIC_WS_URL 设置、 启动深链接和终端 QR 代码
使用该公共URL而不是局域网地址。 这在桥上有用
可通过反向代理、隧道或公有领域达到.
没有它,印刷的QR代码默认面向局域网,一般编码
类似的东西 ws://192.168.x.x:8765。 。 。 .
亚马逊河畔克洛德
Claude Code和Claude探员SDK可以对抗
亚马逊贝德洛克 代替
第一党的Anthropic API。 贝德罗克请求与AWS证书签署,所以
桥也不要求 ANTHROPIC_API_KEY 或订阅选择:
CLAUDE_CODE_USE_BEDROCK=1 \
AWS_REGION=us-west-2 \
npx @ccpocket/bridge@latest
# AWS_PROFILE optionally selects a specific credential profile. AWS_REGION is
# still required because Claude Code does not read it from the AWS profile:
CLAUDE_CODE_USE_BEDROCK=1 AWS_REGION=us-west-2 AWS_PROFILE=my-profile \
npx @ccpocket/bridge@latest
AWS 证书留在桥主机上,通过正常程序解决
AWS证书提供商链——环境证书, AWS_PROFILE, (中文(简体) ),
~/.aws/credentials, (中文(简体) ), ~/.aws/config,IAM角色,SSO,和EC2/ECS证书.
CC Pocket没有自己的AWS证书商店. 大桥描绘了克洛德
用于检测 Bedrock 旗帜和区域的设置文件,但不访问或
持续证书字段、日志证书值,或将 AWS 配置发送给
移动应用程序。 Claude Code 解析 Bridge 主机上的证书.
大桥还承认克洛德・克洛德・克洛德・克洛德・克洛德・克洛德・克洛德・克洛德・克洛德 /setup-bedrock 向导
写 CLAUDE_CODE_USE_BEDROCK 输入 env claude 代码用户块
设置文件( e)~/.claude/settings.json,或 $CLAUDE_CONFIG_DIR/settings.json) (中文(简体) ).
只有贝德罗克旗和 AWS_REGION 从解析的设置中访问.
贝德洛克通常在没有克洛德·奥奥特的情况下进行认证. 如果克劳德代码报告
OAuth认证来源 尽管贝德罗克旗, 大桥仍然需要
BRIDGE_ALLOW_CLAUDE_OAUTH=1 并拒绝届会没有明确
选入.
模式ID、区域分辨率和IAM权限遵循克洛德码 文档。 CC Pocket 添加了它自己的Bedrock的特有配置.
与医生命令核对结果 :
npx @ccpocket/bridge@latest doctor
Claude代码CLI行读取
Amazon Bedrock configured; AWS credentials not verified医生报告
只配置——它不调用 AWS, 所以它从来没有声称证书
工作时 若为 AWS_REGION 医生警告不要报告贝德洛克
已配置 .
亚马逊贝德洛克与背景服务
ccpocket-bridge setup 仅持续 BRIDGE_* 下面列出的设置,所以
让 Bedrock 配置从服务环境到达 :
- macOS 启动: 生成的列表通过登录外壳启动桥口
(单位:千美元)
zsh -li),这样export CLAUDE_CODE_USE_BEDROCK=1和任何AWS_*变量在~/.zprofile编号 :~/.zshrc被继承. - Linux 系统化: 生成单元通过登录 shell 启动桥
(单位:千美元)
bash -lc因此,出口~/.profile编号 :~/.bash_profile被继承.Environment=线条添加到~/.config/systemd/user/ccpocket-bridge.service也工作,但重新运行 设置重写文件 . - 任一平台: 保留 Claude 代码用户设置中的配置
envblock 也能工作,并且能活下来重新运行的设置.
持续服务设置
将大桥注册为用户级背景服务 :
npx @ccpocket/bridge@1 setup
设置支持 macOS 启动和 Linux systemd. 它坚持桥梁设置 影响启动的:
BRIDGE_PORT编号 :--portBRIDGE_HOST编号 :--hostBRIDGE_API_KEY编号 :--api-keyBRIDGE_INSECURE_NO_AUTH编号 :--insecure-no-authBRIDGE_ALLOWED_DIRSBRIDGE_FILE_DOWNLOAD_ALLOW_ALL_PATHSBRIDGE_PUBLIC_WS_URL编号 :--public-ws-urlBRIDGE_DISABLE_MDNS编号 :--no-mdnsBRIDGE_ALLOW_CLAUDE_OAUTHBRIDGE_CODEX_APP_SERVER_MODE编号 :--codex-app-server-modeBRIDGE_CODEX_SHARED_APP_SERVER_URL编号 :--codex-shared-app-server-urlBRIDGE_CODEX_ASSIST_MODELBRIDGE_CODEX_ASSIST_REASONING_EFFORT
示例
BRIDGE_ALLOWED_DIRS="$HOME,/scratch/$USER" \
BRIDGE_API_KEY=my-secret \
npx @ccpocket/bridge@1 setup
坚持明确的订阅认证选择:
BRIDGE_ALLOW_CLAUDE_OAUTH=1 npx @ccpocket/bridge@1 setup
自定义网关用户可以同样的方式持续协助覆盖:
BRIDGE_CODEX_ASSIST_MODEL=gpt-oss:20b-cloud \
BRIDGE_CODEX_ASSIST_REASONING_EFFORT=none \
npx @ccpocket/bridge@1 setup
再次显示配对的 QR 代码
背景服务将其启动输出写入日志文件 。 换一对 设备,打印此机上运行的桥的QR代码:
npx @ccpocket/bridge@1 qr # default port 8765
npx @ccpocket/bridge@1 qr --port 9000
QR代码包括了API密钥,所以只显示给您信任的设备. 运行
命令与 Bridge 相同 OS 用户: 它只读本地
/pairing 端点, 存储在
~/.ccpocket/pairing-secret-<port> (模式) 0600) (中文(简体) ). 终点也拒绝
非浏览器请求和浏览器请求( e)Origin 标题),所以其他
机器、其他本地用户和网页无法读取密钥.
警卫
桥总是需要 API 密钥,除非你通过 --insecure-no-auth。 。 。 .
如果您没有设置 BRIDGE_API_KEY,第一个开始生成密钥并存储
进去 ~/.ccpocket/bridge-api-key;后开始再使用. 用对等设备
显示桥在终点站开始时的 QR 代码,或者使用
npx @ccpocket/bridge@1 qr 为背景服务。 桌面应用程序
API 密钥由同一命令打印出. 要旋转密钥, 删除文件并
重新启动桥,然后重新装配设备.
/usage, (中文(简体) ), /doctor上传和删除
Authorization: Bearer <key>。 。 。 . /health 财务报告和审定财务报表 /version 保持公开.
平面 ws:// 没有加密, 因此在不可信网络上, 如咖啡馆 Wi-Fi
偏好分级或 wss://。 。 。 .
在 Linux 上, 设置给出独立的 Codex 安装优先级, 包括
$HOME/.local/bin 在 npm 管理前 服务中的节点路径 PATH。 。 。 .
实验:从 Codex CLI 加入一个 CC 口袋编码会话
默认情况下,每个Codex会话都会使用私人的应用服务器. 让 Codex CLI 加入 与CC Pocket开始的同线 应用程序服务器模式 :
BRIDGE_CODEX_APP_SERVER_MODE=managed \
BRIDGE_CODEX_SHARED_APP_SERVER_URL=ws://127.0.0.1:8767 \
npx @ccpocket/bridge@latest
然后从 CC Pocket 开始或恢复代码会议。 当会议准备好时, 会话屏幕可以复制诸如:
codex resume <thread-id> --remote ws://127.0.0.1:8767
在与"桥"相同的机器上的终端上运行这个命令. 这个
127.0.0.1 地址是运行 Bridge 和 Codex 的 Mac/Linux 机器
CLI,不为手机.
模式 :
private: 默认行为. 没有 Codex CLI 共同存在.managed: Bridge 启动一个本地的 WebSocket Codex 应用服务器并共享 与 Codex CLI 连接.external:桥梁连接已运行的应用服务器. 在这个模式下,BRIDGE_CODEX_SHARED_APP_SERVER_URL需要时间.
这是实验性的,目前只针对Codex CLI共同存在. 代码应用程序 兼容性得不到保证,可以在 未来.
所需资源
- 节点.js v22.19.0+
- Claude 代码 CLI 和(或) 代码 CLI
当前 Codex CLI 文档推荐 macOS/Linux 的独立安装器 :
curl -fsSL https://chatgpt.com/codex/install.sh | sh
健康检查
运行内置的医生命令以验证您的环境 :
npx @ccpocket/bridge@latest doctor
它检查了Node.js,Git,CLI供应商,macOS权限(Screen Recording,Keychain),macOS睡眠设置,网络连接等等.
建筑
Mobile App ←WebSocket→ Bridge Server ←stdio→ Claude Code CLI
桥端服务器会生成和管理克洛德代码CLI进程,将WebSocket消息翻译到/从CLI的stdio接口. 它支持多个并行会议.
许可证
这个包被麻省理工作为CC口袋的一部分获得许可. 见 自由主义 财务报告和审定财务报表 仓库根 自由主义。 。 。 .
通过绝对路径共享文件
共享既接受项目相对路径,也接受绝对文件路径. 默认情况下
已解析的文件( 包括符号链接目标) 必须留在选中的项目内
财务报告和审定财务报表 BRIDGE_ALLOWED_DIRS。 。 。 .
明确允许从任何地点共享文件 :
BRIDGE_FILE_DOWNLOAD_ALLOW_ALL_PATHS=1 npx @ccpocket/bridge@latest
此选入授权连接客户端下载所有可读的普通文件
由"桥"进程完成. 选中的项目必须仍然是允许的, 已有的
目录。 认证、下载大小限制和能力 URL 仍然在
地点 上传和其他文件访问操作保留了现有的规则.
运行时设置变量 setup 在发射/系统或更新中坚持
服务环境并重新启动大桥。 不需要移动应用程序更新 .