# NanoResearch **Repository Path**: whatalee/NanoResearch ## Basic Information - **Project Name**: NanoResearch - **Description**: 专业的nanoReacher端到端自主AI科研引擎,其核心特色在于能够真正执行计算实验,而非仅仅生成文本大纲或论文草稿。它能自动完成从文献检索、研究思路生成、实验方案设计、可运行代码编写,到将代码提交至GPU集群或本地执行训练、收集真实实验结果、分析数据、自动生成论文配图 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-18 - **Last Updated**: 2026-04-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
NanoResearch Logo
# NanoResearch

中文 English

**端到端自主 AI 科研引擎 — 从研究想法到完整论文,全程自动化**

Project Stars Issues

Python License Pipeline Execution

快速开始 · 效果展示 · 流水线 · Claude Code · 飞书机器人

--- > 🔬 NanoResearch **真正运行计算实验**——它不仅生成代码,还能将代码提交到 GPU 集群执行训练,收集真实实验结果,生成论文配图,最终输出一篇有实验数据支撑的完整 LaTeX 论文。论文中的每一个数据、表格、图表都来自实际运行的实验结果,**而非 LLM 编造**。 --- ## 📖 目录 - [📊 论文实测展示](#-论文实测展示) - [⚡ CLI 演示](#cli-demo) - [📢 最新动态](#-最新动态) - [✨ 核心特性](#-核心特性) - [🆚 为何选择 NanoResearch](#-为何选择-nanoresearch) - [🎯 应用场景](#-应用场景) - [🖼️ 效果展示](#️-效果展示) - [CLI:标准输出与 TUI 对比](#cli-tui-vs-plain) - [🔬 流水线](#-流水线) - [📦 快速开始](#-快速开始) - [🧩 Claude Code 模式](#-claude-code-模式) - [⚙️ 配置](#️-配置) - [💻 CLI 参考](#-cli-参考) - [🍪 示例与 Demo](#-示例与-demo) - [📂 输出结构](#-输出结构) - [💬 飞书机器人](#-飞书机器人) - [🏗️ 项目结构](#-项目结构) - [❓ 常见问题](#-常见问题) - [🎯 路线图](#-路线图) - [📋 环境要求](#-环境要求) - [🙏 致谢](#-致谢) - [🤝 贡献](#-贡献) - [📝 引用](#-引用) - [📄 许可证](#-许可证)

🔝 返回顶部

--- ## 📊 论文实测展示 以下为 NanoResearch 自动生成论文中的**真实配图**,所有数据、曲线、表格均来自实际运行的实验结果,**非 LLM 虚构**。
实验结果
实验结果展示
主结果对比
方法对比 / 主结果
消融与可视化
消融与可视化
> 以上配图均为流水线自动生成,数据来源于真实训练日志与实验结果。 --- ## ⚡ CLI 演示 NanoResearch **命令行(CLI)** 提供 **TUI 全屏界面** 与 **传统流式日志** 两种呈现方式。下方为 CLI 端 **TUI 主题与界面** 演示视频(配色切换与布局优化)。其他入口(如 Claude Code、飞书机器人)见文档对应章节。

🖥️ CLI / TUI

演示:TUI 界面、配色主题切换与信息布局优化

🔝 返回顶部

--- ## Why NanoResearch | 特性 | 传统 AI 写作工具 | NanoResearch | |------|-----------------|-------------| | 文献检索 | 部分支持 | ✅ OpenAlex + Semantic Scholar 自动检索 | | 实验设计 | ❌ | ✅ 自动生成实验方案 | | 代码生成 | 部分支持 | ✅ 完整可运行的实验代码 | | **GPU 实验执行** | ❌ | ✅ **本地 / SLURM 自动训练** | | 结果分析 | ❌ | ✅ 解析真实训练日志 | | 论文配图 | ❌ | ✅ 基于真实数据 | | 论文撰写 | 大纲/草稿 | ✅ 完整 LaTeX 论文 | | 断点续跑 | ❌ | ✅ 任意阶段可恢复 | | 多模型协作 | 单一模型 | ✅ 按阶段路由 | --- ## 🎯 应用场景 - **科研原型验证** — 快速将研究想法变成完整的实验 + 论文工作空间 - **自主实验** — 系统自动生成代码、提交 GPU 训练、分析结果 - **Benchmark 批量生成** — 对多个课题批量运行,生成可复现的实验结果 - **论文初稿辅助** — 基于真实实验数据产出 LaTeX 草稿,加速写作 - **科研流程审计** — 完整工作空间、中间产物和日志,可追溯每一步 --- ## 🖼️ 效果展示
告别手动科研

