AI 简明手册
DeepSeek Harness 源码解读 · 会话与循环消息插队还是排队:Follow-up、Steer 与 Inject

消息插队还是排队:Follow-up、Steer 与 Inject

先盯住一个动作

DSH 用 next-turn 与 next-step 两条持久队列编码运行中消息。followup、steer、inject 共用 send(),仅 target 与 wakeup 不同。

沿执行轨迹走

  1. Turn 为完整工作

    Turn 为完整工作,Step 为一次模型请求及工具执行。followup 进 next-turn,等整轮结束;steer 进 next-step,下步开头被见;inject 与 steer 同进 next-step,但不唤醒。

    [repo]

  2. 消息领取制

    消息领取制:step 开始取空 next-step,轮次边界取一条 next-turn。取走落盘删除事件。中断后唤醒请求降级为 next-turn,inject 不受影响。

    [repo]

每一步改变了什么

  • pre-step 拒绝批次为何清空: claim 已使消息归属某 Turn,拒绝不回队以免重复消费。

  • 中断后发 steer 会怎样: 检测到唤醒请求且活动已中止时,改成 next-turn 等善后重放。

这条轨迹没有说明什么

  • 本页结论对应 revision 0a53fb55bea101816fa226bb964ae2bed71c343b。文件位置、命名和默认行为可能随版本变化,引用实现细节时应同时记录 commit。

来源与核验

  1. [repo] DeepSeek Harness 官方源码(固定 revision)
  2. [official] DeepSeek Harness 官方介绍

Revision:0a53fb55bea101816fa226bb964ae2bed71c343b · 核验日期:2026-08-31