ワンクリックで
simple-auto-researcher
自动化学术研究助手 - 搜索→下载→阅读→归档→创新点生成验证
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
自动化学术研究助手 - 搜索→下载→阅读→归档→创新点生成验证
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | simple-auto-researcher |
| description | 自动化学术研究助手 - 搜索→下载→阅读→归档→创新点生成验证 |
| metadata | {"openclaw":{"emoji":"🔬","requires":{"tools":["exec","cron","sessions_spawn","read","write"]}}} |
在执行任务时,需要从配置文件中读取动态变量。语法如下:
"工作量" - 强调变量名本身,用于需要显式说明"此处为变量"的语境示例:
| 写法 | 含义 | 实际效果(假设"工作量"=5) |
|---|---|---|
| "工作量" 篇 | 引用变量 | 5 篇 |
"工作量" | 强调变量名 | "工作量",即5 |
| 下载 "工作量" 篇论文 | 引用变量 | 下载 5 篇论文 |
当前工作负载为 "工作量" | 强调变量名 | 当前工作负载为 5 |
说明:
【⚠️重要】
PATHS.md 了解 "AutoResearcher项目根目录"、"小龙虾目录"等。DIRECTIONS.md 了解用户的"研究方向"(即科研方向)等。PREFERENCES.md 了解用户的"联网搜索偏好"、"偏好会议或者期刊"、以及最重要的期望"工作量"等。GUIDELINES.md 了解rethink.md综述的写作规范和要求、创新点模板要求、papers.csv的要求所有任务必须在 "AutoResearcher项目根目录" 目录下执行!
定时任务(isolated 模式)默认工作目录是 ~/.openclaw/workspace/,因此任务消息开头必须包含:
【重要】请先执行:
cd "AutoResearcher项目根目录"
然后继续以下任务:
AutoResearcher/ # "AutoResearcher项目根目录"
├── papers.csv # 论文总库(所有论文元信息汇总)
├── README.md # 项目说明
├── files/
│ ├── downloaded/*.pdf # 已下载论文 PDF
│ └── tobedownloaded/YYYY-MM-DD.md # 下载失败论文记录(MD格式)
├── notes/
│ ├── YYYY-MM-DD/*.md # 论文阅读笔记(按日期分离)
├── knowledgeOutput/
│ ├── daily/ # 日归档(同日累计,异日分离)
│ └── daily_YYYY-MM-DD.md
│ ├── weekly/ # 周归档(同月累计,异月分离)
│ └── weekly_YYYY-MM.md
│ ├── rethink.md # 知识体系构建(上限10万字)
│ └── bak/ # 备份(最多5份)
├── idea/
│ ├── all/ # 待验证创新点
│ ├── viewer/ # 验证记录
│ ├── deprecated/ # 废弃创新点
│ └── idea_*.md # 已验证创新点
├── logs/
│ ├── search/ # 搜索记录(同日累计,异日分离)
│ └── search_YYYY-MM-DD.md
│ ├── download/ # 下载记录
│ └── download_YYYY-MM-DD.md
│ └── read/ # 已读论文列表
│ └── read_YYYY-MM-DD.md
├── trash/*.md # 清理后不符合笔记要求的文档
├── projects/
│ ├── {project_name}_{idea_id}/ #可以运行的idea的demo完整框架
│ ├── {project_name}_{idea_id}.ipynb #可以在colab上运行的jupyter notebook
│ └── datasets/ # 下载的数据集,不允许过大
⚠️注意:不允许在每个子目录出现命名不正确的文件,如果需要临时存储,均放到trash/中
| 任务 ID | 任务名称 | 间隔/时间 | 每次工作量 |
|---|---|---|---|
| 搜索 | AutoResearcher-搜索 | 每 12 小时 | "工作量"*4*10 篇 |
| 下载 | AutoResearcher-下载 | 每 30 分钟 | "工作量"*2 篇 |
| 阅读 | AutoResearcher-阅读 | 每 15 分钟 | "工作量" 篇 |
| 日归档 | AutoResearcher-日归档 | 每 1 小时 | 根据未归档的文章数决定 |
| 创新点 | AutoResearcher-创新点 | 每日10:00和22:00 | 每次至多"创新点数"个 创新点 |
| 任务 | 任务名称 | 频率 | 说明 |
|---|---|---|---|
| Rethink | AutoResearcher-Rethink | 每 3 小时 | 知识体系重构,上限 10 万字 |
| 备份 | AutoResearcher-备份 | 每日 03:00 | 备份 daily/ + weekly/ + rethink.md,最多 5 份 |
| 周归档 | AutoResearcher-周归档 | 每周日 21:00 | 生成周小结 |
| 创新点审查 | AutoResearcher-创新点审查 | 每天22:00 | 对已有的创新点再一次进行审查 |
| 清理 | AutoResearcher-清理 | 每12小时 | 清理.openclaw目录、已经阅读并归档的PDF;清理notes目录下的不是论文阅读笔记的笔记,即标题显然不是论文标题的markdown,如果进行了清理,立马进行一次papers整理 |
| papers整理 | AutoResearcher-papers整理 | 每12小时 | 对整理的papers.csv进行整理,确保各个位置的论文及其数量一一对应 |
触发条件:每 12 小时
工作目录:"AutoResearcher项目根目录"
执行步骤:
【待读检查】
papers.csv,统计"未阅读"数量"工作量"*4*12 → 记录日志,跳出,说明当前论文够12小时内阅读【搜索 + 查重】(最多循环3次)
"工作量"*4*10篇新论文。【搜集论文信息】
【记录 + 更新】
logs/search/search_YYYY-MM-DD.md,做好日志。papers.csv输出文件:
logs/search/search_YYYY-MM-DD.mdpapers.csv触发条件:每 30 分钟
工作目录:"AutoResearcher项目根目录"
执行步骤:
paper.csv 中标注为"待下载"的论文"工作量"*2 篇下载 PDF01_、02_、1_、2_、03_ 等)
01_Statistical_Analysis_Inverse_Entropy_RL.pdf → Statistical_Analysis_Inverse_Entropy_RL.pdf^\\d+_ 或 ^\\d+-files/downloaded/ 目录下,命名格式:{论文标题}.pdf
files/downloaded/Statistical_Analysis_Inverse_Entropy_RL.pdffiles/tobedownloaded/YYYY-MM-DD.md,包含:标题、作者、年份、链接、失败原因logs/download/download_YYYY-MM-DD.md做好日志记录已下载。填写下载日期输出文件:
files/downloaded/*.pdffiles/tobedownloaded/YYYY-MM-DD.mdlogs/download/download_YYYY-MM-DD.mdpapers.csv触发条件:每 15 分钟
工作目录:"AutoResearcher项目根目录"
⚠️ 文件名格式(必须严格遵守):
notes/YYYY-MM-DD/{论文标题}.mdnotes/2026-03-18/DialogXpert.md执行步骤:
papers.csv,筛选出标记"未阅读"的论文,即待阅读论文,获取其对应的文章pdf路径。files/downloaded/获取 "工作量"篇未阅读的论文。notes/YYYY-MM-DD/{论文标题}.md,
notes/2026-03-17/"小龙虾目录"/memory/YYYY-MM-DD.md(每条 ≤ 100 字)logs/read/read_YYYY-MM-DD.md,做好日志papers.csv,
笔记列信息阅读状态改为已阅读,填写阅读日期⚠️ Token 节省策略:
输出文件:
notes/YYYY-MM-DD/{论文标题}.mdlogs/read/read_YYYY-MM-DD.mdpapers.csv"小龙虾目录"/memory/YYYY-MM-DD.md(每10篇写入一次)本质上,是对已阅读论文的归档任务,按照增量方式,在每日的日归档文件中不断追加新的论文归档内容。 触发条件:每 1 小时
工作目录:"AutoResearcher项目根目录"
⚠️ 核心理解:归档 = 增量添加(Add),一般不重写!
精简格式模板(每篇论文 3-5 行): 参考 GUIDELINES 的 日归档格式模板
分类维度: 参考用户偏好的"研究方向的分类维度"、可以自己加上自己的分类。
执行步骤:
papers.csv 统计未归档论文
笔记(笔记保存位置)。
notes/YYYY-MM-DD/*.md阅读日期分布在同一天,执行一次归档。阅读日期分布在不同天,执行最多3次分日期归档。knowledgeOutput/daily/ 目录下今日是否已有归档文件(YYYY-MM-DD.md)
papers.csv,
归档状态改为已归档、填写归档日期⚠️ 重要:
输出文件:
knowledgeOutput/daily/YYYY-MM-DD.md(增量追加)papers.csv(更新归档状态)触发条件:每日10:00和22:00
工作目录:"AutoResearcher项目根目录"
执行步骤:
【生成】:基于以下内容生成至多 **"创新点数"**个创新点
knowledgeOutput/daily/*.md以及knowledgeOutput/weekly/*.md)(日期约束);【命名保存】保存到 idea/all/*.md(按字母+6位数字命名)
idea_a000001.md(a开头,后面6位数字递增)idea/ 根目录 + idea/all/ + idea/deprecated/ + idea/viewer_backup/ 所有子目录下的所有文件,从所有文件中提取最大编号。绝对不能只扫描 idea/all/ 一个目录!idea_a000001.md、idea_a000002.md、idea_b000001.md、idea_aa000001.md记忆沉淀:将本次创新点相关的核心发现(约 100 字)写入 "小龙虾目录"/memory/YYYY-MM-DD.md
验证:检查 idea/all/ 下的待验证创新点
idea/viewer/ideaViewer_YYYY-MM-DD.mdidea/ 根目录;不可行/已有人做的差不多了 → 移至 idea/deprecated/
通知:验证完成后,根据用户的"消息通知偏好"按照"通知内容"的指定格式,输出通知消息。
⚠️ Token 节省策略:
输出文件:
idea/all/idea_*.mdidea/idea_*.md(已验证的idea)idea/deprecated/idea_*.md(废弃的idea)idea/viewer/ideaViewer_YYYY-MM-DD.md"小龙虾目录"/memory/YYYY-MM-DD.md(增量更新)触发条件:每天晚上22:00
工作目录:"AutoResearcher项目根目录"
执行步骤:
验证:检查 idea/ 下的已验证的创新点,再次
idea/viewer/ideaViewer_YYYY-MM-DD.mdidea/deprecated/并及时做好记录【创新点的实现】:将已经验证的创新点转换为可以实现的代码。
通知:验证完成后,根据用户的"消息通知偏好"按照"通知内容"的指定格式,输出通知消息。如果是再次审查失败的,也要通知。
⚠️ Token 节省策略:
输出文件:
idea/idea_*.md(已验证的idea经过验证后还放这里)idea/deprecated/idea_*.md(已验证的idea经过验证后废弃了)idea/viewer/ideaViewer_YYYY-MM-DD.md (做好记录)"小龙虾目录"/memory/YYYY-MM-DD.md(增量更新,但是这里要做批判性思考)projects/{project_name}_{idea_id}/ (完整的demo项目)projects/{project_name}_{idea_id}.ipynb(可以在colab上运行的jupyter notebook)projects/datasets/(下载到本地的数据集)触发条件:每 3 小时
工作目录:"AutoResearcher项目根目录"
⚠️ 核心要求:写成真正的综述论文,不是笔记清单!
规划阶段:
分块写作:
合并统稿:
按照"rethink.md综述的写作规范和要求"中的要求撰写。
执行步骤:
输出文件:
knowledgeOutput/rethink.md触发条件:每周日 21:00
工作目录:"AutoResearcher项目根目录"
执行步骤:
knowledgeOutput/daily/ 下所有日归档文件
knowledgeOutput/weekly/weekly_YYYY-MM.md(同月累计,不同月份分离)⚠️ Token 节省策略:
输出文件:
knowledgeOutput/weekly/weekly_YYYY-MM.md触发条件:每日 03:00
工作目录:"AutoResearcher项目根目录"
执行步骤:
knowledgeOutput/bak/ 目录下已有多少备份knowledgeOutput/daily/ 目录下所有文件knowledgeOutput/weekly/ 目录下所有文件knowledgeOutput/rethink.mdknowledgeOutput/bak/,命名格式:bak_YYYY-MM-DD.zip输出文件:
knowledgeOutput/bak/bak_YYYY-MM-DD.zip触发条件:每 12 小时
前置条件:如果上次清理后有新归档的 PDF,才执行归档 PDF 清理
工作目录:"AutoResearcher项目根目录"
执行步骤:
【清理 .openclaw 目录】
搜索 "AutoResearcher项目根目录" 下所有 .openclaw 相关文件/目录 如果在 files/downloaded/ 外发现 PDF 文件:
【清理已归档 PDF】
读取 papers.csv,筛选状态="已归档"的论文。 对每篇论文: 检查 files/downloaded/ 中对应 PDF 是否存在 存在 → 删除(节省空间)
【清理非论文笔记】(核心)
遍历 notes/YYYY-MM-DD/ 下所有 .md 文件 对每个文件,检测标题是否为论文标题,检测内容是否为单篇论文的阅读笔记。简单处理方式如下:
paper.csv里面的论文下载标题名称即可。分类处理:
【判断是否触发 papers 整理】
如果有以下情况,触发 papers整理 任务:
触发方式:在日志中记录「建议触发 papers整理」,由下一个任务轮次执行
【输出清理报告】
清理完成:
⚠️ 注意事项:
触发条件:每 12 小时(由清理任务触发时优先执行)
前置条件:上次整理后有新变化(下载/阅读/归档)
工作目录:"AutoResearcher项目根目录"
执行步骤:
【数据统计】
【一致性检查】
对比 A、B、C 三者是否一致:
情况1:A = B = C → 一致,无需操作
情况2:A > B → 有 PDF 无笔记:检查 papers.csv 对应状态。
情况3:A < B → 有笔记无 PDF:
情况4:C 与 A/B 差异大 → papers.csv 记录丢失或多余,需要修复
【修复缺失项】
【状态同步】
遍历 papers.csv 每条记录对比实际文件状态,更新 papers.csv:
【输出整理报告】
papers整理完成:
⚠️ 注意事项:
请参考用户的"研究方向",在执行搜索任务时,使用相关的关键词进行搜索,以确保搜索结果与用户的研究兴趣高度相关。
重要‼️ 请务必在执行任何任务前,先切换到"AutoResearcher项目根目录",确保文件的位置正确
{
"task": "执行 AutoResearcher 搜索任务"
}
{
"task": "执行 AutoResearcher 下载任务"
}
{
"task": "执行 AutoResearcher 阅读任务"
}
{
"task": "执行 AutoResearcher 日归档任务"
}
{
"task": "执行 AutoResearcher 创新点任务"
}
{
"task": "执行 AutoResearcher Rethink 任务"
}
{
"task": "执行 AutoResearcher 周归档任务"
}
{
"task": "执行 AutoResearcher 备份任务"
}
{
"task": "执行 AutoResearcher 创新点审查任务"
}
{
"task": "执行 AutoResearcher 清理任务"
}
{
"task": "执行 AutoResearcher papers整理任务"
}
通过以下任务消息控制定时任务系统:
| 操作 | 任务消息 |
|---|---|
| 启动全部定时任务 | "AutoResearcher 控制:启动全部定时任务" |
| 关闭全部定时任务 | "AutoResearcher 控制:关闭全部定时任务" |
| 启动单个任务 | "AutoResearcher 控制:启动【任务名】任务" |
| 关闭单个任务 | "AutoResearcher 控制:关闭【任务名】任务" |
| 手动触发某任务 | "AutoResearcher 控制:立即执行【任务名】任务" |
| 查看任务状态 | "AutoResearcher 控制:查看当前定时任务状态" |
| 进行创新点审查 | "AutoResearcher 控制:进行创新点审查" |
| 进行清理任务 | "AutoResearcher 控制:进行清理" |
| 进行papers整理 | "AutoResearcher 控制:进行papers整理" |
收到控制命令后,agent 调用 cron API 完成操作:
cron(action=add, job=...) 逐个添加 cron jobcron(action=update, jobId=xxx, patch={"enabled": false})cron(action=run, jobId=xxx)cron(action=list) 并格式化输出手动对 agent 说一次:"使用auto-researcher这个skill, 启动全部定时任务",agent 就会调用 cron add 把 11 个 job 全部注册进去。之后每次 cron 触发时 agent 自动读该skill目录下最新的 PATHS.md / PREFERENCES.md/ DIRECTIONS.md / GUIDELINES.md,改配置无需重建。任务的命名方式都要按照"autoresearcher-{job_name}"这样子,方便统一管理。
| 文件 | 说明 |
|---|---|
logs/search/search_YYYY-MM-DD.md | 搜索记录 |
logs/download/download_YYYY-MM-DD.md | 下载记录 |
logs/read/read_YYYY-MM-DD.md | 已读论文列表 |
papers.csv | 论文元数据存储 |
运行前确保:
"AutoResearcher项目根目录"