📦 AutoResearch — 自动研究

v1.0.0

Pipeline通过轮换主题,每晚自动从arXiv、GitHub、Hacker News、Brave Search获取信息,并生成结构化markdown报告,通过Telegr...

0· 7·0 当前·0 累计
下载技能包
最后更新
2026/4/19
0
安全扫描
VirusTotal
Pending
查看报告
OpenClaw
可疑
high confidence
该技能基本兑现了承诺,但存在明显不匹配和过度访问模式(尤其是一个虚假的 Chromium 依赖,以及代码会探测本地 OpenClaw 配置文件寻找 API 密钥),安装前需审查。
评估建议
该技能似乎实现了宣传的 nightly research pipeline,但安装前需确认两点:...
详细分析 ▾
用途与能力
该技能的声明目的(从 arXiv、GitHub、HN、Brave Search 进行夜间聚合)与提供的代码和文件相符。然而,SKILL.md 元数据和 README 声称需要 Chromium 浏览器(anyBins: chromium-browser/chromium/google-chrome)并提及浏览器自动化;所包含的脚本均未使用 headless 浏览器或驱动 Chromium。对于已实现的 HTTP + 正则 + Brave API 方案,这一 Chromium 需求并非必要,且与实现不符。此外,web_search_helper 试图读取 OpenClaw 配置文件以定位 Brave API 密钥——访问其他代理的配置文件并非实现声明功能所必需,且扩大了技能范围。
指令范围
运行时说明(SKILL.md 及示例)准确描述了 Python 脚本的运行方式、空跑行为、文件输出,以及 stdout 用于 Telegram 预告。实际代码仅使用指定来源(arXiv、GitHub、Hacker News、Brave)。唯一越界的是 web_search_helper:当环境变量中无 BRAVE_API_KEY 时,它会去 ~/.openclaw/config.json 和 ~/.openclaw/agents/main/config.json 里找密钥。这让技能读取了其他代理/系统配置文件,超出单服务 API 密钥查找范围,值得复查。除此之外,指令都很具体,没有“随便收集所需上下文”这类模糊表述。
安装机制
无安装规范(仅指令型技能),最大限度降低安装时风险。代码依赖 httpx,运行时提示“uv run --with httpx”与依赖模型一致。清单中不存在远程下载或任意安装/解压操作。
凭证需求
该 skill 未声明必需的 env var,但如果存在会读取 BRAVE_API_KEY(以及 OPENCLAW_BRAVE_KEY)——用于向 Brave Search 发送查询属合理。然而,web_search_helper 在环境变量未设置时会回退读取其他 OpenClaw 配置文件以提取 Brave key。试图解析其他 agent 的配置文件来定位 API key 与其声明目的不符,并引发隐私/凭据泄露风险。未请求其他无关凭据,也无硬编码 secret。
持久化与权限
该技能仅写入已记录的 workspace 路径(memory/autoresearch-latest.md、memory/autoresearch-archive.md),并在技能目录内维护一份小型 state.json。未设置 always:true,也不会修改其他技能的配置。除描述外,唯一与持久化相关的显著操作是读取 OpenClaw 配置文件(见 environment_proportionality)。
安全有层次,运行前请审查代码。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/4/19

1) Chromium 依赖:SKILL.md 和 README 声称需要 Chromium 浏览器,但代码并未使用浏览器自动化,该依赖多余,可能触发针对浏览器类技能的安全策略。请作者移除 anyBins 元数据或说明浏览器用途。

Pending

安装命令

点击复制
官方npx clawhub@latest install autoresearch-pipeline
镜像加速npx clawhub@latest install autoresearch-pipeline --registry https://cn.longxiaskill.com

技能文档

