Skip to content

codex-web-v0.5.0

Latest

Choose a tag to compare

@wangru8080 wangru8080 released this 30 Jul 00:43

新增功能

  • 新增多用户 Runtime Broker。

    • 支持多个登录账号并发使用 Codex Web。
    • 每个用户拥有独立的 UID、GID、补充组、HOMECODEX_HOME、工作目录、消息流和审批上下文。
    • 同一用户的多个浏览器会话共享同一个 app-server runtime。
    • 用户首次建立 WebSocket 连接时才启动 app-server,断开后支持延迟回收。
    • 运行中的 Turn 会阻止 runtime 被提前终止。
    • 支持通过 Unix Socket 在 Web 服务与 root runtime 之间进行安全通信。
  • 新增多用户认证与会话管理。

    • 使用 scrypt 保存密码哈希。
    • 使用签名 Session 验证用户身份。
    • 增加登录失败限速。
    • 支持按用户权限控制安全设置修改。
    • Web 进程无需读取密码哈希、Session 密钥或其他用户的 Codex 凭据。
  • 新增统一 codex-web CLI。

    • codex-web serve
    • codex-web runtime serve
    • codex-web runtime hash-password
    • 原有 codex-web --open 等单用户命令继续兼容。
  • 新增 macOS 多用户 Runtime 支持。

    • 使用 dscacheutil 查询系统用户。
    • 使用 sudo -n -H -u 和干净环境启动目标用户 app-server。
    • 增加 launchd 部署样例和 macOS 浏览器 Smoke 测试。
    • 单用户模式继续支持 Linux、macOS 和 Windows;多用户 Runtime 支持 Linux 和 macOS。
  • 长文本粘贴自动转为附件。

    • 在 Codex 模式下,超过 1000 个字符的粘贴文本会自动生成 pasted-text.txt 附件。
    • 统一换行符处理,兼容 Windows、macOS 和 Linux 文本格式。
    • 文件附件支持点击或键盘操作打开只读预览。

优化改进

  • 抽象统一的 App Server Peer 接口,使 WebSocket Bridge 和 Runtime Broker 可以复用同一套 app-server 消息路由逻辑。
  • 优化 app-server 子进程启动参数。
    • 支持显式 argv。
    • 支持干净环境启动。
    • 固定 NODE_ENV 和必要环境变量。
    • 避免通过 shell 拼接命令。
  • 增强跨用户消息隔离,用户之间不会互相广播同步消息或通知。
  • 增强 Bridge 安全校验。
    • 校验 Origin、Cookie、远程连接来源和 Unix Socket 权限。
    • Runtime 连接建立时再次验证 Session。
  • 增加 systemd 和 macOS launchd 部署模板。
  • 增加多用户配置、密码、Session、NDJSON 分帧、Runtime 生命周期、Broker WebSocket Bridge 等测试。
  • 增加多用户并发、跨用户隔离、UID 隔离、统一 CLI 和 macOS 部署 Smoke 测试。

Bug 修复

  • 修复仅包含文件附件、没有文本内容时无法发送的问题。
  • 修复 app-server 接受或处理附件后,前端乐观消息未保存最新附件元数据的问题。
  • 修复历史消息中附件路径未持久化,导致后续无法打开文件预览的问题。
  • 修复退出登录后 WebSocket Bridge 仍可能继续重连的问题。
  • 修复多用户认证场景下部分 API 仍使用同步单用户认证逻辑的问题。
  • 修复多用户模式下安全设置接口未区分管理员权限的问题。
  • 修复开发和生产 Bridge 在多用户模式下仍要求单用户 CODEX_HOME 或登录配置的问题。
  • 修复 CLI 构建产物和部署文件未完整纳入发布包的问题。