Converse com o OpenClaw: "Pesquise X" → pronto.
🇺🇸 English · 🇨🇳 中文 · 🇯🇵 日本語 · 🇰🇷 한국어 · 🇫🇷 Français · 🇩🇪 Deutsch · 🇪🇸 Español · 🇧🇷 Português · 🇷🇺 Русский · 🇸🇦 العربية
pip install -e . && researchclaw run --topic "Sua ideia de pesquisa aqui" --auto-approve
Você tem uma ideia. Você quer um artigo. É só isso.
O AutoResearchClaw recebe um tópico de pesquisa e produz autonomamente um artigo acadêmico completo — com literatura real do arXiv e Semantic Scholar (multi-fonte, arXiv-first para evitar limitação de taxa), experimentos em sandbox com detecção automática de hardware (GPU/MPS/CPU), análise estatística, revisão por pares e LaTeX pronto para conferência (mirando 5.000-6.500 palavras para NeurIPS/ICML/ICLR). Sem babá. Sem copiar e colar entre ferramentas.
| 📄 | paper_draft.md | Artigo acadêmico completo (Introdução, Trabalhos Relacionados, Método, Experimentos, Resultados, Conclusão) |
| 📐 | paper.tex | LaTeX pronto para conferência (templates NeurIPS / ICLR / ICML) |
| 📚 | references.bib | Referências BibTeX reais do Semantic Scholar e arXiv — auto-podadas para corresponder às citações inline |
| 🔍 | verification_report.json | Verificação de integridade + relevância de citações em 4 camadas (arXiv, CrossRef, DataCite, LLM) |
| 🧪 | experiment runs/ | Código gerado + resultados do sandbox + métricas JSON estruturadas |
| 📊 | charts/ | Gráficos de comparação de condições gerados automaticamente com barras de erro e intervalos de confiança |
| 📝 | reviews.md | Revisão por pares multi-agente com verificações de consistência metodologia-evidência |
| 🧬 | evolution/ | Lições de autoaprendizagem extraídas de cada execução |
| 📦 | deliverables/ | Todas as saídas finais em uma pasta — pronto para compilar no Overleaf |
O pipeline roda de ponta a ponta sem intervenção humana (a menos que você configure estágios de gate para revisão manual). Quando experimentos falham, ele se auto-repara. Quando hipóteses não se sustentam, ele pivota.
researchclaw run --topic "Agent-based Reinforcement Learning for Automated Scientific Discovery" --auto-approve
O pipeline não executa apenas linearmente. O Estágio 15 (RESEARCH_DECISION) avalia os resultados dos experimentos contra as hipóteses e toma uma decisão autônoma:
Cada ciclo PIVOT/REFINE versiona os artefatos anteriores (stage-08_v1/, stage-08_v2/, ...) para que nenhum trabalho seja perdido e a evolução das decisões seja totalmente rastreável.
Estágios críticos usam um protocolo de debate estruturado com múltiplas perspectivas de LLM:
Cada execução do pipeline extrai lições detalhadas — não apenas "falhou", mas por quê:
RuntimeWarning: division by zero)Essas lições persistem em um armazenamento JSONL com ponderação por decaimento temporal de meia-vida de 30 dias e são injetadas como overlays de prompt em execuções futuras. O pipeline literalmente aprende com seus erros.
Cada execução constrói uma base de conhecimento estruturada (armazenada em docs/kb/) com 6 categorias:
Um monitor de qualidade em segundo plano que captura problemas que o pipeline principal pode não detectar:
| 🦞 |
AutoResearchClaw é um serviço compatível com OpenClaw. Instale-o no OpenClaw e inicie pesquisa autônoma com uma única mensagem — ou use-o de forma independente via CLI, Claude Code ou qualquer assistente de codificação IA. |
Se você já usa o OpenClaw como seu assistente de IA:
1️⃣ Compartilhe a URL do repositório GitHub com o OpenClaw 2️⃣ O OpenClaw lê automaticamente RESEARCHCLAW_AGENTS.md → entende o pipeline 3️⃣ Diga: "Pesquise [seu tópico]" 4️⃣ Pronto — o OpenClaw clona, instala, configura, executa e retorna os resultados
É isso. O OpenClaw gerencia git clone, pip install, configuração e execução do pipeline automaticamente. Você apenas conversa.
RESEARCHCLAW_AGENTS.md → aprende o papel de orquestrador de pesquisaREADME.md → entende a instalação e estrutura do pipelineconfig.researchclaw.example.yaml → config.yamlpip install -e . + researchclaw run --topic "..." --auto-approvePara integração mais profunda, o AutoResearchClaw inclui um sistema de adaptadores bridge com 6 capacidades opcionais:
# config.arc.yaml
openclaw_bridge:
use_cron: true # ⏰ Execuções de pesquisa agendadas
use_message: true # 💬 Notificações de progresso (Discord/Slack/Telegram)
use_memory: true # 🧠 Persistência de conhecimento entre sessões
use_sessions_spawn: true # 🔀 Criar sub-sessões paralelas para estágios concorrentes
use_web_fetch: true # 🌐 Busca web ao vivo durante revisão de literatura
use_browser: false # 🖥️ Coleta de artigos baseada em navegador
Cada flag ativa um protocolo de adaptador tipado. Quando o OpenClaw fornece essas capacidades, os adaptadores as consomem sem alterações no código. Consulte integration-guide.md para detalhes completos.
| Método | Como |
|---|---|
| CLI Independente | researchclaw run --topic "..." --auto-approve |
| API Python | from researchclaw.pipeline import Runner; Runner(config).run() |
| Claude Code | Lê RESEARCHCLAW_CLAUDE.md — basta dizer "Execute pesquisa sobre [tópico]" |
| OpenCode | Lê .claude/skills/ — mesma interface em linguagem natural |
| Qualquer CLI de IA | Forneça RESEARCHCLAW_AGENTS.md como contexto → o agente faz bootstrap automaticamente |
Fase A: Escopo da Pesquisa Fase E: Execução de Experimentos 1. TOPIC_INIT 12. EXPERIMENT_RUN 2. PROBLEM_DECOMPOSE 13. ITERATIVE_REFINE ← auto-reparo Fase B: Descoberta de Literatura Fase F: Análise & Decisão 3. SEARCH_STRATEGY 14. RESULT_ANALYSIS ← multi-agente 4. LITERATURE_COLLECT ← API real 15. RESEARCH_DECISION ← PIVOT/REFINE 5. LITERATURE_SCREEN [gate] 6. KNOWLEDGE_EXTRACT Fase G: Escrita do Artigo 16. PAPER_OUTLINE Fase C: Síntese de Conhecimento 17. PAPER_DRAFT 7. SYNTHESIS 18. PEER_REVIEW ← verif. evidência 8. HYPOTHESIS_GEN ← debate 19. PAPER_REVISION Fase D: Design de Experimentos Fase H: Finalização 9. EXPERIMENT_DESIGN [gate] 20. QUALITY_GATE [gate] 10. CODE_GENERATION 21. KNOWLEDGE_ARCHIVE 11. RESOURCE_PLANNING 22. EXPORT_PUBLISH ← LaTeX 23. CITATION_VERIFY ← verif. relevância
Estágios gate (5, 9, 20) pausam para aprovação humana ou aprovam automaticamente com
--auto-approve. Em caso de rejeição, o pipeline faz rollback.
Loops de decisão: O Estágio 15 pode acionar REFINE (→ Estágio 13) ou PIVOT (→ Estágio 8), com versionamento automático de artefatos.
| Fase | O Que Acontece |
|---|---|
| A: Escopo | O LLM decompõe o tópico em uma árvore de problemas estruturada com questões de pesquisa |
| A+: Hardware | Detecta automaticamente GPU (NVIDIA CUDA / Apple MPS / apenas CPU), avisa se o hardware local é limitado, adapta a geração de código adequadamente |
| B: Literatura | Busca multi-fonte (arXiv-first, depois Semantic Scholar) por artigos reais, triagem por relevância, extração de fichas de conhecimento |
| C: Síntese | Agrupa descobertas, identifica lacunas de pesquisa, gera hipóteses testáveis via debate multi-agente |
| D: Design | Projeta plano de experimento, gera Python executável com consciência de hardware (tier de GPU → seleção de pacotes), estima necessidades de recursos |
| E: Execução | Executa experimentos em sandbox, detecta NaN/Inf e bugs de runtime, auto-repara código via reparo direcionado por LLM |
| F: Análise | Análise multi-agente dos resultados; decisão autônoma PROCEED / REFINE / PIVOT com justificativa |
| G: Escrita | Outline → redação seção por seção (5.000-6.500 palavras) → revisão por pares (com consistência metodologia-evidência) → revisão com guarda de tamanho |
| H: Finalização | Quality gate, arquivamento de conhecimento, exportação LaTeX com template de conferência, verificação de integridade + relevância de citações |
git clone https://github.com/aiming-lab/AutoResearchClaw.git
cd AutoResearchClaw
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
cp config.researchclaw.example.yaml config.arc.yaml
project:
name: "my-research"
research:
topic: "Your research topic here"
llm:
base_url: "https://api.openai.com/v1" # Any OpenAI-compatible endpoint
api_key_env: "OPENAI_API_KEY" # Env var name containing your key
primary_model: "gpt-4o" # Any model your endpoint supports
fallback_models: ["gpt-4o-mini"]
s2_api_key: "" # Optional: Semantic Scholar API key for higher rate limits
experiment:
mode: "sandbox"
sandbox:
python_path: ".venv/bin/python"
# Defina sua chave de API
export OPENAI_API_KEY="sk-..."
# 🚀 Execute o pipeline completo
researchclaw run --config config.arc.yaml --auto-approve
# 🎯 Especifique um tópico inline
researchclaw run --config config.arc.yaml --topic "Transformer attention for time series" --auto-approve
# ✅ Valide a configuração
researchclaw validate --config config.arc.yaml
# ⏩ Retome a partir de um estágio específico
researchclaw run --config config.arc.yaml --from-stage PAPER_OUTLINE --auto-approve
Saída → artifacts/rc-YYYYMMDD-HHMMSS-<hash>/ com um subdiretório por estágio.
Todos os entregáveis voltados ao usuário são automaticamente coletados em uma única pasta deliverables/:
artifacts/rc-YYYYMMDD-HHMMSS-<hash>/deliverables/ ├── paper_final.md # Artigo final (Markdown) ├── paper.tex # LaTeX pronto para conferência ├── references.bib # Bibliografia BibTeX verificada (auto-podada) ├── neurips_2025.sty # Arquivo de estilo da conferência (auto-selecionado) ├── code/ # Código do experimento + requirements.txt ├── verification_report.json # Relatório de integridade de citações ├── charts/ # Visualizações de resultados (comparação de condições, barras de erro) └── manifest.json # Índice de entregáveis com metadados
A pasta deliverables/ está pronta para compilação — inclui os arquivos .sty e .bst da conferência para que você possa compilar paper.tex diretamente com pdflatex + bibtex ou fazer upload para o Overleaf sem precisar baixar nada extra.
O Estágio 4 consulta APIs acadêmicas reais — não artigos alucinados por LLM. Usa uma estratégia arXiv-first para evitar limitação de taxa do Semantic Scholar.
@article{cite_key, ...} com metadados reaisfrom researchclaw.literature import search_papers
papers = search_papers("transformer attention mechanisms", limit=20)
for p in papers:
print(f"{p.title} ({p.year}) — citado {p.citation_count}x")
print(p.to_bibtex())
Após a escrita do artigo, o Estágio 23 verifica cada referência quanto à integridade e relevância:
| Camada | Método | O Que Verifica |
|---|---|---|
| L1 | arXiv API id_list | Artigos com IDs arXiv — verifica se o ID realmente existe |
| L2 | CrossRef /works/{doi} + fallback DataCite | Artigos com DOIs — verifica se o DOI resolve e o título corresponde (DataCite lida com DOIs arXiv 10.48550) |
| L3 | Semantic Scholar + busca por título no arXiv | Todos os restantes — correspondência fuzzy de títulos (≥0,80 de similaridade) |
| L4 | Pontuação de relevância por LLM | Todas as refs verificadas — avalia relevância temática para a pesquisa |
Cada referência → VERIFIED ✅ · SUSPICIOUS ⚠️ · HALLUCINATED ❌ · SKIPPED ⏭️ · LOW_RELEVANCE 📉
Auto-limpeza: Citações alucinadas são silenciosamente removidas do texto do artigo (sem tags [HALLUCINATED]). Entradas de bibliografia não citadas são podadas. O references.bib final contém apenas referências verificadas e citadas.
O Estágio 1 detecta automaticamente as capacidades de GPU local e adapta todo o pipeline:
| Tier | Detecção | Comportamento |
|---|---|---|
| Alto | GPU NVIDIA com ≥8 GB VRAM | Geração completa de código PyTorch/GPU, instala torch automaticamente se ausente |
| Limitado | NVIDIA <8 GB ou Apple MPS | Experimentos leves (<1M parâmetros, ≤20 épocas), aviso ao usuário |
| Apenas CPU | Nenhuma GPU detectada | Apenas NumPy/sklearn, sem imports de torch, aviso ao usuário com recomendação de GPU remota |
O perfil de hardware é salvo em stage-01/hardware_profile.json e influencia a geração de código, imports do sandbox e restrições de prompt.
experiment_harness.py imutável injetado no sandbox com guarda de tempo should_stop(), rejeição de NaN/Inf em report_metric(), e escrita de resultados via finalize() (inspirado no padrão de eval imutável do karpathy/autoresearch)results.json com métricas tipadas (não apenas parsing de stdout)is_metric_name())O pipeline de escrita mira os padrões NeurIPS/ICML/ICLR (9+ páginas, 5.000-6.500 palavras):
export:
target_conference: "neurips_2025" # or "iclr_2026" or "icml_2026"
| Conferência | Pacote de Estilo | Colunas |
|---|---|---|
| NeurIPS 2025 | neurips_2025 | 1 |
| ICLR 2026 | iclr2026_conference | 1 |
| ICML 2026 | icml2026 | 2 |
| NeurIPS 2024 | neurips_2024 | 1 |
| ICLR 2025 | iclr2025_conference | 1 |
| ICML 2025 | icml2025 | 2 |
O conversor Markdown → LaTeX lida com: títulos de seção (com dedup de auto-numeração), matemática inline/display, negrito/itálico, listas, tabelas (com \caption/\label), figuras (\includegraphics), blocos de código (Unicode-safe), referências cruzadas e referências \cite{}.
| Gate | Estágio | Em Caso de Rejeição → Volta Para |
|---|---|---|
| Triagem de Literatura | 5 | Re-coletar literatura (Estágio 4) |
| Design de Experimento | 9 | Re-gerar hipóteses (Estágio 8) |
| Quality Gate | 20 | Re-escrever artigo a partir do outline (Estágio 16) |
Use --auto-approve para pular todos os gates, ou configure estágios específicos em security.hitl_required_stages.
# === Projeto ===
project:
name: "my-research" # Identificador do projeto
mode: "docs-first" # docs-first | semi-auto | full-auto
# === Pesquisa ===
research:
topic: "..." # Tópico de pesquisa (obrigatório)
domains: ["ml", "nlp"] # Domínios de pesquisa para busca de literatura
daily_paper_count: 8 # Artigos alvo por consulta de busca
quality_threshold: 4.0 # Pontuação mínima de qualidade para artigos
# === Runtime ===
runtime:
timezone: "America/New_York" # Para timestamps
max_parallel_tasks: 3 # Limite de experimentos concorrentes
approval_timeout_hours: 12 # Timeout de estágios gate
retry_limit: 2 # Contagem de retentativas em falha de estágio
# === LLM ===
llm:
provider: "openai-compatible" # Tipo de provedor
base_url: "https://..." # Endpoint da API (obrigatório)
api_key_env: "OPENAI_API_KEY" # Variável de ambiente para chave da API (obrigatório)
api_key: "" # Ou insira a chave diretamente aqui
primary_model: "gpt-4o" # Modelo primário
fallback_models: ["gpt-4o-mini"] # Cadeia de fallback
s2_api_key: "" # Chave API do Semantic Scholar (opcional, limites de taxa maiores)
# === Experimento ===
experiment:
mode: "sandbox" # simulated | sandbox | docker | ssh_remote
time_budget_sec: 600 # Tempo máximo de execução por run (padrão: 600s)
max_iterations: 10 # Máximo de iterações de otimização
metric_key: "val_loss" # Nome da métrica primária
metric_direction: "minimize" # minimize | maximize
sandbox:
python_path: ".venv/bin/python"
gpu_required: false
allowed_imports: [math, random, json, csv, numpy, torch, sklearn]
max_memory_mb: 4096
docker:
image: "researchclaw/experiment:latest"
network_policy: "setup_only" # none | setup_only | pip_only | full
gpu_enabled: true
memory_limit_mb: 8192
auto_install_deps: true # Detecção automática de imports → requirements.txt
ssh_remote:
host: "" # Hostname do servidor GPU
gpu_ids: [] # IDs de GPU disponíveis
remote_workdir: "/tmp/researchclaw_experiments"
# === Exportação ===
export:
target_conference: "neurips_2025" # neurips_2025 | iclr_2026 | icml_2026
authors: "Anonymous"
bib_file: "references"
# === Prompts ===
prompts:
custom_file: "" # Caminho para YAML de prompts customizados (vazio = padrões)
# === Segurança ===
security:
hitl_required_stages: [5, 9, 20] # Estágios que requerem aprovação humana
allow_publish_without_approval: false
redact_sensitive_logs: true
# === Base de Conhecimento ===
knowledge_base:
backend: "markdown" # markdown | obsidian
root: "docs/kb"
# === Notificações ===
notifications:
channel: "console" # console | discord | slack
target: ""
# === Bridge OpenClaw ===
openclaw_bridge:
use_cron: false # Execuções de pesquisa agendadas
use_message: false # Notificações de progresso
use_memory: false # Persistência de conhecimento entre sessões
use_sessions_spawn: false # Criar sub-sessões paralelas
use_web_fetch: false # Busca web ao vivo
use_browser: false # Coleta de artigos baseada em navegador
Inspirado por:
MIT — veja LICENSE para detalhes.
Construído com 🦞 pela equipe AutoResearchClaw