使用 TinyFish 进行网络搜索、获取 URL、阅读页面、获取最新信息、基于来源的答案、研究、文档、定价/产品页面、提取、抓取和浏览器自动化。当用户要求搜索、查找、查询、研究、比较、从网络获取信息、总结 URL、获取页面内容或自动化网站时使用。
TinyFish CLI
你可以使用 TinyFish CLI(tinyfish)——一套可以从终端调用的网络工具。
如果未安装:npm install -g @tiny-fish/cli
如果未认证:tinyfish auth login --source openclaw 或设置 TINYFISH_API_KEY 环境变量。
何时触发此技能
当请求依赖于实时网络信息或页面内容时,使用 TinyFish。不要等待用户说“TinyFish”或“抓取”。
强触发条件包括:
- 搜索或发现:搜索、查找、查询、研究、比较、最新、当前、新闻、文档、定价、产品详情、最佳选项。
- URL/页面阅读:获取、阅读、总结、从该页面提取、检查该 URL、获取内容、提取链接或元数据。
- 基于来源的答案:使用网络来源回答、验证事实、检查是否有变化、从网络收集信息。
- 网站操作:与网站交互、点击页面、填写表单、登录、收集结构化数据、处理受机器人保护的页面。
默认使用最轻量的工具来回答问题:
- 没有 URL 且用户需要网络信息:使用
search,如果需要更多细节,再fetch最佳结果。 - 提供了 URL 且只需要内容:使用
fetch。 - 需要页面交互或动态提取:使用
agent。 - 需要原始 CDP/Playwright 风格控制:使用
browser。
选择合适的工具
TinyFish 有四个工具。从最轻量且能完成任务的工具开始,仅在需要时升级。
search → fetch → agent → browser
最轻量 最重量
| 工具 | 使用时机 | 速度 | 成本 |
|---|---|---|---|
| search | 需要查找 URL、当前事实、文档、定价、产品详情或快速基于来源的答案 | 最快 | 最低 |
| fetch | 有 URL 且需要干净的页面内容、摘要、文章文本、文档、产品页面、链接或元数据 | 快 | 低 |
| agent | 需要与页面交互——点击、填写表单、导航、从动态网站提取结构化数据 | 较慢 | 较高 |
| browser | agent 不够用——需要通过 CDP 进行原始编程式浏览器控制 | 最慢 | 最高 |
常见模式
研究:search → fetch
搜索主题,然后获取最佳结果以阅读完整内容。
# 1. 查找 URL
tinyfish search query "best React state management libraries 2026"
# 2. 阅读顶部结果
tinyfish fetch content get --format markdown "https://result1.com" "https://result2.com"
深度提取:search → agent
搜索找到合适的网站,然后使用 agent 与网站交互并提取结构化数据。
# 1. 查找网站
tinyfish search query "Nike running shoes official store"
# 2. 在网站上自动化提取
tinyfish agent run --url "https://nike.com/running" \
"Extract all running shoes as JSON: [{\"name\": str, \"price\": str, \"colors\": [str]}]"
升级:fetch → agent
先尝试 fetch。如果页面是动态/重 JS 的,且 fetch 返回空或不完整的内容,则升级到 agent。
完全控制:agent → browser
如果 agent 无法处理复杂的多步骤工作流,则启动原始浏览器会话并通过 CDP 自行自动化。
命令
tinyfish search query
网络搜索。返回带标题、URL 和摘要的排名结果。
tinyfish search query "<query>" [--location <hint>] [--language <hint>] [--pretty]
- 默认返回 10 条结果
- 使用
--location和--language进行地理定位结果 - 默认输出为 JSON;
--pretty用于人类可读
tinyfish search query "best pho in Ho Chi Minh City" --location "Vietnam" --language "en"
tinyfish fetch content get
从一个或多个 URL 获取干净、提取的内容。去除广告、导航、样板——只返回内容。
tinyfish fetch content get <urls...> [--format markdown|html|json] [--links] [--image-links] [--pretty]
- 接受多个 URL 在单个调用中——它们在服务器端并行获取
--format markdown(默认)——干净的、可读的文本--format json——结构化文档树--links——包含页面中所有提取的链接--image-links——包含提取的图像 URL- 响应包括:
url、final_url、title、language、author、published_date、text、latency_ms
# 获取一个页面为 markdown
tinyfish fetch content get --format markdown "https://example.com/article"
# 获取多个页面并包含链接
tinyfish fetch content get --links "https://site-a.com" "https://site-b.com" "https://site-c.com"
tinyfish agent run
使用自然语言目标运行浏览器自动化。agent 打开真实浏览器,导航、点击、填写表单并提取数据。
tinyfish agent run --url <url> "<goal>" [--sync] [--async] [--pretty]
| 标志 | 用途 |
|---|---|
--url <url> |
目标 URL(裸主机名会自动添加 https://) |
--sync |
等待完整结果而不流式传输步骤 |
--async |
提交并立即返回 |
--pretty |
人类可读输出 |
输出: 默认流式传输 data: {...} SSE 行。最终结果是 type == "COMPLETE" 且 status == "COMPLETED" 的事件——提取的数据在 resultJson 字段中。直接读取原始输出;无需脚本端解析。
始终在目标中指定你想要的 JSON 结构:
tinyfish agent run --url "https://example.com/products" \
"Extract all products as JSON array: [{\"name\": str, \"price\": str, \"url\": str}]"
tinyfish agent run --url "https://example.com/search" \
"Search for 'wireless headphones', filter under $50, extract top 5 as JSON: [{\"name\": str, \"price\": str, \"rating\": str}]"
并行提取——当访问多个独立网站时,进行单独的调用。不要合并到一个目标中。
好——并行调用(同时运行):
tinyfish agent run --url "https://pizzahut.com" \
"Extract pizza prices as JSON: [{\"name\": str, \"price\": str}]"
tinyfish agent run --url "https://dominos.com" \
"Extract pizza prices as JSON: [{\"name\": str, \"price\": str}]"
坏——单个合并调用:
# 不要这样做——更不可靠且更慢
tinyfish agent run --url "https://pizzahut.com" \
"Extract prices from Pizza Hut and also go to Dominos..."
管理运行:
tinyfish agent run list [--status PENDING|RUNNING|COMPLETED|FAILED|CANCELLED] [--limit N]
tinyfish agent run get <run_id>
tinyfish agent run cancel <run_id>
批量操作——从 CSV 文件(url,goal 列)提交多个运行:
tinyfish agent batch run --input runs.csv
tinyfish agent batch list
tinyfish agent batch get <batch_id>
tinyfish agent batch cancel <batch_id>
tinyfish browser session create
启动远程浏览器实例。返回用于编程控制的 CDP WebSocket URL。
tinyfish browser session create [--url <url>] [--pretty]
--url可选地在创建后导航到页面- 返回
session_id、cdp_url(WebSocket)和base_url - 使用
cdp_url与 Playwright、Puppeteer 或任何 CDP 客户端
tinyfish browser session create --url "https://example.com"
# 返回:{ session_id, cdp_url: "wss://...", base_url: "https://..." }
一般说明
- 匹配用户的语言:用用户使用的语言回复。
- 所有命令都支持
--pretty用于人类可读输出。默认是 JSON。 - 在根命令上使用
--debug或设置TINYFISH_DEBUG=1将 HTTP 请求记录到 stderr。






