Files
cc-web/CHANGELOG.md
cc-dan 6f381998e9 feat: v1.2.8 - Codex双Agent、图片上传、主题系统、会话加载优化
- Codex双Agent接入:共享后端内核,前台隔离会话/设置/导入
- 图片上传:Claude (stream-json) 和 Codex (--image) 均支持拖拽/粘贴/选择上传
- 主题系统:CoolVibe Light 视觉方案,主题入口移至二级页
- 会话加载优化:加载遮罩、热会话缓存、切后台内容不丢失
- 移动端增强:侧栏手势、运行状态标签、按钮比例修复
- 后端重构:agent-runtime.js / codex-rollouts.js 模块拆分
- 回归脚本:npm run regression 隔离式测试
2026-03-13 12:46:34 +00:00

80 lines
6.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 更新记录
- **v1.2.8**
- **Codex 双 Agent 接入**
- 新建会话时可选择 Claude 或 Codex复用 cc-web 现有的多会话、后台进程、断线续挂和文件 I/O 核心逻辑
- 侧边栏按 Agent 隔离会话列表、最近会话记忆与默认新建行为
- Agent 切换入口收进顶部栏标签下拉
- Claude / Codex 各有独立设置入口Codex 设置简化为 `local/custom + API Profile`
- Codex 会话通过 `codex exec --json` / `codex exec resume --json` 对接stdin 文件喂入 prompt持久化 thread id 用于续接
- `/model``/cost``/help` 对 Codex 会话做了适配
- **Codex 本地历史导入**
- 扫描 `~/.codex/sessions/` 下的 rollout `.jsonl`,解析用户消息、助手输出、函数调用与 token 使用量后导入到 cc-web
- 删除 Codex 会话时同步清理对应 rollout 文件与本地线程元数据
- **图片上传**
- Claude 和 Codex 会话均支持图片消息:拖拽、粘贴或点击附件按钮上传
- 客户端自动压缩WebP服务端附件缓存7 天 TTL
- Claude 通过 `--input-format stream-json` 传入 base64 图片Codex 通过 `--image` 参数传入
- 历史消息仅保留图片文字标签,不渲染原图
- 单条消息最多 4 张图片
- **会话加载体验优化**
- 回退并收敛长会话加载策略:最近消息先到,更老消息分批补充
- 新增会话加载遮罩与加载期不可操作状态
- 热会话缓存(最近 4 个strong/weak 两级命中策略)
- 修复切后台再切回时运行中内容短暂消失的问题(`preserveStreaming` 机制)
- **主题系统**
- 引入完整的主题系统与 CoolVibe Light 视觉方案
- 主题入口从设置页顶部改为「外观 → 界面主题」二级页
- 加载遮罩适配 washi / coolvibe / editorial 三套主题变量
- **移动端交互增强**
- 对话区任意位置右滑唤起侧栏、侧栏打开后左滑关闭
- 运行中状态覆盖移动端 cwd 标签显示
- 修复附件按钮、新会话分裂按钮的移动端比例失调
- **其他改进**
- 后端重构spawn spec 与事件解析抽离到 `lib/agent-runtime.js`Codex rollout 解析在 `lib/codex-rollouts.js`
- 新增隔离式回归脚本 `npm run regression`,使用 mock CLI 在临时目录中校验主路径
- 设置页说明卡移除Codex Web Search 解释文案移除
- 删除确认弹窗按 Agent 动态提示 Claude / Codex 的本地删除影响
- **v1.2.7**
- 新增导入本地 CLI 会话:扫描 `~/.claude/projects/` 下的 `.jsonl`,解析后导入到 cc-web可续接历史对话。
- 新增新建会话指定工作目录:创建会话时弹窗设置 cwdspawn 子进程时使用该目录header 显示当前工作路径。
- 新增检查更新功能:设置面板底部「检查更新」按钮,对比本地 CHANGELOG 与 GitHub 最新版本。
- 修复导入历史会话中工具调用显示动态动画的问题:已完成的工具调用统一显示为静态状态。
- **v1.2.6**
- 工具调用折叠显示长任务中散落的工具调用块达到5个时自动折叠入唯一父节点之后每满5个再次移入同一父节点两级结构输出结束后剩余散落项也一并收入总数不超过5个则完整显示不折叠。
- 新增编辑模板弹窗「获取上游模型列表」:通过 `/v1/models` 端点拉取可用模型,填充到四个模型输入框的下拉建议列表,支持自定义端点地址。
- 修改密码改为按钮+弹窗模式:设置面板中密码修改从内联表单改为独立弹窗,成功后自动关闭。
- 子弹窗关闭按钮样式适配:编辑模板和修改密码弹窗的关闭按钮统一为与主面板一致的风格。
- 新增 AskUserQuestion 选项预览区:左侧选项列表,右侧实时显示选项说明;桌面端 hover 切换,移动端 tap 选中后点确认按钮发送。
- 修复 `~/.claude/settings.json` 写入竞争问题:改为原子写入(先写临时文件再 rename避免 Claude 子进程读到写了一半的文件导致随机 401 认证失败。
- 修复 `ANTHROPIC_REASONING_MODEL` 被误删问题:补充到 settings.json 白名单,保留该字段不被覆盖。
- 修复删除会话时同步删除 `~/.claude/projects/` 下对应的原生会话历史,遍历所有项目目录确保完整清除。
- 新增删除确认弹窗,支持「确认且不再提示」选项,风格与主界面一致。
- 用户消息支持多行换行显示。
- 修复 AskUserQuestion 选项卡渲染位置:从消息顶部移至底部。
- 修复流式输出与工具调用 UI 共存时的覆盖问题bubble 拆分为 .msg-text 和 .msg-tools
- 新增聊天区自定义滚动条,支持鼠标/触屏拖动,悬停时滑块变宽。
- 会话历史分批异步渲染,切换会话体感延迟大幅降低。
- 修复快速切换会话时旧历史错误渲染到新会话的问题epoch 校验)。
- 模型配置保存时立即同步写入 `~/.claude/settings.json`,无需触发对话才生效。
- **v1.2.3**
- 新增模型配置系统:支持 local读取本地配置和 custom自定义 API 模板)两种模式切换。
- custom 模式通过写入 `~/.claude/settings.json` 实现 API 凭据注入,兼容 cc-switch-web 等配置管理工具。
- 模板配置改为弹窗编辑,界面更简洁;切换至 custom 模式时显示覆盖警告。
- spawn 时增加模型名称校验,防止无效模型参数导致进程静默失败。
- **v1.2.2**
- 对齐 Claude Code 原生上下文压缩策略:`/compact` 改为真实下发到 CLI 执行,不再使用本地会话伪重置。
- 补齐超限自动恢复链路:当出现 `Request too large (max 20MB)` 时,自动执行 `/compact` 并在压缩后自动重放上一条失败请求继续运行。
- 增加自动续跑保护:若压缩后仍超限,停止自动重试并提示用户手动缩小输入范围,避免死循环。
- **v1.2.1**
- 修复 `AskUserQuestion` 交互选项在 Web 端不显示的问题:后端保留完整结构化参数并前端按问题/选项渲染。
- 新增交互选项快捷填充:点击选项即可把对应答案插入输入框,便于快速确认并发送。
- **v1.2**
- 修复消息中包含代码块时可能触发的页面横向溢出问题:窗口不再被长代码撑宽,代码块可在块内横向滚动。
- 优化移动端输入体验:手机浏览器回车键默认换行,不再直接发送消息;消息发送改为手动点击发送按钮。
- **v1.1**
- 增加 Windows 环境下 Claude Code CLI 的兼容支持,完善本地部署与启动体验。