{"id":48647234,"url":"https://github.com/OpenRaiser/NanoResearch","last_synced_at":"2026-04-26T01:01:04.654Z","repository":{"id":345056464,"uuid":"1184170771","full_name":"OpenRaiser/NanoResearch","owner":"OpenRaiser","description":"🦞+🔬: NanoResearch: The Autonomous AI Research Assistant","archived":false,"fork":false,"pushed_at":"2026-04-13T08:30:32.000Z","size":19622,"stargazers_count":691,"open_issues_count":5,"forks_count":137,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-04-14T13:27:49.951Z","etag":null,"topics":["agent-skills","agents","ai","ai-agents","ai-scientist","artificial-intelligence","autonomous-agents","autonomous-research","autoresearch","claude-code","claude-skills","nanobot","openclaw"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenRaiser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-17T10:20:31.000Z","updated_at":"2026-04-14T01:37:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/OpenRaiser/NanoResearch","commit_stats":null,"previous_names":["openraiser/nanoresearch"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/OpenRaiser/NanoResearch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenRaiser%2FNanoResearch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenRaiser%2FNanoResearch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenRaiser%2FNanoResearch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenRaiser%2FNanoResearch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenRaiser","download_url":"https://codeload.github.com/OpenRaiser/NanoResearch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenRaiser%2FNanoResearch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32282187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T18:29:39.964Z","status":"ssl_error","status_checked_at":"2026-04-25T18:29:32.149Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-skills","agents","ai","ai-agents","ai-scientist","artificial-intelligence","autonomous-agents","autonomous-research","autoresearch","claude-code","claude-skills","nanobot","openclaw"],"created_at":"2026-04-10T06:00:29.406Z","updated_at":"2026-04-26T01:01:04.647Z","avatar_url":"https://github.com/OpenRaiser.png","language":"Python","funding_links":[],"categories":["🔬 Autonomous Research \u0026 Self-Improving Agents","6 つのトラック","📝 Self-Evolving AI Papers (2023–Now)","🔬 Research-agent systems"],"sub_categories":["Research-Agent Systems","Tier 1：事業診断コア","2026"],"readme":"\u003ca id=\"top\"\u003e\u003c/a\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cdiv style=\"margin: 20px 0;\"\u003e\n  \u003cimg src=\"imgs/logo.png\" alt=\"NanoResearch Logo\" width=\"500\" style=\"border-radius: 20px;\"\u003e\n\u003c/div\u003e\n\n# NanoResearch\n\n\u003cp\u003e\n  \u003ca href=\"README.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/🇨🇳_中文-1a1a2e?style=for-the-badge\" alt=\"中文\"\u003e\u003c/a\u003e\n  \u003ca href=\"README_en.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/🇺🇸_English-1a1a2e?style=for-the-badge\" alt=\"English\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n**端到端自主 AI 科研引擎 — 从研究想法到完整论文，全程自动化**\n\n\u003cp\u003e\n  \u003ca href=\"https://github.com/OpenRaiser/NanoResearch\"\u003e\u003cimg src=\"https://img.shields.io/badge/🔥_Project-Page-00d9ff?style=for-the-badge\u0026logo=github\u0026logoColor=white\u0026labelColor=1a1a2e\" alt=\"Project\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/OpenRaiser/NanoResearch/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/OpenRaiser/NanoResearch?color=00d9ff\u0026style=for-the-badge\u0026logo=star\u0026logoColor=white\u0026labelColor=1a1a2e\" alt=\"Stars\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/OpenRaiser/NanoResearch/issues\"\u003e\u003cimg src=\"https://img.shields.io/badge/🐛_Issues-ff6b6b?style=for-the-badge\u0026logo=github\u0026logoColor=white\u0026labelColor=1a1a2e\" alt=\"Issues\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Python-3.10%2B-4ecdc4?style=for-the-badge\u0026logo=python\u0026logoColor=white\u0026labelColor=1a1a2e\" alt=\"Python\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/License-MIT-16A34A?style=for-the-badge\u0026labelColor=1a1a2e\" alt=\"License\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Pipeline-9_Stage_Deep-7C3AED?style=for-the-badge\u0026labelColor=1a1a2e\" alt=\"Pipeline\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Execution-Local_|_SLURM-0EA5E9?style=for-the-badge\u0026labelColor=1a1a2e\" alt=\"Execution\"\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n  \u003ca href=\"#快速开始\"\u003e\u003cb\u003e快速开始\u003c/b\u003e\u003c/a\u003e ·\n  \u003ca href=\"#效果展示\"\u003e\u003cb\u003e效果展示\u003c/b\u003e\u003c/a\u003e ·\n  \u003ca href=\"#流水线\"\u003e\u003cb\u003e流水线\u003c/b\u003e\u003c/a\u003e ·\n  \u003ca href=\"#claude-code-模式\"\u003e\u003cb\u003eClaude Code\u003c/b\u003e\u003c/a\u003e ·\n  \u003ca href=\"#飞书机器人\"\u003e\u003cb\u003e飞书机器人\u003c/b\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003c/div\u003e\n\n---\n\n\u003e 🔬 NanoResearch **真正运行计算实验**——它不仅生成代码，还能将代码提交到 GPU 集群执行训练，收集真实实验结果，生成论文配图，最终输出一篇有实验数据支撑的完整 LaTeX 论文。论文中的每一个数据、表格、图表都来自实际运行的实验结果，**而非 LLM 编造**。\n\n---\n\n## 📖 目录\n\n- [📊 论文实测展示](#-论文实测展示)\n- [⚡ CLI 演示](#cli-demo)\n- [📢 最新动态](#-最新动态)\n- [✨ 核心特性](#-核心特性)\n- [🆚 为何选择 NanoResearch](#-为何选择-nanoresearch)\n- [🎯 应用场景](#-应用场景)\n- [🖼️ 效果展示](#️-效果展示)\n- [CLI：标准输出与 TUI 对比](#cli-tui-vs-plain)\n- [🔬 流水线](#-流水线)\n- [📦 快速开始](#-快速开始)\n- [🧩 Claude Code 模式](#-claude-code-模式)\n- [⚙️ 配置](#️-配置)\n- [💻 CLI 参考](#-cli-参考)\n- [🍪 示例与 Demo](#-示例与-demo)\n- [📂 输出结构](#-输出结构)\n- [💬 飞书机器人](#-飞书机器人)\n- [🏗️ 项目结构](#-项目结构)\n- [❓ 常见问题](#-常见问题)\n- [🎯 路线图](#-路线图)\n- [📋 环境要求](#-环境要求)\n- [🙏 致谢](#-致谢)\n- [🤝 贡献](#-贡献)\n- [📝 引用](#-引用)\n- [📄 许可证](#-许可证)\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#top\"\u003e🔝 返回顶部\u003c/a\u003e\u003c/p\u003e\n\n---\n\n## 📊 论文实测展示\n\n以下为 NanoResearch 自动生成论文中的**真实配图**，所有数据、曲线、表格均来自实际运行的实验结果，**非 LLM 虚构**。\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" valign=\"top\" width=\"33%\"\u003e\n      \u003cimg src=\"imgs/recognition_1.jpg\" height=\"200\" alt=\"实验结果\"/\u003e\n      \u003cbr /\u003e\n      \u003csub\u003e\u003cb\u003e实验结果展示\u003c/b\u003e\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" valign=\"top\" width=\"33%\"\u003e\n      \u003cimg src=\"imgs/recognition_2.jpg\" height=\"200\" alt=\"主结果对比\"/\u003e\n      \u003cbr /\u003e\n      \u003csub\u003e\u003cb\u003e方法对比 / 主结果\u003c/b\u003e\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" valign=\"top\" width=\"33%\"\u003e\n      \u003cimg src=\"imgs/recognition_3.jpg\" height=\"200\" alt=\"消融与可视化\"/\u003e\n      \u003cbr /\u003e\n      \u003csub\u003e\u003cb\u003e消融与可视化\u003c/b\u003e\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003e 以上配图均为流水线自动生成，数据来源于真实训练日志与实验结果。\n\n---\n\n\u003ca id=\"cli-demo\"\u003e\u003c/a\u003e\n\n## ⚡ CLI 演示\n\nNanoResearch **命令行（CLI）** 提供 **TUI 全屏界面** 与 **传统流式日志** 两种呈现方式。下方为 CLI 端 **TUI 主题与界面** 演示视频（配色切换与布局优化）。其他入口（如 Claude Code、飞书机器人）见文档对应章节。\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth\u003e\u003cp align=\"center\"\u003e🖥️ CLI / TUI\u003c/p\u003e\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cvideo src=\"https://github.com/user-attachments/assets/008911c6-b015-47ff-a286-1d8c22f5817e\" autoplay loop muted playsinline width=\"100%\" style=\"max-width: 100%; border-radius: 8px;\"\u003e\n        \u003ca href=\"https://github.com/user-attachments/assets/008911c6-b015-47ff-a286-1d8c22f5817e\"\u003e下载 / 播放 CLI 演示视频\u003c/a\u003e\n      \u003c/video\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\u003csub\u003e\u003ci\u003e演示：TUI 界面、配色主题切换与信息布局优化\u003c/i\u003e\u003c/sub\u003e\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#top\"\u003e🔝 返回顶部\u003c/a\u003e\u003c/p\u003e\n\n---\n\n## Why NanoResearch\n\n| 特性 | 传统 AI 写作工具 | NanoResearch |\n|------|-----------------|-------------|\n| 文献检索 | 部分支持 | ✅ OpenAlex + Semantic Scholar 自动检索 |\n| 实验设计 | ❌ | ✅ 自动生成实验方案 |\n| 代码生成 | 部分支持 | ✅ 完整可运行的实验代码 |\n| **GPU 实验执行** | ❌ | ✅ **本地 / SLURM 自动训练** |\n| 结果分析 | ❌ | ✅ 解析真实训练日志 |\n| 论文配图 | ❌ | ✅ 基于真实数据 |\n| 论文撰写 | 大纲/草稿 | ✅ 完整 LaTeX 论文 |\n| 断点续跑 | ❌ | ✅ 任意阶段可恢复 |\n| 多模型协作 | 单一模型 | ✅ 按阶段路由 |\n\n---\n\n## 🎯 应用场景\n\n- **科研原型验证** — 快速将研究想法变成完整的实验 + 论文工作空间\n- **自主实验** — 系统自动生成代码、提交 GPU 训练、分析结果\n- **Benchmark 批量生成** — 对多个课题批量运行，生成可复现的实验结果\n- **论文初稿辅助** — 基于真实实验数据产出 LaTeX 草稿，加速写作\n- **科研流程审计** — 完整工作空间、中间产物和日志，可追溯每一步\n\n---\n\n## 🖼️ 效果展示\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"imgs/before_after.png\" alt=\"告别手动科研\" width=\"90%\" /\u003e\n  \u003cp\u003e\u003cb\u003e告别手动科研的痛苦循环\u003c/b\u003e\u003c/p\u003e\n  \u003cp\u003e不再反复调试失败的实验、手动整理数据、从零写论文——\u003cbr/\u003eNanoResearch 将完整科研流程自动化，让你专注于真正的研究创新。\u003c/p\u003e\n\u003c/div\u003e\n\n\u003ca id=\"cli-tui-vs-plain\"\u003e\u003c/a\u003e\n\n### CLI：标准输出与 TUI 模式对比\n\nCLI 支持 **传统流式日志（非 TUI）** 与 **全屏 TUI 面板** 两种呈现方式，可按习惯切换。\n\n\u003cdiv align=\"center\" style=\"max-width: 720px; margin: 0 auto;\"\u003e\n  \u003cp\u003e\u003cb\u003e标准输出（非 TUI）\u003c/b\u003e\u003c/p\u003e\n  \u003cimg src=\"imgs/demo_no_tui_mode.png\" width=\"100%\" alt=\"NanoResearch CLI 标准输出模式\" style=\"max-width: 100%; border-radius: 8px;\" /\u003e\n  \u003cp\u003e\u003csub\u003e\u003cb\u003e非 TUI\u003c/b\u003e：经典终端日志流，便于重定向与脚本集成\u003c/sub\u003e\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\" style=\"max-width: 720px; margin: 0 auto; margin-top: 1.5em;\"\u003e\n  \u003cp\u003e\u003cb\u003eTUI 模式\u003c/b\u003e\u003c/p\u003e\n  \u003cimg src=\"imgs/demo_tui_mode.png\" width=\"100%\" alt=\"NanoResearch CLI TUI 模式\" style=\"max-width: 100%; border-radius: 8px;\" /\u003e\n  \u003cp\u003e\u003csub\u003e\u003cb\u003eTUI\u003c/b\u003e：结构化面板与状态分区，适合交互式监控\u003c/sub\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n### 示例输出\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cimg src=\"imgs/framework_overview.png\" alt=\"框架概览\" width=\"95%\" /\u003e\n      \u003cbr /\u003e\n      \u003csub\u003e\u003cb\u003e框架概览\u003c/b\u003e\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cimg src=\"imgs/examples.png\" alt=\"生成论文示例\" width=\"95%\" /\u003e\n      \u003cbr /\u003e\n      \u003csub\u003e\u003cb\u003e生成论文示例\u003c/b\u003e\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cimg src=\"imgs/main_results.png\" alt=\"主结果\" width=\"95%\" /\u003e\n      \u003cbr /\u003e\n      \u003csub\u003e\u003cb\u003e主结果（真实实验数据）\u003c/b\u003e\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cimg src=\"imgs/ablation.png\" alt=\"消融实验\" width=\"95%\" /\u003e\n      \u003cbr /\u003e\n      \u003csub\u003e\u003cb\u003e消融实验\u003c/b\u003e\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## 🔬 流水线\n\n```text\nResearch Topic\n     ↓\n IDEATION → PLANNING → SETUP → CODING → EXECUTION → ANALYSIS → FIGURE_GEN → WRITING → REVIEW\n     ↓\n Exported: paper.pdf / paper.tex / references.bib / figures / code / data\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e📋 各阶段详细说明\u003c/b\u003e\u003c/summary\u003e\n\n| Stage | 功能 | 说明 |\n|-------|------|------|\n| `IDEATION` | 文献检索与创意生成 | 搜索学术文献、发现研究空白、提出假说、收集必引文献 |\n| `PLANNING` | 实验方案设计 | 将研究想法转化为详细的实验蓝图（数据集、基线、指标、消融） |\n| `SETUP` | 环境准备 | 准备代码仓库、依赖环境、模型和数据集 |\n| `CODING` | 代码生成 | 生成完整可运行的实验项目（含训练脚本、数据处理、模型定义） |\n| `EXECUTION` | **实验执行** | **在本地 GPU 或 SLURM 集群上运行训练，支持自动重试和调试** |\n| `ANALYSIS` | 结果分析 | 解析训练日志和指标，生成结构化实验证据 |\n| `FIGURE_GEN` | 图表生成 | 创建架构图、结果对比图、消融实验图 |\n| `WRITING` | 论文撰写 | 基于实验证据和引用撰写 LaTeX 论文 |\n| `REVIEW` | 审稿与修订 | 自动审阅各章节，检测问题并修订 |\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e🚀 EXECUTION 阶段核心能力\u003c/b\u003e\u003c/summary\u003e\n\n`EXECUTION` 阶段是 NanoResearch 的核心差异化能力：\n\n- **自动提交 SLURM 作业** — 生成 sbatch 脚本，提交到集群，监控作业状态\n- **本地 GPU 执行** — 自动检测可用 GPU，管理训练进程\n- **自动调试与重试** — 训练失败时自动分析错误日志，修复代码并重新执行\n- **实时日志监控** — 追踪训练进度和指标变化\n- **混合执行模式** — 可根据任务复杂度在本地和集群之间自动切换\n\n\u003c/details\u003e\n\n---\n\n## 📦 快速开始\n\n遵循以下步骤，约 5 分钟即可完成从安装到首次运行的完整流程。\n\n### 步骤一：安装\n\n```bash\ngit clone https://github.com/OpenRaiser/NanoResearch.git\ncd NanoResearch\npip install -e \".[dev]\"\n```\n\n### 步骤二：配置\n\n\u003e [!TIP]\n\u003e 创建 `~/.nanobot/config.json`，替换 `base_url` 和 `api_key` 为你自己的 OpenAI 兼容 API 端点。\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e查看完整配置示例\u003c/b\u003e\u003c/summary\u003e\n\n```json\n{\n  \"research\": {\n    \"base_url\": \"https://your-openai-compatible-endpoint/v1/\",\n    \"api_key\": \"your-api-key\",\n    \"template_format\": \"neurips2025\",\n    \"execution_profile\": \"local_quick\",\n    \"writing_mode\": \"hybrid\",\n    \"max_retries\": 2,\n    \"auto_create_env\": true,\n    \"auto_download_resources\": true,\n    \"ideation\": { \"model\": \"your-model\", \"temperature\": 0.5, \"max_tokens\": 16384, \"timeout\": 600.0 },\n    \"planning\": { \"model\": \"your-model\", \"temperature\": 0.2, \"max_tokens\": 16384, \"timeout\": 600.0 },\n    \"code_gen\": { \"model\": \"your-model\", \"temperature\": 0.1, \"max_tokens\": 16384, \"timeout\": 600.0 },\n    \"writing\": { \"model\": \"your-model\", \"temperature\": 0.4, \"max_tokens\": 16384, \"timeout\": 600.0 },\n    \"figure_gen\": {\n      \"model\": \"gemini-3.1-flash-image-preview\",\n      \"image_backend\": \"gemini\",\n      \"temperature\": null,\n      \"timeout\": 300.0\n    },\n    \"review\": { \"model\": \"your-model\", \"temperature\": 0.3, \"max_tokens\": 16384, \"timeout\": 300.0 }\n  }\n}\n```\n\n\u003c/details\u003e\n\n环境变量覆盖：`NANORESEARCH_BASE_URL` / `NANORESEARCH_API_KEY` / `NANORESEARCH_TIMEOUT`\n\n### 步骤三：验证与运行\n\n```bash\n# 验证配置\nnanoresearch run --topic \"Adaptive Sparse Attention Mechanisms\" --dry-run\n\n# 启动完整流水线\nnanoresearch run --topic \"Adaptive Sparse Attention Mechanisms\" --format neurips2025 --verbose\n\n# 从断点恢复（若某阶段失败）\nnanoresearch resume --workspace ~/.nanobot/workspace/research/{session_id} --verbose\n\n# 导出论文\nnanoresearch export --workspace ~/.nanobot/workspace/research/{session_id} --output ./my_paper\n```\n\n### 步骤四：预期输出\n\n完成流水线后，你将得到包含真实实验数据的论文配图与 LaTeX 源码。\n\n---\n\n## 🤖 推荐模型\n\n| Stage | 任务 | 推荐模型 | 经济型 |\n|-------|------|---------|-------|\n| `ideation` | 文献检索 + 假说生成 | DeepSeek-V3.2 | DeepSeek-V3.2 |\n| `planning` | 实验设计 | Claude Sonnet 4.6 | DeepSeek-V3.2 |\n| `code_gen` | 代码生成 | GPT-5.2-Codex / Claude Opus 4.6 | DeepSeek-V3.2 |\n| `writing` | 论文撰写 | Claude Opus 4.6 / Claude Sonnet 4.6 | DeepSeek-V3.2 |\n| `figure_prompt` | 图表描述 | GPT-5.2 | DeepSeek-V3.2 |\n| `figure_code` | 图表绘制代码 | Claude Opus 4.6 | DeepSeek-V3.2 |\n| `figure_gen` | AI 架构图生成 | Gemini 3.1 Flash（原生图像生成） | Gemini 3.1 Flash |\n| `review` | 审稿 + 修订 | Claude Sonnet 4.6 / Gemini Flash | DeepSeek-V3.2 |\n\n\u003e **说明**：所有文本模型通过单一 OpenAI 兼容端点访问。对于不支持 temperature 的模型（如 Codex、o 系列），设置 `temperature: null`。`figure_gen` 使用 Gemini 原生图像生成 API，需设置 `\"image_backend\": \"gemini\"`。\n\n### 💰 预估费用\n\n| 场景 | 模型选择 | 时间 | 预估费用 |\n|------|---------|------|---------|\n| **仅生成论文**（跳过实验） | 全部 DeepSeek-V3.2 | ~30 分钟 | ~$0.5 - $1 |\n| **仅生成论文**（跳过实验） | 混合（Claude 写作，DeepSeek 其余） | ~30 分钟 | ~$3 - $8 |\n| **完整流水线**（含实验） | 全部 DeepSeek-V3.2 | 2 - 5 小时 | ~$1 - $3 |\n| **完整流水线**（含实验） | 混合（Claude/GPT 代码+写作） | 2 - 5 小时 | ~$10 - $20 |\n\n\u003e \"仅生成论文\"模式通过 `\"skip_stages\": [\"SETUP\", \"CODING\", \"EXECUTION\", \"ANALYSIS\"]` 跳过实验阶段。\n\n---\n\n## 🧩 Claude Code 模式\n\n除了 Python CLI，NanoResearch 还支持通过 **[Claude Code](https://docs.anthropic.com/en/docs/claude-code)** 直接驱动研究流水线——**无需配置任何 API Key**。\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e工作原理\u003c/b\u003e\u003c/summary\u003e\n\n在 Claude Code 集成模式下，Claude Code 本身就是研究引擎：\n\n- **WebSearch** 替代外部 API 进行文献检索（arXiv、Semantic Scholar、Google Scholar）\n- **Bash** 执行实验代码、提交 SLURM 作业、编译 LaTeX\n- **文件读写** 生成实验代码、论文和结构化产物\n\n\u003c/details\u003e\n\n### 快速开始\n\n```bash\ngit clone https://github.com/OpenRaiser/NanoResearch.git\ncd NanoResearch\nclaude\n/project:research \"你的研究课题\"\n```\n\n### 可用命令\n\n| 命令 | 功能 |\n|---------|------|\n| `/project:research \u003c课题\u003e` | 运行完整 9 阶段流水线 |\n| `/project:ideation \u003ctopic\u003e` | Stage 1: 文献检索 + 假说生成 |\n| `/project:planning` | Stage 2: 实验方案设计 |\n| `/project:experiment` | Stages 3-5: 环境准备 + 代码生成 + 实验执行 |\n| `/project:analysis` | Stage 6: 实验结果分析 |\n| `/project:writing` | Stages 7-8: 图表生成 + 论文撰写 |\n| `/project:review` | Stage 9: 多视角审稿 + 修订 |\n| `/project:status` | 查看当前流水线状态 |\n| `/project:resume` | 从断点恢复流水线 |\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e💡 Tips\u003c/b\u003e\u003c/summary\u003e\n\n- **架构图生成**：推荐使用 Nano Banana 系列图像模型生成高质量架构图。Claude Code 模式下可在 `figure_gen` 阶段通过 Bash 调用图像生成 API。\n- **LaTeX 编译**：推荐使用 `tectonic` 替代 `pdflatex`。安装：`conda install -c conda-forge tectonic`。\n- **断点续跑**：所有阶段的产物保存在 `manifest.json` 中，支持任意阶段恢复。\n- **与 Python CLI 兼容**：Claude Code 模式生成的工作空间与 Python CLI 完全兼容，可混合使用两种模式。\n\n\u003c/details\u003e\n\n---\n\n## Codex Integration\n\n除了 Claude Code，NanoResearch 现在也提供了面向 **Codex** 的项目级入口。Codex 不需要第二套 pipeline 或额外的 `--mode codex` 参数；它应直接复用仓库现有的 CLI、workspace、manifest 和 `PaperMode` 逻辑。\n\n### 如何使用\n\n```bash\n# 1. Clone 项目\ngit clone https://github.com/OpenRaiser/NanoResearch.git\ncd NanoResearch\n\n# 2. 在 Codex 中打开仓库\n# 3. 让 Codex 先读取 AGENTS.md\n```\n\nCodex 入口文档：`AGENTS.md`\n\n### Codex 会如何理解这个仓库\n\n- 将仓库视为一个端到端自主科研流水线，而不是普通代码仓库\n- 优先走已有的 `nanoresearch` CLI / workspace / orchestrator 行为\n- 将用户意图映射到现有的 `research`、`ideation`、`planning`、`experiment`、`analysis`、`writing`、`review`、`status`、`resume` 流程\n- 保持与现有工作空间和 `manifest.json` 兼容\n\n### Survey / Original 模式\n\nCodex 使用与 CLI 相同的 topic 前缀约定：\n\n- `original: Topic`\n- `survey:short: Topic`\n- `survey:standard: Topic`\n- `survey:long: Topic`\n\n这些前缀会进入仓库现有的 `PaperMode` 解析逻辑；Codex 只需要遵循这一约定，而不需要发明新的接口。\n\n## Execution Profiles\n\n| Profile | 说明 |\n|---------|------|\n| `fast_draft` | 轻量级草稿模式，快速迭代 |\n| `local_quick` | 优先本地执行，需要时可升级到 SLURM |\n| `cluster_full` | 集群优先，适合重量级实验 |\n\n### 模型路由\n\nNanoResearch 通过统一配置层将不同阶段路由到不同模型，让你按任务特性混合搭配，而非强制所有阶段使用同一模型。\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e可路由的阶段\u003c/b\u003e\u003c/summary\u003e\n\n- `ideation` — 文献检索与创意\n- `planning` — 实验设计\n- `experiment` — 实验相关\n- `code_gen` — 代码生成\n- `writing` — 论文撰写\n- `figure_prompt` — 图表描述\n- `figure_code` — 图表代码\n- `figure_gen` — 图像生成\n- `review` — 审稿\n- `revision` — 修订\n\n系统基于 **OpenAI 兼容端点**构建，支持按阶段覆盖配置。\n\n\u003c/details\u003e\n\n### 文献检索 API Keys（可选）\n\nIDEATION 阶段使用 OpenAlex 和 Semantic Scholar 检索学术文献。不配置也能运行（匿名访问），但速率限制较低。\n\n| Service | 获取方式 | Config key | Env variable |\n|---------|---------|------------|--------------|\n| [OpenAlex](https://developers.openalex.org/) | 免费 | `openalex_api_key` | `OPENALEX_API_KEY` |\n| [Semantic Scholar](https://www.semanticscholar.org/product/api#api-key) | 免费 | `s2_api_key` | `S2_API_KEY` |\n\n### 论文格式\n\n模板从 `nanoresearch/templates/` 自动发现。内置模板：\n\n| Format | 用途 |\n|--------|------|\n| `arxiv` | arXiv 预印本 |\n| `icml` | ICML 会议 |\n| `neurips` | NeurIPS 会议 |\n| `neurips2025` | NeurIPS 2025 |\n\n```bash\nnanoresearch run --topic \"Graph Foundation Models for Biology\" --format neurips2025\n```\n\n---\n\n## 💻 CLI 参考\n\n| 命令 | 用途 |\n|---------|------|\n| `nanoresearch run --topic \"...\"` | 启动新的流水线运行 |\n| `nanoresearch resume --workspace ...` | 从上次断点恢复 |\n| `nanoresearch status --workspace ...` | 查看各阶段状态和产物 |\n| `nanoresearch list` | 列出已保存的研究会话 |\n| `nanoresearch export --workspace ...` | 导出论文打包 |\n| `nanoresearch config` | 打印当前配置（密钥已屏蔽） |\n| `nanoresearch inspect --workspace ...` | 检查工作空间产物 |\n| `nanoresearch health` | 运行环境/配置健康检查 |\n| `nanoresearch delete \u003csession_id\u003e` | 删除指定会话 |\n\n```bash\nnanoresearch --help\n```\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#top\"\u003e🔝 返回顶部\u003c/a\u003e\u003c/p\u003e\n\n---\n\n## 🍪 示例与 Demo\n\n官方示例与进阶用法，助你快速上手 NanoResearch：\n\n👉 **[浏览示例与 Demo](https://github.com/OpenRaiser/NanoResearch)** \u003c!-- TODO: 若有 docs/ 或 examples/ 目录，请替换为具体路径，如 .../blob/main/docs/README.md --\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e快速示例命令\u003c/b\u003e\u003c/summary\u003e\n\n```bash\n# 完整流水线 + 详细日志\nnanoresearch run --topic \"Adaptive Sparse Attention\" --format neurips2025 --verbose\n\n# 导出并查看\nnanoresearch export --workspace ~/.nanobot/workspace/research/{session_id} --output ./paper_out\n```\n\n\u003e 仅生成论文（跳过实验）：在 config 中设置 `\"skip_stages\": [\"SETUP\", \"CODING\", \"EXECUTION\", \"ANALYSIS\"]`\n\n\u003c/details\u003e\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#top\"\u003e🔝 返回顶部\u003c/a\u003e\u003c/p\u003e\n\n---\n\n## 📂 输出结构\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e导出的论文目录\u003c/b\u003e\u003c/summary\u003e\n\n```text\nmy_paper/\n├── paper.pdf\n├── paper.tex\n├── references.bib\n├── figures/\n├── code/\n├── data/\n└── manifest.json\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e完整工作空间（含中间产物）\u003c/b\u003e\u003c/summary\u003e\n\n```text\n~/.nanobot/workspace/research/{session_id}/\n├── manifest.json          # 流水线状态追踪\n├── papers/                # 文献检索产物\n├── plans/                 # 实验方案和分析\n├── experiment/            # 生成的实验代码 + 结果\n├── figures/               # 生成的论文配图\n├── drafts/                # 论文草稿和审稿意见\n├── output/                # 最终导出（main.tex / main.pdf）\n└── logs/                  # 运行日志\n```\n\n\u003c/details\u003e\n\n---\n\n## 💬 飞书机器人\n\nNanoResearch 内置飞书（Lark）机器人，可直接在飞书聊天中触发流水线、查看进度、接收论文——无需打开终端。\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e配置与启动\u003c/b\u003e\u003c/summary\u003e\n\n**1. 安装依赖**\n\n```bash\npip install lark-oapi\n```\n\n**2. 配置**\n\n在 [open.feishu.cn](https://open.feishu.cn) 创建自定义应用并获取 App ID 和 App Secret：\n\n```bash\nexport FEISHU_APP_ID=\"cli_xxx\"\nexport FEISHU_APP_SECRET=\"xxx\"\n```\n\n或写入 `~/.nanobot/config.json`：\n\n```json\n{\n  \"feishu\": {\n    \"app_id\": \"cli_xxx\",\n    \"app_secret\": \"xxx\"\n  }\n}\n```\n\n**3. 启动**\n\n```bash\nnanoresearch feishu          # 启动机器人\nnanoresearch feishu -v       # 详细日志模式\n```\n\n机器人通过 WebSocket 长连接通信（无需公网服务器或 Webhook URL）。按 `Ctrl+C` 停止。\n\n\u003c/details\u003e\n\n### 支持的命令\n\n| 命令 | 描述 |\n|---------|------|\n| `/run \u003c课题\u003e` | 对指定课题启动研究流水线 |\n| `/status` | 查看当前任务进度 |\n| `/list` | 列出所有历史研究会话 |\n| `/stop` | 停止当前运行的流水线 |\n| `/export` | 重新导出最近完成的研究 |\n| `/new` | 清除对话记忆，重新开始 |\n| `/help` | 显示帮助信息 |\n\n也可以直接自然语言聊天——机器人充当 AI 科研助手，支持对话记忆，流水线完成后自动发送 `paper.pdf`。\n\n---\n\n## 🏗️ 项目结构\n\n```text\nnanoresearch/\n├── nanoresearch/\n│   ├── cli.py              # 🖥️ CLI 入口\n│   ├── config.py           # ⚙️ 配置管理\n│   ├── agents/             # 🧠 各阶段 Agent\n│   │   ├── ideation.py     #    文献检索与假说\n│   │   ├── planning.py     #    实验方案设计\n│   │   ├── coding.py       #    代码生成\n│   │   ├── execution/      #    本地/集群执行\n│   │   ├── analysis/       #    结果分析\n│   │   ├── figure_gen/     #    图表生成\n│   │   ├── writing/        #    论文撰写\n│   │   └── review/         #    审稿与修订\n│   ├── pipeline/           # 🔄 编排器 \u0026 状态机\n│   ├── schemas/            # 📋 Pydantic 数据模型\n│   ├── prompts/            # 💬 YAML 提示词模板\n│   ├── templates/          # 📄 LaTeX Jinja2 模板\n│   └── latex/              # 🔧 LaTeX 自动修复\n├── mcp_server/             # 🔌 MCP 工具服务\n├── skills/                 # 🎯 Claude Code 技能\n└── pyproject.toml\n```\n\n---\n\n## ❓ 常见问题\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eNanoResearch 真的会运行实验吗？\u003c/b\u003e\u003c/summary\u003e\n\n是的。流水线会生成可运行的代码，在本地 GPU 或 SLURM 集群上执行，并将实验产物传递给后续的分析、配图和写作阶段。**论文中的数据来自真实实验，而非模型编造。**\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e可以断点续跑吗？\u003c/b\u003e\u003c/summary\u003e\n\n可以。工作空间按阶段保存检查点，`nanoresearch resume --workspace ...` 会从上次未完成或失败的阶段继续。\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e每个阶段都需要配置模型吗？\u003c/b\u003e\u003c/summary\u003e\n\n不需要。NanoResearch 支持按阶段配置模型路由，也可以全部使用同一个模型。\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e生成的论文可以直接投稿吗？\u003c/b\u003e\u003c/summary\u003e\n\n建议将其视为高质量初稿，而非最终投稿版本。系统可以生成完整的论文工作空间和编译好的 PDF，但人工审阅和修订仍然必要。\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eLaTeX 编译推荐什么工具？\u003c/b\u003e\u003c/summary\u003e\n\n推荐使用 `tectonic`。Conda 安装的 texlive 可能缺少 `pdflatex.fmt`，导致编译失败且修复困难。`tectonic` 会自动下载所需的 TeX 包，无需额外配置。\n\n```bash\nconda install -c conda-forge tectonic\n```\n\n\u003c/details\u003e\n\n---\n\n## 🎯 路线图\n\n- [x] 9 阶段统一流水线\n- [x] 本地 GPU + SLURM 集群执行\n- [x] Claude Code 集成模式\n- [x] 飞书机器人\n- [x] 多会议论文模板（NeurIPS / ICML / arXiv）\n- [x] 断点续跑与多模型路由\n- [ ] 更多 Demo 与教程\n- [ ] Benchmark 评估套件\n- [ ] Web 端工作空间 UI\n- [ ] 更多论文格式支持\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#top\"\u003e🔝 返回顶部\u003c/a\u003e\u003c/p\u003e\n\n---\n\n## 🤝 贡献\n\n欢迎开发者、研究者贡献代码与创意。\n\n### 👥 社区与交流\n\n加入微信群交流、答疑、协作。扫码加入：\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"imgs/wechat_group.png\" alt=\"WeChat Group QR Code\" width=\"220\"/\u003e\n\u003c/p\u003e\n\n\u003ca href=\"https://github.com/OpenRaiser/NanoResearch/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=OpenRaiser/NanoResearch\" alt=\"Contributors\" /\u003e\n\u003c/a\u003e\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#top\"\u003e🔝 返回顶部\u003c/a\u003e\u003c/p\u003e\n\n---\n\n## 📋 环境要求\n\n- Python **3.10+**\n- **OpenAI 兼容 API 端点**（用于文本模型阶段）\n- 可选：图像模型访问权限（用于部分配图）\n- `tectonic` 或 `pdflatex`（用于 PDF 编译）\n\n---\n\n## 🙏 致谢\n\n- [claude-scholar](https://github.com/Galaxy-Dawn/claude-scholar) — Claude Code 的科研技能扩展\n\n---\n\n## ⭐ Star History\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://star-history.com/#OpenRaiser/NanoResearch\u0026Date\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=OpenRaiser/NanoResearch\u0026type=Date\u0026theme=dark\" /\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=OpenRaiser/NanoResearch\u0026type=Date\" /\u003e\n      \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=OpenRaiser/NanoResearch\u0026type=Date\" width=\"100%\" /\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n---\n\n## 📝 引用\n\n如有帮助，请引用：\n\n```bibtex\n@software{nanoresearch2026,\n  title = {NanoResearch},\n  author = {OpenRaiser},\n  year = {2026},\n  url = {https://github.com/OpenRaiser/NanoResearch}\n}\n```\n\n---\n\n## 📄 许可证\n\nMIT\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#top\"\u003e🔝 返回顶部\u003c/a\u003e\u003c/p\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/OpenRaiser/NanoResearch\"\u003e\u003cimg src=\"https://img.shields.io/badge/⭐_Star_us_on_GitHub-1a1a2e?style=for-the-badge\u0026logo=github\u0026logoColor=white\" alt=\"Star\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/OpenRaiser/NanoResearch/issues\"\u003e\u003cimg src=\"https://img.shields.io/badge/🐛_Report_Issues-ff6b6b?style=for-the-badge\u0026logo=github\u0026logoColor=white\" alt=\"Issues\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/OpenRaiser/NanoResearch/discussions\"\u003e\u003cimg src=\"https://img.shields.io/badge/💬_Discussions-4ecdc4?style=for-the-badge\u0026logo=github\u0026logoColor=white\" alt=\"Discussions\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n  \u003csub\u003eNanoResearch 仅供教育、研究及技术交流使用。\u003c/sub\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenRaiser%2FNanoResearch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOpenRaiser%2FNanoResearch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenRaiser%2FNanoResearch/lists"}