Skip to content

Cyanyyq/AutoProjectClaw

Repository files navigation

AutoProjectClaw

A 6-stage pipeline for grant proposal topic selection, from vague research direction to evaluable project framework with literature-backed evidence.

How It Works

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.

Installation

pip install -e .

Requires Python >=3.11. Only runtime dependency: pyyaml.

Quick Start

Generate a config template:

autoprojectclaw setup --output my_config.yaml

Edit 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-run

Review 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 "方向可继续"

CLI Commands

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.

Key Output Files

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

LLM Providers

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)

Literature Search

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: 2020

Six academic APIs supported: PubMed, OpenAlex, Semantic Scholar, arXiv, bioRxiv, medRxiv.

Testing

python3 -m unittest discover -s tests -v
# or
uv run pytest tests/ -q --tb=short

152 tests, 14 subtests. No network calls in tests (dry-run provider).

Documentation

Acknowledgements

Adapted from AutoResearchClaw. Original Stage 1-5 reference files preserved under vendor/autoresearchclaw_stage1_5/.

License

MIT

About

Automated grant proposal topic selection and framework generation pipeline

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages