deep-research
npx skills add https://github.com/actionbook/actionbook --skill deep-research
Agent 安装分布
Skill 文档
Deep Research
Analyze any topic, domain, or paper and generate a beautiful HTML report using Actionbook browser automation and json-ui rendering.
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”
Parameters
| Parameter | Required | Default | Description |
|---|---|---|---|
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 Detection
| Pattern | Type | Strategy |
|---|---|---|
arxiv:XXXX.XXXXX |
Paper | arXiv Advanced Search (Step 2b) + ar5iv deep read |
doi:10.XXX/... |
Paper | Resolve DOI, then arXiv Advanced Search for related work |
| Academic keywords (paper, research, model, algorithm) | Academic topic | arXiv Advanced Search (Step 2b) + Google for non-academic sources |
| URL | Specific page | Fetch and analyze the page |
| General text | Topic research | Google search + arXiv Advanced Search if relevant |
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
ââââââââââââ ââââââââââââââââ ââââââââââââââââ
Why Actionbook, Not WebFetch/WebSearch?
| Capability | Actionbook | WebFetch/WebSearch |
|---|---|---|
| Operate complex web forms (dropdowns, checkboxes, date pickers) | Yes â uses indexed selectors | No |
| arXiv: search by Author, Title, Abstract separately | Yes â #terms-0-field select |
No â keyword only |
| arXiv: filter by subject (CS, Physics, Math, …) | Yes â category checkboxes | No |
| arXiv: filter by date range or specific year | Yes â date inputs | No |
| Read pages with verified selectors (no guessing) | Yes â actionbook get |
No â raw HTML parse |
| Interact with any indexed site’s UI | Yes â click, type, select | No â read-only |
This is the core value of Actionbook for research: it turns web forms into structured, programmable interfaces for AI agents.
MUST USE Actionbook CLI
Always use actionbook browser commands for web browsing. Never use WebFetch or WebSearch.
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)
Complete Workflow
Step 1: Plan Search Strategy
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:
| Step | Action | Why |
|---|---|---|
| Step 2 (FIRST) | Query Actionbook API | Get 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 Search | Use 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 search | Supplement 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.
Step 2: Query Actionbook API for Selectors (ALWAYS DO THIS FIRST)
BEFORE browsing any URL, query Actionbook’s indexed selectors. This gives you verified CSS/XPath selectors instead of guessing.
# Search for indexed actions by domain
actionbook search "<keywords>" -d "<domain>"
# 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:
# Query Actionbook for arXiv form selectors
actionbook get "arxiv.org:/search/advanced:default"
# Returns 40+ selectors: #terms-0-field, #terms-0-term, #classification-computer_science, etc.
Step 3: arXiv Advanced Search (Using Actionbook Selectors)
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:
| Capability | Actionbook Selector | WebFetch/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:
# Open arXiv Advanced Search
actionbook browser open "https://arxiv.org/search/advanced"
# 1. Set search field to "Author" and type author name
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
actionbook browser click "#classification-computer_science"
# 3. Restrict to past 12 months
actionbook browser click "#date-filter_by-1"
# 4. Show abstracts in results
actionbook browser click "#abstracts-0"
# 5. Submit search
actionbook browser click "button:has-text('Search'):nth(2)"
# 6. Extract results
actionbook browser text "#main-container"
Example: Search by title keywords in a date range:
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"
# Date range: 2025-01 to 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"
# Submit and extract
actionbook browser click "button:has-text('Search'):nth(2)"
actionbook browser text "#main-container"
Step 4: Supplement with Google / Bing Search
After arXiv, use Google/Bing to find non-academic sources (blogs, news, docs, code, discussions):
# Search via Google
actionbook browser open "https://www.google.com/search?q=<encoded_query>"
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.
Step 5: Deep Read Sources
For each relevant URL, first query Actionbook API (same as Step 2) to check if the site is indexed, then use verified selectors:
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):
# 1. Try ar5iv first (best structured selectors from 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
# NOTE: section.ltx_section often fails on newer papers â use "article" as fallback
# 2. If ar5iv content is truncated (<5KB), fall back to arxiv abstract + other sources
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
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):
actionbook browser open "https://scholar.google.com"
# Type into search: use selector #gs_hdr_tsi
actionbook browser click "#gs_hdr_tsi"
# ... type query, click #gs_hdr_tsb to search
For unindexed sites, use snapshot to discover page structure:
actionbook browser open "<url>"
actionbook browser snapshot # Get accessibility tree to find selectors
actionbook browser text "<discovered_selector>"
Step 6: Synthesize Findings
Organize collected information into a coherent report:
- Overview / Executive Summary
- Key Findings
- Detailed Analysis
- Supporting Data / Evidence
- Implications / Significance
- Sources
Step 7: Generate json-ui JSON Report
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)
Step 8: Render HTML
CRITICAL: You MUST try ALL fallback methods before giving up. Do NOT stop at the first failure.
IMPORTANT: Always use ABSOLUTE paths for JSON_FILE and HTML_FILE. Relative paths break when git rev-parse returns an absolute repo root.
Try each method one by one until one succeeds:
# Method 1: npx (recommended â works anywhere if npm is available)
npx @actionbookdev/json-ui render /absolute/path/to/report.json -o /absolute/path/to/report.html
# Method 2: Global install (if user ran: npm install -g @actionbookdev/json-ui)
json-ui render /absolute/path/to/report.json -o /absolute/path/to/report.html
# Method 3: Monorepo local path (fallback 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
NEVER give up silently. If all methods fail, tell the user:
- The JSON report is saved at
<path> - To install the renderer, run:
npm install -g @actionbookdev/json-ui
Step 9: Open in Browser
# macOS
open <report.html>
# Linux
xdg-open <report.html>
Step 10: Close Browser
Always close the browser when done:
actionbook browser close
json-ui Report Template
IMPORTANT: Always include BrandHeader and BrandFooter.
{
"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)
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)
Available json-ui Components
| Component | Use For | Key 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 |
json-ui Known Pitfalls
| Pitfall | Symptom | Fix |
|---|---|---|
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 broken | Always 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 content | Truncated render | Split into multiple Prose blocks or use subsections |
i18n Support
All text fields support bilingual output unless noted above:
{ "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:
MetricsGridpropsvalueandsuffixmust always be plain strings.Tablerow cell values must be plain strings (columnlabelsupports i18n, but row data does not). For bilingual, use"English / 䏿"format.
Academic Paper Support
arXiv Papers
ar5iv.org HTML (preferred for reading, but often incomplete for papers < 3 months old):
| Element | Selector (Actionbook-verified) | Reliability | Fallback |
|---|---|---|---|
| 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 |
Medium | Use 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 papers | Parse 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
Recommended Source Priority for Papers
Based on testing, use this priority order for maximum coverage:
| Priority | Source | What you get | Reliability |
|---|---|---|---|
| 1 | arxiv.org/abs/<id> |
Abstract, metadata, submission history | Very high |
| 2 | huggingface.co/papers/<id> |
Abstract, community comments, related models/datasets | Very high |
| 3 | GitHub repo (from search results) | README with method details, model zoo, code | High |
| 4 | HuggingFace model card | Training recipe, benchmark results, quick start | High |
| 5 | ar5iv.org/html/<id> |
Full paper HTML with structured selectors | Medium (fails on new papers) |
| 6 | Google Scholar / Semantic Scholar | Citations, related work | Medium |
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.
Other Academic Sources
Use actionbook browser to visit and extract content from:
- Google Scholar (
scholar.google.com) â Actionbook indexed, use#gs_hdr_tsifor search - Semantic Scholar (
semanticscholar.org) - Papers With Code (
paperswithcode.com) - Conference proceedings sites
Error Handling
| Error | Action |
|---|---|
| Browser fails to open | Run 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 found | Use 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 fails |
Run npm install -g @actionbookdev/json-ui and retry with json-ui render. If still fails, try monorepo local path |
| No search results | Broaden search terms, try different angles |
| Render failed | Save JSON, tell user path, and suggest: npm install -g @actionbookdev/json-ui |
IMPORTANT: Always run actionbook browser close before finishing, even on errors.
Quality Guidelines
- Breadth: Research from at least 3-5 diverse sources
- Depth: Read full articles, not just snippets
- Accuracy: Cross-reference facts across sources
- Structure: Use appropriate json-ui components for each content type
- Attribution: Always include source links in the report
- Freshness: Prefer recent sources when relevance is equal
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.
Common Problems to Avoid
| Problem | Bad Example | Good Example |
|---|---|---|
| 被å¨è¯æè¿å¤ | “Wasm 已被广æ³é稔 | “Wasm å·²ç»å¤§è§æ¨¡è½å°” |
| è±è¯è¯åºç´è¯ | “广æ³ä½å¸¸å¸¸ä¸å¯è§å°è¢«é稔 | “å·²ç»æ·±å ¥æ¸éå°å类产åä¸ï¼åªæ¯ç¨æ·æµç¶ä¸è§” |
| ç硬æ¯è¯æ¼æ¥ | “è¯è¨æ å ³ç弿¥éä¿¡” | “ä¸ç»å®ç¹å®ç¼ç¨è¯è¨ç弿¥éä¿¡æºå¶” |
| ç´è¯è±æçè¯ | “å ³é®ç¼ºå¤±é¨å” | “æåä¸åæ¼å¾” |
| “å°é”å½å½¢å®¹è¯ | “å°éç»å®” | “符ååè¯è¨ä¹ æ¯çç»å®” |
| éå·é¿å¥ï¼ä¸éå°åºï¼ | “Aï¼Bï¼Cï¼Dï¼Eã” | ææ 2-3 个çå¥ |
| å¼ç¨åæç¡¬ç¿» | “ã许å¤ç¨æ·å¹¶æªæè¯å°å®æ£å¨è¢«ä½¿ç¨ã” | ç¨ä¸æéæ°è¡¨è¿°å¼ç¨çæ ¸å¿ææï¼å¿ è¦æ¶ä¿çåæäººå |
Writing Rules
- å å䏿ï¼åå¯¹ç §è±ææ¥æ¼ï¼ä¸è¦ä»è±æéå¥ç¿»è¯ãå çè§£å 容æ¬è´¨ï¼ç¨ä¸æéæ°ç»ç»è¡¨è¾¾ã
- 主å¨è¯æä¼å ï¼ä¸æå¤©ç¶å好主å¨å¥ã”X 被 Y é稔 â “Y éçº³äº X” æ “Y å·²å¨ç¨ X”ã
- çå¥ > é¿å¥ï¼ä¸æè¯»è å好çå¥ãè¶ è¿ 40 åçå¥ååºæåã
- æ¯è¯å¤çååï¼
- æå ¬è®¤ä¸æè¯åçæ¯è¯ç¨ä¸æï¼æå¡å¨ â æå¡å¨ãå®¹å¨ â 容å¨ãæ²ç®± â æ²ç®±
- æ å ¬è®¤è¯åçæ¯è¯ä¿çè±æï¼Component ModelãWASIãSIMDãCold Start
- 馿¬¡åºç°æ¶ä¸è±å¯¹ç §ï¼ãç»ä»¶æ¨¡åï¼Component Modelï¼ãï¼ä¹åå¯åªç¨ä¸æ
- ä¸è¦ç¡¬é 䏿è¯åï¼å¦”éå¹²æ°åæ”ï¼åºå”Noninterference åæ”æè§£éæ§è¡¨è¿°ï¼
- æ°æ®åäºå®ä¿æä¸è´ï¼ä¸è±æçæ°åãæ¥æãå¼ç¨æ¥æºå¿ é¡»å®å ¨ä¸è´ã
- è¯æ°èªç¶ï¼å¯ä»¥ç¨”说ç½äº”ã”æ¢å¥è¯è¯´”ã”ç®åæ¥è¯´”çå£è¯åè¿æ¥è¯ï¼é¿å å ¨ç¯ä¹¦é¢è ã
- æ ç¹è§èï¼ç¨ä¸ææ ç¹ï¼ï¼ãï¼ï¼ããï¼èéè±ææ ç¹ãå¼å·ä¼å ç¨ããã
Table & Short Text Rules (è¡¨æ ¼ä¸çææ¬è§å)
Table è¡ä¸ç "English / 䏿" æ ¼å¼æ¯ä¸æè´¨éçéç¾åºãçææ¬æ´å®¹ææ´é²æºç¿»ç迹ã
è§åï¼ä¸æé¨åå¿ é¡»æ¯ç¬ç«çä¸æè¡¨è¿°ï¼ä¸æ¯è±æçéè¯ç¿»è¯ã
| Bad | Why Bad | Good |
|---|---|---|
| “åºç¨çº§é误å¤ç” | 太ç硬ï¼åç¿»è¯è | “åºç¨å±ç»ä¸æ¥é” |
| “髿§è½ Web æ¡æ¶” | å¯ä»¥ï¼ä½å¤ªå¹³æ·¡ | “ä¸»ææ§è½ç Web æ¡æ¶” |
| “åºååæ¡æ¶” | å¯ä»¥æ¥å | “åºååæ¡æ¶” â |
| “åµå ¥å¼å¼æ¥æ§è¡å¨” | å¤ªç» | “åµå ¥å¼å¼æ¥è¿è¡å¨” |
| “å¸ååé 娔 | 硬é è¯åï¼æ²¡äººè¿ä¹è¯´ | “Bump åé å¨ï¼arena 飿 ¼ï¼” |
| “å®å ¨å 忦餔 | å¤ªä¹¦é¢ | “å®å ¨æ¸ é¶å å” |
| “å¤ç产è 夿¶è´¹è éé” | å¤ªé¿ | “MPMC éé” |
| “ç±» React UI æ¡æ¶” | OK | “ç±» React ç UI æ¡æ¶” â |
è¡¨æ ¼ä¸æçææ¬çæ ¸å¿ååï¼
- ä¿çè±ææ¯è¯ï¼Bump allocatorãMPMCãECS è¿äºæ²¡æå ¬è®¤ä¸æè¯åçæ¦å¿µï¼ç´æ¥ä¿çè±æãå«ç¡¬ç¿»ã
- å£è¯å > 书é¢åï¼çææ¬è¯»è æ«ä¸ç¼å°±è¿ï¼è¦å说è¯ä¸æ ·èªç¶ã”ä¸»ææ§è½” æ¯ “æ§è½ä¼åç” å¥½ã
- å«éè¯ç¿»è¯ï¼å çè§£è±ææè¿°çææï¼ç¶åç¨ä¸æéæ°è¯´ä¸éã”Full-featured datetime” â “åè½é½å ¨çæ¶é´æ¥æåº”ï¼ä¸æ¯ “å ¨åè½æ¥ææ¶é´”ã
- å¯ä»¥çç¥åä½ä¿®é¥°ï¼è±æ “A generic serialization/deserialization framework” â 䏿åªé “åºååæ¡æ¶”ã
- æ°éæ§å¶å¨ 10 å以å ï¼è¡¨æ ¼ä¸ææè¿°å°½éæ§å¶å¨ 10 个æ±å以å ï¼ç®çç²¾åã
Bilingual Tone Reference
| English Tone | Chinese Equivalent | Example |
|---|---|---|
| “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” | ä¸è¦ç´è¯”广æ³ä½ä¸å¯è§çé稔 | “å·²ç»æç¶æ¸éå°å类产å且 |