Fork adaptado para o contexto brasileiro: simulação político-eleitoral, jurídico-institucional e análise de crise.
Sobre · O que mudou no fork · Como Rodar · Deploy · Documentação
MiroFish é um motor de previsão baseado em múltiplos agentes, originalmente criado por 666ghj. Transforma sinais do mundo real — notícias, relatórios, políticas, narrativas — em um ambiente digital onde agentes com memória, personalidade e lógica de ação próprias interagem para produzir dinâmicas sociais emergentes.
Material-base → Extração de conhecimento → Grafo de entidades
↓
Configuração do ambiente → Perfis dos agentes → Relações
↓
Simulação paralela → Interações multiagente → Memória temporal
↓
Relatório analítico → Conversa com agentes → Insights
| Aspecto | MiroFish Original | Fork INTEIA |
|---|---|---|
| Idioma | Chinês/Inglês | Português brasileiro completo |
| Contexto | Acadêmico genérico | Político-eleitoral, jurídico, crise |
| LLM Gateway | OpenAI direto | OmniRoute (custo zero) + fallback Anthropic |
| Memória | Zep Cloud obrigatório | Zep opcional, fallback keyword |
| Segurança | Básica | Headers CSP, CORS, iframe policy |
| Deploy | Local | Docker multi-stage + nginx em VPS |
| Relatório | ReportAgent padrão | Helena Strategos (analista-chefe INTEIA) |
| Tradução | — | i18n completo, conteúdo forçado em PT-BR |
| Performance | — | Timeout LLM 90s, fallback strategies |
| Persistência | — | State em disco (tasks_state.json) |
| Mobile | — | Responsivo (breakpoints 480px) |
| Enriquecimento | — | Apify (Google SERP + Instagram) para contexto factual |
- Simulação eleitoral — cenários de campanha, repercussão de narrativa
- Análise jurídico-institucional — dinâmicas entre atores do sistema de justiça
- Crise reputacional — evolução de narrativa e opinião pública
- Testes de narrativa — impacto de diferentes abordagens comunicacionais
- Pesquisa sintética — integração com FlockVote (MAE 4.4pp no DF 2022)
mirofish-inteia/
├── backend/ # Python 3.12 + FastAPI
│ ├── app/
│ │ ├── services/ # Gerenciador de simulação, ontologia, LLM, Apify
│ │ └── utils/ # Cliente LLM, Graphiti, Zep
│ ├── scripts/ # Simulação paralela, proxy LLM, enrich_project
│ └── tests/
│
├── frontend/ # Vue.js 3 + Vite
│ ├── src/
│ │ ├── views/ # Home, simulação, relatório
│ │ └── api/ # Cliente da API
│ └── public/
│
├── deploy/ # Configurações de deploy
├── docker-compose.yml # Orquestração de containers
├── Dockerfile # Build multi-stage
│
├── PRD_MIROFISH_INTEIA_V2.md # Product Requirements Document
├── BACKLOG_TECNICO_*.md # Backlog técnico
├── PLANO_ADAPTACAO_*.md # Plano de adaptação do fork
└── MAPEAMENTO_PT-BR.md # Mapeamento de tradução
| Ferramenta | Versão | Verificação |
|---|---|---|
| Node.js | 18+ | node -v |
| Python | 3.11–3.12 | python --version |
| uv | atual | uv --version |
# Clone o fork
git clone https://github.com/igormorais123/MiroFish.git
cd MiroFish
# Configure variáveis de ambiente
cp .env.example .env
# Edite .env com suas chaves
# Instale tudo
npm run setup:all
# Rode
npm run devEndereços padrão:
- Frontend:
http://localhost:3000 - Backend API:
http://localhost:5001
# LLM (via OmniRoute ou OpenAI-compatible)
LLM_API_KEY=sua_chave
LLM_BASE_URL=http://localhost:20128 # OmniRoute local
LLM_MODEL_NAME=BestFREE
# Zep Cloud (opcional)
ZEP_API_KEY=sua_chave_zepcp .env.example .env
docker compose up -dO compose expõe as portas 3000 (frontend) e 5001 (API) por padrão.
O fork inclui configuração para deploy em VPS com nginx como reverse proxy:
# Build e deploy
docker compose -f docker-compose.yml up -d --build
# Verificar
curl http://seu-ip:4000/api/healthO Mirofish pode coletar fatos web e perfis sociais reais via Apify antes de construir o grafo, aumentando a fidelidade dos agentes simulados.
O painel "Enriquecimento Apify" aparece antes da geração de perfis. Fontes disponíveis:
- Buscas Google: fatos web atualizados sobre o caso
- Perfis Instagram: bio, seguidores, categoria, verificação
- Posts recentes Instagram: legendas, curtidas, comentários, menções, hashtags
- Tagged posts: quem marcou os atores em publicações
- Comentários YouTube: opinião pública em vídeos relacionados
- Extração automática: checkbox que detecta @handles, queries e URLs do briefing
Os dados coletados são injetados no texto-base antes da construção do grafo. Cache em disco evita reprocessamento.
POST /api/simulation/prepare
{
"simulation_id": "sim_xxxx",
"enrich_queries": ["reforma tributária PEC 45"],
"enrich_actors": ["acmneto", "brunoreisba"],
"enrich_ig_posts": ["acmneto"],
"enrich_ig_tagged": ["acmneto"],
"enrich_youtube": ["https://youtube.com/watch?v=..."],
"enrich_auto": true
}cd backend
python scripts/enrich_project.py \
--project-id <id> \
--query "reforma tributária PEC 45" \
--actor acmneto \
--dry-run # mostra bloco sem salvar| Operação | Custo aproximado |
|---|---|
| Google SERP (1 query, 8 resultados) | US$ 0,002 |
| Perfil Instagram (1 handle) | US$ 0,0015 |
| Posts Instagram (5 posts) | US$ 0,003 |
| Tagged posts (5 posts) | US$ 0,003 |
| Comentários YouTube (20 comentários) | US$ 0,005 |
| Enriquecimento completo (10 queries + 5 atores) | US$ 0,07 |
Requer conta Apify com token em APIFY_TOKEN. O Mirofish prossegue normalmente se o Apify falhar.
| Documento | Descrição |
|---|---|
| PRD v2 | Requisitos do produto |
| Backlog Técnico | Tasks técnicas pendentes |
| Plano de Adaptação | Roadmap do fork |
| Mapeamento PT-BR | Referência de tradução |
| Integração Lenia | Ponte com sistema eleitoral |
Fork de MiroFish por 666ghj, baseado no framework OASIS (CAMEL-AI). O motor de simulação é impulsionado pelo grupo Shanda.
- Vila INTEIA — Campus 3D com 144 consultores lendários simulados
- OmniRoute — Gateway LLM inteligente (custo zero)
Fork mantido por Igor Morais Vasconcelos
INTEIA — Inteligência Artificial Estratégica