• 简体中文
  • v6.5.2
  • 执行通道队列

    默认情况下,A3S Code 会在进程内运行每一个任务,没有任何队列。lane 队列属于可选基础设施:为某条 lane 注册一个外部 handler 后,路由到该 lane 的工具不会由 agent 执行,而是排入队列、等待外部 worker 取走。随后你自己排空这些待处理任务,按需运行它们,再把结果回报回来。只有当外部 worker 确实是你架构的一部分时,才需要用到它。

    共有四条 lane:controlqueryexecutegenerate。每个 handler 的 mode 可以是 internal(默认)、externalhybrid

    Rust
    Node.js
    Python
    Go

    说明:

    • 默认路径不含队列。 仅当会话创建时传入 queueConfig / queue_config / QueueConfighasQueue() / has_queue() / HasQueue() 才返回 true。未配置 queue 时,lane handler 没有可修改的队列。
    • 每个待处理任务都带有 task_idsession_idlanecommand_typepayloadtimeout_ms。工作完成后,把 task_id 传回给 completeExternalTask / complete_external_task / CompleteExternalTask
    • 结果结构为 { success, result?, error? }——result 可承载任意可 JSON 序列化的载荷,error 是失败时的可选消息。completeExternalTask / complete_external_task 在找到并完成任务时返回 true,否则返回 false
    • 在 Python 中这些队列方法是同步的;在 Node 中 setLaneHandlerpendingExternalTaskscompleteExternalTask 返回 promise,而 hasQueue 是同步的。
    • Go 队列调用接收 context.Context;Node 返回 promise;Python 使用同步方法。