[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1069":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":45,"readmeContent":46,"aiSummary":47,"trendingCount":16,"starSnapshotCount":16,"syncStatus":14,"lastSyncTime":48,"discoverSource":49},1069,"PaperOrchestra","Ar9av\u002FPaperOrchestra","Ar9av","An automated AI research-paper writer based off Google's PaperOrchestra paper's implementation through a skills -  benchmark + autoraters using any coding agent (Claude Code, Cursor, Antigravity, Cline, Aider). No API keys, no LLM SDKs.","https:\u002F\u002Farxiv.org\u002Fpdf\u002F2604.05018",null,"Python",569,78,2,1,0,5,15,178,9.69,"Other",false,"main",true,[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"agentic-ai","ai-research","anthropic","antigravity","arxiv","automated-paper-writing","claude-code","claude-skills","coding-agents","cursor","latex","literature-review","llm-agents","multi-agent","paper-orchestra","paperorchestra","research-paper","semantic-scholar","skill-pack","2026-06-12 02:00:22","# PaperOrchestra\n\n[![oosmetrics](https:\u002F\u002Fapi.oosmetrics.com\u002Fapi\u002Fv1\u002Fbadge\u002Fachievement\u002Fe4a6e52c-11d9-4860-805d-0ced3a553daf.svg)](https:\u002F\u002Foosmetrics.com\u002Frepo\u002FAr9av\u002FPaperOrchestra)\n\nA pluggable skill pack that lets **any coding agent** in Claude Code, Cursor,\nAntigravity, Cline, Aider, OpenCode, etc. which can run the\n[**PaperOrchestra**](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2604.05018) multi-agent pipeline for\nturning unstructured research materials into a submission-ready LaTeX paper.\n\n> Song, Y., Song, Y., Pfister, T., Yoon, J.\n> *PaperOrchestra: A Multi-Agent Framework for Automated AI Research Paper Writing.*\n> arXiv:2604.05018, 2026. \u003Chttps:\u002F\u002Farxiv.org\u002Fpdf\u002F2604.05018>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2604.05018\">\n    \u003Cimg src=\"docs\u002Fassets\u002Fpaper-preview.png\" alt=\"PaperOrchestra paper — first page preview\" width=\"420\"\u002F>\n  \u003C\u002Fa>\n  \u003Cbr\u002F>\n  \u003Cem>Click to read the paper on arXiv\u003C\u002Fem>\n\u003C\u002Fp>\n\n## Why this exists\n\nThe paper defines a five-agent pipeline \n- Outline\n- Plotting\n- Literature Review\n- Section Writing\n- Content Refinement\n  \nthat substantially outperforms single-agent and tree-search baselines on the `PaperWritingBench` benchmark (50–68% absolute win margin on literature review quality; 14–38% on overall quality). The paper ships the exact prompts for every agent in Appendix F.\n\nThis repo turns those prompts, schemas, halt rules, and verification pipelines into a set of **host-agent-executable skills**. There are **no API keys**, no SDK dependencies, no embedded LLM calls. The skills are instruction documents plus deterministic helpers; your coding agent does all LLM reasoning and web search using its own tools.\n\n\u003Cp align=\"center\">\n\u003Cimg width=\"640\" height=\"413\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F073630c8-9790-4b38-b8c4-184cec6eee06\" \u002F>\n\u003C\u002Fp>\n\n## How skills work here\n\nEach skill is:\n\n- `SKILL.md` — a dense instruction document the host agent reads and follows.\n- `references\u002F` — reference material: verbatim paper prompts (Appendix F), JSON\n  schemas, rubrics, halt rules, example outputs.\n- `scripts\u002F` — **purely deterministic** local helpers: JSON schema validation,\n  Levenshtein fuzzy matching, BibTeX formatting, dedup, LaTeX sanity checks,\n  coverage gates. No network, no LLM, no API keys.\n\nEverything else (LLM reasoning, web search, Semantic Scholar lookups, LaTeX compilation) is **delegated to the host agent** by instruction. See [`skills\u002Fpaper-orchestra\u002Freferences\u002Fhost-integration.md`](skills\u002Fpaper-orchestra\u002Freferences\u002Fhost-integration.md) for per-host invocation (Claude Code, Cursor, Antigravity, Cline, Aider).\n\n\n## The seven skills\n\n| Skill | Paper step | # LLM calls | Role |\n|---|---|---|---|\n| `paper-orchestra` | orchestrator | — | Top-level driver. Coordinates the other six. |\n| `outline-agent` | Step 1 | 1 | Idea + log + template + guidelines → structured outline JSON (plotting plan, lit review plan, section plan). |\n| `plotting-agent` | Step 2 | ~20–30 | Execute plotting plan; render plots & conceptual diagrams; optional VLM-critique refinement loop; caption everything. |\n| `literature-review-agent` | Step 3 | ~20–30 | Web-search candidates; Semantic Scholar verify (Levenshtein > 70, cutoff, dedup); draft Intro + Related Work with ≥90% citation integration. |\n| `section-writing-agent` | Step 4 | 1 | One single multimodal call: draft remaining sections, build tables from experimental log, splice figures. |\n| `content-refinement-agent` | Step 5 | ~5–7 | Simulated peer review; accept\u002Frevert per strict halt rules; safety constraints prevent gaming the evaluator. |\n| `paper-writing-bench` | §3 | — | Reverse-engineer raw materials (Sparse\u002FDense idea, experimental log) from an existing paper to build benchmark cases. |\n| `paper-autoraters` | App. F.3 | — | Run the paper's own autoraters: Citation F1 (P0\u002FP1), LitReview quality (6-axis), SxS paper quality, SxS litreview quality. |\n\nSteps 2 and 3 run in parallel (see `skills\u002Fpaper-orchestra\u002Freferences\u002Fpipeline.md`).\n\n## agent-research-aggregator *(optional)*\n\nA pre-pipeline skill that bridges the gap between **scattered AI coding-agent\nhistory** and the structured `(idea.md, experimental_log.md)` inputs that\nPaperOrchestra expects. If you have been running experiments through Claude\nCode, Cursor, Antigravity, or OpenClaw — but never wrote up a clean experiment\nlog — this skill does that extraction for you.\n\n**It is optional.** If `workspace\u002Finputs\u002Fidea.md` and\n`workspace\u002Finputs\u002Fexperimental_log.md` already exist, the skill skips itself\nand the pipeline proceeds directly. It only runs when the inputs are missing or\nwhen you explicitly point an agent at a directory.\n\nThe simplest way to use it: just tell your agent the folder. If you have a\ndirectory (a project root, an agent cache, any folder with research notes), the\naggregator figures out what's inside and structures it for PaperOrchestra.\nThe first thing it does is aggregate — scanning, extracting, and synthesising —\nso even if the data is scattered across multiple files and formats, it produces\nclean, reviewable inputs before anything gets written.\n\nRun it **before** `paper-orchestra` (or let `paper-orchestra` call it automatically\nwhen inputs are missing).\n\n### What it does\n\n```\n[.claude\u002F]  [.cursor\u002F]  [.antigravity\u002F]  [.openclaw\u002F]\n      │            │              │               │\n      └────────────┴──────────────┴───────────────┘\n                        │\n                Phase 1: Discovery  (deterministic)\n                        │\n                Phase 2: Extraction (LLM — per batch)\n                        │\n                Phase 3: Synthesis  (LLM — one call)\n                        │\n                Phase 4: Formatting (deterministic)\n                        │\n             ┌──────────┴──────────┐\n      workspace\u002Finputs\u002F      workspace\u002Fara\u002F\n        idea.md                aggregation_report.md\n        experimental_log.md    discovered_logs.json\n                               raw_experiments.json\n                               synthesis.json\n```\n\nThe four phases are:\n\n| Phase | Tool | What happens |\n|---|---|---|\n| 1 Discovery | `discover_logs.py` | Walks `--search-roots` to catalog every relevant log file across all agent caches. Prints a summary for user review before anything is read. |\n| 2 Extraction | LLM (per ~50 KB batch) | Applies `references\u002Fextraction-prompt.md` to each batch; produces `raw_experiments.json`. PII is stripped; unverified numbers are flagged `[UNVERIFIED]`. |\n| 3 Synthesis | LLM (one call) | Merges possibly-redundant experiment records into a single research narrative (`synthesis.json`). Detects multiple disconnected projects and pauses to ask the user. |\n| 4 Formatting | `format_po_inputs.py` | Converts `synthesis.json` into `idea.md` (Sparse Idea format, §3.1) and `experimental_log.md` (App. D.3), ready for `paper-orchestra`. |\n\n### Integration\n\n**Install** — no extra dependencies beyond the base `requirements.txt`.\n\n**Symlink** the skill into your host's skill directory alongside the others:\n\n```bash\nln -sf ~\u002Fpaper-orchestra\u002Fskills\u002Fagent-research-aggregator \\\n       ~\u002F.claude\u002Fskills\u002Fagent-research-aggregator\n```\n\nFor Cursor \u002F Antigravity \u002F Cline \u002F Aider, follow the same per-host\ninstructions in `skills\u002Fpaper-orchestra\u002Freferences\u002Fhost-integration.md`.\n\n**Invoke** by telling your coding agent:\n\n> \"Aggregate my agent logs for paper writing\" — or —\n> \"Prepare PaperOrchestra inputs from my cache\" — or —\n> \"Turn my agent logs into a paper\"\n\nThe trigger phrases are listed in the `description` field of\n`skills\u002Fagent-research-aggregator\u002FSKILL.md`.\n\n### Parameters\n\n| Flag | Default | Description |\n|---|---|---|\n| `--search-roots` | cwd, `~` | Directories to scan for agent caches |\n| `--agents` | all | Subset: `claude,cursor,antigravity,openclaw` |\n| `--workspace` | `.\u002Fworkspace` | PaperOrchestra workspace root |\n| `--depth` | 4 | Max scan depth (prevents runaway traversal) |\n| `--since` | — | Only logs modified after this date (ISO 8601) |\n\n### Example workflows\n\n**From Claude Code memory + CLAUDE.md only:**\n\n```bash\npython skills\u002Fagent-research-aggregator\u002Fscripts\u002Fdiscover_logs.py \\\n    --search-roots . \\\n    --agents claude \\\n    --out workspace\u002Fara\u002Fdiscovered_logs.json\n# → finds .claude\u002Fprojects\u002F\u003Chash>\u002Fmemory\u002F*.md and CLAUDE.md\n```\n\n**From a Cursor project (chat history + rules):**\n\n```bash\npython skills\u002Fagent-research-aggregator\u002Fscripts\u002Fdiscover_logs.py \\\n    --search-roots ~\u002Fmy-project \\\n    --agents cursor \\\n    --out workspace\u002Fara\u002Fdiscovered_logs.json\n# → finds .cursor\u002Fchat\u002FchatHistory.json and .cursorrules\n```\n\n**From Antigravity worker logs, restricted to the last 60 days:**\n\n```bash\npython skills\u002Fagent-research-aggregator\u002Fscripts\u002Fdiscover_logs.py \\\n    --search-roots ~\u002Fmy-project \\\n    --agents antigravity \\\n    --since 2026-02-09 \\\n    --out workspace\u002Fara\u002Fdiscovered_logs.json\n# → finds .antigravity\u002Fworkers\u002F\u003Cid>\u002Flog.jsonl and output.md\n```\n\n**From OpenClaw sessions + run metrics:**\n\n```bash\npython skills\u002Fagent-research-aggregator\u002Fscripts\u002Fdiscover_logs.py \\\n    --search-roots ~\u002Fmy-project \\\n    --agents openclaw \\\n    --out workspace\u002Fara\u002Fdiscovered_logs.json\n# → finds .openclaw\u002Fsessions\u002F*\u002Fconversation.md and runs\u002F*\u002Fmetrics.json\n```\n\n**Full run across all caches:**\n\n```bash\n# Phase 1 — discovery\npython skills\u002Fagent-research-aggregator\u002Fscripts\u002Fdiscover_logs.py \\\n    --search-roots . ~ --out workspace\u002Fara\u002Fdiscovered_logs.json\n\n# Phase 2 — LLM extraction (your agent handles this; validate afterward)\npython skills\u002Fagent-research-aggregator\u002Fscripts\u002Fextract_experiments.py \\\n    --discovered workspace\u002Fara\u002Fdiscovered_logs.json \\\n    --out workspace\u002Fara\u002Fraw_experiments.json --validate-only\n\n# Phase 3 — LLM synthesis (your agent handles this)\n\n# Phase 4 — format + audit report\npython skills\u002Fagent-research-aggregator\u002Fscripts\u002Fformat_po_inputs.py \\\n    --synthesis workspace\u002Fara\u002Fsynthesis.json \\\n    --out workspace\u002Finputs\u002F \\\n    --report workspace\u002Fara\u002Faggregation_report.md\n```\n\nAfter Phase 4, the workspace is ready for `paper-orchestra`. You still need\nto supply `workspace\u002Finputs\u002Ftemplate.tex` (your conference LaTeX template) and\n`workspace\u002Finputs\u002Fconference_guidelines.md` (page limit, deadline, formatting\nrules).\n\n### Reference docs\n\n- [`skills\u002Fagent-research-aggregator\u002FSKILL.md`](skills\u002Fagent-research-aggregator\u002FSKILL.md) — full phase-by-phase protocol\n- [`skills\u002Fagent-research-aggregator\u002Freferences\u002Flog-formats.md`](skills\u002Fagent-research-aggregator\u002Freferences\u002Flog-formats.md) — per-agent cache layouts and file priorities\n- [`skills\u002Fagent-research-aggregator\u002Freferences\u002Fextraction-prompt.md`](skills\u002Fagent-research-aggregator\u002Freferences\u002Fextraction-prompt.md) — verbatim LLM extraction prompt\n- [`skills\u002Fagent-research-aggregator\u002Freferences\u002Fsynthesis-prompt.md`](skills\u002Fagent-research-aggregator\u002Freferences\u002Fsynthesis-prompt.md) — verbatim LLM synthesis prompt\n\n## Install\n\n```bash\ngit clone \u003Cthis repo> ~\u002Fpaper-orchestra\ncd ~\u002Fpaper-orchestra\npip install -r requirements.txt   # deterministic helpers only\n```\n\nThen symlink the skills you want into your host's skill directory:\n\n```bash\n# Claude Code\nmkdir -p ~\u002F.claude\u002Fskills\nfor s in paper-orchestra outline-agent plotting-agent literature-review-agent \\\n         section-writing-agent content-refinement-agent paper-writing-bench \\\n         paper-autoraters agent-research-aggregator; do\n  ln -sf ~\u002Fpaper-orchestra\u002Fskills\u002F$s ~\u002F.claude\u002Fskills\u002F$s\ndone\n\n# Or for ~\u002F.all-skills\u002F\nmkdir -p ~\u002F.all-skills\nfor s in paper-orchestra outline-agent plotting-agent literature-review-agent \\\n         section-writing-agent content-refinement-agent paper-writing-bench \\\n         paper-autoraters agent-research-aggregator; do\n  ln -sf ~\u002Fpaper-orchestra\u002Fskills\u002F$s ~\u002F.all-skills\u002F$s\ndone\n```\n\nFor Cursor \u002F Antigravity \u002F Cline \u002F Aider, see `skills\u002Fpaper-orchestra\u002Freferences\u002Fhost-integration.md`.\n\n## Optional integrations\n\nThe pipeline requires **zero API keys to run** under any host with a native\nweb search tool.  Two optional integrations improve throughput or coverage:\n\n- **[Semantic Scholar API key](https:\u002F\u002Fapi.semanticscholar.org\u002F)** — Phase 2\n  (citation verification) uses the public unauthenticated Semantic Scholar\n  endpoint by default (≤1 QPS).  A free API key raises the rate limit and\n  reduces 429 back-off during large runs.  The bundled\n  `scripts\u002Fs2_search.py` reads `SEMANTIC_SCHOLAR_API_KEY` from the\n  environment automatically — if the variable is absent it silently falls\n  back to unauthenticated mode.  The repo never commits a key.\n\n  ```bash\n  export SEMANTIC_SCHOLAR_API_KEY=\"your-key-here\"   # https:\u002F\u002Fapi.semanticscholar.org\u002F\n  # verify it's picked up:\n  python skills\u002Fliterature-review-agent\u002Fscripts\u002Fs2_search.py --check-key\n  ```\n\n  See `skills\u002Fliterature-review-agent\u002Freferences\u002Fs2-api-cookbook.md` for\n  endpoint details, field reference, and error-handling notes.\n\n- **[PaperBanana](https:\u002F\u002Fgithub.com\u002Fdwzhu-pku\u002FPaperBanana)** (Zhu et al.,\n  2026) — the figure-generation backbone used by PaperOrchestra for Step 2.\n  Runs a Retriever → Planner → Stylist → Visualizer → Critic loop that\n  produces publication-quality diagrams grounded in real paper examples.\n  Requires **one** API key — fill at least one, you don't need both:\n  - **Google (Gemini)** — free at [aistudio.google.com](https:\u002F\u002Faistudio.google.com\u002F)\n  - **OpenRouter** — at [openrouter.ai](https:\u002F\u002Fopenrouter.ai\u002F) (preferred if both are set)\n\n  ```bash\n  git clone https:\u002F\u002Fgithub.com\u002Fdwzhu-pku\u002FPaperBanana\n  cd PaperBanana\n  pip install -r requirements.txt\n  cp configs\u002Fmodel_config.template.yaml configs\u002Fmodel_config.yaml\n  # open model_config.yaml — paste your Gemini key into api_keys.google_api_key\n  #                        OR your OpenRouter key into api_keys.openrouter_api_key\n  export PAPERBANANA_PATH=\"\u002Fpath\u002Fto\u002FPaperBanana\"\n  ```\n\n  That's it. Set `PAPERBANANA_PATH` and the plotting-agent uses PaperBanana\n  automatically for diagram figures; falls back to matplotlib if unset.\n  See `skills\u002Fplotting-agent\u002Freferences\u002Fpaperbanana-cookbook.md` for details.\n\n- **[Exa](https:\u002F\u002Fexa.ai)** — research-paper-focused search engine. The\n  literature-review-agent can use it as a Phase 1 candidate-discovery\n  backend via `skills\u002Fliterature-review-agent\u002Fscripts\u002Fexa_search.py`. Set\n  `EXA_API_KEY` in your environment (the repo never commits a key) and the\n  helper queries Exa with `category: \"research paper\"`, returning 10–20\n  candidates per query in the format the rest of the pipeline expects. See\n  `skills\u002Fliterature-review-agent\u002Freferences\u002Fexa-search-cookbook.md` for\n  the full recipe, query patterns, cost (~$0.007\u002Fquery), and security\n  notes.\n\n  ```bash\n  export EXA_API_KEY=\"your-key-here\"   # https:\u002F\u002Fdashboard.exa.ai\u002F\n  python skills\u002Fliterature-review-agent\u002Fscripts\u002Fexa_search.py \\\n      --query \"Sparse attention long context\" --num-results 15\n  ```\n\n  Skip Exa entirely if your host (Claude Code, Cursor, Antigravity) already\n  has a native web search tool — the agent will use that instead.\n\n## Quickstart\n\n### Option A — you already have structured inputs\n\n```bash\n# 1. scaffold a workspace next to your raw materials\npython skills\u002Fpaper-orchestra\u002Fscripts\u002Finit_workspace.py --out workspace\u002F\n\n# 2. drop your inputs into workspace\u002Finputs\u002F\n#    (idea.md, experimental_log.md, template.tex, conference_guidelines.md;\n#     optional pre-existing figures go in workspace\u002Finputs\u002Ffigures\u002F)\n\n# 3. ask your coding agent:\n#    \"Run the paper-orchestra pipeline on .\u002Fworkspace\"\n```\n\n### Option B — your research is scattered across a directory or agent caches\n\nIf you have a project folder and haven't written up a clean experiment log yet,\njust tell your coding agent the folder. The aggregator runs first — automatically\n— and produces `idea.md` and `experimental_log.md` before handing off to the\npipeline:\n\n```\n\"Write a paper from my work in ~\u002Fmy-project\"\n\"Turn my experiments in ~\u002Flord into a paper\"\n\"Aggregate ~\u002Fmarket-crispony and write a conference submission\"\n```\n\nThe agent will:\n1. Scan the directory for agent caches (`.claude\u002F`, `.cursor\u002F`, `.antigravity\u002F`,\n   `.openclaw\u002F`) and any research notes it finds there.\n2. Extract and synthesize them into `workspace\u002Finputs\u002Fidea.md` and\n   `workspace\u002Finputs\u002Fexperimental_log.md`.\n3. Ask you to review both files, then run the full paper-orchestra pipeline.\n\nYou can also point it at any arbitrary directory — not just known agent caches:\n\n```bash\n# Phase 1: discover what's in the folder\npython skills\u002Fagent-research-aggregator\u002Fscripts\u002Fdiscover_logs.py \\\n    --search-roots ~\u002Fmy-project \\\n    --out workspace\u002Fara\u002Fdiscovered_logs.json\n\n# Then let your agent handle the rest (\"Run paper-orchestra on .\u002Fworkspace\")\n```\n\n> The aggregator is **optional**. If `workspace\u002Finputs\u002Fidea.md` and\n> `workspace\u002Finputs\u002Fexperimental_log.md` already exist, it is skipped entirely.\n\nA ready-to-run toy case lives at `examples\u002Fminimal\u002F`.\n\n## Repo layout\n\n```\npaper-orchestra\u002F\n├── README.md, LICENSE, CITATION.cff, requirements.txt\n├── skills\u002F                  # 7 skills + orchestrator\n├── examples\u002Fminimal\u002F        # toy end-to-end example\n└── docs\u002F\n    ├── architecture.md      # deep-dive on the pipeline\n    ├── paper-fidelity.md    # design-decision → paper page map\n    └── coding-agent-integration.md  # per-host setup\n```\n\n## Fidelity to the paper\n\nEvery agent prompt in `skills\u002F*\u002Freferences\u002Fprompt.md` is reproduced **verbatim** from Appendix F of arXiv:2604.05018, with a header pointing to the page number. See `docs\u002Fpaper-fidelity.md` for a design-decision → paper-page map.\n\nOn top of the paper, this repo adds a few deterministic hardening scripts (orphan-citation gate, anti-leakage grep, worklog-based rollback, provenance snapshots). These are clearly marked as out-of-paper improvements in `docs\u002Fpaper-fidelity.md`.\n\n## Citation\n\nIf you use this skill pack, please cite the PaperOrchestra paper. If you use\nthe PaperBanana plotting backbone, cite that too:\n\n```bibtex\n@article{song2026paperorchestra,\n  title={{PaperOrchestra}: A Multi-Agent Framework for Automated {AI} Research Paper Writing},\n  author={Song, Yiwen and Song, Yale and Pfister, Tomas and Yoon, Jinsung},\n  journal={arXiv preprint arXiv:2604.05018},\n  year={2026},\n  url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2604.05018}\n}\n\n@article{zhu2026paperbanana,\n  title={{PaperBanana}: Automating Academic Illustration for {AI} Scientists},\n  author={Zhu, Dawei and Meng, Rui and Song, Yale and Wei, Xiyu and Li, Sujian and Pfister, Tomas and Yoon, Jinsung},\n  journal={arXiv preprint arXiv:2601.23265},\n  year={2026},\n  url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2601.23265}\n}\n```\n\n\n```\nIt would have been fun if the repo wrote the paper.\n\n```\n\n## License\n\nMIT — see `LICENSE`.\n","PaperOrchestra 是一个基于Google的同名论文实现的自动化AI研究论文写作工具，支持多种编码代理（如Claude Code、Cursor、Antigravity等）。该项目的核心功能是通过一个多代理流水线（包括提纲、绘图、文献综述、章节撰写和内容精炼）将非结构化的研究材料转化为提交就绪的LaTeX格式论文。技术特点在于其实现了无需API密钥或LLM SDK依赖的技能包，所有LLM推理和网络搜索都由编码代理自行处理。适合于需要高效生成科研论文初稿或进行文献综述整理的研究人员及团队使用。","2026-06-11 02:41:26","CREATED_QUERY"]