会话管理
Mogick CLI 将对话保存在持久化会话中,便于稍后继续工作。会话数据库位于 <db-path>,部分载荷保存在配套目录中,详见数据目录。启动 mogick 时默认创建新会话;通过 --resume <id> 恢复指定会话,--continue 恢复最近活跃会话,加载已保存的历史和设置,不保证恢复压缩前的完整上下文。会话列表按活动时间排序,标题和摘要由模型生成。
会话生命周期与状态
每个会话在持久化层和运行时层各有一组状态,二者相互独立但协同工作。持久化状态决定了会话是否可见、是否可交互;运行时状态则反映会话在当前进程中的活跃程度。
| 持久化状态 | 说明 |
|---|---|
active | 活跃状态,可正常加载和交互,是会话的默认工作状态 |
closed | 已关闭,历史记录完整保留但不可接受新输入,可随时重新打开 |
archived | 已归档,在默认列表中隐藏以减少干扰,数据完整保留且可恢复 |
| 运行时状态 | 说明 |
|---|---|
foreground | 当前前台运行,直接接收用户输入,同一时刻仅一个会话处于此状态 |
background | 后台挂起,不占用终端输入,但持久化数据持续保存 |
理解这两组状态的区别很重要:例如,一个 active 的会话可能在运行时处于 background(你切到了另一个会话),而一个 closed 的会话再打开后又会变为 active 并进入 foreground。
CLI 命令
Mogick 提供了完整的命令行接口用于会话管理。以下命令覆盖了日常使用中最常见的操作场景:
| 命令 | 说明 |
|---|---|
mogick sessions list | 列出当前工作区的会话,显示 ID、标题、持久化状态和最后更新时间 |
mogick sessions create | 创建新的空白会话 |
mogick sessions rename <id> <名称> | 为会话指定自定义名称,方便后续查找 |
mogick sessions delete <id> | 删除会话及关联的持久化记录,包括历史;不是标记为 closed,成功后不能再恢复或导出该会话 |
mogick sessions export <id> | 导出会话数据,支持多种输出格式 |
mogick sessions feedback | 提交会话使用反馈 |
mogick --resume <session-id> | 恢复指定 ID 的会话 |
mogick --continue | 自动恢复最近一次活跃会话,无需手动查找 ID |
--continue 和 --resume 都会恢复指定会话并继续对话,区别在于:--resume 需要指定会话 ID,--continue 自动找到最近一次活跃会话。
删除前请确认会话 ID,并按需导出历史或备份数据。导出的会话记录不等于可直接恢复的完整备份。删除会话不会撤销它已经造成的工作区文件修改,也不等于清除跨会话长期记忆。备份范围见数据目录。
TUI 操作
在交互式终端界面中,会话管理同样触手可及。
| 操作 | 说明 |
|---|---|
/sessions | 打开会话浏览器,支持关键词搜索、状态筛选和历史会话一键切换 |
/rename | 重命名当前会话 |
/new | 创建全新空白会话,当前会话自动转入后台保留 |
展开 /sessions 会话列表后,也可以在列表中重命名会话。会话浏览器的右侧栏会展示当前选中会话的详细信息:标题、摘要、ID、工作目录、上下文窗口用量和缓存命中率。这些信息帮助你快速判断哪个会话值得恢复,尤其在处理大量历史会话时非常实用。
会话导出
导出可读会话历史,或使用 mogick sessions --json export <id> 输出 JSON。范围与限制见会话导出。
ACP 多客户端支持
Mogick 支持通过 ACP(Agent Communication Protocol)实现多客户端并发连接。宿主应用通过 session/new 方法注入 MCP 配置来创建专属会话,每个客户端获得独立的会话空间和 MCP 资源集。当会话被关闭、归档或删除时,与之关联的 MCP 资源会自动清理,无需手动管理。
多个 ACP 客户端可以同时连接到同一个 Mogick 实例,各自的会话状态和 MCP 配置相互隔离,互不干扰。这为多用户协作和自动化编排提供了基础能力。
存储与数据管理
会话使用当前 profile/通道生效的数据库。完整备份还可能需要载荷、运行时状态、配置和工作区文件,见数据目录与备份范围。恢复会话会加载已保存历史和设置,不保证与退出前完全相同的内存上下文或外部环境。
路径占位符 <config-dir>、<db-path> 指当前 profile/通道实际生效的路径,见数据目录。