deep-research

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Deep Research

深度研究

Analyze any topic, domain, or paper and generate a beautiful HTML report using Actionbook browser automation and json-ui rendering.
分析任意主题、领域或论文,并通过Actionbook浏览器自动化与json-ui渲染生成美观的HTML报告。

Usage

使用方法

/deep-research:analyze <topic>
/deep-research:analyze <topic> --lang zh
/deep-research:analyze <topic> --output ./reports/my-report.json
Or simply tell Claude: "帮我深度研究 XXX 并生成报告" / "Research XXX and generate a report"
/deep-research:analyze <主题>
/deep-research:analyze <主题> --lang zh
/deep-research:analyze <主题> --output ./reports/my-report.json
或者直接告诉Claude:"帮我深度研究 XXX 并生成报告" / "Research XXX and generate a report"

Parameters

参数说明

ParameterRequiredDefaultDescription
topic
Yes-The subject to research (any text)
--lang
No
both
Language:
en
,
zh
, or
both
(bilingual)
--output
No
./output/<topic-slug>.json
Output path for JSON report
参数是否必填默认值说明
topic
-要研究的主题(任意文本)
--lang
both
语言选项:
en
(英文)、
zh
(中文)或
both
(双语)
--output
./output/<topic-slug>.json
JSON报告的输出路径

Topic Detection

主题检测

PatternTypeStrategy
arxiv:XXXX.XXXXX
PaperarXiv Advanced Search (Step 2b) + ar5iv deep read
doi:10.XXX/...
PaperResolve DOI, then arXiv Advanced Search for related work
Academic keywords (paper, research, model, algorithm)Academic topicarXiv Advanced Search (Step 2b) + Google for non-academic sources
URLSpecific pageFetch and analyze the page
General textTopic researchGoogle search + arXiv Advanced Search if relevant
匹配模式类型策略
arxiv:XXXX.XXXXX
学术论文arXiv高级搜索(步骤2b)+ ar5iv深度读取
doi:10.XXX/...
学术论文解析DOI,然后通过arXiv高级搜索查找相关研究
学术关键词(paper、research、model、algorithm)学术主题arXiv高级搜索(步骤2b)+ 谷歌搜索非学术来源
URL特定页面获取并分析页面内容
通用文本主题研究谷歌搜索 + 相关时使用arXiv高级搜索

Architecture

架构

┌──────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────┐
│  Claude   │────▶│  Actionbook  │────▶│  Web Pages   │────▶│ Extract  │
│  Code     │     │  Browser CLI │     │  (multiple)  │     │ Content  │
└──────────┘     └──────────────┘     └──────────────┘     └─────┬────┘
      │                                                           │
      │          ┌──────────────┐     ┌──────────────┐           │
      ├─────────▶│  Actionbook  │     │ arXiv Adv.   │           │
      │          │  search/get  │────▶│ Search Form  │──────────▶│
      │          │  (selectors) │     │ (40+ fields) │           │
      │          └──────────────┘     └──────────────┘           │
      │                                                           │
      │    Actionbook indexes arXiv form selectors,               │
      │    enabling field-specific, filtered academic              │
      │    searches that WebFetch/WebSearch CANNOT do.             │
      │                                                           │
┌──────────┐     ┌──────────────┐     ┌──────────────┐           │
│  Open in │◀────│   json-ui    │◀────│  Write JSON  │◀──────────┘
│  Browser │     │   render     │     │  Report      │  Synthesize
└──────────┘     └──────────────┘     └──────────────┘
┌──────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────┐
│  Claude   │────▶│  Actionbook  │────▶│  Web Pages   │────▶│ Extract  │
│  Code     │     │  Browser CLI │     │  (multiple)  │     │ Content  │
└──────────┘     └──────────────┘     └──────────────┘     └─────┬────┘
      │                                                           │
      │          ┌──────────────┐     ┌──────────────┐           │
      ├─────────▶│  Actionbook  │     │ arXiv Adv.   │           │
      │          │  search/get  │────▶│ Search Form  │──────────▶│
      │          │  (selectors) │     │ (40+ fields) │           │
      │          └──────────────┘     └──────────────┘           │
      │                                                           │
      │    Actionbook indexes arXiv form selectors,               │
      │    enabling field-specific, filtered academic              │
      │    searches that WebFetch/WebSearch CANNOT do.             │
      │                                                           │
┌──────────┐     ┌──────────────┐     ┌──────────────┐           │
│  Open in │◀────│   json-ui    │◀────│  Write JSON  │◀──────────┘
│  Browser │     │   render     │     │  Report      │  Synthesize
└──────────┘     └──────────────┘     └──────────────┘

Why Actionbook, Not WebFetch/WebSearch?

为何选择Actionbook而非WebFetch/WebSearch?

CapabilityActionbookWebFetch/WebSearch
Operate complex web forms (dropdowns, checkboxes, date pickers)Yes — uses indexed selectorsNo
arXiv: search by Author, Title, Abstract separatelyYes —
#terms-0-field
select
No — keyword only
arXiv: filter by subject (CS, Physics, Math, ...)Yes — category checkboxesNo
arXiv: filter by date range or specific yearYes — date inputsNo
Read pages with verified selectors (no guessing)Yes —
actionbook get
No — raw HTML parse
Interact with any indexed site's UIYes — click, type, selectNo — read-only
This is the core value of Actionbook for research: it turns web forms into structured, programmable interfaces for AI agents.
功能ActionbookWebFetch/WebSearch
操作复杂网页表单(下拉框、复选框、日期选择器)是 — 使用索引化选择器
arXiv:按作者、标题、摘要单独搜索是 — 通过
#terms-0-field
选择
否 — 仅支持关键词搜索
arXiv:按学科筛选(计算机科学、物理学、数学等)是 — 分类复选框
arXiv:按日期范围或特定年份筛选是 — 日期输入框
通过验证后的选择器读取页面内容(无需猜测)是 — 使用
actionbook get
否 — 仅支持原始HTML解析
与任意索引化网站的UI交互是 — 支持点击、输入、选择操作否 — 仅支持只读访问
这正是Actionbook用于研究的核心价值:它将网页表单转化为AI Agent可调用的结构化、可编程接口。

