mcpField
A
active-research

active-research

github.com/actionbook生産性1.6k2.8k 回インストール1 週間前に更新
リポジトリ

active-research について

active-researchは、Actionbook Browserでトピック、分野、論文を調査し、レポートを作成するスキルです。入力に応じて検索方法を選び、動的ページ向けのブラウザー操作も含みます。

主な機能

  1. 01トピック、分野、論文の調査
  2. 02入力に応じた検索方法の選択
  3. 03SPAと動的ページへの対応
  4. 04HTMLレポートの生成
  5. 05JSON出力先の指定

活用シーン

  1. 01トピックに関する情報の収集と整理
  2. 02論文の閲覧と関連研究の探索
  3. 03指定URLのページ内容の分析

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/actionbook/actionbook --skill active-research

インストール後、Claude Code で/active-researchを入力して読み込まれたか確認します。

詳細

アクティブリサーチ

Actionbook Browser を使用して、あらゆるトピック、分野、論文を分析し、美しい HTML レポートを生成します。SPA 対応のナビゲーション、ネットワークアイドル検出、一括操作、インテリジェントなページ分析を備えています。

強化されたブラウザー機能

機能説明
ページ読み込みの待機wait-idle — ネットワークが落ち着くまで fetch/XHR を監視します
SPA コンテンツwait-fn — 抽出前に JS の条件が満たされるまで待機します
ページの理解snapshot --filter interactive --max-tokens N — 対象を絞り、トークン数を節約します
ポップアップのブロック--auto-dismiss-dialogs — alert/confirm/prompt を自動処理します
読み込み速度--block-images — 画像を読み込まず、テキスト抽出を高速化します
ページの安定化--no-animations — CSS トランジションを停止します
エラー検出console --level error — ページの問題を確認します
複数ステップのフォームbatch — 1 回の呼び出しで複数の操作を実行します
要素のデバッグinfo <selector> — 可視性、位置、プロパティを調べます
変更の追跡snapshot --diff — 変更された部分だけを確認します
検出回避保護されたサイトでは --stealth と fingerprint rotate を使用します
認証管理storage set — 制限されたコンテンツ向けに JWT/トークンを注入します
1 回限りの取得browser fetch <url> — 1 つのコマンドで移動、待機、抽出、終了を行います
静的ページの高速化--lite — HTTP を優先し、必要な場合のみブラウザーにフォールバックします
スクレイピング対策 URL--rewrite-urls — x.com→xcancel.com、reddit→old.reddit
待機時間の調整--wait-hint — ドメインに応じた待機(fast/normal/slow/heavy)
ログの関連付け--session-tag — デバッグ用にすべての操作にタグを付けます

使い方

/active-research <topic>
/active-research <topic> --output ./reports/my-report.json

または、Claude に「XXX を調査してレポートを生成して」と伝えるだけです。

パラメーター
パラメーター必須デフォルト説明
topicはい-調査する対象(任意のテキスト)
--outputいいえ./output/<topic-slug>.jsonJSON レポートの出力先
トピックの検出
パターン種類戦略
arxiv:XXXX.XXXXX論文arXiv Advanced Search と ar5iv の詳細な読み込み
doi:10.XXX/...論文DOI を解決し、関連研究を arXiv Advanced Search で検索します
学術関連のキーワード(paper、research、model、algorithm)学術トピックarXiv Advanced Search と、学術以外の情報源を Google で検索します
URL特定のページページを取得して分析します
一般的なテキストトピック調査Google 検索を行い、関連がある場合は arXiv Advanced Search も実行します

アーキテクチャ

┌──────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────┐
│  Claude   │────▶│  Actionbook  │────▶│  Web Pages   │────▶│ Extract  │
│  Code     │     │   Browser    │     │  (multiple)  │     │ Content  │
└──────────┘     └──────────────┘     └──────────────┘     └─────┬────┘
      │           │ wait-idle    │     │ SPA / dynamic │           │
      │           │ batch ops    │     │ protected     │           │
      │           │ --stealth    │     │ mobile-only   │           │
      │           │ snapshot     │     └───────────────┘           │
      │           └──────────────┘                                 │
      │          ┌──────────────┐     ┌──────────────┐            │
      ├─────────▶│  Actionbook  │     │ arXiv Adv.   │            │
      │          │  search/get  │────▶│ Search Form  │───────────▶│
      │          │  (selectors) │     │ (40+ fields) │            │
      │          └──────────────┘     └──────────────┘            │
      │                                                            │
