Skip to content

1.2.3

Choose a tag to compare

@github-actions github-actions released this 13 Oct 11:39
· 30 commits to main since this release

版本 1.2.3

发布日期: 2026 年 10 月 13 日

概述

1.2.3 新增第三个消息信道 Telegram,并支持将消息信道附加到已经运行的 Codex TUI 会话。本版本修复独立 bridge 与 attach 模式下 Telegram 最终回复无法回传的问题,使启动提示显示实际信道,并提供完整中英文 README 与语言切换导航。

新功能

Telegram Bot API 信道

Telegram 沿用微信、企业微信的直接启动和 daemon 工作流,支持 Codex、Claude Code、OpenCode 与 Pi。信道使用官方 Bot API 长轮询,不需要公网回调地址。

  1. 在 @BotFather 中发送 /newbot 创建机器人并取得 Bot Token。
  2. 在本地运行 telegram-setup,输入 token。
  3. 打开机器人的私聊,点击 Start,在 10 分钟内发送终端显示的 /pair <code>。
  4. 进入项目目录,运行 telegram-daemon --adapter codex,或使用对应的直接启动命令。
用途 命令
操作者配对 telegram-setup
检查已保存凭据 telegram-setup --check
常驻 daemon telegram-daemon
直接启动 telegram-codex、telegram-claude、telegram-opencode、telegram-pi
检查包更新 telegram-check-update
  • 已配对操作者的消息驱动当前本地会话。daemon 的 /codex、/claude、/opencode、/pi,以及状态、模型、审批和问答等通用控制沿用现有命令规则。
  • 文本、最终回复与附件通过 Telegram 回传;长文本按消息长度限制拆分,任务执行期间显示原生 typing 状态。
  • 入站图片、文件、视频、语音与音频下载到本地,并以路径追加到 CLI prompt;bridge 本身不执行 OCR 或文档正文提取。
  • 凭据保存到 ~/.cli-bridge/telegram/account.json,附件与消息去重状态也使用 Telegram 子目录。CLI_BRIDGE_DATA_DIR 可以更改公共数据根目录。
  • 支持 TELEGRAM_BOT_TOKEN、TELEGRAM_OPERATOR_USER_ID、TELEGRAM_OPERATOR_CHAT_ID 和可选的 TELEGRAM_BOT_USERNAME 覆盖已保存配置;transport 区分 token 被拒绝与并发轮询冲突。

附加当前 Codex 会话

Codex >=0.162 使用共享 app-server daemon 运行时,可以将信道附加到已有的活会话:

wechat-codex --attach-current-session
wecom-codex --attach-current-session
telegram-codex --attach-current-session

在会话所在项目目录执行,或传入 --cwd <path>。bridge 自动发现该目录最新的活 root thread;存在多个活会话时,用 --codex-thread-id <id> 指定目标。

  • 远程消息成为同一 Codex thread 中的 turn,回复与审批回到对应信道;原有 TUI 和会话上下文保持连续。
  • attach 作为共享 daemon 的 guest client 接入,继承线程的审批与沙箱设置,不发送覆盖参数。
  • 后台桥接不会随启动器退出,意外断线后会重连并重新 rejoin,已有 /resume 路径继续可用。
  • 仅当保存的 thread 与活跃 bridge 实例、工作目录、信道及显式目标线程一致时才报告成功,旧桥接会话状态不会被当作新连接成功。

两个 npm 包均包含 codex-bridge skill。使用主包时可运行:

node "$(npm root -g)/cli-wechat-bridge/skills/codex-bridge/scripts/install.mjs"

随后在 Codex TUI 中调用 $codex-bridge,并说明要连接的信道。要求及错误说明见通道连接文档。

