LM

ポーリングイベントの使用方法

ポーリングイベント機能を使用すると、リモートAPIから定期的にイベントを取得し、自動的にコマンドを実行できます。

設定方法

1. ポーリングイベントの有効化

ポーリングイベント機能を有効にするには、以下の設定を行います:

  • ポーリングイベントURL: イベントを取得するAPIのエンドポイント
    • 例:
      code
      https://api.example.com/events
  • ポーリング間隔(秒): ポーリングリクエスト間の間隔
    • 推奨: 30秒以上
  • ポーリングイベントBearerトークン: API認証用のトークン

2. 設定画面での入力

設定画面では以下の項目を入力できます:

code
ポーリングイベントURL: https://api.example.com ポーリング間隔(秒): 30 ポーリングイベントBearerトークン: ••••••••••••••••

動作仕様

ポーリング処理

  • 有効化されると、指定した間隔でポーリングイベントURLにGETリクエストが送信されます
  • 取得したレスポンスに基づいて、自動的にコマンドが実行されます
  • 各イベントは一意のIDを持ち、重複実行を防ぎます

APIレスポンス形式

ポーリングエンドポイントは以下のスキーマでイベントリストを返す必要があります:

typescript
// ベースイベントスキーマ id: z.string(), // ユニークなイベントID createdAt: z.string(), // イベント作成日時 type: z.literal('performSearch'), tag: z.string(), // 検索タグ query: z.string(), // 検索クエリ

スケジューリング機能

この仕組みでは直接的なスケジュール機能はありませんが、 外部でイベントリストを更新することで、スケジューリングを実現することが可能です。

対応イベントタイプ

現在サポートされているイベントタイプ:

performSearch

検索を実行するイベント

  • tag: 検索対象のタグ(LLMを実行する場合は、このタグでLLMが実行されます)
  • query: 検索クエリ文字列(LLM実行時は実質的にプロンプトとして機能します)

LLM実行機能

  • tagでLLMを実行できる場合、queryは実質的にプロンプトとして機能します
  • TabToolが搭載されている場合は、任意のページを開いて内容を解析することが可能です

実装例

APIエンドポイント例

json
{ "events": [ { "id": "event-001",// uuidを使う "type": "performSearch", "tag": "claude-4-0", "query": "https://example.com のページを開いて、その内容を取得して、特定のURLに送信してください。終了後tabをcloseしてください", "createdAt": "2024-01-15T10:32:00Z" }, { "id": "event-002", "type": "performSearch", "tag": "gemini-flash-2.5", "query": "指定されたWebページの内容を解析して、要約を作成してください。 markdownToolをつかって、saveしてください。 終了後tabをcloseしてください", "createdAt": "2024-01-15T10:33:00Z" }, { "id": "event-003", "type": "performSearch", "tag": "gpt-5", "query": "定期的にニュースサイトをチェックして、重要な情報を抽出してください。終了後tabをcloseしてください", "createdAt": "2024-01-15T10:34:00Z" } ] }

ユースケース

Google Chrome操作の活用

Google Chromeを操作できる利点を活用した様々なユースケースが可能です:

ログインが必要なページの処理

  • ログインが必要なページの内容を取得
  • 取得したデータを解析
  • 解析結果を特定のエンドポイントにクエリパラメータ付きで送信

柔軟なプロンプト実行

  • プロンプトを柔軟に投げることができるため、複雑な処理も実行可能
  • 定期的な自動処理にも十分対応

タブ管理の最適化

  • タブが増えすぎる問題を解決するため、TabToolの「closeTab」機能を活用
  • promptに「終了後tabをcloseしてくださいと」含めることを推奨

具体的な活用例

定期データ収集

  • ログインが必要なダッシュボードからデータを取得
  • 取得したデータを分析してレポート生成
  • 結果を指定されたAPIエンドポイントに送信

Webサイト監視

  • 特定のWebサイトの変更を定期的にチェック
  • 重要な更新があった場合に通知
  • 変更内容を解析して要約を作成

自動化ワークフロー

  • 複数のWebページを順次処理
  • 各ページのデータを統合
  • 最終結果を外部システムに送信

重複実行の防止

  • 各イベントのidは一意である必要があります
  • 一度実行されたイベントIDは内部で記録され、重複実行されません
  • 同じIDのイベントが再度受信されても、実行はスキップされます

注意事項

  • ポーリング間隔は30秒以上に設定することを推奨します
  • APIエンドポイントは適切な認証(Bearerトークン)を実装してください
  • レスポンス形式は指定されたスキーマに従ってください
  • 大量のイベントを一度に送信する場合は、APIのレート制限に注意してください

トラブルシューティング

よくある問題

ポーリングが開始されない

  • URLが正しく設定されているか確認
  • Bearerトークンが有効か確認

イベントが実行されない

  • レスポンス形式がスキーマに合っているか確認
  • イベントIDが重複していないか確認

認証エラー

  • Bearerトークンが正しく設定されているか確認
  • トークンの有効期限を確認

まとめ

ポーリングイベント機能は、リモートAPIから定期的にイベントを取得して自動実行する強力な機能です。主なポイント:

  • 設定: URL、間隔、Bearerトークンを設定
  • イベントタイプ: performSearchでLLM実行が可能
  • スケジューリング: 外部システムとの連携で実現
  • Chrome操作: ログインが必要なページの処理も可能
  • タブ管理: closeTab機能でタブの増加を制御
  • 重複防止: 一意のIDで重複実行を防止

この機能を活用することで、定期的なデータ収集、Webサイト監視、自動化ワークフローなど、様々な業務を効率化できます。

理解度チェック