Skip to content

Glucksberg/DiaryMCP

Repository files navigation

DiaryMCP Federated v2

Reimplementação do DiaryMCP com arquitetura federada: orquestrador FastAPI, agentes especializados, consenso distribuído, bot Telegram e memória vetorial.

✨ Novas Features v2.1:

  • 📸 Auto-Capture Inteligente - Capturas automáticas via git hooks + daemon de monitoramento
  • 🔍 Busca Semântica Local - Encontre capturas usando linguagem natural (100% offline)
  • 🤖 LLM Support - GPT-5-mini via OpenAI ou OpenRouter (com reasoning avançado)

🎯 Começar Agora

PRONTO_PARA_USO.mdLEIA ISTO PRIMEIRO!

Este guia contém:

  • ✅ O que foi implementado
  • 🔑 Como configurar APIs (OpenAI/OpenRouter)
  • 🚀 Como usar
  • 🧪 Como testar
  • ⚠️ Troubleshooting

📚 Documentação

docs/README.md - Índice completo da documentação

🚀 Começar Rápido

  1. PRONTO_PARA_USO.md - Overview e checklist
  2. docs/QUICK_START.md - Instalação passo-a-passo
  3. docs/CONFIGURACAO.md - Configurar LLMs e credenciais

📖 Guias de Uso

🏗️ Referência

Estrutura

  • local/ – agente local (collector, anonymizer, uploader, hooks, install)
  • cloud/ – orquestrador (API, queue, dispatcher, consensus, agentes)
  • shared/ – contratos, protocolos e utilidades comuns
  • deployment/ – scripts, docker-compose, placeholders Terraform/K8s

Requisitos

  • Python 3.11+
  • pip install -r requirements.txt
  • Docker (opcional, para deploy com compose)
  • Dependências extras (opcionais): sentence-transformers, pinecone-client

Início Rápido

Para começar rapidamente, veja o guia completo: docs/QUICK_START_v2.md

1. Instalar no seu projeto

# Clone o DiaryMCP
git clone <repo-url> DiaryMCP
cd DiaryMCP

# Instale dependências
pip install -r requirements.txt

# Vá para seu projeto e instale
cd /path/to/seu/projeto
/path/to/DiaryMCP/local/install.sh

2. Configurar (opcional)

# Editar credenciais para usar orquestrador cloud (opcional)
nano .diary/config/credentials.yaml

# Ou use 100% localmente (sem cloud)

3. Usar

# Captura manual
.diary/capture.sh "implemented new feature"

# Auto-capture já está ativo!
git commit -m "Add login page"  # 📸 Auto-captura disparada

# Busca semântica
.diary/search.sh --index                    # Indexar (primeira vez)
.diary/search.sh "authentication bug"       # Buscar

# Daemon (opcional)
.diary/daemon.sh start                      # Monitorar mudanças em arquivos

4. (Opcional) Orquestrador Cloud

Se quiser rodar o orquestrador localmente:

# Via Python
uvicorn cloud.orchestrator.api:app --reload

# Ou via Docker Compose
docker compose -f cloud/docker-compose.yaml up --build

Fluxo local:

  1. ContextCollector recolhe git/arquivos/processos
  2. DataAnonymizer aplica regras de privacidade
  3. CloudUploader envia para /captures

Componentes do Orquestrador

  • cloud/orchestrator/api.py – FastAPI (/health, /captures, /sessions)
  • cloud/orchestrator/queue.py – fila assíncrona para capturas
  • cloud/orchestrator/dispatcher.py – aciona agentes e consenso
  • cloud/orchestrator/consensus.py – agregação tolerante a falhas
  • cloud/agents/ – agentes architect, code_reviewer, storyteller, connector
  • cloud/storage/ – repositório SQLite (DatabaseSessionRepository) + fallback in-memory + cliente Pinecone com degradação local

Bot do Telegram

from cloud.telegram import DiaryMCPBot

bot = DiaryMCPBot(token="TELEGRAM_TOKEN", orchestrator_api="http://localhost:8000")
bot.run_polling()
  • Comandos disponíveis: /start, /status, /last
  • Requer python-telegram-bot>=20

Deploy

  • cloud/Dockerfile + cloud/docker-compose.yaml
  • deployment/scripts/deploy.shdocker compose up -d --build
  • deployment/scripts/rollback.shdocker compose down
  • deployment/k8s/diarymcp-deployment.yaml – manifesto base para Kubernetes
  • deployment/terraform/ – placeholder para IaC

Próximos Passos

  • Integrar armazenamento externo (PostgreSQL/Redis) e caching de fila
  • Conectar LLMs reais e completar algoritmo de consenso bizantino
  • Expandir integrações (Pinecone completo, notificações, dashboards)
  • Automatizar CI/CD (lint, testes, build de imagens)

Contribuições são bem-vindas via PRs direcionadas ao branch v2.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published