┌──────────┐     ┌──────────────┐     ┌──────────────┐            │
│  Open in │◀────│   json-ui    │◀────│  Write JSON  │◀───────────┘
│  Browser │     │   render     │     │  Report      │  Synthesize
└──────────┘     └──────────────┘     └──────────────┘

Actionbook CLI の使用が必須です

Web の閲覧には、必ず actionbook browser コマンドを使用してください。Web へのアクセスにほかの方法を使用してはいけません。

  • bash 経由で curl、wget、httpie などの HTTP CLI ツールを使用してはいけません
  • bash 経由で python -c "import requests" やスクリプト言語の HTTP ライブラリを使用してはいけません
  • WebFetch や WebSearch ツールを使用してはいけません
  • actionbook browser と actionbook search/actionbook get コマンドのみを使用してください

Web コンテンツが必要な場合は、次の方法を優先してください:actionbook browser fetch <url> --format text --json(1 回限り)。 複数の操作を行う対話型ワークフローでは、actionbook browser open <url> → actionbook browser wait-idle → actionbook browser text を使用してください。

ブラウザーのフラグ — 調査時のデフォルト

重要:調査のためにブラウザーを開く際は、必ずこれらのフラグを使用してください。

# PREFERRED: One-shot fetch (I1) — handles open+wait+extract+close automatically
actionbook --block-images --rewrite-urls browser fetch "<url>" --format text --json

# For interactive multi-step workflows, use explicit open:
actionbook --block-images --auto-dismiss-dialogs --no-animations --rewrite-urls browser open "<url>"
フラグ理由
--block-images画像のダウンロードを省略し、テキスト抽出時のページ読み込みを2~5倍高速化します
--auto-dismiss-dialogsアラート/確認/プロンプトが自動化を妨げないようにします
--no-animationsCSS アニメーションを停止し、安定したスナップショットを取得してタイミングの問題を防ぎます
--rewrite-urlsボット対策によるブロックを避けるため、x.com→xcancel.com、reddit→old.reddit に URL を書き換えます
--wait-hint <hint>ドメインに応じて待機します:instant、fast、normal、slow、heavy、またはミリ秒
--session-tag <tag>ログの照合とデバッグのため、すべての操作にタグを付けます
--lite(fetch のみ)まず HTTP を試し、静的ページ(Wikipedia、ドキュメント、ブログ)ではブラウザーを省略します

ボット対策が施されたサイトでは、--stealth を追加してください:

actionbook --block-images --auto-dismiss-dialogs --no-animations --stealth --rewrite-urls browser open "<url>"

ナビゲーションのパターン — 必ず従うこと

オプション A:一括取得(読み取り専用のページ抽出に推奨):

# Single command: navigate → wait (domain-aware) → extract → close
actionbook --block-images --rewrite-urls browser fetch "<url>" --format text --json
# For static pages (Wikipedia, docs, blogs), add --lite to skip browser entirely:
actionbook --rewrite-urls browser fetch "<url>" --format text --lite --json
# For accessibility tree:
actionbook --block-images --rewrite-urls browser fetch "<url>" --format snapshot --max-tokens 2000 --json

オプション B:対話型の複数ステップパターン(フォーム、クリック、複数ページにわたる操作フロー向け):

# Step 1: Navigate
actionbook browser open "<url>"          # or: goto, click a link

# Step 2: Wait for load (MANDATORY in v2)
actionbook browser wait-idle             # Wait for fetch/XHR to settle

# Step 3: Extract content
actionbook browser text [selector]       # Extract text
# OR
actionbook browser snapshot --filter interactive --max-tokens 500  # Understand page structure

wait-idle が重要な理由:

  • SPA(React、Vue、Next.js)は、初期 HTML の読み込み後に fetch/XHR でコンテンツを読み込みます
  • 待機しないと、text の結果が空または不完全になります
  • wait-idle は保留中のネットワークリクエストをすべて監視し、500ms 間通信が途切れるまで待機します

ネットワークが落ち着いた後にコンテンツを動的に読み込むページの場合:

actionbook browser wait-idle
actionbook browser wait-fn "document.querySelector('.results')"    # Wait for specific element
actionbook browser text ".results"

