Vyane 核心概念
session 与 goal
长任务怎么保上下文、跨天接续、额度接力
Vyane 里有两个容易混的概念:session 和 goal。一句话分清:
- session = 一条对话线程,负责「上下文别丢」
- goal = 一个长目标,负责「这件事有没有做完,做的过程能不能跨天、跨模型」
session:保住上下文
一个任务要跨好几轮对话,你不想每次都从头交代背景 —— 用 session 把它们串成一条线。
# 建一条 session(标题是位置参数)
uv run vyane session create "ISSUE-42 鉴权层重构"
# 输出一个 session id,例如 session-abc123
# 后续每次调用带上它,上下文自动接续
uv run vyane dispatch "先把 session 层拆出来" --session session-abc123
uv run vyane dispatch "现在给它补单元测试" --session session-abc123
# 看这条 session 的历史
uv run vyane session history session-abc123参数是 --session
给 dispatch 接续上下文的参数是 --session,不是 --vyane-session。
两种 session,别搞混
底层其实有两层"会话",MCP 工具里你会看到两个参数:
- Vyane session(话题会话) —— Vyane 自己的逻辑会话,不绑死具体模型 / harness,可以跨模型、跨执行壳接续。上面
--session接的就是它。 - native session(运行时会话) —— 执行壳自己的会话(比如 Claude Code 的 session-id、Codex 的 session)。它绑在某一个具体 harness 上。
日常用 Vyane session 就够了(它更上层、更灵活);native session 是在需要精确复用某个 harness 的原生会话时才用。
goal:管一个长目标
goal 是「一件要做完的大事」,有验收标准、有生命周期(创建 → 进行 → 完成 / 失败)。它最有用的地方是 额度接力(quota handoff):某个模型的额度用光了,自动切到备选模型继续,而不是卡死。
# 建一个长目标
uv run vyane goal create --title "把 review 流水线搬到新引擎"
# 追进度
uv run vyane goal progress <goal_id> "已完成 specialist 阶段迁移"
# 完成
uv run vyane goal done <goal_id>额度接力
当主力模型额度耗尽,Vyane 不自动瞎切,而是走「扫描 → 预览 → 批准 → 执行」四步,让你有掌控:
uv run vyane goal continuity-scan # 扫描:有没有目标卡在额度上
uv run vyane goal continuity-preview # 预览:打算怎么切
uv run vyane goal continuity-execute # 执行:切到备选模型继续session vs goal 一句话
同一件事,可以既有 goal(这事要做完)又有 session(做的过程中这条对话别断)。 goal 管「做没做完」,session 管「聊到哪了」。