Skip to content

Latest commit

 

History

History
386 lines (310 loc) · 15.3 KB

File metadata and controls

386 lines (310 loc) · 15.3 KB

GarraIA — Roadmap Completo para Produto AAA

De gateway multi-canal a plataforma AI lider de mercado. Ultima atualizacao: 2026-04-07


Visao Geral do Produto

GarraIA e um gateway de IA multi-canal e multi-provider escrito em Rust, com cliente mobile (Flutter), desktop (Tauri) e web UI. Diferente de clones ChatGPT (LobeChat, LibreChat), o GarraIA e um orquestrador de agentes que roda em qualquer canal (Telegram, Discord, Slack, WhatsApp, Web, Mobile, Desktop).

Posicionamento: "O OpenClaw do Rust — 75x menor, 30x mais eficiente, seguro por default."


Nota Competitiva Atual: 7.5/10

Dimensao GarraIA LobeChat LibreChat Open WebUI OpenClaw
UI/UX 6 9 8 8 6
Multi-Provider 9 9 9 8 8
Plugins/Extensoes 7 9 8 7 9
Memoria/Contexto 8 7 6 7 5
Multi-Canal 9 1 1 2 9
Dev Experience 7 8 8 6 5
Comunidade 3 8 7 9 10
Producao 7 8 8 9 6
MEDIA 7.0 7.9 7.1 7.3 7.1

Meta: Chegar a 8.5/10 ate 2027-Q1.


Legenda de Status

  • Concluido e funcional
  • [~] Backend pronto, frontend parcial ou nao integrado
  • Nao implementado

Fases de Execucao

Fase 0 — Fixes Imediatos (Concluida 2026-04-06)

  • Fix Riverpod Ref (api_service.dart)
  • CSpell .cspell.json com dicionario do projeto
  • JDK 23 configurado (Gradle 8.14 OK)
  • ClaudeMaxPower: 4 hooks + 4 agents + 13 skills + permissions
  • OpenClaw: canal nativo garraia-channels::openclaw + tool bridge + 4 endpoints API
  • Roadmap estrategico atualizado

Fase 1 — Web UI (Backend 2026-04-06, Frontend em progresso)

Objetivo: Elevar UI/UX de 5/10 para 8/10 Impacto: Desbloqueia adocao por usuarios nao-tecnicos

1.1 Chat UI Redesign

  • Redesenhar webchat.html com layout moderno (sidebar + chat + painel direito)
  • Componente de mensagem com Markdown rendering, syntax highlighting, copy button
  • Streaming de respostas via SSE/WebSocket com animacao de digitacao
  • Suporte a temas: Light, Dark, Brasil, Dracula, Monokai, Nord
  • Responsivo (mobile-first design)

1.2 Barra de Ferramentas do Chat

  • [~] Botao "+" (Recursos) — HTML existe, event listeners parciais:
    • [~] Selecionar pasta/projeto para contexto (working_dir) — API pronta, UI parcial
    • [~] Criar novo projeto (nome + caminho) — API pronta, UI parcial
    • [~] Navegar pastas do sistema (file picker) — API pronta, UI parcial
    • Anexar arquivos/imagens ao chat — nao implementado
    • [~] Selecionar modo do agente (code, review, debug, auto) — API pronta, UI parcial
  • [~] Botao "Extensoes" (puzzle icon) — carrega MCP/tools/skills:
    • Listar MCP servers
    • [~] Listar tools (endpoint corrigido /api/mcp/tools)
    • [~] Listar skills
    • Gerenciar plugins WASM via UI
    • Toggle tool_sharing OpenClaw via UI

1.3 Conceito de Projeto/Pasta

  • Adicionar campo working_dir: Option<String> em SessionState
  • Adicionar campo project_name: Option<String> em SessionState
  • API: POST /api/sessions/with-project aceitar { working_dir, project_name }
  • API: POST /api/projects — criar/listar projetos
  • API: GET /api/projects/{id}/files — listar arquivos do projeto
  • Propagar working_dir para ToolContext (bash_tool, file_read, file_write)
  • Seguranca: paths nao podem escapar do working_dir (path traversal protection)
  • [~] UI: Arvore de arquivos no painel lateral direito — estrutura existe, wiring parcial
  • [~] UI: Breadcrumb mostrando projeto/pasta atual — estrutura existe, wiring parcial

