Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ HTTP 阅读请求先返回,保存历史和实时连接在后台加载,通过

SSH 参数包含非交互认证、严格主机指纹检查和禁用额外转发。远端模型/Skill 目录由远端 Codex 运行时读取,不复用 本机文件路径。

本地与远端列表在合并后按最近交互时间排序、分页。项目优先采用显式归属,其次按最长工作目录前缀匹配。项目键带主机 ID,避免同名项目相互混淆。
本地与远端列表在合并后按最近交互时间排序、分页。Codex 聊天列表每批读取 100 条,接近底部时自动续载;失败保留已加载内容,再次向下滚动可重试。项目优先采用显式归属,其次按最长工作目录前缀匹配。项目键带主机 ID,避免同名项目相互混淆。

Codex 列表下拉刷新使用浮层提示与按动画帧更新的位移,不改变滚动区域高度;拖动期间暂停自动刷新。成功提示停留 500 毫秒后淡出,失败保留点击重试。列表展示内容未变化时保留已有聊天节点。

## 新建聊天

Expand Down Expand Up @@ -98,7 +100,7 @@ Windows 自动发现用户目录中的 App 运行时、常见安装目录、MSIX

桌面控制器通过白名单 Electron IPC 调用 `desktop.py` 的独立 JSON 工作进程;网关启停、更新和网络配置管理不监听网络。PushPlus 全局配置与测试允许通过手机 HTTP 操作,必须经过 Host、Origin、登录及写入 CSRF 校验,仅接受 PushPlus 字段,不返回 Token。该配置影响整个网关的关注聊天,不按登录设备隔离。打包版本执行随包提供的 PyInstaller 运行时,网关以独立后台进程运行,退出控制器不会停止网关。Windows 使用 NSIS 安装包或完整 ZIP 目录,避免临时自解压目录随控制器退出被删除而破坏后台运行时。

Windows `desktop/shell/tray.cjs` 管理托盘状态、手机地址和两种退出动作;仅显式停止才调用网关的协作停止协议。主窗口关闭时隐藏,第二次启动恢复原窗口;退出前销毁托盘并允许窗口关闭。状态请求合并,菜单操作避免重复提交;停止失败保留控制器并显示错误。macOS 不创建此托盘,保留原窗口生命周期。
Windows `desktop/shell/tray.cjs` 管理托盘状态、手机地址和两种退出动作;仅显式停止才调用网关的协作停止协议。主窗口关闭时隐藏,第二次启动恢复原窗口;退出前销毁托盘并允许窗口关闭。状态请求合并,菜单操作避免重复提交;停止失败保留控制器并显示错误。macOS 使用同一菜单提供菜单栏入口,关闭控制面板后仍可从菜单栏或 Dock 重新打开。登录自启动由用户在高级设置中启用:Windows/macOS 使用系统登录项,Linux 已安装的桌面包使用用户 XDG autostart;AppImage 注册原始文件路径,不注册临时挂载目录。Windows/macOS 登录启动隐藏控制面板,Linux 保持窗口可见。启用登录自启动同时启用网关自动启动;关闭登录项保留后者。

网关停止使用带随机实例令牌的本地控制文件,由服务主动调用 `shutdown`,再关闭隧道、IPC 和 HTTP。`stop.py --config` 与启动配置对应,不依赖 Unix 信号或 Windows PID 强制终止。文件统一使用 UTF-8;Windows 权限继承目录 ACL。

Expand Down
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@

# Codex Mobile Bridge · 多客户端远程工作台

