后台任务
后台任务是 gateway 持有的工作记录,用于跟踪可能超过单轮前台回复寿命的工作。用户可以继续使用当前会话,Anyy 继续跟踪后台工作。
常驻 gateway 负责任务状态、日志访问、outbox 投递和完成通知。任务始终归属某个 session;列出或控制任务时需要匹配 session scope。
任务类型
Anyy 有三类用户可见的后台任务路径:
| 类型 | 如何开始 | 常见用途 |
|---|---|---|
| 后台子 Agent | background_job 或 /background <prompt> | 需要完成后通知的长时间 agentic 工作。 |
| 托管进程任务 | bash 搭配 background=true | 长命令、构建、测试、下载、服务进程。 |
| 工作流任务 | Runtime workflow 执行 | 可能带有子任务记录的父任务。 |
Cron 也可以为 scheduled run 创建 bridge 记录。这些记录用于投递和可观测性,不是另一套用户侧自动化系统。
后台子 Agent
对于明显需要异步继续跑的 agentic 工作,Anyy 使用 subagents toolset 里的 background_job。它会启动子会话,立即返回句柄,并在子任务完成或失败时通知。
accepted payload 包含:
| 字段 | 含义 |
|---|---|
background_job_id | 后台任务视图和 RPC 使用的句柄。 |
subagent_run_id | 子 Agent run id。 |
child_session_id | 子会话 id。 |
accepted_message | 面向用户的受理摘要。 |
TUI 中可以使用:
/background inspect the failing docs build and summarize what changed
/agents
/agents 会列出当前会话的子任务运行。
托管进程任务
对于长时间 shell 工作,模型可见的 bash 工具可以用 background=true 启动托管后台进程。随后用 process 工具管理这个任务。
常用 process actions:
| Action | 含义 |
|---|---|
list | 列出当前 session 的托管进程任务。 |
poll | 读取某个任务状态。 |
log | 读取任务输出。 |
wait | 带超时等待任务完成。 |
kill | 用 TERM 停止进程。 |
write、submit、close | 向交互式托管进程发送 stdin 或控制输入。 |
process 不是通用主机进程查看器。它只管理 Anyy 通过托管 shell 路径创建的任务。
停止进程或发送输入可能改变运行状态,因此这些操作走 runtime-high 进程操作的 ChangePlan 和审批策略。
TUI 与 RPC 入口
TUI 提供当前会话的任务视图:
/jobs
/job <id>
/job kill <id>
Gateway RPC 方法:
| RPC | 用途 |
|---|---|
jobs.list | 列出某个 session 的后台任务。 |
jobs.status | 查看单个任务;进程任务可附带日志。 |
jobs.logs | 读取进程任务日志。 |
jobs.wait | 等待进程任务。 |
jobs.kill | 停止进程任务。 |
jobs.clear | 在不再需要后清理进程任务记录。 |
jobs.logs、jobs.wait、jobs.kill 和 jobs.clear 当前适用于进程任务。非进程任务通过 jobs.status 查看;工作流任务可能返回子任务信息。
投递与通知
后台子 Agent 和 cron bridge 任务可以通过 gateway event bus 和 channel delivery 系统发布完成通知。事件 metadata 使用 source: background_job,并包含 background_job_id。
投递仍遵循 messaging 的 channel binding 和 outbox 规则。如果 channel 断开,完成通知可能留在 outbox,直到可以投递。
排查
如果 /jobs 看不到任务,先确认你还在启动该任务的同一个 session。任务控制是 session-scoped。
如果读取不到进程日志,确认该任务是托管进程任务。子 Agent 和工作流任务是状态记录,不是 shell 日志流。
如果后台子任务不再需要,进程任务用 /job kill <id> 停止;子 Agent 运行用 subagent_cancel 或 subagents.kill 停止。