完全なワークフロー

注意: このワークフローでのすべてのウェブアクセスには、必ず actionbook browser コマンドを使用してください。 curl、wget、python requests、その他の HTTP ツールを使用することは厳禁です。 bash ツールは、actionbook CLI コマンドとローカルファイル操作(json-ui render、open)にのみ使用してください。

Step 1:検索戦略を立てる

トピックに基づいて、異なる観点から5~8件の検索クエリを作成します:

  • 中心となる定義/概要
  • 最新の動向/ニュース
  • 技術的な詳細/実装
  • 比較/代替案
  • 専門家の意見/分析
  • ユースケース/用途

検索の順序 — 必ず Actionbook API にクエリしてから検索してください:

ステップ操作理由
Step 2(最初)Actionbook API にクエリブラウズする前に、arXiv、ar5iv、その他の既知のサイトの検証済みセレクターを取得します。
Step 3(2番目)arXiv の詳細検索複数のフィールドを使った絞り込み検索には、Actionbook のセレクターを使用します。
Step 4(3番目)Google/Bing で検索ブログ、ニュース、コード、議論など、学術論文以外の情報源で補足します。
Step 2:セレクターを取得するため Actionbook API にクエリする(必ず最初に実行)

URL をブラウズする前に、Actionbook のインデックス済みセレクターを必ず照会してください。

# Search for indexed actions by domain
actionbook search "<keywords>" -d "<domain>"

# Get detailed selectors for a specific page
actionbook get "<domain>:/<path>:<area>"

調査に役立つ、事前にインデックスされたサイト:

サイトarea_id主なセレクター
arXiv 詳細検索arxiv.org:/search/advanced:default40件以上のセレクター:フィールド選択、検索語入力、カテゴリのチェックボックス、日付範囲フィルター
ar5iv の論文ar5iv.labs.arxiv.org:/html/{paper_id}:defaulth1.ltx_title_document、div.ltx_authors、div.ltx_abstract、section.ltx_section
Google Scholarscholar.google.com:/:default#gs_hdr_tsi(検索)、#gs_hdr_tsb(送信)
arXiv ホームページarxiv.org:/:default240万件以上の論文を横断検索

アクセスする予定の URL については、actionbook search "<keywords>" -d "<domain>" を実行して、インデックスされているか確認してください。

ステップ 3:arXiv 検索(URL を優先し、フォームは予備として使用)

教訓:ブラウザー自動化による arXiv フォームの送信は不安定です。URL ベースの検索を主な方法として使用してください。

オプション A:URL ベースの検索(主な方法 — 最も信頼性が高い):

# Simple keyword search
actionbook --block-images --auto-dismiss-dialogs --no-animations browser open "https://arxiv.org/search/?query=large+language+model+agent&searchtype=all"
actionbook browser wait-idle
actionbook browser text "#main-container"

# Advanced URL search with filters
# searchtype: all, title, author, abstract
# start: result offset (0, 50, 100, ...)
actionbook browser open "https://arxiv.org/search/?query=Rust+machine+learning&searchtype=all&start=0"
actionbook browser wait-idle
actionbook browser text "#main-container"

検索戦略:広く検索してから絞り込みます:

  1. 最初の検索:広範な用語(例:"Rust" "machine learning")を使用します — 50 件以上の結果を目指します
  2. 結果が少なすぎる場合(10 件未満):さらに対象を広げ、日付やカテゴリのフィルターを削除します
  3. 結果が多すぎる場合(200 件超):より具体的な用語を追加し、searchtype=title を使用します
  4. 2~3 種類の異なる検索の切り口を試します(例:フレームワーク名、ユースケース、ベンチマーク)

オプション B:バッチによるフォーム操作(予備 — URL 検索で不十分な場合に使用):

# Open arXiv with research flags
actionbook --block-images --auto-dismiss-dialogs --no-animations browser open "https://arxiv.org/search/advanced"
actionbook browser wait-idle