修复与改进

  • Telegram 最终回复: 独立 bridge 和 attach 改用 TelegramChannelPort 发送最终文本与附件。此前误走微信端口,报错 WeChat channel cannot send to telegram;daemon 回复和普通通知却可能正常,导致表现看似偶发。
  • 回复目标保持: 回归测试覆盖 Telegram 异步转发最终文本与附件时保留事件到达时捕获的 conversation target,即使发送前活动目标已经切换。
  • 按信道显示启动信息: 启动、替换、daemon 委托、帮助、attach 确认和参数错误均显示实际信道;共享名称表与完整的输出端口、凭据注册约束避免新增信道静默落入微信处理分支。
  • 文档: README 完整介绍 Telegram 接入和三个信道的控制指令;新增完整英文版本、双向语言导航、英文标题与图片说明,以及英文产品主页入口。截图改为居中、85% 宽度的 HTML 引用,产品主页徽章使用简洁地球图标。
  • 发布打包: 两个包均包含英文 README 和 Codex bridge skill;package-lock 命令元数据同步全部 21 个公开入口,global smoke 覆盖三个信道的 15 个非交互 daemon/适配器启动器。

升级与兼容性说明

安装与重启

npm install -g cli-wechat-bridge@1.2.3

旧作用域兼容包用户可以继续使用:

npm install -g @unlinearity/cli-wechat-bridge@1.2.3

升级后重启正在运行的 bridge、daemon 和可见 CLI,使其加载新代码。对于已经附加的 Codex 会话,从同一项目目录再次执行 attach 命令即可替换旧桥接,继续使用原 TUI thread。已有微信、企业微信凭据无需迁移。

运行边界

  • Node.js 最低版本仍为 22.13.0;Pi 要求 22.19.0。传统 Codex 桥接验证范围保持 0.149.x–0.161.x;新共享 daemon 附加流程要求 Codex >=0.162,本次本地实测版本为 0.162.1。
  • attach 需要共享 daemon control socket 和目标目录的活会话。桌面 App 内嵌会话,以及通过 --no-daemon、--oss 或内嵌 profile 启动的会话无法附加。
  • 常驻信道 daemon 持有工作区 bridge 锁,会阻止 attach;可使用其 slots,或先停 daemon 再附加。直接运行 telegram-codex 会打开 bridge 管理的可见 CLI;连接已有会话需追加 --attach-current-session。
  • 同一 Telegram Bot Token 只运行一个轮询进程,配对时也遵循此限制;已有 webhook 需先移除再使用长轮询。配对使用私聊,后续输入使用已配对操作者账号。
  • 本版本不移除现有公开启动命令。各信道凭据仍独立,工作区锁与 daemon endpoint 继续共用。

发布验证

  • 环境与质量: 本地 macOS、Node.js 24.20.0 与 Bun 1.4.3 上,冻结锁文件安装、lint、严格源码类型检查、全部 869 项测试与构建通过。镜像包测试使用临时源码素材,CI 在 dist/ 尚未生成时也可执行。
  • 安装包内容: 主包与作用域镜像包 dry-run 各包含 119 个文件、21 个可执行命令入口,包括 dist/、两份 README、LICENSE.txt 与 Codex bridge skill;不包含源码、测试、内部文档、运行状态、本地日志或 node_modules/。
  • 全局安装: npm run smoke:global -- --purge-global --clean-cache --full 通过,覆盖真实 tarball 安装、仓库外调用全部 15 个安全启动入口及完整质量门禁。新构建已安装到全局;npm 跳过 postinstall 时手动恢复 node-pty spawn-helper 权限。
  • CLI 能力: npm run smoke:cli-compat 通过,实测 Codex 0.162.1、Claude Code 2.1.296、OpenCode 2.0.18 与 Pi 1.1.0;Pi 探测实际加载 bridge extension 并校验模型列表 IPC。
  • 发布预检: npm pack --dry-run --json、主包 npm publish --dry-run --access public 与 npm run publish:dual -- --dry-run 均通过;镜像包回归覆盖英文 README、skill 复制、Unix 命令可执行权限、postinstall 保留与私有状态排除。

上述检查覆盖本地回归、安装包与 CLI 接口;修复期间还验证了真实 Telegram 的 Codex attach 最终回复回传。所有适配器/信道组合的真实模型完整对话,以及 Linux/Windows CI 属于独立验收范围;dry-run 不代表已向 registry 发布。


Full Changelog: 1.2.2...1.2.3