> **v2.0.0 正式版**:[发布与下载](https://github.com/try2love/codex-mobile-bridge/releases/tag/v2.0.0) · [完整更新说明](RELEASE_NOTES.md) · [手机安装说明](mobile/README.md)。从 v1.4.0 的 Codex 手机网关,扩展为 Codex、Claude Desktop 与 DeepSeek Harness 的统一远程入口。
> **v2.0.2 正式版**:[发布与下载](https://github.com/try2love/codex-mobile-bridge/releases/tag/v2.0.2) · [完整更新说明](RELEASE_NOTES.md) · [手机安装说明](mobile/README.md)。本版改善文件链接、手机文件打开、登录自启与聊天列表滚动刷新,保留 Codex、Claude Desktop 与 DeepSeek Harness 的统一远程入口。

[简体中文](README.md) · [English](README_EN.md)

**[双语介绍与使用演示 ↗](https://try2love.github.io/codex-mobile-bridge/?lang=zh)** · **[下载桌面与手机 App](https://github.com/try2love/codex-mobile-bridge/releases/tag/v2.0.0)**
**[双语介绍与使用演示 ↗](https://try2love.github.io/codex-mobile-bridge/?lang=zh)** · **[下载桌面与手机 App](https://github.com/try2love/codex-mobile-bridge/releases/tag/v2.0.2)**

[![桌面网关:客户端与接入(演示数据)](site/assets/v2-clients.png)](https://try2love.github.io/codex-mobile-bridge/?lang=zh)

Expand Down Expand Up @@ -47,18 +47,18 @@

## 下载与快速开始(推荐)

日常使用直接下载桌面 App,**无需 Agent 帮忙部署,也无需安装 Python、Node.js 或打开终端**。当前版本为 **v2.0.0 正式版**。
日常使用直接下载桌面 App,**无需 Agent 帮忙部署,也无需安装 Python、Node.js 或打开终端**。当前版本为 **v2.0.2 正式版**。

| 系统 | 下载 | 打开方式 |
| --- | --- | --- |
| Windows x64(推荐安装包) | [下载 Setup.exe](https://github.com/try2love/codex-mobile-bridge/releases/download/v2.0.0/Codex-Mobile-Bridge-2.0.0-Windows-x64-Setup.exe) | 运行安装包,从快捷方式打开 |
| Windows x64(免安装) | [下载完整 ZIP](https://github.com/try2love/codex-mobile-bridge/releases/download/v2.0.0/Codex-Mobile-Bridge-2.0.0-Windows-x64.zip) | 完整解压后运行 `Codex Mobile Bridge.exe`,不要单独移动 exe |
| macOS Apple Silicon(M 系列) | [下载 arm64 DMG](https://github.com/try2love/codex-mobile-bridge/releases/download/v2.0.0/Codex-Mobile-Bridge-2.0.0-macOS-arm64.dmg) | 打开 DMG,将 App 拖入“应用程序” |
| macOS Intel(英特尔) | [下载 x64 DMG](https://github.com/try2love/codex-mobile-bridge/releases/download/v2.0.0/Codex-Mobile-Bridge-2.0.0-macOS-x64.dmg) | 打开 DMG,将 App 拖入“应用程序” |
| Ubuntu x64(实验性) | [下载 .deb](https://github.com/try2love/codex-mobile-bridge/releases/download/v2.0.0/Codex-Mobile-Bridge-2.0.0-Linux-amd64.deb) | Ubuntu 22.04;安装后以普通用户启动 |
| Ubuntu ARM64(实验性) | [下载 .deb](https://github.com/try2love/codex-mobile-bridge/releases/download/v2.0.0/Codex-Mobile-Bridge-2.0.0-Linux-arm64.deb) | Ubuntu 22.04 ARM64;不含 32 位 ARM |
| Windows x64(推荐安装包) | [下载 Setup.exe](https://github.com/try2love/codex-mobile-bridge/releases/download/v2.0.2/Codex-Mobile-Bridge-2.0.2-Windows-x64-Setup.exe) | 运行安装包,从快捷方式打开 |
| Windows x64(免安装) | [下载完整 ZIP](https://github.com/try2love/codex-mobile-bridge/releases/download/v2.0.2/Codex-Mobile-Bridge-2.0.2-Windows-x64.zip) | 完整解压后运行 `Codex Mobile Bridge.exe`,不要单独移动 exe |
| macOS Apple Silicon(M 系列) | [下载 arm64 DMG](https://github.com/try2love/codex-mobile-bridge/releases/download/v2.0.2/Codex-Mobile-Bridge-2.0.2-macOS-arm64.dmg) | 打开 DMG,将 App 拖入“应用程序” |
| macOS Intel(英特尔) | [下载 x64 DMG](https://github.com/try2love/codex-mobile-bridge/releases/download/v2.0.2/Codex-Mobile-Bridge-2.0.2-macOS-x64.dmg) | 打开 DMG,将 App 拖入“应用程序” |
| Ubuntu x64(实验性) | [下载 .deb](https://github.com/try2love/codex-mobile-bridge/releases/download/v2.0.2/Codex-Mobile-Bridge-2.0.2-Linux-amd64.deb) | Ubuntu 22.04;安装后以普通用户启动 |
| Ubuntu ARM64(实验性) | [下载 .deb](https://github.com/try2love/codex-mobile-bridge/releases/download/v2.0.2/Codex-Mobile-Bridge-2.0.2-Linux-arm64.deb) | Ubuntu 22.04 ARM64;不含 32 位 ARM |

[查看所有版本与更新说明](https://github.com/try2love/codex-mobile-bridge/releases) · [下载 SHA256 校验文件](https://github.com/try2love/codex-mobile-bridge/releases/download/v2.0.0/SHA256SUMS.txt)。两种 Mac 同时提供 ZIP,供应用内更新或手动替换使用。Windows ARM 暂无专用安装包。Mac 版采用本地完整性签名但未公证,首次打开可能需要手动允许;Windows 版未做证书签名。详见下方 macOS 首次打开说明。
[查看所有版本与更新说明](https://github.com/try2love/codex-mobile-bridge/releases) · [下载 SHA256 校验文件](https://github.com/try2love/codex-mobile-bridge/releases/download/v2.0.2/SHA256SUMS.txt)。两种 Mac 同时提供 ZIP,供应用内更新或手动替换使用。Windows ARM 暂无专用安装包。Mac 版采用本地完整性签名但未公证,首次打开可能需要手动允许;Windows 版未做证书签名。详见下方 macOS 首次打开说明。

1. 安装并登录要使用的桌面客户端,打开 **Codex Mobile Bridge**。在 **客户端与接入** 检查扫描结果,完成需要的授权,并启用配置就绪的客户端。
2. 在 **网络访问** 保留局域网访问或添加 HTTPS 入口,保存后从概览或客户端页点击 **启动网关**。已有配置时沿用原端口。
Expand All @@ -67,7 +67,7 @@

需要外网访问时,可选 [Tailscale 固定 HTTPS](docs/tailscale.md)、内置 Cloudflare 临时 HTTPS、[固定 Cloudflare Tunnel](docs/fixed-domain.md)、[自有服务器 + SSH](docs/server-ssh.md) 或 NAS 反代。详细要求见[连接方式说明](#connections)。固定地址不保证国内直连速度,首次配置请用实际蜂窝网络测试。

Android APK、iOS 未签名 IPA 与 Xcode 源码包见同一 [v2.0.0 Release](https://github.com/try2love/codex-mobile-bridge/releases/tag/v2.0.0)。Android 覆盖安装以保留数据;iOS 需自行签名,暂无 App Store/TestFlight 分发。源码运行与自定义部署见后面的[部署 Agent 执行说明](#agent-deployment)。
Android APK、iOS 未签名 IPA 与 Xcode 源码包见同一 [v2.0.2 Release](https://github.com/try2love/codex-mobile-bridge/releases/tag/v2.0.2)。Android 覆盖安装以保留数据;iOS 需自行签名,暂无 App Store/TestFlight 分发。源码运行与自定义部署见后面的[部署 Agent 执行说明](#agent-deployment)。

<a id="macos-first-launch"></a>

Expand All @@ -77,7 +77,7 @@ Android APK、iOS 未签名 IPA 与 Xcode 源码包见同一 [v2.0.0 Release](ht

从 `v0.2.0-beta.5` 起,可在桌面 App 的「应用更新」中检查新版、查看说明并点击「更新并重启」。下载与校验完成后短暂重启网关,保留登录、网络、通知和关注聊天配置;失败时尝试恢复原版本。此前版本需要先手动安装一次支持更新的版本。使用临时 HTTPS 时,重启后请打开最新地址。发布与恢复说明见 [桌面更新文档](docs/desktop-updates.md)。

**Windows beta.7 / 1.0.0 用户:**旧更新器可能因目录占用报 `WinError 32` 并回退。请先在托盘选择“停止网关并退出”,再用 **2.0.0 Setup.exe** 安装到原位置;无需卸载或删除数据。1.1.0 修复后续更新的目录占用问题。
**Windows beta.7 / 1.0.0 用户:**旧更新器可能因目录占用报 `WinError 32` 并回退。请先在托盘选择“停止网关并退出”,再用 **2.0.2 Setup.exe** 安装到原位置;无需卸载或删除数据。1.1.0 修复后续更新的目录占用问题。

### 手机阅读与显示设置

Expand Down Expand Up @@ -120,10 +120,10 @@ v2.0.0 在线查询订阅周期日期,显示剩余时间和具体日期;接

当前 Mac 版具有本地完整性签名(ad-hoc),**没有 Apple Developer ID 签名和公证**,首次打开仍可能被 macOS 拦截。旧版 `v0.2.0-beta.1` 还存在包签名缺陷,请优先下载 `v1.1.0` 或后续版本。

1. 从本仓库的 Release 下载对应芯片的 DMG 或 ZIP,以及 `SHA256SUMS.txt`。计算下载文件的 SHA-256,与校验文件中同名文件的一行比较;不一致时重新下载,不要放行。以下以 2.0.0 的 M 系列 Mac DMG 为例,其他文件请替换文件名:
1. 从本仓库的 Release 下载对应芯片的 DMG 或 ZIP,以及 `SHA256SUMS.txt`。计算下载文件的 SHA-256,与校验文件中同名文件的一行比较;不一致时重新下载,不要放行。以下以 2.0.2 的 M 系列 Mac DMG 为例,其他文件请替换文件名:

```sh
shasum -a 256 "$HOME/Downloads/Codex-Mobile-Bridge-2.0.0-macOS-arm64.dmg"
shasum -a 256 "$HOME/Downloads/Codex-Mobile-Bridge-2.0.2-macOS-arm64.dmg"
```

2. 打开 DMG,将 `Codex Mobile Bridge.app` 拖入“应用程序”,再推出磁盘映像;ZIP 则先解压并移动 App。尝试从“应用程序”打开后,前往 **系统设置 → 隐私与安全性 → 仍要打开**,按系统提示确认。
Expand Down
Loading
Loading