告别手动科研的痛苦循环

不再反复调试失败的实验、手动整理数据、从零写论文——
NanoResearch 将完整科研流程自动化,让你专注于真正的研究创新。

### CLI:标准输出与 TUI 模式对比 CLI 支持 **传统流式日志(非 TUI)** 与 **全屏 TUI 面板** 两种呈现方式,可按习惯切换。

标准输出(非 TUI)

NanoResearch CLI 标准输出模式

非 TUI:经典终端日志流,便于重定向与脚本集成

TUI 模式

NanoResearch CLI TUI 模式

TUI:结构化面板与状态分区,适合交互式监控

### 示例输出
框架概览
框架概览
生成论文示例
生成论文示例
主结果
主结果(真实实验数据)
消融实验
消融实验
--- ## 🔬 流水线 ```text Research Topic ↓ IDEATION → PLANNING → SETUP → CODING → EXECUTION → ANALYSIS → FIGURE_GEN → WRITING → REVIEW ↓ Exported: paper.pdf / paper.tex / references.bib / figures / code / data ```
📋 各阶段详细说明 | Stage | 功能 | 说明 | |-------|------|------| | `IDEATION` | 文献检索与创意生成 | 搜索学术文献、发现研究空白、提出假说、收集必引文献 | | `PLANNING` | 实验方案设计 | 将研究想法转化为详细的实验蓝图(数据集、基线、指标、消融) | | `SETUP` | 环境准备 | 准备代码仓库、依赖环境、模型和数据集 | | `CODING` | 代码生成 | 生成完整可运行的实验项目(含训练脚本、数据处理、模型定义) | | `EXECUTION` | **实验执行** | **在本地 GPU 或 SLURM 集群上运行训练,支持自动重试和调试** | | `ANALYSIS` | 结果分析 | 解析训练日志和指标,生成结构化实验证据 | | `FIGURE_GEN` | 图表生成 | 创建架构图、结果对比图、消融实验图 | | `WRITING` | 论文撰写 | 基于实验证据和引用撰写 LaTeX 论文 | | `REVIEW` | 审稿与修订 | 自动审阅各章节,检测问题并修订 |
🚀 EXECUTION 阶段核心能力 `EXECUTION` 阶段是 NanoResearch 的核心差异化能力: - **自动提交 SLURM 作业** — 生成 sbatch 脚本,提交到集群,监控作业状态 - **本地 GPU 执行** — 自动检测可用 GPU,管理训练进程 - **自动调试与重试** — 训练失败时自动分析错误日志,修复代码并重新执行 - **实时日志监控** — 追踪训练进度和指标变化 - **混合执行模式** — 可根据任务复杂度在本地和集群之间自动切换
--- ## 📦 快速开始 遵循以下步骤,约 5 分钟即可完成从安装到首次运行的完整流程。 ### 步骤一:安装 ```bash git clone https://github.com/OpenRaiser/NanoResearch.git cd NanoResearch pip install -e ".[dev]" ``` ### 步骤二:配置 > [!TIP] > 创建 `~/.nanobot/config.json`,替换 `base_url` 和 `api_key` 为你自己的 OpenAI 兼容 API 端点。
查看完整配置示例 ```json { "research": { "base_url": "https://your-openai-compatible-endpoint/v1/", "api_key": "your-api-key", "template_format": "neurips2025", "execution_profile": "local_quick", "writing_mode": "hybrid", "max_retries": 2, "auto_create_env": true, "auto_download_resources": true, "ideation": { "model": "your-model", "temperature": 0.5, "max_tokens": 16384, "timeout": 600.0 }, "planning": { "model": "your-model", "temperature": 0.2, "max_tokens": 16384, "timeout": 600.0 }, "code_gen": { "model": "your-model", "temperature": 0.1, "max_tokens": 16384, "timeout": 600.0 }, "writing": { "model": "your-model", "temperature": 0.4, "max_tokens": 16384, "timeout": 600.0 }, "figure_gen": { "model": "gemini-3.1-flash-image-preview", "image_backend": "gemini", "temperature": null, "timeout": 300.0 }, "review": { "model": "your-model", "temperature": 0.3, "max_tokens": 16384, "timeout": 300.0 } } } ```
环境变量覆盖:`NANORESEARCH_BASE_URL` / `NANORESEARCH_API_KEY` / `NANORESEARCH_TIMEOUT` ### 步骤三:验证与运行 ```bash # 验证配置 nanoresearch run --topic "Adaptive Sparse Attention Mechanisms" --dry-run # 启动完整流水线 nanoresearch run --topic "Adaptive Sparse Attention Mechanisms" --format neurips2025 --verbose # 从断点恢复(若某阶段失败) nanoresearch resume --workspace ~/.nanobot/workspace/research/{session_id} --verbose # 导出论文 nanoresearch export --workspace ~/.nanobot/workspace/research/{session_id} --output ./my_paper ``` ### 步骤四:预期输出 完成流水线后,你将得到包含真实实验数据的论文配图与 LaTeX 源码。 --- ## 🤖 推荐模型 | Stage | 任务 | 推荐模型 | 经济型 | |-------|------|---------|-------| | `ideation` | 文献检索 + 假说生成 | DeepSeek-V3.2 | DeepSeek-V3.2 | | `planning` | 实验设计 | Claude Sonnet 4.6 | DeepSeek-V3.2 | | `code_gen` | 代码生成 | GPT-5.2-Codex / Claude Opus 4.6 | DeepSeek-V3.2 | | `writing` | 论文撰写 | Claude Opus 4.6 / Claude Sonnet 4.6 | DeepSeek-V3.2 | | `figure_prompt` | 图表描述 | GPT-5.2 | DeepSeek-V3.2 | | `figure_code` | 图表绘制代码 | Claude Opus 4.6 | DeepSeek-V3.2 | | `figure_gen` | AI 架构图生成 | Gemini 3.1 Flash(原生图像生成) | Gemini 3.1 Flash | | `review` | 审稿 + 修订 | Claude Sonnet 4.6 / Gemini Flash | DeepSeek-V3.2 | > **说明**:所有文本模型通过单一 OpenAI 兼容端点访问。对于不支持 temperature 的模型(如 Codex、o 系列),设置 `temperature: null`。`figure_gen` 使用 Gemini 原生图像生成 API,需设置 `"image_backend": "gemini"`。 ### 💰 预估费用 | 场景 | 模型选择 | 时间 | 预估费用 | |------|---------|------|---------| | **仅生成论文**(跳过实验) | 全部 DeepSeek-V3.2 | ~30 分钟 | ~$0.5 - $1 | | **仅生成论文**(跳过实验) | 混合(Claude 写作,DeepSeek 其余) | ~30 分钟 | ~$3 - $8 | | **完整流水线**(含实验) | 全部 DeepSeek-V3.2 | 2 - 5 小时 | ~$1 - $3 | | **完整流水线**(含实验) | 混合(Claude/GPT 代码+写作) | 2 - 5 小时 | ~$10 - $20 | > "仅生成论文"模式通过 `"skip_stages": ["SETUP", "CODING", "EXECUTION", "ANALYSIS"]` 跳过实验阶段。 --- ## 🧩 Claude Code 模式 除了 Python CLI,NanoResearch 还支持通过 **[Claude Code](https://docs.anthropic.com/en/docs/claude-code)** 直接驱动研究流水线——**无需配置任何 API Key**。
工作原理 在 Claude Code 集成模式下,Claude Code 本身就是研究引擎: - **WebSearch** 替代外部 API 进行文献检索(arXiv、Semantic Scholar、Google Scholar) - **Bash** 执行实验代码、提交 SLURM 作业、编译 LaTeX - **文件读写** 生成实验代码、论文和结构化产物
### 快速开始 ```bash git clone https://github.com/OpenRaiser/NanoResearch.git cd NanoResearch claude /project:research "你的研究课题" ``` ### 可用命令 | 命令 | 功能 | |---------|------| | `/project:research <课题>` | 运行完整 9 阶段流水线 | | `/project:ideation ` | Stage 1: 文献检索 + 假说生成 | | `/project:planning` | Stage 2: 实验方案设计 | | `/project:experiment` | Stages 3-5: 环境准备 + 代码生成 + 实验执行 | | `/project:analysis` | Stage 6: 实验结果分析 | | `/project:writing` | Stages 7-8: 图表生成 + 论文撰写 | | `/project:review` | Stage 9: 多视角审稿 + 修订 | | `/project:status` | 查看当前流水线状态 | | `/project:resume` | 从断点恢复流水线 |
💡 Tips - **架构图生成**:推荐使用 Nano Banana 系列图像模型生成高质量架构图。Claude Code 模式下可在 `figure_gen` 阶段通过 Bash 调用图像生成 API。 - **LaTeX 编译**:推荐使用 `tectonic` 替代 `pdflatex`。安装:`conda install -c conda-forge tectonic`。 - **断点续跑**:所有阶段的产物保存在 `manifest.json` 中,支持任意阶段恢复。 - **与 Python CLI 兼容**:Claude Code 模式生成的工作空间与 Python CLI 完全兼容,可混合使用两种模式。
--- ## Codex Integration 除了 Claude Code,NanoResearch 现在也提供了面向 **Codex** 的项目级入口。Codex 不需要第二套 pipeline 或额外的 `--mode codex` 参数;它应直接复用仓库现有的 CLI、workspace、manifest 和 `PaperMode` 逻辑。 ### 如何使用 ```bash # 1. Clone 项目 git clone https://github.com/OpenRaiser/NanoResearch.git cd NanoResearch # 2. 在 Codex 中打开仓库 # 3. 让 Codex 先读取 AGENTS.md ``` Codex 入口文档:`AGENTS.md` ### Codex 会如何理解这个仓库 - 将仓库视为一个端到端自主科研流水线,而不是普通代码仓库 - 优先走已有的 `nanoresearch` CLI / workspace / orchestrator 行为 - 将用户意图映射到现有的 `research`、`ideation`、`planning`、`experiment`、`analysis`、`writing`、`review`、`status`、`resume` 流程 - 保持与现有工作空间和 `manifest.json` 兼容 ### Survey / Original 模式 Codex 使用与 CLI 相同的 topic 前缀约定: - `original: Topic` - `survey:short: Topic` - `survey:standard: Topic` - `survey:long: Topic` 这些前缀会进入仓库现有的 `PaperMode` 解析逻辑;Codex 只需要遵循这一约定,而不需要发明新的接口。 ## Execution Profiles | Profile | 说明 | |---------|------| | `fast_draft` | 轻量级草稿模式,快速迭代 | | `local_quick` | 优先本地执行,需要时可升级到 SLURM | | `cluster_full` | 集群优先,适合重量级实验 | ### 模型路由 NanoResearch 通过统一配置层将不同阶段路由到不同模型,让你按任务特性混合搭配,而非强制所有阶段使用同一模型。
可路由的阶段 - `ideation` — 文献检索与创意 - `planning` — 实验设计 - `experiment` — 实验相关 - `code_gen` — 代码生成 - `writing` — 论文撰写 - `figure_prompt` — 图表描述 - `figure_code` — 图表代码 - `figure_gen` — 图像生成 - `review` — 审稿 - `revision` — 修订 系统基于 **OpenAI 兼容端点**构建,支持按阶段覆盖配置。
### 文献检索 API Keys(可选) IDEATION 阶段使用 OpenAlex 和 Semantic Scholar 检索学术文献。不配置也能运行(匿名访问),但速率限制较低。 | Service | 获取方式 | Config key | Env variable | |---------|---------|------------|--------------| | [OpenAlex](https://developers.openalex.org/) | 免费 | `openalex_api_key` | `OPENALEX_API_KEY` | | [Semantic Scholar](https://www.semanticscholar.org/product/api#api-key) | 免费 | `s2_api_key` | `S2_API_KEY` | ### 论文格式 模板从 `nanoresearch/templates/` 自动发现。内置模板: | Format | 用途 | |--------|------| | `arxiv` | arXiv 预印本 | | `icml` | ICML 会议 | | `neurips` | NeurIPS 会议 | | `neurips2025` | NeurIPS 2025 | ```bash nanoresearch run --topic "Graph Foundation Models for Biology" --format neurips2025 ``` --- ## 💻 CLI 参考 | 命令 | 用途 | |---------|------| | `nanoresearch run --topic "..."` | 启动新的流水线运行 | | `nanoresearch resume --workspace ...` | 从上次断点恢复 | | `nanoresearch status --workspace ...` | 查看各阶段状态和产物 | | `nanoresearch list` | 列出已保存的研究会话 | | `nanoresearch export --workspace ...` | 导出论文打包 | | `nanoresearch config` | 打印当前配置(密钥已屏蔽) | | `nanoresearch inspect --workspace ...` | 检查工作空间产物 | | `nanoresearch health` | 运行环境/配置健康检查 | | `nanoresearch delete ` | 删除指定会话 | ```bash nanoresearch --help ```