# Use batch for form — fewer round-trips, more reliable
cat <<'EOF' | actionbook browser batch --delay 150
{
  "actions": [
    {"kind": "click", "selector": "#terms-0-field"},
    {"kind": "click", "selector": "option[value='title']"},
    {"kind": "type", "selector": "#terms-0-term", "text": "large language model agent"},
    {"kind": "click", "selector": "#classification-computer_science"},
    {"kind": "click", "selector": "#date-filter_by-3"},
    {"kind": "type", "selector": "#date-from_date", "text": "2025-01-01"},
    {"kind": "type", "selector": "#date-to_date", "text": "2026-02-23"},
    {"kind": "click", "selector": "button:has-text('Search'):nth(2)"}
  ],
  "stopOnError": true
}
EOF
actionbook browser wait-idle
actionbook browser text "#main-container"

# If batch form submission fails (page shows form again instead of results):
# → Fall back to Option A URL-based search immediately
# → Do NOT retry the form — it wastes time

arXiv の検索機能(インデックス済みのセレクターより — オプション B 用):

機能セレクター
検索フィールド(Title/Author/Abstract)#terms-0-field select
検索語句#terms-0-term input
ブール演算子の語句を追加button "Add another term +"
フィルター:Computer Science#classification-computer_science
フィルター:Physics、Math など#classification-physics、#classification-mathematics
日付:過去 12 か月#date-filter_by-1 radio
日付:特定の年#date-filter_by-2 radio + #date-year
日付:カスタム範囲#date-filter_by-3 radio + #date-from_date / #date-to_date
アブストラクトを表示#abstracts-0 radio
ステップ 4:Google / Bing 検索で補足
# Search via Google (with wait-idle for SPA results)
actionbook browser open "https://www.google.com/search?q=<encoded_query>"
actionbook browser wait-idle
actionbook browser text "#search"

# Or search via Bing
actionbook browser open "https://www.bing.com/search?q=<encoded_query>"
actionbook browser wait-idle
actionbook browser text "#b_results"

検索結果を解析して URL を抽出します。見つかった URL ごとに Actionbook API に問い合わせ、インデックス済みかどうかを確認します。

重要:URL の取り扱いルール(実運用から得た教訓)

  1. 検索スニペットから URL を手動で構築しないでください。 Google のスニペットに表示される URL の多くは、省略されたり形式が変更されたりしています。代わりに、次の方法を使用します:

    • actionbook browser snapshot --filter interactive を使用して、実際のリンク要素を見つけます
    • リンクを直接クリックします:actionbook browser click "a[href*='domain.com']"
    • または、スナップショットの参照から href を抽出します
  2. URL の 20~30%は無効だと想定してください。 実際には、20 件中約 5 件の URL が 404 を返します。次のように対処します:

    actionbook browser open "<url>"
    actionbook browser wait-idle
    # Check if the page is a 404 or error page
    actionbook browser wait-fn "!document.title.includes('404') && !document.title.includes('Not Found')" --timeout 3000
    # If timeout → page is dead, skip immediately. Do NOT retry.
    
  3. Google のスニペットから情報を救済します。 URL が無効でも、Google のスニペットに有用な情報が含まれていた場合:

    • すでに抽出したスニペットのテキストは有効なデータです
    • ソースが利用できなくなっている旨を記して、レポートに使用します
    • 代替サイト(archive.org、キャッシュ版)で同じ内容を検索します
  4. 異なる検索クエリを 4 つ以上使用します。 1 つの切り口だけに頼らないでください:

    • クエリ 1:トピックの概要(例:「Rust AI ecosystem 2026」)
    • クエリ 2:特定のフレームワーク/ツール(例:「Candle vs Burn Rust ML framework」)
    • クエリ 3:ユースケース/ベンチマーク(例:「Rust LLM inference performance benchmark」)
    • クエリ 4:最近のニュース/動向(例:「Rust machine learning latest 2026」)
    • クエリ 5:コミュニティ/エコシステム(例:「Rust AI agent framework comparison」)
ステップ 5:ソースを詳しく読む

推奨:1 回でページを抽出できる browser fetch を使用します(待機、抽出、クリーンアップを処理します):

# Quick text extraction (most common)
actionbook --block-images --rewrite-urls browser fetch "<url>" --format text --json

# Static pages (Wikipedia, docs, blogs) — skip browser entirely
actionbook --rewrite-urls browser fetch "<url>" --format text --lite --json

# Page structure analysis
actionbook --block-images --rewrite-urls browser fetch "<url>" --format snapshot --max-tokens 2000 --json

# With token budget for LLM context management
actionbook --block-images --rewrite-urls browser fetch "<url>" --format text --max-tokens 4000 --json

