介绍
# yutori-web-research
使用 Yutori 的云代理完成两项任务:
1) **Research**(广度/深度网络研究 + 引文),通过 `POST /v1/research/tasks` 2) **Browsing**(云浏览器上的网页导航代理),通过 `POST /v1/browsing/tasks`
此技能适用于 **web 任务**,即当专用的 web 代理很有帮助时(如论文、竞品、产品信息、从站点提取列表),且 OpenClaw 本地的 `web_fetch` 或 `browser` 工具并不适用。
## 前置条件(认证 + 端点)
- 需要 **YUTORI_API_KEY**(首选:由 OpenClaw Gateway 环境提供;回退:`~/.openclaw/openclaw.json` 中的 `env.YUTORI_API_KEY`)。 - 除非被覆盖,端点默认为 **dev**: - 设置 `YUTORI_API_BASE=https://api.dev.yutori.com` (dev) - 或 `YUTORI_API_BASE=https://api.yutori.com` (prod)
如果请求返回 `403 Forbidden`,说明密钥可能无权访问所请求的 API 产品(Research/Browsing)。
## 附带的运行脚本
此技能期望存在一个小的 Node 运行脚本(或与此技能打包在一起):
- `yutori-research.mjs` — 创建并轮询一个研究任务;打印 **精美文本** 输出。
建议:将其打包在此技能文件夹的 `scripts/yutori-research.mjs` 下。
## 工作流:研究一个主题(简报 + 阅读列表)
当用户要求进行研究时(例如:“上个月的 RL 论文”):
1) 编写一个紧凑的查询提示,请求: - **1 页简报**(主题 + 趋势) - **精选阅读列表**(10-15 项,每项包含标题、1-2 句话摘要、重要性说明以及链接) - 优先选择原始来源(arXiv + 出版商页面)
2) 使用运行脚本运行研究任务(示例):
```bash cd /Users/juanpin/.openclaw/workspace node yutori-research.mjs "Research reinforcement learning papers from the last 30 days. Output (1) a concise 1-page brief of themes/trends and (2) a curated list of 12 papers with title, 2-sentence summary, why it matters, and a link. Prefer arXiv + conference links." ```
3) 以 **整洁的要点**(而非原始 JSON)形式向用户返回结果,并包含源 URL。
## 工作流:浏览站点并提取信息(例如:员工列表)
当用户提出以下要求时,使用 Browsing API: - “导航到 <site> 并列出……” - “填写表单 / 点击页面 / 收集项目”
创建一个浏览任务(示例 curl):
```bash curl --request POST \ --url "$YUTORI_API_BASE/v1/browsing/tasks" \ --header "x-api-key: $YUTORI_API_KEY" \ --header "Content-Type: application/json" \ --data '{ "task": "Give me a list of all employees (names and titles) of Yutori.", "start_url": "https://yutori.com", "max_steps": 60 }' ```
轮询直到 `succeeded`,然后返回去重后的列表。
## 输出风格
- 优先使用 **精美文本** + 要点。 - 包含关键的源 URL。 - 如果代理输出包含 HTML(例如 `<pre>...</pre>`),请将其去除并返回纯文本。
## 故障排除
- `401 Missing API key header`:确保发送了正确的头部。Yutori 对大多数 API 使用 `x-api-key`。 - `403 Forbidden`:密钥在该环境中无权访问该产品。 - 长时间运行的任务:分享 `view_url` 并可选择延长轮询时间。