5 分钟上手
当前有两条真实可用的调用路径:服务端 Node.js 使用 @qoniai/qoni,或任意语言直接调用 REST API。当前没有独立 Python SDK。
1. 准备凭据
原生 HTTP 需要项目 API key:
bash
export WEBAGENT_API_KEY=wa_xxxxxxxxxxxxxxxxxxxxxxxx
export WEBAGENT_PROJECT_ID=proj_xxxxxxxxxxxxxxxxxxxxxxxxNode SDK 需要服务端 AK/SK,并在运行时用真实 GenAuth 用户 ID 获取委托 token:
bash
export QONI_ACCESS_KEY=...
export QONI_SECRET_KEY=...
export QONI_USER_ID=...2. Node.js / TypeScript
bash
npm install @qoniai/qonits
import { Qoni } from "@qoniai/qoni";
const qoni = new Qoni({
accessKey: process.env.QONI_ACCESS_KEY!,
secretKey: process.env.QONI_SECRET_KEY!,
});
const { token } = (await qoni.delegateToken({
user: { id: process.env.QONI_USER_ID! },
products: ["doAnything"],
})).data;
const run = await qoni.doAnything.run({
token,
prompt: "打开 Hacker News,列出首页前五条故事的标题和链接。",
});
for await (const event of run.events()) {
console.log(event.type, event.data);
}
const result = await run.wait();
console.log(result.status, result.output);3. 原生 HTTP / cURL
bash
curl -X POST "https://webagent.qoni.ai/api/v1/projects/${WEBAGENT_PROJECT_ID}/do_anything/runs" \
-H "Authorization: Bearer ${WEBAGENT_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"instructions":"打开 Hacker News,列出首页前五条故事的标题和链接。"}'创建响应中的 run_id 用于查询详情或订阅:
bash
curl -N "https://webagent.qoni.ai/api/v1/projects/${WEBAGENT_PROJECT_ID}/do_anything/runs/${RUN_ID}/events" \
-H "Authorization: Bearer ${WEBAGENT_API_KEY}"4. 选择产品
| 目标 | Node SDK | REST 创建路径 |
|---|---|---|
| 开放式浏览器任务 | qoni.doAnything.run() | /api/v1/projects/{pid}/do_anything/runs |
| 研究报告 | qoni.deepResearch.run() | /api/v1/projects/{pid}/deep_research/runs |
| 结构化搜索结果 | qoni.webSearch.run() | /api/v1/projects/{pid}/web_search/runs |
| 长期监控 | qoni.track.create() | /api/v1/projects/{pid}/track/tracks |
三个 run 产品的创建接口都会返回异步 run;Node SDK 的 wait() 负责等待终态。完整字段以 OpenAPI 和各功能页为准。
下一步
Track 路径描述当前后端契约;npm 0.9.0 的旧 Track 入口不兼容,SDK 修复候选尚未发布,见 Track。