インタラクティブなワークフロー(フォーム、クリック)では、複数ステップの方法に切り替えます:

actionbook browser open "<url>"
actionbook browser wait-idle                    # MANDATORY: wait for network
actionbook browser text                         # Full page text (fallback)
actionbook browser text "<selector>"            # Use Actionbook selector if indexed

ページの内容が不完全に見える場合は、デバッグします:

# Check for JS errors that might block rendering
actionbook browser console --level error

# Check if a specific element exists
actionbook browser wait-fn "document.querySelector('.content')" --timeout 5000

# Inspect element properties
actionbook browser info ".content"

arXiv の論文では、次の順にソースを試します:

# 1. arXiv abstract (most reliable) — use fetch
actionbook --block-images browser fetch "https://arxiv.org/abs/<arxiv_id>" --format text --json

# 2. HuggingFace papers page
actionbook --block-images browser fetch "https://huggingface.co/papers/<arxiv_id>" --format text --json

# 3. ar5iv HTML (structured, but fails on new papers) — use --lite for static HTML
actionbook browser fetch "https://ar5iv.org/html/<arxiv_id>" --format text --lite --json
# NOTE: if content too short, ar5iv didn't render. Fall back.

# 4. GitHub repo (from search results) — use fetch
actionbook --block-images browser fetch "<github_repo_url>" --format text --json

保護されたサイト(Cloudflare、ボット検知)では、ステルス機能を備えたインタラクティブモードを使用します:

actionbook --stealth --block-images --auto-dismiss-dialogs --rewrite-urls browser open "<protected_url>"
actionbook browser wait-idle
actionbook browser text

モバイル専用コンテンツの場合:

actionbook browser emulate iphone-14
actionbook browser open "<url>"
actionbook browser wait-idle
actionbook browser text

Google Scholar(Actionbook によりインデックス済み)の場合:

actionbook browser open "https://scholar.google.com"
actionbook browser wait-idle
actionbook browser click "#gs_hdr_tsi"
actionbook browser type "#gs_hdr_tsi" "<query>"
actionbook browser click "#gs_hdr_tsb"
actionbook browser wait-idle
actionbook browser text "#gs_res"

インデックスされていないサイトでは、スナップショットを使用して構造を確認します:

actionbook --block-images browser fetch "<url>" --format snapshot --max-tokens 800 --json
ステップ 6:調査結果を統合

収集した情報を、以下の構成で一貫性のあるレポートにまとめます:

  1. 概要/エグゼクティブサマリー
  2. 主な調査結果
  3. 詳細な分析
  4. 裏付けデータ/証拠
  5. 影響/重要性
  6. ソース
ステップ 7:json-ui JSON レポートを生成

@actionbookdev/json-ui スキーマに従って JSON ファイルを作成します。Write ツールを使用します。

出力パス: ./output/<topic-slug>.json(またはユーザーが指定した --output パス)

Step 8: HTML をレンダリングする

重要:あきらめる前に、必ずすべてのフォールバック方法を試してください。最初の失敗で中止しないでください。

重要:JSON_FILE と HTML_FILE には、必ず絶対パスを使用してください。

成功するまで、各方法を順番に試してください。

# Method 1: Monorepo absolute path (most reliable if inside actionbook project)
node "$(git rev-parse --show-toplevel)/packages/json-ui/dist/cli.js" render /absolute/path/to/report.json -o /absolute/path/to/report.html

# Method 2: Global install (if user ran: cd packages/json-ui && npm link)
json-ui render /absolute/path/to/report.json -o /absolute/path/to/report.html

# Method 3: npx (if published to npm)
npx @actionbookdev/json-ui render /absolute/path/to/report.json -o /absolute/path/to/report.html

**何も伝えずにあきらめてはいけません。**すべての方法が失敗した場合は、ユーザーに次のことを伝えてください。

  1. JSON レポートの保存先は <path> です
  2. HTML のレンダリングを有効にするには、次を実行してください:cd <actionbook-repo>/packages/json-ui && npm link
Step 9: ブラウザーで開く
# macOS
open <report.html>

# Linux
xdg-open <report.html>
Step 10: ブラウザーを閉じる

作業が終わったら、必ずブラウザーを閉じてください:

actionbook browser close

エラー回復パターン

高度なブラウザー機能を使用したインテリジェントなエラー回復:

