跳到正文

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_xxxxxxxxxxxxxxxxxxxxxxxx

Node 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/qoni
ts
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 SDKREST 创建路径
开放式浏览器任务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。