1.4 Skins/Temas

  • Sistema de skins via CSS variables
  • API: GET /api/skins — listar skins disponiveis
  • API: POST /api/skins — salvar skin customizada
  • Skin editor visual (color picker + preview) — funcional
  • Pack de skins: Dracula, Monokai, Nord, Light, Dark, Brasil
  • Skins exportaveis/importaveis como JSON

1.5 Admin Panel Upgrade

  • Dashboard com metricas (sessoes ativas, providers, alertas)
  • Graficos de uso por provider/canal (Chart.js)
  • [~] Gerenciamento de usuarios com RBAC — backend pronto, UI basica
  • [~] Configuracao de canais via UI — formulario existe, sem persistencia
  • Log viewer com filtros e busca

Fase 2 — Projetos e Contexto (Backend concluido 2026-04-06)

Objetivo: Permitir que usuarios trabalhem em projetos especificos Impacto: Diferenciacao critica vs concorrentes

2.1 Sistema de Projetos

  • Tabela projects no SQLite: id, name, path, description, created_at, owner_id
  • CRUD completo de projetos (project_store.rs, 15 testes)
  • Projeto associado a sessao (1:N — muitas sessoes por projeto)
  • .garraignore respeitado na indexacao

2.2 Contexto de Pasta

  • BashTool usa working_dir como CWD quando definido
  • FileReadTool e FileWriteTool resolvem paths relativos ao projeto
  • GitDiffTool opera no repositorio do projeto
  • Seguranca: ProjectToolContext com path traversal protection (5 testes)

2.3 RAG por Projeto

  • Tabela project_files com embedding BLOB e content_hash
  • Embedding incremental (needs_reindex via content_hash)
  • Busca semantica via cosine similarity (search_project_files)
  • [~] UI: Upload de documentos via drag-and-drop — nao wired

2.4 Templates de Projeto

  • Tabela project_templates com system_prompt, tools_enabled, default_mode
  • CRUD de templates + create_project_from_template
  • [~] UI para selecionar/criar templates — nao implementado

Fase 3 — Plugin Marketplace e MCP (Backend concluido 2026-04-06)

Objetivo: Elevar Plugins de 6/10 para 8/10 Impacto: Ecossistema de extensoes

3.1 Plugin Registry

  • Registro central de plugins com JSON manifest
  • API: install, list, get, delete, toggle — todos funcionais
  • Versionamento (semver) com comparacao

3.2 MCP Marketplace

  • Catalogo built-in de 8 MCP servers populares
  • API: one-click install, health check, config-schema
  • [~] UI de configuracao por MCP — backend pronto, UI nao wired

3.3 Skills Editor

  • API: CRUD de skills, import/export, triggers — todos funcionais
  • [~] Editor visual de skills — nao implementado no frontend
  • [~] Galeria de skills da comunidade — nao implementado

3.4 WASM Plugin SDK

  • Documentacao do Plugin SDK (docs/src/guides/plugin-sdk.md)
  • Host functions definidas (sdk/host_functions.rs)
  • Plugin trait definido (sdk/plugin_trait.rs)
  • [~] Template de plugin com cargo generate — docs existem, template nao criado
  • [~] Publicacao via garraia plugin publish — comando CLI nao implementado

Fase 4 — Multi-Canal Nativo (Estrutura 2026-04-06)

Objetivo: Consolidar lideranca multi-canal (9/10 -> 10/10) Impacto: Diferenciador unico vs 95% dos concorrentes

4.1 Canais Nativos

  • WhatsApp Business API (canal existente, funcional)
  • Telegram (canal existente, funcional com voz)
  • Discord (canal existente, slash commands)
  • Slack (canal existente, Socket Mode)
  • iMessage (macOS only, funcional)
  • [~] Google Chat — struct implementada, nao testada em producao
  • [~] Microsoft Teams — struct implementada, nao testada
  • [~] Matrix/Element — struct implementada, nao testada
  • [~] LINE — struct implementada, nao testada
  • [~] IRC — struct implementada com parser, nao testada
  • [~] Signal — struct implementada, nao testada

4.2 Canal Bridge (OpenClaw Pattern)

  • WebSocket bridge para OpenClaw daemon
  • Fallback routing (send_with_fallback)
  • ChannelMetrics com AtomicChannelMetrics (lock-free)