MUST USE Actionbook CLI

必须使用Actionbook CLI

Always use
actionbook browser
commands for web browsing. Never use WebFetch or WebSearch.
bash
actionbook browser open <url>          # Navigate to page
actionbook browser snapshot            # Get accessibility tree
actionbook browser text [selector]     # Extract text content
actionbook browser screenshot [path]   # Capture visual
actionbook browser click <selector>    # Click element
actionbook browser close               # Close browser (ALWAYS do this at end)
始终使用
actionbook browser
命令进行网页浏览,切勿使用WebFetch或WebSearch。
bash
actionbook browser open <url>          # 导航至页面
actionbook browser snapshot            # 获取可访问性树
actionbook browser text [selector]     # 提取文本内容
actionbook browser screenshot [path]   # 捕获截图
actionbook browser click <selector>    # 点击元素
actionbook browser close               # 关闭浏览器(务必在最后执行)

Complete Workflow

完整工作流程

Step 1: Plan Search Strategy

步骤1:规划搜索策略

Based on the topic, generate 5-8 search queries from different angles:
  • Core definition / overview
  • Latest developments / news
  • Technical details / implementation
  • Comparisons / alternatives
  • Expert opinions / analysis
  • Use cases / applications
Search order — ALWAYS query Actionbook API first, then search:
StepActionWhy
Step 2 (FIRST)Query Actionbook APIGet verified selectors for arXiv Advanced Search form, ar5iv papers, and any other known sites BEFORE browsing. This is the foundation for all subsequent steps.
Step 3 (SECOND)arXiv Advanced SearchUse Actionbook selectors from Step 2 to perform multi-field, filtered academic search. Even non-academic topics often have relevant papers.
Step 4 (THIRD)Google / Bing searchSupplement with blogs, news, code, discussions, non-academic sources.
IMPORTANT: Always query Actionbook API first (Step 2) to get selectors, then use them in arXiv Advanced Search (Step 3). This is what makes Actionbook-powered research fundamentally different from WebFetch/WebSearch — the agent knows the exact selectors for every form field before it even opens the browser.
根据主题,从不同角度生成5-8个搜索查询:
  • 核心定义/概述
  • 最新进展/新闻
  • 技术细节/实现方案
  • 对比分析/替代方案
  • 专家观点/深度分析
  • 应用场景/实际案例
搜索顺序 — 始终先调用Actionbook API,再进行搜索:
步骤操作原因
步骤2(优先)调用Actionbook API在浏览前获取arXiv高级搜索表单、ar5iv论文及其他已知网站的验证选择器,这是后续所有步骤的基础。
步骤3(其次)arXiv高级搜索使用步骤2获取的Actionbook选择器执行多字段、多条件的学术搜索。即使是非学术主题,通常也有相关论文可供参考。
步骤4(最后)谷歌/必应搜索补充博客、新闻、代码、讨论等非学术来源的信息。
重要提示: 始终先调用Actionbook API(步骤2)获取选择器,再用于arXiv高级搜索(步骤3)。这正是基于Actionbook的研究与WebFetch/WebSearch的根本区别 — Agent在打开浏览器前就已知道每个表单字段的确切选择器。

Step 2: Query Actionbook API for Selectors (ALWAYS DO THIS FIRST)

步骤2:调用Actionbook API获取选择器(务必优先执行)

BEFORE browsing any URL, query Actionbook's indexed selectors. This gives you verified CSS/XPath selectors instead of guessing.
bash
undefined
在浏览任何URL之前,先查询Actionbook的索引化选择器。 这样可以获取经过验证的CSS/XPath选择器,无需猜测。
bash
undefined

Search for indexed actions by domain

按域名搜索索引化操作

actionbook search "<keywords>" -d "<domain>"
actionbook search "<关键词>" -d "<域名>"

Get detailed selectors for a specific page

获取特定页面的详细选择器

actionbook get "<domain>:/<path>:<area>"

**Pre-indexed sites useful for research:**

| Site | area_id | Key Selectors |
|------|---------|---------------|
| arXiv Advanced Search | `arxiv.org:/search/advanced:default` | **40+ selectors**: field select, term input, category checkboxes (CS/Physics/Math/...), date range filters, cross-list control — used in Step 3 |
| ar5iv paper | `ar5iv.labs.arxiv.org:/html/{paper_id}:default` | `h1.ltx_title_document` (title), `div.ltx_authors` (authors), `div.ltx_abstract` (abstract), `section.ltx_section` (sections) |
| Google Scholar | `scholar.google.com:/:default` | `#gs_hdr_tsi` (search input), `#gs_hdr_tsb` (search button) |
| arXiv homepage | `arxiv.org:/:default` | Global search across 2.4M+ articles |

**For any URL you plan to visit**, run `actionbook search "<keywords>" -d "<domain>"` to check if it's indexed. Use indexed selectors when available; fall back to `actionbook browser snapshot` for unindexed sites.

**Example: Get arXiv Advanced Search selectors before searching:**

```bash
actionbook get "<域名>:/<路径>:<区域>"

**对研究有用的预索引网站:**

| 网站 | 区域ID | 关键选择器 |
|------|---------|---------------|
| arXiv高级搜索 | `arxiv.org:/search/advanced:default` | **40+个选择器**:字段选择、术语输入、分类复选框(计算机科学/物理学/数学等)、日期范围筛选、跨列表控制 — 用于步骤3 |
| ar5iv论文 | `ar5iv.labs.arxiv.org:/html/{paper_id}:default` | `h1.ltx_title_document`(标题)、`div.ltx_authors`(作者)、`div.ltx_abstract`(摘要)、`section.ltx_section`(章节) |
| 谷歌学术 | `scholar.google.com:/:default` | `#gs_hdr_tsi`(搜索输入框)、`#gs_hdr_tsb`(搜索按钮) |
| arXiv首页 | `arxiv.org:/:default` | 可搜索240万+篇文章的全局搜索功能 |

