01|点下“新建”之后,请求去了哪里
上一节已经能在网页里创建任务,但按钮本身不会规划,也不会写文章。这一节沿着一次“新建”操作,追踪浏览器如何把需求交给 Python,再拿回任务编号。读完后,你要能独立用终端创建任务,并判断一次失败发生在输入检查还是任务执行阶段。
展开当前模块目录
如果想获取全套课程资料,请关注微信公众号 「AI面包君」,回复 「课程资料」 即可领取。
上一节已经能在网页里创建任务,但按钮本身不会规划,也不会写文章。这一节沿着一次“新建”操作,追踪浏览器如何把需求交给 Python,再拿回任务编号。读完后,你要能独立用终端创建任务,并判断一次失败发生在输入检查还是任务执行阶段。
保持工作台运行。另开一个位于项目根目录的 PowerShell,下面的命令都在这个新终端里输入。
1. 先不用网页,直接提交需求
把下面整段复制到 PowerShell。它会创建一项新的练习任务:
$body = @{
title = '从接口创建的练习任务'
brief = '为 Python 初学者整理一份 Agent 学习提纲'
parallel = $true
remote = $false
} | ConvertTo-Json
$job = Invoke-RestMethod -Method Post -Uri 'http://127.0.0.1:8766/api/jobs' -ContentType 'application/json; charset=utf-8' -Body ([Text.Encoding]::UTF8.GetBytes($body))
$job.id
ConvertTo-Json 把 PowerShell 的键值表转换成 JSON;Post 表示提交一个新任务;UTF-8 编码让中文按原样送到服务端。返回的 id 是任务编号,后续查询、确认和取消都要靠它。
现在查询同一项任务:
Invoke-RestMethod -Uri "http://127.0.0.1:8766/api/jobs/$($job.id)" | ConvertTo-Json -Depth 12
第一次提交后可能还在 planning,稍后查询应为 plan_review。回到网页刷新,左侧也应该有同一项任务。这说明网页和终端用的是同一套后端能力。

对照任务标题和左上方编号,而不是对照截图里的具体数字。截图使用 A2A 资料配置,你本次提交的 remote=false 会显示本地执行。
一次 HTTP 请求像一张写清楚去向的办事单
把创建任务想成去服务台办事:地址说明去哪个窗口,方法说明准备办什么,请求正文说明具体材料。服务台收到以后,还会给你一份回执。这里的地址是 /api/jobs,方法是 POST,材料是 title、brief 等字段,回执是带任务编号的 JSON。
查询已提交的任务则用 GET。你只是想知道进度,通常不用再附上一份创建材料。这也是为什么刷新任务详情不应该创建一条新任务,而反复执行 POST 创建命令会生成多条记录。
| 部分 | 本次请求的内容 | 少了它会怎样 |
|---|---|---|
| 服务地址 | http://127.0.0.1:8766 | 不知道请求发给谁 |
| 路径 | /api/jobs | 不知道调用哪项功能 |
| 方法 | POST | 服务端无法按预定创建入口处理 |
| 内容类型 | application/json | 服务端可能无法按预期读取正文 |
| 正文 | 标题、需求、并行与远程选项 | 没有创建任务需要的材料 |
试读到这里 · 后续内容已封存
关注公众号,继续把这章学完
在「AI面包君」发送关键词「学习AI」拿到口令。验证一次,这个浏览器就能继续阅读全部课程。