Releases: wangru8080/codex-web
Releases · wangru8080/codex-web
Release list
codex-web-v0.6.0
新增功能
- 基于 app-server
thread/fork创建新的对话分支,支持从助手消息直接“在新任务中继续”。 - 新任务自动继承父任务关系,并显示“接续自任务”回链,支持回链定位到父任务中的具体消息。
优化改进
- 消息操作栏改为紧凑图标布局,统一复制和续接按钮样式。
- 只有具备真实
turn_id的助手消息才显示续接按钮。 - 优化长历史任务中的父消息定位和自动滚动。
- 目标消息不在最近历史范围内时,自动加载完整任务历史。
- 固定“接续自任务”标记位置,后续新增消息不会导致标记漂移。
- 优化消息虚拟列表索引和目标消息定位逻辑。
- 按
session_id + turn_id + role合并消息,避免实时流和历史数据重复。
Bug 修复
- 修复续接任务后助手消息重复显示的问题。
- 修复实时输出完成后再次合并历史消息导致的重复问题。
- 修复“接续自任务”标记随着新消息追加而移动到底部的问题。
- 修复长历史任务无法准确跳转到父任务对应消息的问题。
codex-web-v0.5.0
新增功能
-
新增多用户 Runtime Broker。
- 支持多个登录账号并发使用 Codex Web。
- 每个用户拥有独立的 UID、GID、补充组、
HOME、CODEX_HOME、工作目录、消息流和审批上下文。 - 同一用户的多个浏览器会话共享同一个 app-server runtime。
- 用户首次建立 WebSocket 连接时才启动 app-server,断开后支持延迟回收。
- 运行中的 Turn 会阻止 runtime 被提前终止。
- 支持通过 Unix Socket 在 Web 服务与 root runtime 之间进行安全通信。
-
新增多用户认证与会话管理。
- 使用 scrypt 保存密码哈希。
- 使用签名 Session 验证用户身份。
- 增加登录失败限速。
- 支持按用户权限控制安全设置修改。
- Web 进程无需读取密码哈希、Session 密钥或其他用户的 Codex 凭据。
-
新增统一
codex-webCLI。codex-web servecodex-web runtime servecodex-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 文本格式。
- 文件附件支持点击或键盘操作打开只读预览。
- 在 Codex 模式下,超过 1000 个字符的粘贴文本会自动生成
优化改进
- 抽象统一的 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 构建产物和部署文件未完整纳入发布包的问题。
codex-web-v0.4.1
codex-web-v0.4.0
新增功能
- 右侧文件预览新增 PDF、Word(DOC/DOCX)和 Excel(XLS/XLSX)支持。
- Excel 支持多工作表切换、行列标题及滚动查看。
- 文件预览新增真实下载功能,保留原始文件名和文件内容。
- Markdown 文件链接支持显示行号,并可直接跳转到右侧预览中的对应行。
- 会话列表时间改为“几小时前 / 几天前”等相对时间显示。
体验优化
- 文件与网页链接样式使用更明确的文件图标和蓝色链接图标。
- 优化聊天输出中的文件、代码位置和网页链接展示,提升识别度与可点击性。
- 优化 DOCX 在窄侧栏中的排版,避免内容被裁切。
- 补充文档解析失败、空工作表、文件过大等状态提示。
- 旧版 DOC 采用隔离预览,并明确标注为实验性兼容。
稳定性与安全
- 文档预览限制为 10 MB,避免加载超大文件。
- DOC 预览运行于无脚本沙箱,DOCX 禁止嵌入 HTML,Excel 不执行公式或宏。
- 损坏文档不会影响继续预览其他文件。
codex-web-v0.3.3
codex-web-v0.3.2
codex-web-v0.3.1
codex-web-v0.3.0
v0.3.0 更新内容
- 新增输入框任务进度 UI,支持展开、收起、进度更新和完成后自动退出。
- 新增文件变更汇总,展示修改文件数及增删行,并支持打开文件 diff。
- 文件变更 UI 接入 Git 生命周期,提交后自动更新或退出。
- 新增 Git 状态与提交面板,支持查看变更、选择文件并执行提交。
- 新增 Git 历史记录,支持查看历史提交文件、只读 diff 和完整文件版本。
codex-web-v0.2.0
这次工作主要完成了 Web 性能重构、Web 交互修复、生产启动优化。
用户可见改进
- 聊天短对话改为从顶部开始显示,不再贴着底部出现。
- 长历史首次打开时稳定定位到最新消息。
- 用户主动向上阅读后,不会被异步内容高度变化强制拉回底部。
- About 页恢复“检查更新”按钮,当前保持禁用,为后续 Web 更新功能预留入口。
- About 页操作系统改为显示 app-server 实际运行环境,例如 Linux、Windows、macOS。
- About、CLI、Sentry 和 app-server 客户端版本统一读取
package.json.version。
性能优化
- App-server 状态改为 selector 订阅,避免无关状态变化导致整个页面重复渲染。
- 普通历史 React commit 从约
54/42降至5/25,长历史从207/142降至18/17。 - 聊天历史接入动态高度虚拟列表,60 条消息通常只挂载约 11 至 13 条。
MessageList最慢渲染从约205 ms降至61.1 ms。- 流式消息按动画帧合并更新,输入框和消息组件增加稳定渲染边界。
- Mermaid、KaTeX、Shiki 等重模块改为按内容需要动态加载。
- 普通 Markdown 不再提前加载数学、图表和代码高亮能力。
- 清理无生产引用依赖,缩小依赖图和首屏加载范围。
- 生产服务入口改为预编译 bundle:
- 启动中位数降低约
36.41% - 入口 RSS 降低约
105.97 MiB
- 启动中位数降低约
性能诊断能力
- 建立可重复的开发/生产性能基线,覆盖普通历史、长历史、普通 Turn、Skill Turn 和重 Markdown。
- 增加默认关闭的生产 Source Map 诊断开关。
- 使用无扩展 Headless Chromium 完成 Long Task 源码归因。
- 确认代码高亮冷启动是部分内容场景成本,但没有项目源码热点达到继续修改组件的门槛。