generateText または streamText にツールを渡すと、モデルが検索、スクレイピング、クロールのタイミングを決定します。
npm からインストール →
機能
このパッケージは6つのツールを提供します:スクレイプ
任意の URL をスクレイプし、JavaScript レンダリングを伴うクリーンなマークダウンを返します
検索
ライブウェブを検索し、タイトル、URL、説明を返します
回答
ライブウェブからの質問に、ソース URL と共に回答します
マップ
ウェブサイト上の URL をリストし、オプションでクエリによってランク付けします
クロール
開始 URL からサイトをクロールし、各ページのマークダウンを返します
バッチ
一括で URL のリストをスクレイプし、各ページのマークダウンを返します
インストール
セットアップ
Olostep API キーを環境変数として設定します:.env ファイルに:
クイックスタート
すべての Olostep ツールをolostepTools() でモデルに渡します:
stopWhen を使用すると、モデルは複数のステップにわたってツールを呼び出すことができ、たとえば最初に検索し、次に最良の結果をスクレイプします。モデル文字列は Vercel AI Gateway を使用します。また、@ai-sdk/openai の openai('gpt-5-mini') など、任意の AI SDK プロバイダーモデルを渡すこともできます。
個別ツールの選択
必要なツールだけをモデルに与えます:利用可能なツール
以下のツール名はolostepTools() で使用されるキーです。
scrape
olostepScrape()。単一の URL をスクレイプし、その内容をマークダウンとして返します。
入力:
string
必須
スクレイプするページの URL
number
JavaScript が多いページのレンダリングを待つミリ秒数 (0 から 10000)
{ url, markdown }
search
olostepSearch()。ライブウェブを検索します。
入力:
string
必須
検索クエリ
number
デフォルト:"10"
最大結果数 (1 から 20)
{ query, results: [{ title, url, description }] }
answer
olostepAnswer()。質問に答えるためにライブウェブを検索し、読み、ソースを提供します。
入力:
string
必須
質問または調査タスク
{ answer, sources }
map
olostepMap()。ウェブサイト上の URL を発見します。
入力:
string
必須
マッピングするウェブサイト
string
このクエリに関連する URL をランク付け
number
返す URL の最大数 (1 から 500)
{ url, urls }
crawl
olostepCrawl()。開始 URL からウェブサイトをクロールし、各ページのマークダウンを返します。このツールはクロールが完了するまで待機します。
入力:
string
必須
クロールを開始する URL
number
デフォルト:"5"
クロールする最大ページ数 (1 から 25)
array
これらのグロブパターンに一致する URL のみをクロールします。例:
["/docs/**"]{ url, pages: [{ url, markdown }] }
batch
olostepBatch()。一括で URL のリストをスクレイプし、各ページのマークダウンを返します。このツールはバッチが完了するまで待機します。
入力:
array
必須
スクレイプする URL (1 から 20)
{ pages: [{ url, markdown }] }
クロールとバッチツールは、モデルの結果が小さくなるように、1 回の呼び出しで 25 ページと 20 URL に制限されています。より大きなジョブの場合は、Crawls および Batches API を Node.js SDK で直接呼び出してください。
オプション
すべてのツール、およびolostepTools() は同じオプションを受け入れます:
string
Olostep API キー。デフォルトは
OLOSTEP_API_KEY 環境変数です。number
デフォルト:"20000"
ページごとにモデルに返される最大コンテンツ文字数。長いページは切り捨てられます。
number
デフォルト:"300"
クロールとバッチツールがジョブの完了を待つ時間(秒)。
ストリーミング例
streamText を使用して同じツールを使用します。例えば、Next.js のルートハンドラーで:
app/api/chat/route.ts
人気のユースケース
リサーチアシスタント
リサーチアシスタント
- モデルは
searchまたはanswerを使用してソースを見つけます scrapeを使用して最も関連性の高いページを読みます- ソース URL と共に要約を返します
ドキュメント対応のコーディングエージェント
ドキュメント対応のコーディングエージェント
- モデルは
mapをsearchQueryと共に使用して適切なドキュメントページを見つけます batchまたはcrawlを使用してそれらを読みます- 現在の API に対してコードを書きます
競合他社と価格の監視
競合他社と価格の監視
- スケジュールされたジョブが
scrapeとbatchを使用してgenerateTextを呼び出します - モデルは各ページから価格や変更を抽出します
- あなたのコードは前回の実行と比較し、アラートを送信します
ベストプラクティス
必要なツールだけを渡す
必要なツールだけを渡す
各ツールの説明がモデルに送信されます。ツールが少ないほどトークンが少なく、誤ったツール選択が少なくなります。ページを読むだけのチャットには、
scrape と search だけで十分です。ステップ制限を設定する
ステップ制限を設定する
常に
stopWhen を設定します(例:stepCountIs(5))。これにより、モデルはツール呼び出しを連鎖できますが、永遠にループすることはできません。長いページに対して maxCharacters を下げる
長いページに対して maxCharacters を下げる
ページコンテンツはトークンの最大部分です。多くのページをクロールまたはバッチ処理する場合、
maxCharacters を下げて、すべての結果がモデルのコンテキストウィンドウに収まるようにします。大規模なクロールには timeoutSeconds を上げる
大規模なクロールには timeoutSeconds を上げる
クロールとバッチツールはジョブの完了を待ちます。タイムアウトが発生した場合は、
timeoutSeconds を上げるか、maxPages を下げます。トラブルシューティング
認証に失敗しました
認証に失敗しました
エラー: “無効な API キー”解決策:
- ダッシュボード で API キーを確認してください
OLOSTEP_API_KEYがコードが実行される場所に設定されていることを確認してください(例:Vercel プロジェクトの環境変数)- または、
olostepTools({ apiKey })で直接キーを渡します
モデルがツールを呼び出さない
モデルがツールを呼び出さない
解決策:
stopWhenを設定してください。そうしないと、生成が最初のステップで停止します- ツール呼び出しをサポートするモデルを使用してください
- プロンプトやシステムメッセージでウェブを言及してください。例えば、「ウェブツールを使用し、ソースを引用してください」
クロールまたはバッチがタイムアウトする
クロールまたはバッチがタイムアウトする
解決策:
timeoutSecondsを上げるmaxPagesを下げるか、URL を少なくする- サーバーレス関数では、関数自体の時間制限が
timeoutSecondsより長いことを確認してください
コンテキスト長を超えました
コンテキスト長を超えました
解決策:
maxCharactersを下げるmapをsearchQueryと共に使用して、読む前により関連性の高いページを選択します
料金
Olostep は AI SDK とは独立して、API 使用量に基づいて課金されます:- スクレイプ: スクレイプごとに課金
- 検索と回答: リクエストごとに課金
- バッチ: バッチ内の URL ごとに課金
- クロール: クロールされたページごとに課金
- マップ: マップ操作ごとに課金
サポート
関連リソース
スクレイプ API
スクレイプエンドポイントについて学ぶ
クロール API
クロールエンドポイントについて学ぶ
Mastra 統合
Mastra でエージェントを構築
LangChain 統合
LangChain で AI エージェントを構築