/install easypaper
EasyPaper Skill
Generate structured academic papers from metadata using the EasyPaper multi-agent system via Python SDK.
Repository
Source: https://github.com/PinkGranite/EasyPaper
Primary Reference Directory: plugins/easypaper/
This directory contains comprehensive guidance for OpenClaw agents:
- Commands: Workflow execution contracts in
plugins/easypaper/commands/ - Skills: Domain-specific skills in
plugins/easypaper/skills/ - Plugin Documentation: Setup and usage in
plugins/easypaper/.claude-plugin/README.md
Installation
Python Package
Important: Install EasyPaper in an isolated environment (recommended for dependency management).
Using venv:
python -m venv easypaper-env
source easypaper-env/bin/activate # On Windows: easypaper-env\Scripts\activate
pip install easypaper
Using conda:
conda create -n easypaper python=3.11
conda activate easypaper
pip install easypaper
Direct install (not recommended):
pip install easypaper
LaTeX Toolchain
EasyPaper requires LaTeX toolchain (pdflatex + bibtex) for PDF compilation. Install based on your system:
macOS:
# Using Homebrew (recommended)
brew install --cask mactex
# Or minimal installation
brew install basictex
sudo tlmgr update --self
sudo tlmgr install collection-basic collection-latex collection-bibtexextra
Linux (Ubuntu/Debian):
sudo apt-get update
sudo apt-get install texlive-latex-base texlive-bibtex-extra texlive-latex-extra
Linux (Fedora/RHEL):
sudo dnf install texlive-scheme-basic texlive-bibtex texlive-latex
Windows:
- Download and install MiKTeX (full installer recommended)
- Or use TeX Live
- Ensure
pdflatexandbibtexare in your PATH
Poppler (for PDF-to-image conversion)
macOS:
brew install poppler
Linux (Ubuntu/Debian):
sudo apt-get install poppler-utils
Linux (Fedora/RHEL):
sudo dnf install poppler-utils
Windows:
- Download from Poppler for Windows
- Extract and add
bindirectory to PATH - Or use conda:
conda install -c conda-forge poppler
Quick Start
Recommended workflow: Prepare a metadata.json (see examples/meta.json), parse it as PaperGenerationRequest, then run with to_metadata() + to_generate_options().
Typesetter behavior (SDK + Server): PDF compilation prefers in-process Typesetter when available (SDK self-contained). If no local peer is available, EasyPaper falls back to the HTTP Typesetter endpoint (AGENTSYS_SELF_URL).
Load from file and generate
import asyncio
from pathlib import Path
from easypaper import EasyPaper, PaperGenerationRequest
async def main():
ep = EasyPaper(config_path=str(Path("configs/dev.yaml").resolve()))
request = PaperGenerationRequest.model_validate_json_file("metadata.json")
metadata = request.to_metadata()
options = request.to_generate_options()
result = await ep.generate(metadata, **options)
print(f"Status: {result.status}, Words: {result.total_word_count}")
asyncio.run(main())
Inline metadata
import asyncio
from easypaper import EasyPaper, PaperMetaData
async def main():
ep = EasyPaper(config_path="configs/dev.yaml")
metadata = PaperMetaData(
title="My Paper Title",
idea_hypothesis="...",
method="...",
data="...",
experiments="...",
references=["@article{...}"],
)
result = await ep.generate(metadata)
print(f"Status: {result.status}, Words: {result.total_word_count}")
asyncio.run(main())
Key Reference Files
When working with EasyPaper, refer to these files in the repository:
Commands (Workflow Execution)
plugins/easypaper/commands/easypaper.md- End-to-end metadata workflow contractplugins/easypaper/commands/paper-from-metadata.md- Direct metadata-to-paper generationplugins/easypaper/commands/paper-section.md- Single section generation
Skills (Domain Guidance)
plugins/easypaper/skills/setup-environment/SKILL.md- Automatic environment setup (Python, LaTeX)plugins/easypaper/skills/paper-from-metadata/SKILL.md- Full paper generation workflowplugins/easypaper/skills/venue-selection/SKILL.md- Venue-specific formatting (NeurIPS, ICML, ICLR, ACL, AAAI, COLM, Nature)plugins/easypaper/skills/academic-writing-rules/SKILL.md- Academic writing and LaTeX conventions
Configuration and Examples
configs/example.yaml- Complete configuration templateeconomist_example/metadata.json- Full metadata example with all fieldsuser_case/- Standalone usage exampleREADME.md- Main documentationAGENTS.md- Repository-level agent instructions
PaperMetaData Fields
Required:
title,idea_hypothesis,method,data,experiments,references
Optional:
style_guide(venue name),target_pages,template_path,figures,tables,code_repository,export_prompt_traces
See examples/meta.json and economist_example/metadata.json for full examples. Treat examples/meta.json as a full PaperGenerationRequest sample: use request = PaperGenerationRequest.model_validate_json_file(...), then request.to_metadata() and request.to_generate_options() for SDK generation.
Final PDF Selection
When review loop is enabled, multiple iteration PDFs can exist. Always report the final artifact using this priority:
result.pdf_path(authoritative final output)- Under
result.output_path:iteration_*_final/**/*.pdf - Under
result.output_path: latestiteration_*directory PDF result.output_path/paper.pdf(last fallback)
If no PDF is found, report that final PDF is unavailable and include recent compile errors.
Streaming Generation
from easypaper import EasyPaper, PaperMetaData, EventType
async for event in ep.generate_stream(metadata):
if event.event_type == EventType.PHASE_START:
print(f"▶ [{event.phase}] {event.message}")
elif event.event_type == EventType.COMPLETE:
result = event.data["result"]
print(f"Done! {result['total_word_count']} words")
When to Use This Skill
Use this skill when:
- User wants to generate academic papers programmatically
- User needs to understand EasyPaper SDK usage
- User asks about paper generation workflows
- User needs venue-specific formatting guidance
For detailed workflows and execution contracts, refer to files in plugins/easypaper/ directory.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install easypaper - 安装完成后,直接呼叫该 Skill 的名称或使用
/easypaper触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
easypaper 是什么?
Generate academic papers from metadata using EasyPaper Python SDK. Use when user wants to create structured LaTeX papers programmatically. References the Eas... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 189 次。
如何安装 easypaper?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install easypaper」即可一键安装,无需额外配置。
easypaper 是免费的吗?
是的,easypaper 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
easypaper 支持哪些平台?
easypaper 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 easypaper?
由 Yuwei Yan(@pinkgranite)开发并维护,当前版本 v1.0.3。