Skip to content
文档首页

会话管理 ​

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/通道实际生效的路径,见数据目录。