> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jinba.io/llms.txt
> Use this file to discover all available pages before exploring further.

# TinyFish

> TinyFishのWebエージェントによる検索・取得・ブラウザ自動化

## 概要

TinyFishツールは、AIエージェント向けのWebインフラを提供します。構造化されたWeb検索、フルブラウザによるページ取得、そして実際のWebサイトを操作して構造化データを抽出する自然言語ブラウザエージェントが利用できます。

## 主な機能

* `TINYFISH_SEARCH`
  * クエリ文字列でWebを検索し、構造化されたJSON結果（タイトル・URL・説明・スニペット）を取得
  * 結果件数の指定（`num_results`、1〜50、デフォルト10）と、2文字の国コードによる地域ターゲティング（`country`、例: `us`、`jp`）に対応
* `TINYFISH_FETCH`
  * フルブラウザで1つまたは複数のURLをレンダリングし、クリーンなコンテンツを抽出。JavaScript依存のページにも対応
  * 単一のURL文字列またはJSON配列（`urls`）を指定でき、出力形式（`format`: `markdown`（デフォルト）、`html`、`json`、`text`）を選択可能
* `TINYFISH_AGENT`
  * ブラウザ自動化エージェントを実行。開始URL（`url`）と自然言語のゴール（`goal`）を指定すると、サイトを操作して構造化データを抽出
  * `timeout_seconds` で最大実行時間を設定可能（デフォルト300秒）
  * エージェントのイベントストリームと最終結果を返却

## 認証

すべてのTinyFishツールは、TinyFishのAPIキーで認証します。`api_key` 設定（シークレットとして保存）で指定してください。設定がない場合は、環境変数 `TINYFISH_API_KEY` にフォールバックします。

**注意**: APIキーは機密情報として扱い、パブリックリポジトリにコミットしないでください。

## 使用例

### 例: Web検索と上位ページの取得

```yaml theme={null}
- id: search_news
  name: search_news
  tool: TINYFISH_SEARCH
  config:
    - name: api_key
      value: "{{secrets.TINYFISH_API_KEY}}"
  input:
    - name: query
      value: AIワークフロー自動化の最新トレンド
    - name: num_results
      value: 5
    - name: country
      value: jp
- id: fetch_pages
  name: fetch_pages
  tool: TINYFISH_FETCH
  config:
    - name: api_key
      value: "{{secrets.TINYFISH_API_KEY}}"
  input:
    - name: urls
      value: '["https://example.com/article-1","https://example.com/article-2"]'
    - name: format
      value: markdown
```

### 例: ブラウザエージェントによる構造化データ抽出

```yaml theme={null}
- id: check_pricing
  name: check_pricing
  tool: TINYFISH_AGENT
  config:
    - name: api_key
      value: "{{secrets.TINYFISH_API_KEY}}"
  input:
    - name: url
      value: https://example.com/pricing
    - name: goal
      value: すべてのサブスクリプションプランと価格を調べて、JSONで返してください。
    - name: timeout_seconds
      value: 300
```

## 注意事項

* `TINYFISH_AGENT` は at-least-once 実行です。ワーカーが実行中に停止した場合、ランナーがジョブを再送信する可能性があります。フォーム送信や購入など不可逆な副作用を伴う操作には、外部の冪等性ガードを併用してください。
* `TINYFISH_FETCH` の `urls` は、単一のURL文字列、カンマ区切りのリスト、またはJSON配列のいずれの形式でも指定できます。
* `TINYFISH_SEARCH` が1回の呼び出しで返す結果は最大50件です。
