[Feature] Agent 历史支持当前工作区的 Codex / Claude 已归档会话查询与折叠分组展示
Los mantenedores suelen responder en 1 día
@xiaoyumuxi ya está trabajando en esto.
Desde el 16/10/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Problem to solve / 要解决的问题
Agent 面板需要能够查询、展示当前工作区所属的已归档历史会话,覆盖 Codex 和 Claude。目前 Codex 已归档会话不会出现在 Lithe 的历史列表中,用户无法在项目内找到这些历史记录。
现有“已移除会话”只是 Lithe 本地隐藏状态,与 Agent 自身的归档状态不同,不能用它代替“已归档”。该需求应形成两个 Agent 一致的历史查询和展示体验,不能只修复 Codex。
Proposed solution / 建议方案
查询与状态
- 在当前工作区、当前所选 Agent 的历史中查询普通会话和已归档会话;Codex、Claude 都纳入实现与验证范围。
- 归档会话遵循工作区归属筛选,不混入其他无关工作区的记录。明确并验证目录规范化及不同 worktree 的归属行为。
- 将归档状态传递到历史展示模型,区分“Agent 已归档”和“Lithe 本地已移除”。刷新和搜索均覆盖归档记录。
- 正确处理分页、去重、加载中、空结果和失败;不能因为某页在工作区过滤后为空就提前停止,也不能静默展示截断的结果。
折叠分组展示
- 历史列表中增加 “已归档”可折叠分组,采用带展开/收起指示的标签或分组标题样式,可显示会话数量,例如
▸ 已归档(12)。 - 建议默认收起,点击后展示当前工作区、当前 Agent 的归档会话;条目明确标识“已归档”,保留标题、更新时间等现有信息。
- 标题或会话 ID 搜索应包含归档会话;命中结果必须可见,不能因分组折叠而呈现“无结果”或隐藏匹配项。
- 切换工作区或 Agent 时清理旧结果并防止过期响应串入新列表;刷新后归档状态与来源保持一致。
- 查询、展开分组和浏览历史不应偷偷取消归档、删除或改写原始会话。打开归档会话时如上游要求先恢复,应明确呈现该操作及其影响。
Codex / Claude 接入边界
- Codex 优先复用官方历史接口,通过归档筛选取得记录,再与普通会话一起按产品规则展示。
- Claude 同样需要完成归档历史查询与展示;实施前核实其 CLI/ACP 的真实历史数据源、归档标记及可用接口,不能假设其参数或存储格式与 Codex 相同。若上游能力存在差异,需明确兼容方案及限制,不能以仅实现 Codex 作为本需求完成。
- 优先复用上游能力和现有 Agent Host/平台适配边界,视图层不直接扫描 CLI 私有文件;运行时不向应用安装目录写入历史缓存或状态。
验收标准
- Codex:当前工作区的普通会话与已归档会话均可查询,归档状态正确。
- Claude:完成相同的工作区归档历史查询与展示流程,并记录经验证的数据来源和状态映射。
- “已归档”分组可以展开、收起,数量和条目状态正确;普通历史与“已移除会话”保持各自语义。
- 搜索标题/ID 能找到归档会话并展示命中结果;无匹配、归档为空、加载失败均有明确反馈。
- 多页历史无遗漏、无重复;工作区切换、Agent 切换及刷新不会混入旧结果或其他工作区会话。
- 浏览归档历史不改变上游归档状态和原始记录;需要恢复才能继续的流程有明确提示。
- 验证窄宽面板、深浅主题、键盘展开/收起及两个 Agent 的真实历史流程;同步更新跨平台功能矩阵,明确各平台实现与验证状态。
Target platform / 目标平台
Cross-platform / 跨平台
当前问题在 macOS Agent 面板确认;两个平台共用的查询和状态语义应保持一致,Windows 的页面支持与验证状态须据实记录。
Area / 模块
AI
Priority / 优先级
P2 / 后续考虑:目前不着急,可安排到后续版本
Alternatives considered / 已考虑的替代方案
使用上游工具查看归档只能作为临时替代,无法满足在 Lithe 当前工作区中统一查询的需求。将所有归档记录直接混入普通会话列表不符合可折叠分组展示的要求;“已移除会话”也不能代替上游归档。
Additional context / 补充信息
本次静态排查确认的 Codex 链路:
rust/lithe-agent-host/src/lib.rs的list_sessions通过 ACPsession/list传入工作区cwd并遍历分页。- 项目固定及本机已安装的
@agentclientprotocol/codex-acp为1.13.1;其正式listSessions调用thread/list时传入cursor、modelProviders、sourceKinds,未传archived: true,随后按目录筛选结果。 - 适配器中的归档查询只出现在诊断计数中,并未合并到返回给 Lithe 的会话列表。
- Codex 官方 App Server 文档说明:
archived为true时只列出归档会话,省略或为false时只列出未归档会话。因此不能只把现有请求改为true,否则会丢失普通历史。 macos/Sources/Lithe/Views/Agent/AgentHistoryView.swift目前仅有全部、收藏、已移除筛选,并对已加载列表进行标题/ID 搜索。macos/Sources/Lithe/Platform/MacOS/Agent/MacAgentHistoryAdapters.swift保存的是 Lithe 本地历史元数据。
上述根因已针对 Codex 核实;Claude 的具体归档实现尚未核实,本 issue 将其作为必须一并完成的接入需求。
Checklist / 提交前检查
- I searched existing issues for duplicates. / 我已搜索现有 Issue,确认没有重复建议。
- 已移除本机路径、会话内容、账号信息等个人数据。
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.8k
- Forks
- 151
- Merge medio
- 11 h 45 min
- PR fusionados (30 d)
- 293
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de 1lck/Lithe-IDEA
-
area:editor bug P0 platform:macos review: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
1lck/Lithe-IDEA#1118 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
ci(macos): Mac mini runner 上 AgentBrandIconResourceTests 品牌图标渲染测试必然失败Posiblemente ocupada @1lck la tomó hoy. Abiertoreview: medium
1lck/Lithe-IDEA#1297 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Bug] 下拉git分支疯狂上下滚动直接崩了退出Posiblemente ocupada @arkleselect la tomó hoy. Abiertoarea:editor bug issue-form:bug P0 platform:macos review: low
1lck/Lithe-IDEA#1277 · 4 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Bug][Windows/macOS] 从 origin/main 新建功能分支后,推送可能直接更新远端 mainPosiblemente ocupada @milestone-17 la tomó hoy. Abiertobug claimed review: medium
1lck/Lithe-IDEA#1272 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Feature] 需要关闭已保存功能Posiblemente ocupada @haloneko la tomó hace 1 día. Abiertoarea:ux claimed enhancement issue-form:feature P1 platform:windows review: medium
1lck/Lithe-IDEA#1260 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de 1lck/Lithe-IDEA
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Chocobozzz/PeerTube#7832 ·
Los mantenedores suelen responder en 3 días
-
Pay to use?Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 66/100
darkreader/darkreader#16108 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Add: Dak Nong TV SDAbiertocheck:passed streams:add
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
bug engine
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
frostney/GocciaScript#1746 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
agilepathway/label-checker#739 · 4 comentarios ·
Los mantenedores suelen responder en 1 día