cURL 与原生 HTTP
本页只展示当前后端真实存在的路径。Base URL 是 https://webagent.qoni.ai,公开 user-facing 路由带 /api/v1 前缀。
bash
export BASE_URL=https://webagent.qoni.ai
export PROJECT_ID=proj_xxxxxxxxxxxxxxxxxxxxxxxx
export API_KEY=wa_xxxxxxxxxxxxxxxxxxxxxxxx
export AUTH="Authorization: Bearer ${API_KEY}"DoAnything
创建 run(不传 session_id 会创建新的 session):
bash
curl -X POST "$BASE_URL/api/v1/projects/$PROJECT_ID/do_anything/runs" \
-H "$AUTH" -H "Content-Type: application/json" \
-d '{"instructions":"打开 Hacker News,列出首页前五条故事。"}'查询、事件流和取消:
bash
curl "$BASE_URL/api/v1/projects/$PROJECT_ID/do_anything/runs/$RUN_ID" -H "$AUTH"
curl -N "$BASE_URL/api/v1/projects/$PROJECT_ID/do_anything/runs/$RUN_ID/events" -H "$AUTH"
curl -X POST "$BASE_URL/api/v1/projects/$PROJECT_ID/do_anything/runs/$RUN_ID/cancel" \
-H "$AUTH" -H "Content-Type: application/json" -d '{"reason":"user_cancelled"}'intervene、messages、pause、resume、continue 等端点的精确 body 以 OpenAPI 为准。不要把旧的 client.sessions / client.events 示例当成 Node SDK API。
DeepResearch
bash
curl -X POST "$BASE_URL/api/v1/projects/$PROJECT_ID/deep_research/runs" \
-H "$AUTH" -H "Content-Type: application/json" \
-d '{"topic":"2026 年浏览器自动化的主要趋势","depth":"standard"}'
curl -N "$BASE_URL/api/v1/projects/$PROJECT_ID/deep_research/runs/$RUN_ID/events" -H "$AUTH"
curl "$BASE_URL/api/v1/projects/$PROJECT_ID/deep_research/runs/$RUN_ID/artifacts" -H "$AUTH"DeepResearch 还提供 cancel、feedback 和终态 run 的 messages follow-up;当前没有 intervene 路径。
WebSearch
bash
curl -X POST "$BASE_URL/api/v1/projects/$PROJECT_ID/web_search/runs" \
-H "$AUTH" -H "Content-Type: application/json" \
-d '{"queries":["browser automation 2026"],"max_results_per_query":5,"summarize":true}'
curl "$BASE_URL/api/v1/projects/$PROJECT_ID/web_search/runs/$RUN_ID" -H "$AUTH"
curl -N "$BASE_URL/api/v1/projects/$PROJECT_ID/web_search/runs/$RUN_ID/events" -H "$AUTH"WebSearch 当前只有创建、查询、事件流和取消;没有 messages、refine 或 follow-up。
Track
bash
curl -X POST "$BASE_URL/api/v1/projects/$PROJECT_ID/track/tracks" \
-H "$AUTH" -H "Content-Type: application/json" \
-d '{"instructions":"检查 https://example.com/ 的标题变化","schedule":{"daily_at":"09:00","tz":"Asia/Singapore"}}'
# 将创建响应的 id 保存为 TRACK_ID。
curl "$BASE_URL/api/v1/projects/$PROJECT_ID/track/tracks/$TRACK_ID/checks" -H "$AUTH"每日调度提前 0–30 分钟;也可用整数 every_seconds(600–2592000)。run_now 返回 202 与 track_id/session_id/run_id,不代表完成;checks 仅返回最近 50 次。创建会立即启动 first_look,checks 成功终态是 done。首次或当前检查未结束时,手动 run_now 返回 409 task_in_progress;先读回终态再由用户明确发起,不自动重试。pause/delete 不取消在途检查。Track 没有 SSE、旧 DSL 或通知字段;完整边界见 Track。
SSE 断线续传
SSE 支持 Last-Event-ID:
bash
curl -N "$BASE_URL/api/v1/projects/$PROJECT_ID/do_anything/runs/$RUN_ID/events" \
-H "$AUTH" -H "Last-Event-ID: $LAST_EVENT_ID"所有请求体、响应和错误字段以 OpenAPI spec 为最终依据。