文件最后提交记录最后更新时间
fix(webui): /webui 用 TUI 当前会话播种 LiveSession,续聊后直接落到该会话 atomcode -c 续聊后 ctx.current_session 已是续聊会话,但 /webui 调用的是 ensure_live_session——新建空 LiveSession(空消息 + 随机 LIVE_SESSION_ID),从不把 当前会话搬进去。于是 webui 连 /live 拿到空快照、落到空白新页面而非续聊会话。 - live_api.rs:新增 ensure_live_session_seeded(initial, session_id),新建时用给定消息 播种并复用 session_id(LIVE_SESSION_ID + 执行器 id 一致,后续每轮覆盖同一会话文件、 不产生重复);ensure_live_session 改为空播种封装。lib.rs 导出之。 - commands.rs:/webui 在开浏览器之前先用 ctx.current_session 的消息+id 播种(非空才复用 id;先播种再开浏览器,避免浏览器抢先连 /live 建出空会话)。attach_live_session 加 render_snapshot 参数:/webui 传 false(画面已有该对话,跳过快照回放避免重复刷), /sync 传 true(重新附着补 webui 期间对话)。 live 测试 core(4)/daemon(3) 全过;LiveSession initial 播种本就被 core 测试覆盖。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> 18 小时前
test(tuix): acceptance smoke checklist for manual verification Covers: build, TTY happy path, CJK (prior impl panicked here), ANSI injection defence, Ctrl+C/Ctrl+Z flow, slash commands, Tab completion, history persistence, pipe mode, approval flow, resize. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> 1 个月前
Merge branch 'feat/webui-design' into release/v4.24.1 feat/webui-design 带来 WebUI:登录入口、会话重命名/删除、设置对话框重构、 GET /skills、daemon 抽出 run_server 薄壳 + WebUI token 鉴权 + LiveSession 同步。 冲突解决: - tuix/src/lib.rs:Context 结构体两侧各加字段,全部保留 (dangerously_skip_permissions/pending_guide_topic + sync_session/sync_forwarder)。 - tuix/src/event_loop/mod.rs:保留 webui 的「sync_session 投递 LiveSession / 否则 原有 SendMessage」分支,并在其前置上 release 的「每轮清理 hook 警告」逻辑。 - daemon/src/main.rs:取 feat/webui-design 的薄壳版本(逻辑已迁入 lib.rs::run_server); release 对旧 main.rs 仅有的改动是 OpenAtomcode 遥测字段,见下。 语义合并修复(非冲突但合并后不可编译): - daemon/src/lib.rs:OpenAtomcode -> OpenAtomcode { dangerously_skip_permissions: false } (release 给该遥测事件加了字段)。 - daemon TurnRunner 构造:release 把 hook 系统从 HookExecutor/hook_executor 重构为 hook_engine(HookEngine) + current_turn_number。daemon/lib.rs 与 live_api.rs 改用 HookEngine::new()+load_all(&working_dir),与 TUI 主 agent 一致,保留 webui 「daemon 加载并执行配置 hook」的行为;并移除 TurnParts 中不再使用的 hook_executor。 验证:cargo check --tests -p atomcode-core/atomcode-daemon/atomcode-tuix/atomcode 全部通过。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> 1 天前