smithery.ai

batch-research

批量数据采集技能,负责分批并发调度 researcher agent 抓取所有数据源。

First seen Mar 29, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Declared

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents opencode

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,707 B
  • docs SUMMARY.md 115 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Batch Research 技能

此技能用于指导 /weekly 命令如何高效、分批、并发地从多个数据源采集信息。

核心职责

作为批量调度器,负责:

  1. 解析数据源列表
  2. 生成所有待抓取 URL
  3. 分批并发调用 researcher agent
  4. 汇总结果生成报告

工作流程

Step 1: 准备阶段

  1. 读取数据源:从 .opencode/REFERENCE.md 获取完整数据源列表
  2. 生成 URL 列表

- 静态 URL:直接使用 - 动态 URL(Hacker News):使用 generateHNUrls(startdate, enddate)

import { generateHNUrls } from '.opencode/utils.mjs'

// Hacker News - 每天一个 URL
const hnUrls = generateHNUrls(start_date, end_date)
// 返回: [
//   "https://news.ycombinator.com/front?day=2026-03-22",
//   "https://news.ycombinator.com/front?day=2026-03-23",
//   ...
// ]

Step 2: 分批策略

将所有 URL 按优先级分为 3 批,每批 10-12 个 URL:

批次 数据源类型 来源
Batch 1 Important Resources REFERENCE.md 中 "Important Resources" 部分
Batch 2 Blogs & Websites REFERENCE.md 中 "Blogs & Websites" 部分
Batch 3 KOL & Influencers REFERENCE.md 中 "KOL & Influencers" 部分

Step 3: 并发调度

并发配置

参数 说明
max_parallel 5 每轮最大并发数
batch_interval 3s 批次间等待时间
domainratelimit 2 req/domain 同域名限流

调度规则

对每个批次:

  1. 分轮执行:将批次内 URL 按 max_parallel 分轮(如 12 个 URL 分 3 轮:5 + 5 + 2)
  2. 轮内并发:同时启动该轮所有 researcher agent
  3. 等待完成:等待当前轮所有 researcher 返回结果
  4. 进入下一轮:当前轮全部完成后,等待 batch_interval,再启动下一轮
  5. 批次完成后:进入下一个批次

调用 researcher 的参数格式

url: https://news.ycombinator.com/front?day=2026-03-22
source_name: Hacker News
week_id: Y26W12
start_date: 2026-03-22
end_date: 2026-03-28
current_date: 2026-03-25
timezone: UTC+0

并发调用示例(伪代码):

# Batch 1: Important Resources
并行调用:
  - researcher(url: "https://news.ycombinator.com/front?day=2026-03-22", source_name: "Hacker News")
  - researcher(url: "https://news.ycombinator.com/front?day=2026-03-23", source_name: "Hacker News")
  - researcher(url: "https://drafts.miantiao.me/", source_name: "Miantiao Drafts")
  - researcher(url: "https://www.solidot.org/search?tid=151", source_name: "Solidot")
  - ...

等待 Batch 1 全部完成

# Batch 2: Blogs & Websites
并行调用:
  - researcher(url: "https://www.anthropic.com/engineering", source_name: "Anthropic Engineering")
  - researcher(url: "https://claude.com/blog", source_name: "Claude Blog")
  - ...

等待 Batch 2 全部完成

# Batch 3: KOL & Influencers
并行调用:
  - researcher(url: "https://baoyu.io/", source_name: "Baoyu")
  - ...

等待 Batch 3 全部完成

Step 4: 日志记录

所有日志统一写入 logs/weekly-{week_id}.log仅用于人类审计,不作为恢复依据。

日志格式

[2026-03-25T12:34:56Z] [PHASE1] [INFO] 开始抓取 Hacker News
[2026-03-25T12:35:10Z] [PHASE1] [OK] Hacker News - 5 篇文章
[2026-03-25T12:35:15Z] [PHASE1] [FAIL] daily.dev - 429 Too Many Requests (retried 2)

日志级别

级别 用途
INFO 阶段/任务开始
OK 任务成功(含文章数)
FAIL 任务失败(含错误原因和重试次数)

Step 5: 汇总报告

所有批次完成后,在日志末尾生成汇总:

[2026-03-25T12:45:00Z] [PHASE1] [SUMMARY] 总数据源: 30 | 成功: 27 (X篇) | 失败: 3

约束与注意事项

  • 全量抓取:必须抓取所有数据源,不能跳过
  • 批次顺序:必须按批次顺序执行,等待当前批次完成后再进入下一批
  • 错误隔离:单个 researcher 失败不影响其他
  • 重试由 researcher 处理:本技能不负责重试,由 researcher 自行处理
  • 进入下一阶段前:必须完成所有批次的抓取