xiantong 文档

对话

对话历史和会话如何工作

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此会话的模型覆盖
llmConnectionLLM 连接标识(首次消息后锁定)
connectionLocked连接是否已锁定(首次消息后无法更改)
thinkingLevel思考级别:"off""low""medium""high""max"
workingDirectoryBash 命令的工作目录
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 会透明地处理上下文窗口管理
  • 最近的上下文始终可供参考

你无需手动管理——系统会透明处理。

跨工作区的对话#

每个工作区都有独立的对话历史:

工作区对话
个人笔记独立历史
工作项目独立历史
共享团队空间独立历史

切换工作区即可切换到该工作区的对话上下文。

传输会话#

你可以通过会话菜单中的 发送到工作区 将会话传输到远程工作区。这会在目标工作区中创建一个独立副本,并附带会话摘要以保留上下文。详情请参阅共享

高效对话建议#

使用引用

说“那份文档”或“我们刚刚创建的任务”,而不是重复完整名称。助手会跟踪你正在讨论的内容。

在之前的操作基础上继续

创建完某件事后,可以立即修改它:“现在再加一个截止日期”或“更改标题”。

寻求澄清

如果助手理解错误,只需澄清:“不,我指的是另一个项目”或“指的是上周的那个”。

使用状态保持组织

将对话标记为待办、需复审或已完成,以便在多个线程间保持工作追踪。