核心概念
会话与对话
一个任务可以承载多个独立的 agent 会话
任务 ≠ 会话
任务是工作单元(一个 worktree、一个目标);会话(conversation)是任务里的一次 agent 对话。一个任务可以开多个会话:
- 让 Claude Code 写实现,再开一个 Codex 会话做 review
- 第一轮对话跑偏了,开个新会话重来,worktree 里的改动保留
- 不同会话可以选不同的 Runtime 和不同的自定义 Agent
会话恢复
会话由确定性的 session ID 标识,关闭任务再打开时,Yoda 会用各 Runtime 的恢复机制(如 Claude Code 的 --resume)接回上下文。每个会话记录:
- 完整的终端转录(transcript)
- 使用的 Runtime、Agent、MCP 配置
- 启用的技能与记忆文件
会话摘要
Yoda 可以为会话生成摘要,用于侧栏速览和任务状态条。相关设置:
| 设置 | 说明 |
|---|---|
summaryAgentId | 用哪个 Agent 生成摘要 |
summaryLanguage | 摘要语言:跟随应用 / 跟随 prompt / 英文 / 中文 |
statusBarSource | 任务状态条的信息来源 |
摘要和任务自动命名一样,由本机的 Runtime CLI 生成——Yoda 不会把你的代码发给任何额外的 API。
终端体验
会话视图就是真终端(node-pty + xterm.js):
- 支持 tmux 包装(按任务开关,或项目级默认)
- 回滚行数可配置(100–10000 行)
- 字体、选中自动复制等见 设置参考