deep-research by actionbook/actionbook
npx skills add https://github.com/actionbook/actionbook --skill deep-research使用 Actionbook 浏览器自动化和 json-ui 渲染,分析任何主题、领域或论文,并生成美观的 HTML 报告。
/deep-research:analyze <topic>
/deep-research:analyze <topic> --lang zh
/deep-research:analyze <topic> --output ./reports/my-report.json
或者直接告诉 Claude:"帮我深度研究 XXX 并生成报告" / "Research XXX and generate a report"
| 参数 | 是否必需 | 默认值 | 描述 |
|---|---|---|---|
topic | 是 | - | 要研究的主题(任意文本) |
--lang | 否 | both |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
语言:en、zh 或 both(双语) |
--output | 否 | ./output/<topic-slug>.json | JSON 报告的输出路径 |
| 模式 | 类型 | 策略 |
|---|---|---|
arxiv:XXXX.XXXXX | 论文 | arXiv 高级搜索(步骤 2b)+ ar5iv 深度阅读 |
doi:10.XXX/... | 论文 | 解析 DOI,然后使用 arXiv 高级搜索 查找相关工作 |
| 学术关键词(paper、research、model、algorithm) | 学术主题 | arXiv 高级搜索(步骤 2b)+ Google 搜索非学术来源 |
| URL | 特定页面 | 获取并分析页面 |
| 一般文本 | 主题研究 | Google 搜索 + 相关时使用 arXiv 高级搜索 |
┌──────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────┐
│ Claude │────▶│ Actionbook │────▶│ Web Pages │────▶│ Extract │
│ Code │ │ Browser CLI │ │ (multiple) │ │ Content │
└──────────┘ └──────────────┘ └──────────────┘ └─────┬────┘
│ │
│ ┌──────────────┐ ┌──────────────┐ │
├─────────▶│ Actionbook │ │ arXiv Adv. │ │
│ │ search/get │────▶│ Search Form │──────────▶│
│ │ (selectors) │ │ (40+ fields) │ │
│ └──────────────┘ └──────────────┘ │
│ │
│ Actionbook 索引了 arXiv 表单选择器, │
│ 实现了 WebFetch/WebSearch 无法做到的 │
│ 字段特定、过滤后的学术搜索。 │
│ │
┌──────────┐ ┌──────────────┐ ┌──────────────┐ │
│ Open in │◀────│ json-ui │◀────│ Write JSON │◀──────────┘
│ Browser │ │ render │ │ Report │ 综合整理
└──────────┘ └──────────────┘ └──────────────┘
| 能力 | Actionbook | WebFetch/WebSearch |
|---|---|---|
| 操作复杂的 Web 表单(下拉框、复选框、日期选择器) | 是 —— 使用索引的选择器 | 否 |
| arXiv:按作者、标题、摘要分别搜索 | 是 —— #terms-0-field 选择 | 否 —— 仅关键词 |
| arXiv:按学科筛选(计算机科学、物理、数学等) | 是 —— 类别复选框 | 否 |
| arXiv:按日期范围或特定年份筛选 | 是 —— 日期输入框 | 否 |
| 使用已验证的选择器读取页面(无需猜测) | 是 —— actionbook get | 否 —— 原始 HTML 解析 |
| 与任何已索引站点的 UI 交互 | 是 —— 点击、输入、选择 | 否 —— 只读 |
这是 Actionbook 用于研究的核心价值:它将 Web 表单转变为供 AI 代理使用的结构化、可编程接口。
始终使用 actionbook browser 命令进行网页浏览。切勿使用 WebFetch 或 WebSearch。
actionbook browser open <url> # 导航到页面
actionbook browser snapshot # 获取无障碍功能树
actionbook browser text [selector] # 提取文本内容
actionbook browser screenshot [path] # 捕获屏幕截图
actionbook browser click <selector> # 点击元素
actionbook browser close # 关闭浏览器(结束时务必执行)
根据主题,从不同角度生成 5-8 个搜索查询:
搜索顺序 —— 始终先查询 Actionbook API,然后再搜索:
| 步骤 | 操作 | 原因 |
|---|---|---|
| 步骤 2(首先) | 查询 Actionbook API | 在浏览之前,获取 arXiv 高级搜索表单、ar5iv 论文以及任何其他已知站点的已验证选择器。这是所有后续步骤的基础。 |
| 步骤 3(其次) | arXiv 高级搜索 | 使用步骤 2 中从 Actionbook 获取的选择器,执行多字段、过滤后的学术搜索。即使是非学术主题也常有相关论文。 |
| 步骤 4(再次) | Google / Bing 搜索 | 补充博客、新闻、代码、讨论等非学术来源。 |
重要提示: 始终先查询 Actionbook API(步骤 2)以获取选择器,然后在 arXiv 高级搜索(步骤 3)中使用它们。这使得基于 Actionbook 的研究与 WebFetch/WebSearch 有根本区别 —— 代理在打开浏览器之前就知道每个表单字段的确切选择器。
在浏览任何 URL 之前,先查询 Actionbook 的索引选择器。 这将为您提供经过验证的 CSS/XPath 选择器,而不是猜测。
# 按域名搜索索引的操作
actionbook search "<keywords>" -d "<domain>"
# 获取特定页面的详细选择器
actionbook get "<domain>:/<path>:<area>"
对研究有用的预索引站点:
| 站点 | area_id | 关键选择器 |
|---|---|---|
| arXiv 高级搜索 | arxiv.org:/search/advanced:default | 40+ 选择器:字段选择、术语输入、类别复选框(CS/物理/数学/...)、日期范围过滤器、交叉列表控制 —— 用于步骤 3 |
| ar5iv 论文 | ar5iv.labs.arxiv.org:/html/{paper_id}:default | h1.ltx_title_document(标题)、div.ltx_authors(作者)、div.ltx_abstract(摘要)、section.ltx_section(章节) |
| Google 学术 | scholar.google.com:/:default | #gs_hdr_tsi(搜索输入框)、#gs_hdr_tsb(搜索按钮) |
| arXiv 首页 | arxiv.org:/:default | 全局搜索超过 240 万篇文章 |
对于您计划访问的任何 URL,运行 actionbook search "<keywords>" -d "<domain>" 以检查是否已索引。如果可用,请使用索引选择器;对于未索引的站点,回退到 actionbook browser snapshot。
示例:在搜索前获取 arXiv 高级搜索选择器:
# 查询 Actionbook 获取 arXiv 表单选择器
actionbook get "arxiv.org:/search/advanced:default"
# 返回 40+ 选择器:#terms-0-field、#terms-0-term、#classification-computer_science 等。
关键区别: WebFetch/WebSearch 只能进行简单的关键词搜索。Actionbook 已经索引了 整个 arXiv 高级搜索表单,包含 40 多个经过验证的选择器(在步骤 2 中查询),支持多字段、多条件的学术搜索 —— 就像人类研究人员使用该表单一样。
使用从步骤 2 获得的选择器,代理可以:
| 能力 | 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 单选按钮 | 不可能 |
示例:搜索特定作者最近的计算机科学论文:
# 打开 arXiv 高级搜索
actionbook browser open "https://arxiv.org/search/advanced"
# 1. 将搜索字段设置为"作者"并输入作者姓名
actionbook browser click "#terms-0-field"
actionbook browser click "option[value='author']"
actionbook browser type "#terms-0-term" "Yann LeCun"
# 2. 仅筛选计算机科学
actionbook browser click "#classification-computer_science"
# 3. 限制在过去 12 个月内
actionbook browser click "#date-filter_by-1"
# 4. 在结果中显示摘要
actionbook browser click "#abstracts-0"
# 5. 提交搜索
actionbook browser click "button:has-text('Search'):nth(2)"
# 6. 提取结果
actionbook browser text "#main-container"
示例:在日期范围内按标题关键词搜索:
actionbook browser open "https://arxiv.org/search/advanced"
# 在"标题"字段中搜索
actionbook browser click "#terms-0-field"
actionbook browser click "option[value='title']"
actionbook browser type "#terms-0-term" "large language model agent"
# 日期范围: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 "button:has-text('Search'):nth(2)"
actionbook browser text "#main-container"
在 arXiv 搜索之后,使用 Google/Bing 查找非学术来源(博客、新闻、文档、代码、讨论):
# 通过 Google 搜索
actionbook browser open "https://www.google.com/search?q=<encoded_query>"
actionbook browser text "#search"
# 或通过 Bing 搜索
actionbook browser open "https://www.bing.com/search?q=<encoded_query>"
actionbook browser text "#b_results"
解析搜索结果以提取 URL 和摘要。收集前 5-10 个最相关的 URL。对于每个发现的 URL,在访问之前查询 Actionbook API(遵循步骤 2 的模式)以检查该站点是否已索引。
对于每个相关 URL,首先查询 Actionbook API(与步骤 2 相同)以检查站点是否已索引,然后使用已验证的选择器:
actionbook browser open "<url>"
actionbook browser text # 完整页面文本(回退方案)
actionbook browser text "<selector>" # 如果已索引,则使用 Actionbook 选择器
对于 arXiv 论文,按此顺序尝试来源(较新的论文在 ar5iv 上常常失败):
# 1. 首先尝试 ar5iv(来自 Actionbook 的最佳结构化选择器)
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" # 摘要
# 注意:section.ltx_section 在新论文上经常失败 —— 使用 "article" 作为回退
# 2. 如果 ar5iv 内容被截断(<5KB),则回退到 arxiv 摘要 + 其他来源
actionbook browser open "https://arxiv.org/abs/<arxiv_id>"
actionbook browser text "main"
# 3. 补充 HuggingFace 模型卡和 GitHub README 以获取完整细节
actionbook browser open "https://huggingface.co/papers/<arxiv_id>"
actionbook browser text "main"
关键经验: 不要仅仅依赖 ar5iv。为了完整性,始终交叉参考 3-4 个来源。
对于 Google 学术(已由 Actionbook 索引):
actionbook browser open "https://scholar.google.com"
# 在搜索框中输入:使用选择器 #gs_hdr_tsi
actionbook browser click "#gs_hdr_tsi"
# ... 输入查询,点击 #gs_hdr_tsb 进行搜索
对于未索引的站点,使用 snapshot 来发现页面结构:
actionbook browser open "<url>"
actionbook browser snapshot # 获取无障碍功能树以查找选择器
actionbook browser text "<discovered_selector>"
将收集到的信息组织成连贯的报告:
按照 @actionbookdev/json-ui 模式编写 JSON 文件。使用 Write 工具。
输出路径: ./output/<topic-slug>.json(或用户指定的 --output 路径)
关键:在放弃之前,您必须尝试所有回退方法。不要在第一次失败时就停止。
重要:始终对 JSON_FILE 和 HTML_FILE 使用绝对路径。 当 git rev-parse 返回绝对仓库根路径时,相对路径会失效。
逐个尝试每种方法,直到一个成功:
# 方法 1:npx(推荐 —— 如果 npm 可用,可在任何地方工作)
npx @actionbookdev/json-ui render /absolute/path/to/report.json -o /absolute/path/to/report.html
# 方法 2:全局安装(如果用户运行了:npm install -g @actionbookdev/json-ui)
json-ui render /absolute/path/to/report.json -o /absolute/path/to/report.html
# 方法 3:Monorepo 本地路径(如果在 actionbook 项目内部,则作为回退)
node "$(git rev-parse --show-toplevel)/packages/json-ui/dist/cli.js" render /absolute/path/to/report.json -o /absolute/path/to/report.html
切勿静默放弃。 如果所有方法都失败,请告知用户:
<路径>npm install -g @actionbookdev/json-ui# macOS
open <report.html>
# Linux
xdg-open <report.html>
完成后务必关闭浏览器:
actionbook browser close
重要:始终包含 BrandHeader 和 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 基于网络来源生成,请独立验证关键信息。"
}
}
}
]
}
分析学术论文时,使用更丰富的模板,包含:
PaperHeader(标题、arxivId、日期、类别)AuthorList(带所属机构的作者)Abstract(带关键词高亮)ContributionList(关键贡献)MethodOverview(逐步方法)ResultsTable(实验结果)Formula(关键方程,LaTeX)Figure(来自 ar5iv 的论文图表)| 组件 | 用途 | 关键属性 |
|---|---|---|
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 |
| 问题 | 症状 | 修复方法 |
|---|---|---|
MetricsGrid.suffix 作为 i18n 对象 | text.replace is not a function | suffix 必须是 纯字符串,而不是 { "en": ..., "zh": ... } |
MetricsGrid.value 作为数字 | 渲染错误 | value 必须是 字符串(例如,"58.5" 而不是 58.5) |
缺少 BrandHeader/BrandFooter | 报告看起来损坏 | 始终包含两者 |
Table 行值作为 i18n 对象 | 单元格中出现 [object Object] | 行单元格值必须是 纯字符串。列 label 支持 i18n,但行数据不支持。使用 "Runtimes / 运行时" 而不是 { "en": "Runtimes", "zh": "运行时" } |
| 非常长的 Prose 内容 | 渲染被截断 | 拆分为多个 Prose 块或使用子章节 |
所有文本字段都支持双语输出,除非上面另有说明:
{ "en": "English text", "zh": "中文文本" }
对于 --lang en,使用纯字符串。对于 --lang zh,使用纯中文字符串。对于 --lang both(默认),使用 i18n 对象。
例外情况:
MetricsGrid 属性 value 和 suffix 必须始终是纯字符串。Table 行单元格值必须是纯字符串(列 label 支持 i18n,但行数据不支持)。对于双语,使用 "English / 中文" 格式。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
根据测试,使用此优先级顺序以获得最大覆盖率:
| 优先级 | 来源 | 获取内容 | 可靠性 |
|---|---|---|---|
| 1 | arxiv.org/abs/<id> | 摘要、元数据、提交历史 | 非常高 |
| 2 | huggingface.co/papers/<id> | 摘要、社区评论、相关模型/数据集 | 非常高 |
| 3 | GitHub 仓库(来自搜索结果) | 包含方法细节、模型库、代码的 README | 高 |
| 4 | HuggingFace 模型卡 | 训练配方、基准测试结果、快速入门 | 高 |
| 5 | ar5iv.org/html/<id> | 带有结构化选择器的完整论文 HTML | 中(在新论文上失败) |
| 6 | Google 学术 / Semantic Scholar | 引用、相关工作 | 中 |
关键见解: 不要依赖单一来源。arxiv 摘要 + HuggingFace + GitHub 的组合通常能提供您所需内容的 90% 以上,即使在 ar5iv 失败时也是如此。
使用 actionbook browser 访问并提取以下内容:
scholar.google.com)—— 已由 Actionbook 索引,使用 #gs_hdr_tsi 进行搜索semanticscholar.org)paperswithcode.com)| 错误 | 操作 |
|---|---|
| 浏览器无法打开 | 运行 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 —— 必须是纯字符串,而不是 i18n 对象 |
npx @actionbookdev/json-ui 失败 | 运行 npm install -g @actionbookdev/json-ui 并使用 json-ui render 重试。如果仍然失败,尝试 monorepo 本地路径 |
| 无搜索结果 | 扩大搜索词范围,尝试不同角度 |
| 渲染失败 | 保存 JSON,告知用户路径,并建议:npm install -g @actionbookdev/json-ui |
重要: 即使出现错误,也始终在完成前运行 actionbook browser close。
关键:中文文本必须作为原生中文撰写,而不是从英文翻译而来。
zh 字段不是翻译 —— 它是内容的独立中文版本。应像从头开始撰写中文技术文章一样来编写。
| 问题 | 错误示例 | 正确示例 |
|---|---|---|
| 过多使用被动语态 | "Wasm 已被广泛采用" | "Wasm 已经大规模落地" |
| 英语语序直译 | "广泛但常常不可见地被采用" | "已经深入渗透到各类产品中,只是用户浑然不觉" |
| 生硬术语拼接 | "语言无关的异步通信" | "不绑定特定编程语言的异步通信机制" |
| 直译英文短语 | "关键缺失部分" | "最后一块拼图" |
| 将"地道"用作形容词 | "地道绑定" | "符合各语言习惯的绑定" |
| 逗号长句(一逗到底) | "A,B,C,D,E。" | 拆分成 2-3 个短句 |
| 引用原文硬翻 | "「许多用户并未意识到它正在被使用」" | 用中文重新表述引用的核心意思,必要时保留原文人名 |
Table 行中的 "English / 中文" 格式是中文质量的重灾区。短文本更容易暴露机器翻译的痕迹。
规则:中文部分必须是独立的中文表述,而不是英文的逐词翻译。
| 错误 | 为何错误 | 正确 |
|---|---|---|
| "应用级错误处理" | 太生硬,像翻译腔 | "应用层统一报错" |
| "高性能 Web 框架" | 可以,但太平淡 | "主打性能的 Web 框架" |
| "序列化框架" | 可以接受 | "序列化框架" ✓ |
| "嵌入式异步执行器" | 太绕 | "嵌入式异步运行器" |
| "凸块分配器" | 硬造译名,没人这么说 | "Bump 分配器(arena 风格)" |
| "安全内存擦除" | 太书面 | "安全清零内存" |
| "多生产者多消费者通道" | 太长 | "MPMC 通道" |
| "类 React UI 框架" | 可以 | "类 React 的 UI 框架" ✓ |
表格中文短文本的核心原则:
| 英文语气 | 中文对应语气 | 示例 |
|---|---|---|
| "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" | 不要直译"广泛但不可见的采用" | "已经悄然渗透到各类产品中" |
每周安装量
138
仓库
GitHub Stars
1.4K
首次出现
Feb 9, 2026
安全审计
安装于
opencode108
codex106
gemini-cli99
github-copilot85
claude-code84
amp75
Python PDF处理教程:合并拆分、提取文本表格、创建PDF文件
62,800 周安装
Uniswap 交换集成指南:前端、后端与智能合约集成方法详解
638 周安装
产品探索流程完整指南:从问题界定到方案验证,降低产品决策风险
636 周安装
AI博客文章撰写技能:自动研究、写作与封面生成完整指南
646 周安装
OpenAI音频转录技能:快速准确转录音频文件,支持说话人分离和文本导出
639 周安装
D1 Drizzle Schema:为Cloudflare D1生成正确ORM模式,避免SQLite差异错误
650 周安装
React 网页动画库指南:GSAP、Framer Motion、Anime.js 实现 Awwwards 级 60fps 动画
659 周安装