パターン:ページの読み込みに失敗した場合
# 1. Open page
actionbook browser open "<url>"
actionbook browser wait-idle --timeout 15000

# 2. Check for JS errors
actionbook browser console --level error
# If errors found → page is broken, skip to next source

# 3. Check if content rendered
actionbook browser wait-fn "document.body.innerText.length > 100" --timeout 5000
# If timeout → content didn't render, try fallback
パターン:セレクターが見つからない場合
# 1. Use snapshot to discover actual page structure
actionbook browser snapshot --filter interactive --max-tokens 800

# 2. Or inspect a specific area
actionbook browser info "<parent_selector>"
# Returns: suggested selectors, visibility, tag info

# 3. Adjust selector and retry
パターン:ボット対策の検出
# 1. If initial load returns CAPTCHA or access denied:
actionbook browser close

# 2. Reopen with stealth
actionbook --stealth --no-animations --auto-dismiss-dialogs browser open "<url>"
actionbook browser wait-idle

# 3. If still blocked, rotate fingerprint
actionbook browser fingerprint rotate --os windows
actionbook browser open "<url>"
actionbook browser wait-idle
パターン:SPA のコンテンツが読み込まれない場合
# 1. Wait for network
actionbook browser wait-idle --idle-time 1000 --timeout 15000

# 2. Wait for specific element
actionbook browser wait-fn "document.querySelector('.results')" --timeout 10000

# 3. If still empty, check console
actionbook browser console --level error

# 4. Try clicking a loading trigger
actionbook browser snapshot --filter interactive --max-tokens 300
# Look for "Load More", "Show Results", etc.

エラー処理の完全なリファレンス

エラー回復方法
ブラウザーを開けないactionbook browser status を実行し、再試行してから console --level error を確認
ページの読み込みがタイムアウトするwait-idle --timeout 15000 を実行し、その後 console --level error で診断
URL が 404 を返すwait-fn "!document.title.includes('404')" で素早く検出します。**すぐにスキップし、再試行しないでください。**代替データとして Google のスニペットテキストを使用します。
arXiv のフォーム送信に失敗するURL ベースの検索に切り替えます:arxiv.org/search/?query=...&searchtype=all
ar5iv のコンテンツが途中で切れるarxiv の概要に切り替え、wait-fn "document.body.innerText.length > 5000" で確認します
セレクターが見つからないsnapshot --filter interactive で実際の構造を確認します
動的コンテンツが見つからないwait-idle と、特定の条件を指定した wait-fn を使用します
アラートポップアップが妨げになる--auto-dismiss-dialogs を指定すると完全に防げます
ボット対策の検出--stealth と fingerprint rotate を使用します
メディアの多いページの読み込みが遅い--block-images または --block-media で 2~5 倍高速化します
CSS アニメーションが干渉する--no-animations ですべてのトランジションを停止します
json-ui のレンダリングがクラッシュするMetricsGrid を確認します。suffix/value はプレーンな文字列である必要があります
npx json-ui が 404 を返す3 つすべての方法(モノレポ、グローバル、npx)を試します
検索結果が見つからないまず広く検索し(50 件以上)、その後絞り込みます。4 つ以上の検索クエリの切り口を使用します。

重要:エラーが発生した場合も含め、終了前に必ず actionbook browser close を実行してください。

機能の使用チェックリスト

調査を完了する前に、以下の機能を使用したことを確認してください:

機能使用する場面確認
browser fetchページの読み取り専用抽出(open+wait+text より優先)ほとんどのページの読み取りに使用
--lite静的ページ(Wikipedia、ドキュメント、ブログ)— ブラウザーを完全に省略静的サイトでは fetch に追加
--rewrite-urls常に使用(x.com、reddit のボット対策を回避)ブラウザーの初回起動時に設定
--wait-hintドメインに応じた待機時間の調整(fast/slow/heavy)fetch または手動のフローで使用
--session-tagログの関連付けが必要な複数手順の操作デバッグセッション用に設定
wait-idleナビゲーションを開始する open/goto/click の後に毎回使用すべてのページで必ず使用
--block-images常に使用(調査に画像は不要)ブラウザーの初回起動時に設定
--auto-dismiss-dialogs常に使用(操作の妨げを防止)ブラウザーの初回起動時に設定
--no-animations常に使用(安定したスナップショットを取得)ブラウザーの初回起動時に設定
wait-fnネットワークが落ち着いた後にコンテンツが非同期で読み込まれる場合SPA、動的ページで使用
console --level errorページのコンテンツが不完全、または壊れているように見える場合デバッグに使用
batch複数手順のフォーム(arXiv、Google Scholar)に入力する場合5 回以上の逐次コマンドを置き換え
snapshot --filter interactive未知のページ構造を調べる場合インデックス化されていないサイトで使用
info <selector>クリックや入力が想定どおりに動作しない場合要素の表示状態をデバッグ
--stealthサイトで CAPTCHA またはアクセス拒否が返される場合再試行時に追加

