A 6-stage pipeline for grant proposal topic selection, from vague research direction to evaluable project framework with literature-backed evidence.
AutoProjectClaw guides you through 6 stages, each producing artifacts consumed by the next:
| Stage | Name | Purpose |
|---|---|---|
| 0 | Context Pack | Collect grant context, investigator profile, data inventory, and source materials |
| 1 | Project Init | Build a project framework with candidate directions and assumptions |
| 2 | Aim Decompose | Decompose the project into 3-4 coherent research aims |
| 3 | Multi-Dim Search | Create grant-oriented literature and evidence search strategies |
| 4 | Evidence Collect | Collect evidence cards tagged by aim, data source, method, and novelty |
| 5 | Candidate Evaluate | Evaluate candidate titles with FINER scoring, avoidance check, and HITL gate |
Stage 5 blocks for human approval (approve / reject / resume). Rejection rolls back to Stage 3 by default.
pip install -e .Requires Python >=3.11. Only runtime dependency: pyyaml.
Generate a config template:
autoprojectclaw setup --output my_config.yamlEdit my_config.yaml with your project details, then run:
# Dry run (no LLM calls, deterministic output)
autoprojectclaw run --config my_config.yaml --to-stage 5 --llm-provider dry_run --run-id my-first-run
# Real LLM via local Claude CLI
autoprojectclaw run --config my_config.yaml --to-stage 5 --llm-provider claude_cli --run-id my-real-runReview the recommendation and approve or reject:
autoprojectclaw status --config my_config.yaml --run-id my-real-run
autoprojectclaw approve --config my_config.yaml --run-id my-real-run --note "方向可继续"| Command | Description |
|---|---|
run |
Execute pipeline stages |
approve |
Approve a blocked HITL gate |
reject |
Reject and optionally rerun from a rollback stage |
resume |
Resume from checkpoint |
status |
Show current run status |
history |
List all historical runs |
report |
Generate weekly summary report |
setup |
Generate a config template |
llm |
Test the LLM provider |
cache clear |
Clear literature search cache |
All commands accept --verbose and --quiet flags.
| Path | Description |
|---|---|
runs/<run_id>/pipeline_summary.json |
Overall run status and stage counts |
runs/<run_id>/checkpoint.json |
Resume point (next/rollback stage) |
runs/<run_id>/stage-01-project-init/project_framework.md |
Candidate directions and framework |
runs/<run_id>/stage-02-aim-decompose/research_aims.md |
Research aim decomposition |
runs/<run_id>/stage-05-candidate-evaluate/final_recommendation.md |
Final recommended topic |
runs/<run_id>/stage-05-candidate-evaluate/scoring_matrix.json |
FINER + avoidance + evidence scores |
runs/reports/weekly_<date>.md |
Weekly summary report |
| Provider | How it works | API key needed? |
|---|---|---|
dry_run |
Deterministic, no network | No |
claude_cli |
Shells out to local claude CLI |
No (uses local auth) |
codex_cli |
Shells out to local codex exec |
No (uses local auth) |
openai |
HTTP POST to OpenAI Responses API | Yes (OPENAI_API_KEY) |
anthropic |
HTTP POST to Anthropic Messages API | Yes (ANTHROPIC_API_KEY) |
Disabled by default. Enable in config:
literature_search:
enabled: true
core_sources: [pubmed, openalex, semantic_scholar]
preprint_sources: [arxiv, biorxiv, medrxiv]
max_results_per_query: 5
year_min: 2020Six academic APIs supported: PubMed, OpenAlex, Semantic Scholar, arXiv, bioRxiv, medRxiv.
python3 -m unittest discover -s tests -v
# or
uv run pytest tests/ -q --tb=short152 tests, 14 subtests. No network calls in tests (dry-run provider).
- Architecture — module relationships and data flow
- Configuration Reference — complete YAML config options
- Contributing — development setup and conventions
Adapted from AutoResearchClaw. Original Stage 1-5 reference files preserved under vendor/autoresearchclaw_stage1_5/.
MIT