对话
对话历史和会话如何工作
xiantong 将你的对话组织得像电子邮件收件箱,让你可以轻松管理多个进行中的任务,并随时回到之前的工作。
多对话收件箱#
想象 xiantong 是一个 AI 对话的邮件客户端。每个对话都是独立的线程,你可以:
- 随时启动、暂停和恢复
- 按状态组织(待办、进行中、需要复审、已完成等)
- 搜索和筛选以查找以前的工作
- 不再需要时归档或删除

会话 ID 格式#
每个对话都有一个唯一的会话 ID,格式为:
YYMMDD-adjective-noun
其中 YY 是两位数年份(例如 2025 年为 25,2026 年为 26)。例如:
260121-swift-falcon- 2026 年 1 月 21 日创建260115-gentle-river- 2026 年 1 月 15 日创建260108-bright-mountain- 2026 年 1 月 8 日创建
这种格式让会话按日期容易识别,同时保持易读且易于记忆。
对话存储#
会话以 JSONL(JSON Lines)文件格式存储在本地机器的 ~/.xiantong/workspaces/{id}/sessions/{session-id}/session.jsonl。文件格式为:
- 第 1 行:包含元数据的会话头
- 第 2 行及以后:消息(每行一条)
{"id":"260121-swift-falcon","workspaceRootPath":"~/.xiantong/workspaces/ws-abc123","createdAt":1737451800000,"lastUsedAt":1737451900000,"sessionStatus":"todo","permissionMode":"ask"}
{"id":"msg_1","type":"human","content":"查找我的项目规划文档","timestamp":1737451800000}
{"id":"msg_2","type":"assistant","content":"找到了“Project Planning Q4”……","timestamp":1737451802000}
会话头字段:
| 字段 | 描述 |
|---|---|
id | 会话 ID(YYMMDD-adjective-noun) |
workspaceRootPath | 工作区路径(可移植格式) |
createdAt | 创建时间戳(毫秒) |
lastUsedAt | 最近活动时间戳(毫秒) |
sessionStatus | 状态 ID(例如 “todo”、“done”) |
permissionMode | 当前模式:“safe”、“ask”、“allow-all” |
name | 可选的用户自定义名称 |
isFlagged | 会话是否已标记 |
model | 此会话的模型覆盖 |
llmConnection | LLM 连接标识(首次消息后锁定) |
connectionLocked | 连接是否已锁定(首次消息后无法更改) |
thinkingLevel | 思考级别:"off"、"low"、"medium"、"high" 或 "max" |
workingDirectory | Bash 命令的工作目录 |
enabledSourceSlugs | 活跃来源标识数组 |
该格式提供:
- 快速列表加载——收件箱显示仅读取第一行
- 高效流式写入——可追加消息而无需重写文件
- 易于解析——每行独立,可单独处理
基于状态的组织#
可通过状态组织对话以跟踪工作流程:
| 状态 | 类别 | 描述 |
|---|---|---|
| 待办 | 打开 | 等待处理的会话 |
| 进行中 | 打开 | 正在积极处理的会话 |
| 需复审 | 打开 | 在完成前需要复核 |
| 已完成 | 关闭 | 已完成的会话 |
| 已取消 | 关闭 | 不再需要的会话 |
打开状态会出现在收件箱;关闭状态会被归档。你可以自定义状态以匹配你的流程——添加像“阻塞”或“等待”这样的自定义状态,使其适合你的工作方式。
批量操作#
选择多个会话以执行批量操作。在 macOS 上按住 ⌘ 点击,在 Windows/Linux 上按住 Ctrl+Click 以切换单个会话,或按 ⇧ 点击 进行范围选择。选择多个会话时,会显示批量操作面板,包含以下操作:
| 操作 | 描述 |
|---|---|
| 更改状态 | 对所有选定会话设置相同状态 |
| 设置标签 | 在所有选定会话之间切换标签 |
| 标记 / 取消标记 | 标记或取消标记所有选定会话 |
| 归档 | 归档所有选定会话 |
| 删除 | 永久删除所有选定会话 |
按 Esc 可清除选区。
右键单击多选项以通过上下文菜单访问这些相同操作,还包括标记/取消标记和删除选项。
会话连续性#
当你返回会话时,xiantong 会恢复全部上下文:
- 所有以前的消息都可访问
- 助手会记住你之前的讨论
- 可以从中断的地方继续
- 之前引用的文档和文件仍然可用
> 正在恢复会话 250121-swift-falcon...
上一条消息:“我已经确定了认证模块的依赖”
> 很好,我们开始重构吧
继续我们中断的位置。我将从 AuthProvider 组件开始...
会话如何运作#
每个会话都与一个工作区绑定。当你与 xiantong 聊天时:
- 助手会记住在会话中之前讨论过的内容
- 你可以引用之前的话题(“总结那份文档”、“像之前那样再添加一个任务”)
- 随着工作深入,上下文自然累积
> 查找我的项目规划文档
找到了 “Project Planning Q4” - 这是概览...
> 添加一个名为 “时间表” 的新章节
已将 “时间表” 章节添加到 Project Planning Q4。
> 现在在该章节中添加三个任务
已将 3 个任务添加到时间表章节:
1. 定义里程碑
2. 设定截止日期
3. 指派负责人
开始新对话#
要开始新的对话,请在侧边栏点击 新建聊天 按钮或使用快捷键。这样会创建一个拥有全新 ID 的聊天,同时保留收件箱中的以前对话。
在对话中使用技能#
技能是你可以通过括号语法调用的专用能力。提到技能时,它会在完整访问对话历史的情况下激活:
> 查找我的项目规划文档
找到了 “Project Planning Q4” - 这是概览...
> [skill:research] 查找我们 Q4 目标的背景研究
正在激活 research 技能...
[该技能可以参考上一条交流中的项目规划文档]
这意味着:
- 技能可以引用早先对话中的文档和上下文
- 使用技能时会保留完整会话历史
- 你可以将技能串联使用,每个技能都建立在之前的工作之上
想了解更多创建和使用技能的内容,请参阅技能文档。
长对话#
对于持续时间较长的工作会话,xiantong 会自动管理上下文:
- 大型工具结果(超过 15,000 个令牌)会自动总结以节省上下文空间
- Claude Agent SDK 会透明地处理上下文窗口管理
- 最近的上下文始终可供参考
你无需手动管理——系统会透明处理。
跨工作区的对话#
每个工作区都有独立的对话历史:
| 工作区 | 对话 |
|---|---|
| 个人笔记 | 独立历史 |
| 工作项目 | 独立历史 |
| 共享团队空间 | 独立历史 |
切换工作区即可切换到该工作区的对话上下文。
传输会话#
你可以通过会话菜单中的 发送到工作区 将会话传输到远程工作区。这会在目标工作区中创建一个独立副本,并附带会话摘要以保留上下文。详情请参阅共享。
高效对话建议#
使用引用
说“那份文档”或“我们刚刚创建的任务”,而不是重复完整名称。助手会跟踪你正在讨论的内容。
在之前的操作基础上继续
创建完某件事后,可以立即修改它:“现在再加一个截止日期”或“更改标题”。
寻求澄清
如果助手理解错误,只需澄清:“不,我指的是另一个项目”或“指的是上周的那个”。
使用状态保持组织
将对话标记为待办、需复审或已完成,以便在多个线程间保持工作追踪。