避けるべきよくある間違い:

  • browser fetch なら 1 つのコマンドで済むのに、手動で open → wait-idle → text → close を使用する
  • 静的ページ(Wikipedia、ドキュメント、ブログ)で --lite を使用しない(ブラウザーの起動に 5〜10 秒かかる)
  • --rewrite-urls を使用しない(x.com と reddit.com は強力なボット対策によりスクレイピングがブロックされる)
  • インタラクティブモードでナビゲーション後に wait-idle を忘れる(コンテンツが空に見える)
  • フォーム操作で batch を使用しない(遅く、信頼性が低い)
  • 使えなくなった URL を再試行する(スキップしてください)
  • 検索結果のスニペットから URL を手動で組み立てる(リンクをクリックしてください)
  • 1 つの検索クエリの切り口しか使わない(多様なクエリを常に 4 つ以上使用してください)
  • コンテンツを抽出する前に 404 ページかどうかを確認しない

json-ui レポートテンプレート

重要:必ず BrandHeader と BrandFooter を含めてください。

{
  "type": "Report",
  "props": { "theme": "auto" },
  "children": [
    {
      "type": "BrandHeader",
      "props": {
        "badge": "Deep Research Report",
        "poweredBy": "Actionbook"
      }
    },
    {
      "type": "Section",
      "props": { "title": "Overview", "icon": "paper" },
      "children": [
        {
          "type": "Prose",
          "props": {
            "content": "Overview of the topic..."
          }
        }
      ]
    },
    {
      "type": "Section",
      "props": { "title": "Key Findings", "icon": "star" },
      "children": [
        {
          "type": "ContributionList",
          "props": {
            "items": [
              {
                "badge": "Finding",
                "title": "...",
                "description": "..."
              }
            ]
          }
        }
      ]
    },
    {
      "type": "Section",
      "props": { "title": "Detailed Analysis", "icon": "bulb" },
      "children": [
        {
          "type": "Prose",
          "props": { "content": "..." }
        }
      ]
    },
    {
      "type": "Section",
      "props": { "title": "Key Metrics", "icon": "chart" },
      "children": [
        {
          "type": "MetricsGrid",
          "props": { "metrics": [], "cols": 3 }
        }
      ]
    },
    {
      "type": "Section",
      "props": { "title": "Sources", "icon": "link" },
      "children": [
        {
          "type": "LinkGroup",
          "props": { "links": [] }
        }
      ]
    },
    {
      "type": "BrandFooter",
      "props": {
        "timestamp": "YYYY-MM-DDTHH:MM:SSZ",
        "attribution": "Powered by Actionbook",
        "disclaimer": "This report was generated by AI using web sources. Verify critical information independently."
      }
    }
  ]
}
論文レポートテンプレート(arXiv 論文向け)

学術論文を分析する際は、以下を含む、より詳細なテンプレートを使用してください:

  • PaperHeader(タイトル、arxivId、日付、カテゴリ)
  • AuthorList(著者と所属)
  • Abstract(キーワードのハイライトを含む)
  • ContributionList(主な貢献)
  • MethodOverview(手順ごとの手法)
  • ResultsTable(実験結果)
  • Formula(主要な数式、LaTeX)
  • Figure(ar5iv の論文図)