4.3 Unified Inbox

  • [~] UI: sidebar mostra sessoes de todos os canais — parcial
  • Filtro por canal, usuario, data
  • Responder diretamente de qualquer canal na UI
  • Notificacoes cross-canal na UI

4.4 Voice Native

  • Whisper STT integrado (whisper.cpp server CUDA, large-v3-turbo)
  • TTS via LM Studio (vieneu-tts-v2-turbo) + Chatterbox + Hibiki
  • TtsSynthesizer trait polimorfco com 3 providers
  • WhisperClient dual-endpoint (whisper.cpp /inference + OpenAI /v1/audio)
  • Health check condicional por provider ativo
  • [~] Voice mode no Web UI (gravar e enviar audio) — nao wired
  • Transcricao automatica de audios recebidos (Telegram)

Fase 5 — Agentes Avancados (Concluida 2026-04-06)

Objetivo: Sistema de agentes de classe mundial Impacto: Compete com Claude Code, Cursor, OpenClaw agents

5.1 Modos de Execucao

  • AgentMode enum (Ask, Code, Debug, Review, Auto, Custom)
  • ToolPolicyEngine — quais tools cada modo pode usar
  • AutoRouter — deteccao por keywords
  • LlmRouter — deteccao via LLM (opcional)
  • SessionModeMetadata — persistencia de modo por sessao

5.2 Multi-Agent Orchestration

  • AgentCoordinator com spawn_agent + cancel token
  • parallel_execute (respeita max_concurrent)
  • pipeline_execute (output A -> input B, fail-fast)

5.3 Code Agent (4 novas tools)

  • repo_search tool — grep + file pattern (usa rg)
  • list_dir tool — tree com file sizes, skip build dirs
  • run_tests tool — auto-detect framework (cargo/flutter/npm/pytest)
  • code_review tool — diff -> LLM review com severity

5.4 Scheduled Agents

  • TriggerRegistry com on_webhook e on_event
  • EventType: PrCreated, Push, IssueOpened, Custom
  • list_scheduled() com dashboard data
  • [~] UI dashboard de execucoes agendadas — nao implementado

Fase 6 — Desktop e Mobile (Estrutura 2026-04-06)

Objetivo: Apps nativos competitivos Impacto: Fecha gap com Jan.ai, Chatbox, LobeChat

6.1 Desktop (Tauri v2)

  • Tray icon com quick-chat e menu completo
  • Hotkey global (Alt+G overlay, Ctrl+Space quick-chat)
  • File picker nativo (select_project_folder, select_files)
  • System notifications (tauri-plugin-notification)
  • Auto-start com Windows (toggle em Settings UI)
  • Auto-update via GitHub releases (tauri-plugin-updater)
  • Quick-chat HTML + Settings HTML

