Agentic Trading Lab
에이전트와 대화하고, 거래 아이디어를 테스트하며, 코드 없이 실제 시장 데이터에 AI 트레이딩 에이전트를 적용
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Assistente financeiro pessoal pelo WhatsApp, vendido por assinatura. O cliente escreve “gastei 50 no posto” e o sistema registra, categoriza, responde consultas, corrige e exclui lançamentos — com isolamento total de dados entre clientes.
| Parte | Onde | Estado |
|---|---|---|
| Motor financeiro (centavos, cartão, fatura, parcelas, estornos, transferências, recorrências, histórico) | src/server/finance | Pronto e testado |
| Agente (IA + contingência por regras, confirmações, ambiguidade, idempotência) | src/server/agent | Pronto e testado com IA simulada; falta testar com chave real da OpenAI |
| WhatsApp Cloud API (webhook assinado, dedupe, fila, worker, botões, vínculo de número) | src/server/whatsapp, scripts/worker.ts | Pronto e testado de ponta a ponta em modo simulado; falta número/credenciais da Meta |
| Assinaturas Asaas (checkout, webhooks, inadimplência, tolerância, cancelamento) | src/server/billing | Pronto e testado com Asaas simulado; falta chave sandbox/produção |
| Painel do cliente e área administrativa | src/app/app, src/app/admin | Pronto |
| Página de vendas, cadastro e onboarding | src/app/page.tsx, src/app/(auth) | Pronto |
| Segurança e LGPD (RLS, sessões, rate limit, retenção, exportação, exclusão) | vários | Pronto; textos legais são minuta |
Detalhes do que está pronto e do que depende de terceiros: docs/STATUS.md.
WhatsApp (Meta) ──webhook──▶ Next.js /api/whatsapp/webhook ──▶ Postgres (inbound_messages, chave única)
│ │
└── fila BullMQ (Redis) ──▶ worker ─┤
├─ entitlement / limites do plano
├─ agente: IA interpreta → Zod valida → backend executa
├─ motor financeiro (SQL, centavos, RLS por cliente)
└─ resposta salva → enviada pela Cloud API
Asaas ──webhook──▶ /api/billing/asaas/webhook ──▶ reconsulta o pagamento na API ──▶ assinatura
Navegador ──▶ Next.js (landing, painel, admin) ──▶ mesmas regras do motor
drizzle/), Redis + BullMQ, OpenAI (Structured Outputs), Asaas, Vitest.withUser(userId), que ativa uma política de Row Level Security forçada no PostgreSQL. Mesmo uma consulta que esqueça o filtro por usuário não vê dados de outro cliente. Chaves estrangeiras compostas impedem um lançamento de apontar para conta/categoria de outro cliente.Requisitos: Node 20+, PostgreSQL 16, Redis 7 (ou Docker).
cp .env.example .env # preencha APP_SECRET e DATABASE_URL; deixe WHATSAPP_DRY_RUN=true
npm install
npm run db:migrate
npm run db:seed -- --activate # planos-modelo ativos + proprietário (OWNER_EMAIL/OWNER_PASSWORD)
npm run dev # site em http://localhost:3000
npm run worker # em outro terminal: fila do WhatsApp e rotinas
Com Docker: docker compose up -d --build (sobe Postgres, Redis, migrações, site e worker).
O banco da aplicação não pode usar um usuário superusuário do PostgreSQL: superusuários ignoram RLS.
createdb financezap_test # banco separado; o nome precisa conter "_test"
npm test # 60 testes: motor, isolamento, agente, WhatsApp+fila, Asaas, admin, LGPD
npm run smoke # com o servidor rodando: rotas protegidas e webhooks
Os testes usam apenas dados fictícios, em banco e Redis (db 15) próprios.