**对于计划访问的任何URL**,先运行`actionbook search "<关键词>" -d "<域名>"`检查是否已被索引。如果有索引化选择器则优先使用;未索引的网站则回退到`actionbook browser snapshot`。

**示例:搜索前获取arXiv高级搜索选择器:**

```bash

Query Actionbook for arXiv form selectors

查询Actionbook获取arXiv表单选择器

actionbook get "arxiv.org:/search/advanced:default"
actionbook get "arxiv.org:/search/advanced:default"

Returns 40+ selectors: #terms-0-field, #terms-0-term, #classification-computer_science, etc.

返回40+个选择器:#terms-0-field、#terms-0-term、#classification-computer_science等

undefined
undefined

Step 3: arXiv Advanced Search (Using Actionbook Selectors)

步骤3:arXiv高级搜索(使用Actionbook选择器)

Key differentiator: WebFetch/WebSearch can only do simple keyword searches. Actionbook has indexed the entire arXiv Advanced Search form with 40+ verified selectors (queried in Step 2), enabling multi-field, multi-criteria academic searches — just like a human researcher would use the form.
Using the selectors obtained from Step 2, the Agent can:
CapabilityActionbook SelectorWebFetch/WebSearch
Search by specific field (Title, Author, Abstract)
#terms-0-field
select → choose field
Not possible
Add multiple search terms with boolean logic
button "Add another term +"
Not possible
Filter by subject (CS, Physics, Math, etc.)
#classification-computer_science
checkbox
Not possible
Filter by date range
#date-filter_by-3
radio +
#date-from_date
/
#date-to_date
Not possible
Filter by specific year
#date-filter_by-2
radio +
#date-year
input
Not possible
Include/exclude cross-listed papers
#classification-include_cross_list-0/1
radio
Not possible
Control results display
#size
select,
#abstracts-0/1
radio
Not possible
Example: Search for recent CS papers by a specific author:
bash
undefined
核心差异化优势: WebFetch/WebSearch仅支持简单的关键词搜索。Actionbook已索引整个arXiv高级搜索表单的40+个验证选择器(步骤2中获取),可执行多字段、多条件的学术搜索 — 就像人类研究员操作表单一样。
使用步骤2获取的选择器,Agent可以:
功能Actionbook选择器WebFetch/WebSearch
按特定字段搜索(标题、作者、摘要)
#terms-0-field
选择 → 选择字段
无法实现
添加带布尔逻辑的多个搜索术语
button "Add another term +"
无法实现
按学科筛选(计算机科学、物理学、数学等)
#classification-computer_science
复选框
无法实现
按日期范围筛选
#date-filter_by-3
单选框 +
#date-from_date
/
#date-to_date
无法实现
按特定年份筛选
#date-filter_by-2
单选框 +
#date-year
输入框
无法实现
包含/排除跨列表论文
#classification-include_cross_list-0/1
单选框
无法实现
控制结果显示
#size
选择框、
#abstracts-0/1
单选框
无法实现
示例:搜索特定作者的近期计算机科学论文:
bash
undefined

Open arXiv Advanced Search

打开arXiv高级搜索页面

actionbook browser open "https://arxiv.org/search/advanced"
actionbook browser open "https://arxiv.org/search/advanced"

1. Set search field to "Author" and type author name

1. 将搜索字段设置为“作者”并输入作者姓名

actionbook browser click "#terms-0-field" actionbook browser click "option[value='author']" actionbook browser type "#terms-0-term" "Yann LeCun"
actionbook browser click "#terms-0-field" actionbook browser click "option[value='author']" actionbook browser type "#terms-0-term" "Yann LeCun"

2. Filter to Computer Science only

2. 仅筛选计算机科学领域

actionbook browser click "#classification-computer_science"
actionbook browser click "#classification-computer_science"

3. Restrict to past 12 months

3. 限制为过去12个月的论文

actionbook browser click "#date-filter_by-1"
actionbook browser click "#date-filter_by-1"

4. Show abstracts in results

4. 在结果中显示摘要

actionbook browser click "#abstracts-0"
actionbook browser click "#abstracts-0"

5. Submit search

5. 提交搜索

actionbook browser click "button:has-text('Search'):nth(2)"
actionbook browser click "button:has-text('Search'):nth(2)"

6. Extract results

6. 提取结果

actionbook browser text "#main-container"

**Example: Search by title keywords in a date range:**

```bash
actionbook browser open "https://arxiv.org/search/advanced"
actionbook browser text "#main-container"

**示例:按标题关键词在指定日期范围内搜索:**