🔝 返回顶部

--- ## 🍪 示例与 Demo 官方示例与进阶用法,助你快速上手 NanoResearch: 👉 **[浏览示例与 Demo](https://github.com/OpenRaiser/NanoResearch)**
快速示例命令 ```bash # 完整流水线 + 详细日志 nanoresearch run --topic "Adaptive Sparse Attention" --format neurips2025 --verbose # 导出并查看 nanoresearch export --workspace ~/.nanobot/workspace/research/{session_id} --output ./paper_out ``` > 仅生成论文(跳过实验):在 config 中设置 `"skip_stages": ["SETUP", "CODING", "EXECUTION", "ANALYSIS"]`

🔝 返回顶部

--- ## 📂 输出结构
导出的论文目录 ```text my_paper/ ├── paper.pdf ├── paper.tex ├── references.bib ├── figures/ ├── code/ ├── data/ └── manifest.json ```
完整工作空间(含中间产物) ```text ~/.nanobot/workspace/research/{session_id}/ ├── manifest.json # 流水线状态追踪 ├── papers/ # 文献检索产物 ├── plans/ # 实验方案和分析 ├── experiment/ # 生成的实验代码 + 结果 ├── figures/ # 生成的论文配图 ├── drafts/ # 论文草稿和审稿意见 ├── output/ # 最终导出(main.tex / main.pdf) └── logs/ # 运行日志 ```
--- ## 💬 飞书机器人 NanoResearch 内置飞书(Lark)机器人,可直接在飞书聊天中触发流水线、查看进度、接收论文——无需打开终端。
配置与启动 **1. 安装依赖** ```bash pip install lark-oapi ``` **2. 配置** 在 [open.feishu.cn](https://open.feishu.cn) 创建自定义应用并获取 App ID 和 App Secret: ```bash export FEISHU_APP_ID="cli_xxx" export FEISHU_APP_SECRET="xxx" ``` 或写入 `~/.nanobot/config.json`: ```json { "feishu": { "app_id": "cli_xxx", "app_secret": "xxx" } } ``` **3. 启动** ```bash nanoresearch feishu # 启动机器人 nanoresearch feishu -v # 详细日志模式 ``` 机器人通过 WebSocket 长连接通信(无需公网服务器或 Webhook URL)。按 `Ctrl+C` 停止。
### 支持的命令 | 命令 | 描述 | |---------|------| | `/run <课题>` | 对指定课题启动研究流水线 | | `/status` | 查看当前任务进度 | | `/list` | 列出所有历史研究会话 | | `/stop` | 停止当前运行的流水线 | | `/export` | 重新导出最近完成的研究 | | `/new` | 清除对话记忆,重新开始 | | `/help` | 显示帮助信息 | 也可以直接自然语言聊天——机器人充当 AI 科研助手,支持对话记忆,流水线完成后自动发送 `paper.pdf`。 --- ## 🏗️ 项目结构 ```text nanoresearch/ ├── nanoresearch/ │ ├── cli.py # 🖥️ CLI 入口 │ ├── config.py # ⚙️ 配置管理 │ ├── agents/ # 🧠 各阶段 Agent │ │ ├── ideation.py # 文献检索与假说 │ │ ├── planning.py # 实验方案设计 │ │ ├── coding.py # 代码生成 │ │ ├── execution/ # 本地/集群执行 │ │ ├── analysis/ # 结果分析 │ │ ├── figure_gen/ # 图表生成 │ │ ├── writing/ # 论文撰写 │ │ └── review/ # 审稿与修订 │ ├── pipeline/ # 🔄 编排器 & 状态机 │ ├── schemas/ # 📋 Pydantic 数据模型 │ ├── prompts/ # 💬 YAML 提示词模板 │ ├── templates/ # 📄 LaTeX Jinja2 模板 │ └── latex/ # 🔧 LaTeX 自动修复 ├── mcp_server/ # 🔌 MCP 工具服务 ├── skills/ # 🎯 Claude Code 技能 └── pyproject.toml ``` --- ## ❓ 常见问题
NanoResearch 真的会运行实验吗? 是的。流水线会生成可运行的代码,在本地 GPU 或 SLURM 集群上执行,并将实验产物传递给后续的分析、配图和写作阶段。**论文中的数据来自真实实验,而非模型编造。**
可以断点续跑吗? 可以。工作空间按阶段保存检查点,`nanoresearch resume --workspace ...` 会从上次未完成或失败的阶段继续。
每个阶段都需要配置模型吗? 不需要。NanoResearch 支持按阶段配置模型路由,也可以全部使用同一个模型。
生成的论文可以直接投稿吗? 建议将其视为高质量初稿,而非最终投稿版本。系统可以生成完整的论文工作空间和编译好的 PDF,但人工审阅和修订仍然必要。
LaTeX 编译推荐什么工具? 推荐使用 `tectonic`。Conda 安装的 texlive 可能缺少 `pdflatex.fmt`,导致编译失败且修复困难。`tectonic` 会自动下载所需的 TeX 包,无需额外配置。 ```bash conda install -c conda-forge tectonic ```
--- ## 🎯 路线图 - [x] 9 阶段统一流水线 - [x] 本地 GPU + SLURM 集群执行 - [x] Claude Code 集成模式 - [x] 飞书机器人 - [x] 多会议论文模板(NeurIPS / ICML / arXiv) - [x] 断点续跑与多模型路由 - [ ] 更多 Demo 与教程 - [ ] Benchmark 评估套件 - [ ] Web 端工作空间 UI - [ ] 更多论文格式支持

🔝 返回顶部

--- ## 🤝 贡献 欢迎开发者、研究者贡献代码与创意。 ### 👥 社区与交流 加入微信群交流、答疑、协作。扫码加入:

WeChat Group QR Code

Contributors

🔝 返回顶部

--- ## 📋 环境要求 - Python **3.10+** - **OpenAI 兼容 API 端点**(用于文本模型阶段) - 可选:图像模型访问权限(用于部分配图) - `tectonic` 或 `pdflatex`(用于 PDF 编译) --- ## 🙏 致谢 - [claude-scholar](https://github.com/Galaxy-Dawn/claude-scholar) — Claude Code 的科研技能扩展 --- ## ⭐ Star History
Star History Chart
--- ## 📝 引用 如有帮助,请引用: ```bibtex @software{nanoresearch2026, title = {NanoResearch}, author = {OpenRaiser}, year = {2026}, url = {https://github.com/OpenRaiser/NanoResearch} } ``` --- ## 📄 许可证 MIT

🔝 返回顶部

---

Star Issues Discussions

NanoResearch 仅供教育、研究及技术交流使用。