6.2 Mobile (Flutter)

  • Chat screen com bolhas modernas, markdown, timestamps
  • Mascote Garra com 4 animacoes (idle/thinking/talking/happy)
  • [~] Push notifications — stub criado, Firebase nao configurado
  • Offline message queue (sqflite + connectivity_plus + auto-retry)
  • Voice input widget (hold-to-record, waveform, transcricao)
  • Biometric auth (local_auth + PIN fallback)
  • Deep links (garraia://chat/{sessionId})
  • Flutter analyze: 0 issues

6.3 Cross-Platform Sync

  • SyncService com WebSocket + auto-reconnect + heartbeat
  • QR code pairing screen (qr_flutter + mobile_scanner)
  • [~] Sessao compartilhada real-time — struct pronta, servidor nao wired
  • Notificacao cross-device cancelation

Fase 7 — Seguranca e Enterprise (Backend 2026-04-06)

Objetivo: Production-ready para empresas Impacto: Desbloqueia mercado enterprise

7.1 Seguranca

  • Audit log completo (AuditEntry com user, action, target, result, IP)
  • RBAC granular (Permission enum, CustomRole, has_permission)
  • OAuth2/OIDC (Google, GitHub, Azure AD) — routes + handlers
  • 2FA TOTP (generate, verify, QR URI) — routes + handlers
  • Rate limiting (RateLimiter, sliding window, configurable)
  • Content sanitization (anti-prompt-injection patterns)
  • [~] Rate limiting em /auth/login e /auth/register — implementado mas nao wired como middleware
  • [~] OAuth state TTL — implementado (10min eviction)
  • SSL/TLS nativo built-in (atualmente via reverse proxy)

7.2 Observabilidade

  • Metricas Prometheus (GET /metrics) — 15 counters/gauges
  • OtelConfig + init_tracing + span helpers
  • Dashboard Grafana pre-configurado (deploy/grafana/dashboard.json)
  • [~] Alertas configuraveis — estrutura pronta, nao wired

7.3 Deploy

  • Dockerfile otimizado multi-stage (builder + runtime)
  • docker-compose.yml (app + postgres + redis opcionais)
  • Helm chart completo (deploy/helm/garraia/)
  • Terraform module AWS ECS Fargate (deploy/terraform/)
  • systemd unit file (deploy/systemd/garraia.service)
  • CI/CD: ci.yml + release.yml + deploy.yml (multi-arch Docker)

7.4 Compliance

  • GDPR: export_user_data + delete_user_data (cascade delete)
  • data_retention table com TTL
  • [~] SOC 2 audit log — log existe, dashboard nao
  • [~] EU AI Act transparencia — campo model nos responses, nao formalizado

Fase 8 — Comunidade e Ecossistema (Parcial 2026-04-06)

Objetivo: Elevar Comunidade de 2/10 para 6/10 Impacto: Sustentabilidade do projeto

8.1 Documentacao

  • Site de documentacao (mdBook configurado, book.toml)
  • Getting Started em <5 minutos (docs/src/getting-started.md)
  • Guias: Conectar Telegram, Adicionar LM Studio, Criar Plugin
  • API Reference completa (docs/src/api-reference.md)
  • Video tutoriais (YouTube/Loom)

8.2 Comunidade

  • GitHub Discussions habilitado + templates
  • Contributing guide (CONTRIBUTING.md)
  • Issue templates (bug, feature, plugin)
  • PR template (.github/PULL_REQUEST_TEMPLATE.md)
  • Discord server oficial
  • Newsletter mensal

8.3 Marketing

  • Benchmarks documentados (docs/src/benchmarks.md)
  • Pricing page (docs/src/pricing.md)
  • Landing page (garraia.org)
  • Blog com posts tecnicos
  • Case studies
  • Presenca em Hacker News, Reddit

8.4 Monetizacao (Opcional)

  • [~] Docs de planos (Free/Pro/Enterprise) criados
  • GarraIA Cloud (hosted version)
  • Marketplace de plugins premium
  • Suporte prioritario enterprise

Marcos Chave

Marco Data Alvo Status
v0.3 — Web UI 2026-05 Backend OK, frontend parcial
v0.4 — Projetos 2026-06 Backend + DB + testes OK
v0.5 — Plugins 2026-07 Backend OK, UI nao wired
v0.6 — Canais 2026-08 5 funcionais + 6 structs prontas
v0.7 — Agentes 2026-09 CONCLUIDO (130 testes)
v0.8 — Apps 2026-11 Desktop OK, Mobile 90%
v0.9 — Enterprise 2027-01 Backend OK, wiring parcial
v1.0 — GA 2027-03 Em progresso

Metricas de Sucesso

Metrica Anterior Atual Meta v1.0
GitHub Stars ~100 ~100 2,000
Nota Competitiva 6.6/10 7.0/10 8.5/10
Providers Suportados 14 14 20
Canais Funcionais 5 5 (+6 structs) 12
Plugins Registrados 0 8 (MCP catalog) 50
Skills Disponiveis 13 13 50
Testes ~120 ~195 500
Docs Pages ~5 ~30 100

Prioridades Imediatas

  1. Web UI wiring — Conectar botoes da sidebar as APIs existentes
  2. Voice UI — Gravar audio no browser e enviar ao backend
  3. Testes dos novos canais — Testar Google Chat, Teams, Matrix em prod
  4. Security wiring — Rate limiter em auth, CORS restrito
  5. Mobile Firebase — Configurar push notifications reais
  6. v0.3 release — Tag + binarios + changelog

Dependencias Criticas

Fase 1.2 (Botoes UI wiring) → Fase 3.2 (MCP Marketplace UI)
Fase 2.2 (Contexto Pasta) → Fase 5.3 (Code Agent) CONCLUIDO
Fase 5.1 (Modos) → Fase 5.2 (Multi-Agent) CONCLUIDO
Fase 7.1 (Seguranca) → Fase 7.4 (Compliance) Backend OK
Web UI wiring → v0.3 release