```bash
actionbook browser open "https://arxiv.org/search/advanced"

Search in "Title" field

在“标题”字段中搜索

actionbook browser click "#terms-0-field" actionbook browser click "option[value='title']" actionbook browser type "#terms-0-term" "large language model agent"
actionbook browser click "#terms-0-field" actionbook browser click "option[value='title']" actionbook browser type "#terms-0-term" "large language model agent"

Date range: 2025-01 to 2026-02

日期范围:2025-01至2026-02

actionbook browser click "#date-filter_by-3" actionbook browser type "#date-from_date" "2025-01-01" actionbook browser type "#date-to_date" "2026-02-09"
actionbook browser click "#date-filter_by-3" actionbook browser type "#date-from_date" "2025-01-01" actionbook browser type "#date-to_date" "2026-02-09"

Submit and extract

提交并提取结果

actionbook browser click "button:has-text('Search'):nth(2)" actionbook browser text "#main-container"
undefined
actionbook browser click "button:has-text('Search'):nth(2)" actionbook browser text "#main-container"
undefined

Step 4: Supplement with Google / Bing Search

步骤4:补充谷歌/必应搜索

After arXiv, use Google/Bing to find non-academic sources (blogs, news, docs, code, discussions):
bash
undefined
完成arXiv搜索后,使用谷歌/必应查找非学术来源(博客、新闻、文档、代码、讨论):
bash
undefined

Search via Google

谷歌搜索

actionbook browser open "https://www.google.com/search?q=<encoded_query>" actionbook browser text "#search"
actionbook browser open "https://www.google.com/search?q=<编码后的查询词>" actionbook browser text "#search"

Or search via Bing

或必应搜索

actionbook browser open "https://www.bing.com/search?q=<encoded_query>" actionbook browser text "#b_results"

Parse the search results to extract URLs and snippets. Collect the top 5-10 most relevant URLs. For each discovered URL, query Actionbook API (Step 2 pattern) to check if the site is indexed before visiting.
actionbook browser open "https://www.bing.com/search?q=<编码后的查询词>" actionbook browser text "#b_results"

解析搜索结果以提取URL和摘要,收集最相关的5-10个URL。对于每个发现的URL,先按照步骤2的方式调用Actionbook API检查网站是否已被索引,再进行访问。

Step 5: Deep Read Sources

步骤5:深度读取来源内容

For each relevant URL, first query Actionbook API (same as Step 2) to check if the site is indexed, then use verified selectors:
bash
actionbook browser open "<url>"
actionbook browser text                # Full page text (fallback)
actionbook browser text "<selector>"   # Use Actionbook selector if indexed
For arXiv papers, try sources in this order (newer papers often fail on ar5iv):
bash
undefined
对于每个相关URL,先调用Actionbook API(与步骤2相同)检查网站是否已被索引,再使用验证后的选择器:
bash
actionbook browser open "<url>"
actionbook browser text                # 回退方案:提取整页文本
actionbook browser text "<selector>"   # 如果已索引,使用Actionbook选择器
对于arXiv论文,按以下顺序尝试来源(较新的论文常常无法在ar5iv正常显示):
bash
undefined

1. Try ar5iv first (best structured selectors from Actionbook)

1. 优先尝试ar5iv(Actionbook提供最佳结构化选择器)

actionbook browser open "https://ar5iv.org/html/<arxiv_id>" actionbook browser text "h1.ltx_title_document" # Title actionbook browser text "div.ltx_authors" # Authors actionbook browser text "div.ltx_abstract" # Abstract
actionbook browser open "https://ar5iv.org/html/<arxiv_id>" actionbook browser text "h1.ltx_title_document" # 标题 actionbook browser text "div.ltx_authors" # 作者 actionbook browser text "div.ltx_abstract" # 摘要

NOTE: section.ltx_section often fails on newer papers — use "article" as fallback

注意:section.ltx_section在较新论文上常常失效 — 回退使用"article"

2. If ar5iv content is truncated (<5KB), fall back to arxiv abstract + other sources

2. 如果ar5iv内容被截断(<5KB),回退到arXiv摘要+其他来源

actionbook browser open "https://arxiv.org/abs/<arxiv_id>" actionbook browser text "main"
actionbook browser open "https://arxiv.org/abs/<arxiv_id>" actionbook browser text "main"

3. Supplement with HuggingFace model cards and GitHub READMEs for full details

3. 补充HuggingFace模型卡片和GitHub README以获取完整细节

actionbook browser open "https://huggingface.co/papers/<arxiv_id>" actionbook browser text "main"

**Key lesson:** Don't rely solely on ar5iv. Always cross-reference 3-4 sources for completeness.

**For Google Scholar** (indexed by Actionbook):

```bash
actionbook browser open "https://scholar.google.com"
actionbook browser open "https://huggingface.co/papers/<arxiv_id>" actionbook browser text "main"

**关键经验:** 不要仅依赖ar5iv。始终交叉参考3-4个来源以确保内容完整。

**对于谷歌学术**(已被Actionbook索引):

```bash
actionbook browser open "https://scholar.google.com"

Type into search: use selector #gs_hdr_tsi

搜索输入:使用选择器#gs_hdr_tsi

actionbook browser click "#gs_hdr_tsi"
actionbook browser click "#gs_hdr_tsi"

... type query, click #gs_hdr_tsb to search

... 输入查询词,点击#gs_hdr_tsb进行搜索


**For unindexed sites**, use snapshot to discover page structure:

```bash
actionbook browser open "<url>"
actionbook browser snapshot            # Get accessibility tree to find selectors
actionbook browser text "<discovered_selector>"

**对于未索引的网站**,使用snapshot发现页面结构:

```bash
actionbook browser open "<url>"
actionbook browser snapshot            # 获取可访问性树以查找选择器
actionbook browser text "<发现的选择器>"

Step 6: Synthesize Findings

步骤6:整合研究结果

Organize collected information into a coherent report:
  1. Overview / Executive Summary
  2. Key Findings
  3. Detailed Analysis
  4. Supporting Data / Evidence
  5. Implications / Significance
  6. Sources
将收集到的信息组织成连贯的报告:
  1. 概述/执行摘要
  2. 核心发现
  3. 详细分析
  4. 支持数据/证据
  5. 影响/重要性
  6. 信息来源

Step 7: Generate json-ui JSON Report

步骤7:生成json-ui JSON报告

Write a JSON file following the
@actionbookdev/json-ui
schema. Use the Write tool.
Output path:
./output/<topic-slug>.json
(or user-specified
--output
path)
按照
@actionbookdev/json-ui
架构编写JSON文件,使用Write工具。
输出路径:
./output/<topic-slug>.json
(或用户指定的
--output
路径)

Step 8: Render HTML

步骤8:渲染HTML

Try these in order until one works:
bash
undefined
按以下顺序尝试,直到成功:
bash
undefined

1. Local monorepo (if running inside actionbook project)

1. 本地单仓库(如果在actionbook项目中运行)

node packages/json-ui/dist/cli.js render <report.json> -o <report.html>
node packages/json-ui/dist/cli.js render <report.json> -o <report.html>

2. npx (if published)

2. npx(如果包已发布到npm)

npx @actionbookdev/json-ui render <report.json> -o <report.html>
npx @actionbookdev/json-ui render <report.json> -o <report.html>

3. npx with @latest

3. 使用@latest标签的npx

npx @actionbookdev/json-ui@latest render <report.json> -o <report.html>

If all fail, save the JSON file and inform the user of its path.
npx @actionbookdev/json-ui@latest render <report.json> -o <report.html>

如果所有方法都失败,保存JSON文件并告知用户文件路径。

Step 9: Open in Browser

步骤9:在浏览器中打开

bash
undefined
bash
undefined

macOS

macOS

open <report.html>
open <report.html>

Linux

Linux

xdg-open <report.html>
undefined
xdg-open <report.html>
undefined

Step 10: Close Browser

步骤10:关闭浏览器

Always close the browser when done:
bash
actionbook browser close
完成后务必关闭浏览器:
bash
actionbook browser close

json-ui Report Template

json-ui报告模板

IMPORTANT: Always include BrandHeader and BrandFooter.
json
{
  "type": "Report",
  "props": { "theme": "auto" },
  "children": [
    {
      "type": "BrandHeader",
      "props": {
        "badge": { "en": "Deep Research Report", "zh": "深度研究报告" },
        "poweredBy": "Actionbook"
      }
    },
    {
      "type": "Section",
      "props": { "title": { "en": "Overview", "zh": "概述" }, "icon": "paper" },
      "children": [
        {
          "type": "Prose",
          "props": {
            "content": { "en": "English overview...", "zh": "中文概述..." }
          }
        }
      ]
    },
    {
      "type": "Section",
      "props": { "title": { "en": "Key Findings", "zh": "核心发现" }, "icon": "star" },
      "children": [
        {
          "type": "ContributionList",
          "props": {
            "items": [
              {
                "badge": { "en": "Finding", "zh": "发现" },
                "title": { "en": "...", "zh": "..." },
                "description": { "en": "...", "zh": "..." }
              }
            ]
          }
        }
      ]
    },
    {
      "type": "Section",
      "props": { "title": { "en": "Detailed Analysis", "zh": "详细分析" }, "icon": "bulb" },
      "children": [
        {
          "type": "Prose",
          "props": { "content": { "en": "...", "zh": "..." } }
        }
      ]
    },
    {
      "type": "Section",
      "props": { "title": { "en": "Key Metrics", "zh": "关键指标" }, "icon": "chart" },
      "children": [
        {
          "type": "MetricsGrid",
          "props": { "metrics": [], "cols": 3 }
        }
      ]
    },
    {
      "type": "Section",
      "props": { "title": { "en": "Sources", "zh": "信息来源" }, "icon": "link" },
      "children": [
        {
          "type": "LinkGroup",
          "props": { "links": [] }
        }
      ]
    },
    {
      "type": "BrandFooter",
      "props": {
        "timestamp": "YYYY-MM-DDTHH:MM:SSZ",
        "attribution": "Powered by Actionbook",
        "disclaimer": {
          "en": "This report was generated by AI using web sources. Verify critical information independently.",
          "zh": "本报告由 AI 基于网络来源生成,请独立验证关键信息。"
        }
      }
    }
  ]
}
重要提示:务必包含BrandHeader和BrandFooter。
json
{
  "type": "Report",
  "props": { "theme": "auto" },
  "children": [
    {
      "type": "BrandHeader",
      "props": {
        "badge": { "en": "Deep Research Report", "zh": "深度研究报告" },
        "poweredBy": "Actionbook"
      }
    },
    {
      "type": "Section",
      "props": { "title": { "en": "Overview", "zh": "概述" }, "icon": "paper" },
      "children": [
        {
          "type": "Prose",
          "props": {
            "content": { "en": "English overview...", "zh": "中文概述..." }
          }
        }
      ]
    },
    {
      "type": "Section",
      "props": { "title": { "en": "Key Findings", "zh": "核心发现" }, "icon": "star" },
      "children": [
        {
          "type": "ContributionList",
          "props": {
            "items": [
              {
                "badge": { "en": "Finding", "zh": "发现" },
                "title": { "en": "...", "zh": "..." },
                "description": { "en": "...", "zh": "..." }
              }
            ]
          }
        }
      ]
    },
    {
      "type": "Section",
      "props": { "title": { "en": "Detailed Analysis", "zh": "详细分析" }, "icon": "bulb" },
      "children": [
        {
          "type": "Prose",
          "props": { "content": { "en": "...", "zh": "..." } }
        }
      ]
    },
    {
      "type": "Section",
      "props": { "title": { "en": "Key Metrics", "zh": "关键指标" }, "icon": "chart" },
      "children": [
        {
          "type": "MetricsGrid",
          "props": { "metrics": [], "cols": 3 }
        }
      ]
    },
    {
      "type": "Section",
      "props": { "title": { "en": "Sources", "zh": "信息来源" }, "icon": "link" },
      "children": [
        {
          "type": "LinkGroup",
          "props": { "links": [] }
        }
      ]
    },
    {
      "type": "BrandFooter",
      "props": {
        "timestamp": "YYYY-MM-DDTHH:MM:SSZ",
        "attribution": "Powered by Actionbook",
        "disclaimer": {
          "en": "This report was generated by AI using web sources. Verify critical information independently.",
          "zh": "本报告由 AI 基于网络来源生成,请独立验证关键信息。"
        }
      }
    }
  ]
}

Paper Report Template (for arXiv papers)

论文报告模板(适用于arXiv论文)

When analyzing academic papers, use a richer template with:
  • PaperHeader
    (title, arxivId, date, categories)
  • AuthorList
    (authors with affiliations)
  • Abstract
    (with keyword highlights)
  • ContributionList
    (key contributions)
  • MethodOverview
    (step-by-step method)
  • ResultsTable
    (experimental results)
  • Formula
    (key equations, LaTeX)
  • Figure
    (paper figures from ar5iv)
分析学术论文时,使用更丰富的模板,包含:
  • PaperHeader
    (标题、arxivId、日期、分类)
  • AuthorList
    (带所属机构的作者列表)
  • Abstract
    (带关键词高亮的摘要)
  • ContributionList
    (核心贡献)
  • MethodOverview
    (分步方法说明)
  • ResultsTable
    (实验结果)
  • Formula
    (关键公式,LaTeX格式)
  • Figure
    (来自ar5iv的论文图表)

Available json-ui Components

可用的json-ui组件

ComponentUse ForKey Props
BrandHeader
Report header
badge
,
poweredBy
PaperHeader
Paper metadata
title
,
arxivId
,
date
,
categories
AuthorList
Authors
authors: [{name, affiliation}]
,
maxVisible
Section
Major section
title
,
icon
(paper/star/bulb/chart/code/link/info/warning)
Prose
Rich text
content
(supports bold, italic,
code
, lists)
Abstract
Abstract text
text
,
highlights: ["keyword"]
ContributionList
Numbered findings
items: [{badge, title, description}]
MethodOverview
Step-by-step
steps: [{step, title, description}]
MetricsGrid
Key stats
metrics: [{label, value, trend, suffix}]
,
cols
ResultsTable
Data table
columns
,
rows
,
highlights: [{row, col}]
Table
Generic table
columns: [{key, label}]
,
rows
,
striped
,
compact
Callout
Info/tip/warning
type
(info/tip/warning/important/note),
title
,
content
Highlight
Blockquote
type
(quote/important/warning/code),
text
,
source
KeyPoint
Key finding card
icon
,
title
,
description
,
variant
CodeBlock
Code snippet
code
,
language
,
title
,
showLineNumbers
Formula
LaTeX equation
latex
,
block
,
label
Figure
Image(s)
images: [{src, alt, width}]
,
label
,
caption
Image
Single image
src
,
alt
,
caption
,
width
DefinitionList
Term/definition
items: [{term, definition}]
LinkGroup
Source links
links: [{href, label, icon}]
Grid
Grid layout
cols
, children
Card
Card container
padding
(sm/md/lg),
shadow
TagList
Tags
tags: [{label, color, href}]
BrandFooter
Footer
timestamp
,
attribution
,
disclaimer
组件用途关键属性
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
(支持粗体斜体
代码
、列表)
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
Formula
LaTeX公式
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 Known Pitfalls

json-ui已知陷阱

PitfallSymptomFix
MetricsGrid.suffix
as i18n object
text.replace is not a function
suffix
must be a plain string, not
{ "en": ..., "zh": ... }
MetricsGrid.value
as number
Render error
value
must be a string (e.g.,
"58.5"
not
58.5
)
Missing
BrandHeader
/
BrandFooter
Report looks brokenAlways include both
Table
row values as i18n object
[object Object]
in cells
Row cell values must be plain strings. Column
label
supports i18n, but row data does not. Use
"Runtimes / 运行时"
instead of
{ "en": "Runtimes", "zh": "运行时" }
Very long Prose contentTruncated renderSplit into multiple Prose blocks or use subsections
问题症状修复方案
MetricsGrid.suffix
使用国际化对象
text.replace is not a function
suffix
必须是纯字符串,不能是
{ "en": ..., "zh": ... }
MetricsGrid.value
使用数字类型
渲染错误
value
必须是字符串(例如
"58.5"
而非
58.5
缺少
BrandHeader
/
BrandFooter
报告显示异常务必同时包含两者
Table
行值使用国际化对象
单元格显示
[object Object]
行单元格值必须是纯字符串。列
label
支持国际化,但行数据不支持。使用
"运行时 / Runtimes"
而非
{ "en": "Runtimes", "zh": "运行时" }
Prose内容过长渲染被截断拆分为多个Prose块或使用子章节

i18n Support

国际化支持

All text fields support bilingual output unless noted above:
json
{ "en": "English text", "zh": "中文文本" }
For
--lang en
, use plain strings. For
--lang zh
, use plain Chinese strings. For
--lang both
(default), use i18n objects.
Exceptions:
  • MetricsGrid
    props
    value
    and
    suffix
    must always be plain strings.
  • Table
    row cell values must be plain strings (column
    label
    supports i18n, but row data does not). For bilingual, use
    "English / 中文"
    format.
所有文本字段均支持双语输出除非上述特别说明
json
{ "en": "English text", "zh": "中文文本" }
对于
--lang en
,使用纯字符串;对于
--lang zh
,使用纯中文字符串;对于默认的
--lang both
,使用国际化对象。
例外情况:
  • MetricsGrid
    value
    suffix
    属性必须始终为纯字符串。
  • Table
    的行单元格值必须为纯字符串(列
    label
    支持国际化,但行数据不支持)。如需双语,使用
    "英文 / 中文"
    格式。

Academic Paper Support

学术论文支持

arXiv Papers

arXiv论文

ar5iv.org HTML (preferred for reading, but often incomplete for papers < 3 months old):
ElementSelector (Actionbook-verified)ReliabilityFallback
Title
h1.ltx_title_document
High
div.ltx_abstract
includes title context
Authors
div.ltx_authors
High
Abstract
div.ltx_abstract
High
Full article
article
MediumUse when section selectors fail
Sections
section.ltx_section
Low on new papers
article
for all content
Section title
h2.ltx_title_section
Low on new papersParse from
article
text
Figures
figure.ltx_figure
Medium
Tables
table.ltx_tabular
Medium
Bibliography
.ltx_bibliography
Medium
Note: For papers submitted within the last ~3 months, ar5iv often renders incomplete content. Always check
actionbook browser text 2>&1 | wc -c
— if < 5KB, the page didn't fully render. Fall back to other sources.
arXiv API (for metadata via actionbook browser):
actionbook browser open "http://export.arxiv.org/api/query?id_list={arxiv_id}"
actionbook browser text
ar5iv.org HTML(优先用于阅读,但对于提交时间不足3个月的论文常常内容不完整):
元素Actionbook验证选择器可靠性回退方案
标题
h1.ltx_title_document
div.ltx_abstract
包含标题上下文
作者
div.ltx_authors
摘要
div.ltx_abstract
全文
article
当章节选择器失效时使用
章节
section.ltx_section
新论文可靠性低使用
article
获取所有内容
章节标题
h2.ltx_title_section
新论文可靠性低
article
文本中解析
图表
figure.ltx_figure
表格
table.ltx_tabular
参考文献
.ltx_bibliography
注意: 对于提交时间约3个月内的论文,ar5iv常常无法完整渲染内容。始终检查
actionbook browser text 2>&1 | wc -c
— 如果结果小于5KB,说明页面未完全渲染,需回退到其他来源。
arXiv API(通过actionbook browser获取元数据):
actionbook browser open "http://export.arxiv.org/api/query?id_list={arxiv_id}"
actionbook browser text

Recommended Source Priority for Papers

论文来源优先级推荐

Based on testing, use this priority order for maximum coverage:
PrioritySourceWhat you getReliability
1
arxiv.org/abs/<id>
Abstract, metadata, submission historyVery high
2
huggingface.co/papers/<id>
Abstract, community comments, related models/datasetsVery high
3GitHub repo (from search results)README with method details, model zoo, codeHigh
4HuggingFace model cardTraining recipe, benchmark results, quick startHigh
5
ar5iv.org/html/<id>
Full paper HTML with structured selectorsMedium (fails on new papers)
6Google Scholar / Semantic ScholarCitations, related workMedium
Key insight: Don't rely on a single source. The combination of arxiv abstract + HuggingFace + GitHub typically gives 90%+ of what you need, even when ar5iv fails.
基于测试结果,按以下优先级使用来源以获取最全面的信息:
优先级来源可获取内容可靠性
1
arxiv.org/abs/<id>
摘要、元数据、提交历史极高
2
huggingface.co/papers/<id>
摘要、社区评论、相关模型/数据集极高
3GitHub仓库(来自搜索结果)包含方法细节、模型库、代码的README
4HuggingFace模型卡片训练方案、基准测试结果、快速开始指南
5
ar5iv.org/html/<id>
带结构化选择器的全文HTML中(新论文常常失效)
6谷歌学术/语义学术引用文献、相关研究
核心见解: 不要依赖单一来源。结合arXiv摘要 + HuggingFace + GitHub通常能获取90%+的所需信息,即使ar5iv失效也不受影响。

Other Academic Sources

其他学术来源

Use
actionbook browser
to visit and extract content from:
  • Google Scholar (
    scholar.google.com
    ) — Actionbook indexed, use
    #gs_hdr_tsi
    for search
  • Semantic Scholar (
    semanticscholar.org
    )
  • Papers With Code (
    paperswithcode.com
    )
  • Conference proceedings sites
使用
actionbook browser
访问并提取以下平台的内容:
  • 谷歌学术(
    scholar.google.com
    )— 已被Actionbook索引,使用
    #gs_hdr_tsi
    进行搜索
  • 语义学术(
    semanticscholar.org
  • Papers With Code(
    paperswithcode.com
  • 会议论文集网站

Error Handling

错误处理

ErrorAction
Browser fails to openRun
actionbook browser status
, retry
Page load timeout (30s)Skip source, try next. Common on papers.cool, slow academic sites
ar5iv content truncated (<5KB)Paper too new for ar5iv. Fall back to arxiv abstract + HuggingFace + GitHub
section.ltx_section
not found
ar5iv rendering incomplete. Use
actionbook browser text "article"
or
"main"
instead
Actionbook selector not foundUse
actionbook browser snapshot
to discover actual page structure
actionbook search
returns no results
Site not indexed. Use
actionbook browser snapshot
to find selectors manually
json-ui render crash (
text.replace
)
Check MetricsGrid
suffix
/
value
— must be plain strings, not i18n objects
npx @actionbookdev/json-ui
404
Package not on npm. Use local:
node packages/json-ui/dist/cli.js render
No search resultsBroaden search terms, try different angles
Render failedSave JSON and inform user of the path
IMPORTANT: Always run
actionbook browser close
before finishing, even on errors.
错误操作
浏览器无法打开运行
actionbook browser status
,重试
页面加载超时(30秒)跳过该来源,尝试下一个。在papers.cool等加载缓慢的学术网站上很常见
ar5iv内容被截断(<5KB)论文太新,ar5iv尚未处理。回退到arXiv摘要 + HuggingFace + GitHub
section.ltx_section
未找到
ar5iv渲染不完整。使用
actionbook browser text "article"
"main"
替代
Actionbook选择器未找到使用
actionbook browser snapshot
发现实际页面结构
actionbook search
无结果
网站未被索引。使用
actionbook browser snapshot
手动查找选择器
json-ui渲染崩溃(
text.replace
错误)
检查MetricsGrid的
suffix
/
value
— 必须是纯字符串,不能是国际化对象
npx @actionbookdev/json-ui
返回404
包未发布到npm。使用本地方式:
node packages/json-ui/dist/cli.js render
无搜索结果放宽搜索词,尝试不同角度
渲染失败保存JSON文件并告知用户文件路径
重要提示: 即使发生错误,完成后务必运行
actionbook browser close

Quality Guidelines

质量准则

  1. Breadth: Research from at least 3-5 diverse sources
  2. Depth: Read full articles, not just snippets
  3. Accuracy: Cross-reference facts across sources
  4. Structure: Use appropriate json-ui components for each content type
  5. Attribution: Always include source links in the report
  6. Freshness: Prefer recent sources when relevance is equal
  1. 广度:至少从3-5个不同来源进行研究
  2. 深度:阅读完整文章,而非仅摘要
  3. 准确性:跨来源交叉验证事实
  4. 结构:针对不同内容类型使用合适的json-ui组件
  5. 归因:报告中务必包含来源链接
  6. 时效性:当相关性相同时,优先选择较新的来源

Chinese Content Quality Guidelines (中文内容质量规范)

中文内容质量规范

CRITICAL: Chinese text must be written as native Chinese, NOT translated from English.
The
zh
field is not a translation — it is an independent Chinese version of the content. Write it as if authoring a Chinese tech article from scratch.
关键要求:中文文本必须以原生中文撰写,而非从英文直译。
zh
字段不是英文的翻译版本 — 它是内容的独立中文版本,需像从头撰写中文技术文章一样进行创作。

Common Problems to Avoid

需避免的常见问题

ProblemBad ExampleGood Example
被动语态过多"Wasm 已被广泛采用""Wasm 已经大规模落地"
英语语序直译"广泛但常常不可见地被采用""已经深入渗透到各类产品中,只是用户浑然不觉"
生硬术语拼接"语言无关的异步通信""不绑定特定编程语言的异步通信机制"
直译英文短语"关键缺失部分""最后一块拼图"
"地道"当形容词"地道绑定""符合各语言习惯的绑定"
逗号长句(一逗到底)"A,B,C,D,E。"拆成 2-3 个短句
引用原文硬翻"「许多用户并未意识到它正在被使用」"用中文重新表述引用的核心意思,必要时保留原文人名
问题错误示例正确示例
被动语态过多"Wasm 已被广泛采用""Wasm 已经大规模落地"
英语语序直译"广泛但常常不可见地被采用""已经深入渗透到各类产品中,只是用户浑然不觉"
生硬术语拼接"语言无关的异步通信""不绑定特定编程语言的异步通信机制"
直译英文短语"关键缺失部分""最后一块拼图"
"地道"当形容词"地道绑定""符合各语言习惯的绑定"
逗号长句(一逗到底)"A,B,C,D,E。"拆成2-3个短句
引用原文硬翻"「许多用户并未意识到它正在被使用」"用中文重新表述引用的核心意思,必要时保留原文人名

Writing Rules

写作规则

  1. 先写中文,再对照英文查漏:不要从英文逐句翻译。先理解内容本质,用中文重新组织表达。
  2. 主动语态优先:中文天然偏好主动句。"X 被 Y 采用" → "Y 采纳了 X" 或 "Y 已在用 X"。
  3. 短句 > 长句:中文读者偏好短句。超过 40 字的句子应拆分。
  4. 术语处理原则
    • 有公认中文译名的术语用中文:服务器 → 服务器、容器 → 容器、沙箱 → 沙箱
    • 无公认译名的术语保留英文:Component Model、WASI、SIMD、Cold Start
    • 首次出现时中英对照:「组件模型(Component Model)」,之后可只用中文
    • 不要硬造中文译名(如"非干扰分析",应写"Noninterference 分析"或解释性表述)
  5. 数据和事实保持一致:中英文的数字、日期、引用来源必须完全一致。
  6. 语气自然:可以用"说白了"、"换句话说"、"简单来说"等口语化连接词,避免全篇书面腔。
  7. 标点规范:用中文标点(,。;:「」)而非英文标点。引号优先用「」。
  1. 先写中文,再对照英文查漏:不要逐句翻译英文。先理解内容本质,用中文重新组织表达。
  2. 主动语态优先:中文天然偏好主动句。将"X 被 Y 采用"改写为"Y 采纳了 X"或"Y 已在用 X"。
  3. 短句优于长句:中文读者偏好短句。超过40字的句子应拆分。
  4. 术语处理原则
    • 有公认中文译名的术语使用中文:服务器、容器、沙箱
    • 无公认译名的术语保留英文:Component Model、WASI、SIMD、Cold Start
    • 首次出现时中英对照:「组件模型(Component Model)」,之后可仅用中文
    • 不要硬造中文译名(如"非干扰分析"应写为"Noninterference 分析"或解释性表述)
  5. 数据和事实保持一致:中英文的数字、日期、引用来源必须完全一致。
  6. 语气自然:可以使用"说白了"、"换句话说"、"简单来说"等口语化连接词,避免全篇书面腔。
  7. 标点规范:使用中文标点(,。;:「」)而非英文标点。引号优先使用「」。

Bilingual Tone Reference

双语语气参考

English ToneChinese EquivalentExample
"X has reached a critical milestone"不要直译"关键里程碑""X 迎来了重要转折点" 或 "X 进入成熟期"
"This is the key missing piece"不要直译"关键缺失部分""这是最后一块拼图" 或 "补上了最关键的短板"
"excels at cold starts"不要直译"在冷启动方面表现卓越""冷启动速度远超同类方案"
"security scrutiny intensifies"不要直译"安全审查加强""安全领域的关注度持续升温"
"emerging as a standard"不要直译"正成为标准""逐渐确立了标准地位" 或 "大有一统江湖之势"
"widespread but invisible adoption"不要直译"广泛但不可见的采用""已经悄然渗透到各类产品中"
英文语气中文对应表达示例
"X has reached a critical milestone"不要直译"关键里程碑""X 迎来了重要转折点"或"X 进入成熟期"
"This is the key missing piece"不要直译"关键缺失部分""这是最后一块拼图"或"补上了最关键的短板"
"excels at cold starts"不要直译"在冷启动方面表现卓越""冷启动速度远超同类方案"
"security scrutiny intensifies"不要直译"安全审查加强""安全领域的关注度持续升温"
"emerging as a standard"不要直译"正成为标准""逐渐确立了标准地位"或"大有一统江湖之势"
"widespread but invisible adoption"不要直译"广泛但不可见的采用""已经悄然渗透到各类产品中"