session-manager.md
目标:对 Codex / Claude Code 的本地会话记录进行可视化管理,并提供“一键复制 / 一键终端恢复”能力。 范围:v1 仅 macOS,但必须预留多平台扩展入口。
开发者同时使用 Codex CLI、Claude Code 时,常见痛点:
FR-1 扫描本地会话数据源,生成统一的 Session 列表
FR-2 本地索引(Cache/DB)
FR-3 数据源路径探测(可配置 + 多候选)
FR-4 列表展示字段(建议最小集)
FR-5 列表交互
FR-6 空态/异常态
FR-7 会话内容展示
FR-8 性能策略
FR-9 “复制恢复命令”按钮
说明:不同版本 CLI 命令可能略有差异,建议将命令模板做成可配置项(Settings),默认提供推荐模板。
FR-10 “复制会话目录”按钮
cd 的绝对路径(或原样)FR-11 “在终端恢复”按钮(或下拉菜单)
cd "<projectDir>" && <resumeCommand>(若 projectDir 为空则仅执行 resumeCommand)FR-12 终端目标选择与记忆
统一接口(示例):
detect(): booleanscanSessions(): SessionMeta[]loadTranscript(sessionId): Message[]getResumeCommand(sessionId): stringgetProjectDir(sessionId): string | nulllaunch(command: string, cwd?: string, targetTerminal: TerminalKind): ResultresolveProviderDataPaths(providerId): string[]默认原则:全本地、只读、不上传。
providerId: "codex" | "claude" | stringsessionId: stringtitle?: stringsummary?: stringprojectDir?: string | nullcreatedAt?: numberlastActiveAt?: numbersourcePath?: stringrole: "user" | "assistant" | "tool" | "system" | stringcontent: stringts?: numberraw?: any(保留原始字段,便于兼容未来格式)cd projectDir && resumeCommand