# autoresearch — Nightly Research Pipeline 零成本夜间研究聚合器,循环 3 个主题轨道,从 4 个独立源拉取数据,合成结构化 markdown 报告,并向 stdout 输出 3 行 Telegram 预告。 ## 快速开始 ``bash # 空跑 —— 获取真实数据,打印预告,不写文件 cd ~/.openclaw/workspace uv run --with httpx python skills/autoresearch/scripts/run.py --dry-run # 完整运行 —— 写入 memory/ 并推进状态 uv run --with httpx python skills/autoresearch/scripts/run.py # 强制指定轨道 uv run --with httpx python skills/autoresearch/scripts/run.py --track crypto # 详细输出(调试日志到 stderr) uv run --with httpx python skills/autoresearch/scripts/run.py --dry-run --verbose ` ## 轨道 管道按顺序循环 3 个轨道(状态持久化在 state.json): | 轨道 | 显示名称 | 关注源 | |-------|-------------|---------------| | ai | AI & Agents | cs.AI/MA/CL/LG arXiv、Python/Rust/TS GitHub、LLM HN 关键词 | | crypto | Crypto & DeFi | cs.CR/DC arXiv、Solidity/Rust GitHub、crypto HN 关键词 | | devtools | Developer Tools | cs.SE/PL arXiv、Rust/Go/TS/Python GitHub、CLI/editor HN 关键词 | ## 来源 | 来源 | API | 认证 | 降级 | |--------|-----|------|----------| | arXiv | Atom API (export.arxiv.org) | 无 | 出错返回 [] | | GitHub Trending | 公开 HTML 抓取 | 无 | 结构变化返回 [] | | Hacker News | Firebase JSON API | 无 | 返回部分结果 | | Web Search | Brave Search API | BRAVE_API_KEY 环境变量 | 无密钥则静默跳过 | ## 输出文件 | 文件 | 说明 | |------|-------------| | memory/autoresearch-latest.md | 每次覆盖 —— 最新报告 | | memory/autoresearch-archive.md | 仅追加 —— 所有运行带日期标记 | | memory/autoresearch-errors.log | cron 运行的 stderr | ## CLI 参数 | 参数 | 默认值 | 说明 | |------|---------|-------------| | --track ai\|crypto\|devtools | 轮换 | 本次运行强制指定轨道 | | --dry-run | 关 | 获取+合成,但跳过写文件和状态推进 | | --verbose | 关 | 向 stderr 打印 DEBUG 日志 | ## 退出码 | 码 | 含义 | |------|---------| | 0 | 成功 | | 1 | 所有源失败 或 磁盘写入失败 | | 2 | 配置/状态错误(config.json 缺失、--track 值无效) | ## 配置 编辑 config.json 自定义各轨道查询: `json { "tracks": { "ai": { "arxiv_categories": ["cs.AI", "cs.MA", "cs.CL", "cs.LG"], "arxiv_keywords": ["agent", "LLM", ...], "github_languages": ["python", "rust", "typescript"], "github_topics": ["ai-agent", "llm", ...], "hn_keywords": ["AI", "GPT", "Claude", ...], "web_queries": ["AI agent framework news 2026", ...] } } } ` ## Cron 集成 `bash # 加入 OpenClaw cron:悉尼凌晨 1 点(前一日 14:00 UTC) # cron 包装器捕获 stdout 并通过 Telegram 发送 0 14 * cd ~/.openclaw/workspace && uv run --with httpx python skills/autoresearch/scripts/run.py 2>>~/.openclaw/workspace/memory/autoresearch-errors.log ` 脚本向 stdout 打印 3 行预告: ` 🔬 Nightly Research: AI & Agents • 热门论文:Scaling Laws for Agent Reasoning… —— 我们研究推理… • 趋势:microsoft/autogen ⭐342 | HN: Show HN: I built… ` cron 代理捕获 stdout 并通过 message 工具发送到 Telegram。 ## 状态 状态持久化在 state.json`json { "current_track_index": 1, "last_run": "2026-03-15T14:02:31.123456+00:00", "last_tracks": ["ai"] } ` 仅在成功运行(退出码 0)时推进状态。若所有源失败,状态保持同一轨道,次日重试。 ## 依赖 - httpx —— 所有 HTTP(通过 uv run --with httpx) - xml.etree.ElementTree —— arXiv Atom XML 解析(标准库) - json, re, asyncio, argparse, pathlib —— 标准库 无需额外依赖,skill 目录无需 pyproject.toml。 ## 与书稿集成 其它 cron 或代理可直接读取最新报告: `bash cat ~/.openclaw/workspace/memory/autoresearch-latest.md ` 或在 Python 中: `python from pathlib import Path report = Path.home() / ".openclaw/workspace/memory/autoresearch-latest.md" content = report.read_text() ` ## 文件结构 ` skills/autoresearch/ ├── SKILL.md # 本文件 ├── PLAN.md # 架构与规范 ├── config.json # 轨道定义 + 源配置 ├── state.json # 运行时状态(自动管理) └── scripts/ ├── run.py # CLI 入口(主管道) ├── sources.py # 数据获取器(arXiv、GitHub、HN、web) ├── synthesise.py # 报告生成器(markdown 合成) └── state.py ``

数据来源ClawHub ↗ · 中文优化:龙虾技能库