利用可能な json-ui コンポーネント
コンポーネント用途主なプロパティ
BrandHeaderレポートのヘッダーbadge, poweredBy
PaperHeader論文のメタデータtitle, arxivId, date, categories
AuthorList著者authors: [{name, affiliation}], maxVisible
Section主要なセクションtitle, icon (paper/star/bulb/chart/code/link/info/warning)
Proseリッチテキストcontent (太字、斜体、code、リストに対応)
Abstract要旨のテキストtext, highlights: ["keyword"]
ContributionList番号付きの知見items: [{badge, title, description}]
MethodOverview手順ごとの概要steps: [{step, title, description}]
MetricsGrid主要な統計情報metrics: [{label, value, trend, suffix}], cols
ResultsTableデータテーブルcolumns, rows, highlights: [{row, col}]
Table汎用テーブルcolumns: [{key, label}], rows, striped, compact
Callout情報/ヒント/警告type (info/tip/warning/important/note), title, content
Highlight引用ブロックtype (quote/important/warning/code), text, source
KeyPoint重要な知見を示すカードicon, title, description, variant
CodeBlockコードスニペットcode, language, title, showLineNumbers
FormulaLaTeX の数式latex, block, label
Figure画像(複数可)images: [{src, alt, width}], label, caption
Image画像(単一)src, alt, caption, width
DefinitionList用語/定義items: [{term, definition}]
LinkGroupソースへのリンクlinks: [{href, label, icon}]
Gridグリッドレイアウトcols, children
Cardカードコンテナーpadding (sm/md/lg), shadow
TagListタグtags: [{label, color, href}]
BrandFooterフッターtimestamp, attribution, disclaimer
json-ui でよくある落とし穴
落とし穴症状対処法
MetricsGrid.suffix にオブジェクトを指定text.replace is not a functionsuffix はプレーンな文字列である必要があります
MetricsGrid.value に数値を指定レンダリングエラーvalue は文字列である必要があります(例:58.5 ではなく "58.5")
BrandHeader/BrandFooter の不足レポートの表示が崩れる必ず両方を含めてください
Table の行の値にオブジェクトを指定セルに [object Object] が表示される行のセルの値はプレーンな文字列である必要があります
Prose の内容が非常に長いレンダリング時に途中で切れる複数の Prose ブロックに分割するか、サブセクションを使用してください
テキストフィールド

すべてのテキストフィールドには、プレーンな英語の文字列を使用してください。

{ "title": "Key Findings" }

注: MetricsGrid のプロパティ value と suffix、および Table の行のセルの値には、常にプレーンな文字列を指定する必要があります。

学術論文への対応

arXiv 論文

ar5iv.org HTML(閲覧に推奨されますが、公開から 3 か月未満の論文では内容が不完全なことがよくあります):

要素セレクター信頼性フォールバック
タイトルh1.ltx_title_document高div.ltx_abstract
著者div.ltx_authors高—
要旨div.ltx_abstract高—
論文全文article中セクションのセレクターが機能しない場合に使用
セクションsection.ltx_section新しい論文では低article
図figure.ltx_figure中—
表table.ltx_tabular中—

推奨される方法: wait-idle と wait-fn を使って、ar5iv のコンテンツが読み込まれたことを確認します:

actionbook browser open "https://ar5iv.org/html/<arxiv_id>"
actionbook browser wait-idle --timeout 15000
actionbook browser wait-fn "document.body.innerText.length > 5000" --timeout 10000
# If wait-fn times out → content didn't render, fall back to other sources
推奨されるソースの優先順位
優先順位ソース得られる情報信頼性
1arxiv.org/abs/<id>要旨、メタデータ、投稿履歴非常に高
2huggingface.co/papers/<id>要旨、コミュニティ、関連モデル非常に高
3GitHub リポジトリREADME、コード、モデル一覧高
4HuggingFace のモデルカード学習レシピ、ベンチマーク高
5ar5iv.org/html/<id>論文全文の HTML中
6Google Scholar/Semantic Scholar被引用数、関連研究中
その他の学術情報源
  • Google Scholar(scholar.google.com)— Actionbook にインデックス登録済み
  • Semantic Scholar(semanticscholar.org)
  • Papers With Code(paperswithcode.com)
  • 学会の論文集サイト

品質ガイドライン

  1. 幅広さ:多様な情報源を少なくとも3~5件調査する
  2. 深さ:抜粋だけでなく、記事全文を読む
  3. 正確性:複数の情報源で事実を照合する
  4. 構成:コンテンツの種類に応じて適切な json-ui コンポーネントを使用する
  5. 出典の明記:レポートには必ず情報源へのリンクを含める
  6. 鮮度:関連性が同等の場合は、最近の情報源を優先する

コメント