K
Kodama Vault
knowledge hub
Vault
HomeBoardMap of ContentChatConversasAuditoria
Agentes
AgentsIssuesCriar IssueTerminalPreviews
Sistema
MCPSetup MCPSettings
Brain
amazon-arb-scoutcode-standards-auditordesign-master (subagent)erica-nardi-auditorfeature-auditorGlobal agent instructionskodama-hub-auditorAgente: kodama-hub-launch-qalanding-page-architect (subagent spec)meta-campaign-builder (subagent spec)need-context-auditorprospek-blog-auditor — gate editorial do blog do Prospekprospek-blog-author — autor do blog do Prospekprospek-campaign-manager — gerente de campanhas do Prospekprospek-content-director — diretor de conteúdo diário do blogProspek Demo RecorderSubagent — prospek-marketing-creativeprospek-qaprospek-social-producerprospek-social-publisherprospek-social-strategistroblox-sim-buildersageland-auditor (subagent spec)seo-geo-optimizerteam-leadervek1-auditor — subagent specvek1-styleguide-auditor
Análise custos migração — evitar senha no payloadLevantamento fluxo registro + duplicados StripeRelatório segurança + pentes finos (Cláudio)Revisão security concerns e race conditionsMagic link / esqueceu senha via SupabaseCorrigir erros pós-upgrade TypeScriptTestar PRs do agente Vault para mergeAnálise de 3 issues para iniciarErro no terminal do VSCodePR #173 — aguardando aprovação do LeoTestar fluxo ponta a ponta — criação de clients no StripePR #172 — testar e subir correção de funções deprecatedPitch de vendas SaaS — agendar call de conversãoOrganizar issues e bugs rápidos para a semanaMerge PR cadastro-novo — funcionalidades e correçõesCorrigir bugs PR #173 e #172 — image domainsPR mesosóico — página de acesso mobile + segurança OTPRefatoração de códigos — PR #202Ajustes em PRs abertos de ontemEstudo de jornada de compra e técnicas de fechamentoDefinir preço e entregável do produtoProspecção de reuniões para esta semanaAgente anti AI slop — centralização de conhecimento ConnfitPR #179 — resolver conflitos e erros de teste CLIAlinhamento de preços e usos da ConffitFix adicional para PR #183 — perfil do usuárioCorrigir estilização da Connfit para identidade visualSubir modificações no copy da ConnfitCriação de 4 campanhas no Meta AdsRevisão de PRs do GilinesExploração do Roblox EditorRelatório João — devolutiva TikTok ShopReunião presencial Zassi Uniformes — diagnóstico automaçõesCriar repositório de diagnósticos e relatórios de entrevistasDiagnóstico da ZassiGeração de relatórios para reuniões de fechamentoProposta Zassi — apresentação amanhãProspecção — Clínica Odontológica Dr. ButAlinhamento com ADRIANO sobre produtos e simulaçãoCombinar com Lauro os produtos do diagnósticoSolicitar recursos (vbucks) à INEDIA/ObiettoAnálise de issues do Kodama-Hub e início pelo vaultIssue KH03 — estudo de abordagem DockerKH-12 — script de correção e PR no kodama-hubTeste de despacho e agentes da vaultRemover issues 7, 9 e 10 do fluxo de trabalhoKH-15 — testar e preparar para Gilini testar em prod (Kodama Hub)VEK-1 — testar no WhatsAppBot local — testar localmenteEscrever issues para replicação do modelo de LPSwarm — modelar landing pages para tecnologias concorrentes (Google Ads)Configurar Docker no Windows para tarefas do Hub LisaLP de Suplementos — iniciar issue #96 (Vek)PR #93 git — subir para testar em prodPR #94 git — despachar agents pelo vaultTestes e documentação de bugs no site VEKPR #98 de LP — cosméticosRemover issues concluídas do board (#5, #10, #11, #12, #13)PRs de comparação vek1 vs LPs — correções e mergeDocumentação de uso e bugs na Vek1Criação de issues via Vault — bugs VekFix bug redirect botão Produtos na sidebar colapsada (vek)Planejamento de issues e mini sprint no site da Vek1facilitabusca — cron de fetch parado desde 05/08 (RESOLVIDO 11/08)
kodama-watchdog — self-heal + alerta pra todos os projetos da VPS HermesVPS Hermes — acesso e estrutura
Memory namespacing (multi-user)
OpenSpec -- Spec-Driven Development no VaultPlano de Teste — OpenSpec Vault Persistence
CaumzitoNyxzZanini
Amazon Arb (atacado→varejo BR)
Claude Code — Setup MCP VaultClaude Desktop — Setup MCP Vault (remote)VS Code + Copilot — Setup MCP Vault
Skill — Carousel Designer (Paper Style)carousel-paperPlugin marketing-skills (coreyhaines31/marketingskills)
Standup 2026-05-14Standup 2026-05-15Standup 2026-05-16Standup 2026-05-17Standup 2026-05-18Standup 2026-05-19Standup 2026-05-20Standup 2026-05-21Standup 2026-05-22Standup 2026-05-25Standup 2026-05-26Standup 2026-05-27Standup 2026-05-28Standup 2026-05-29Standup 2026-06-01Standup 2026-06-02Standup 2026-06-03Standup 2026-06-05Standup 2026-06-11Standup 2026-06-15Standup 2026-06-16Standup 2026-06-17Standup 2026-06-18Standup 2026-06-22Standup 2026-06-23Standup 2026-06-29Standup 2026-06-30Standup 2026-07-01Standup 2026-07-02Standup 2026-07-03Standup 2026-07-06Standup 2026-07-07Standup 2026-07-08Standup 2026-07-09Standup 2026-07-10Standup 2026-07-13Standup 2026-07-14Standup 2026-07-15Standup 2026-07-16Standup 2026-07-17Standup 2026-07-21Standup 2026-07-22Standup 2026-07-23Standup 2026-07-28Standup 2026-07-29Standup 2026-07-30Standup 2026-07-31Standup 2026-08-03Standup 2026-08-06Standup 2026-08-07Standup 2026-08-10Standup 2026-08-11Standup 2026-08-12Standups
MOCStandup 2026 07 23Welcome
v0.3
K
Kodama Vault
brain / projects / facade-scout

Facade Scout

🛰️ Facade Scout

Aponta a câmera na fachada de um estabelecimento → Claude Vision lê a placa →
SerpAPI (Google Maps) casa o negócio real → scoring de lead-gen → e um agente cria
um site de uma página
pro negócio. Dashboard web mostra os scans + gerações em tempo real.

  • Repo: github.com/marcuscaum/facade-scout · Clone local: C:\Users\User\facade-scout
  • Stack: Turborepo + bun workspaces. apps/api (Bun + Elysia + Drizzle/SQLite), apps/web (Vite + React 19 + Leaflet), apps/mobile (Expo SDK 54), apps/worker (Bun, novo).
  • Prod: API https://scout-api.kodama.solutions · dashboard https://scout.kodama.solutions · sites gerados em /s/<id>.
  • Deploy: GitHub Action em push pra main → builda dashboard + container da API → VPS Hermes (nginx native, SSE). CI builda com bun install --frozen-lockfile (lockfile tem que estar commitado/atualizado).

🎯 Pivot principal (sessão 2026-06-27): geração de site no plano do user, custo $0

Antes: a API chamava o Anthropic SDK (streaming) pra gerar cada site → pagava token de API por site.

Depois: a API só enfileira o job; um worker desktop roda claude -p (CLI) no plano do user e devolve o HTML. Custo de geração = zero (plano, não API).

Mobile ──scan──▶ API (vision+serp+enrich) ──POST /sites──▶ job 'queued'
                                                              │
Worker desktop (sua máquina) ──GET /jobs/next──▶ claim+lock ──┘
   │ claude -p <prompt>   (stream-json, seu plano, cwd isolado)
   └─POST /jobs/:id/{progress,complete,fail}──▶ API publica em /s/<id> + broadcast SSE

A inteligência de design vive no prompt (apps/api/src/lib/website.ts → buildPrompt(),
incorpora a skill frontend-design da Anthropic: identidade distinta, ancorada no negócio,
anti-template). O worker só executa.

Endpoints worker na API (apps/api/src/index.ts)

Gated por header x-worker-token (= env WORKER_TOKEN; vazio = aberto).

  • GET /jobs/next → 204 (fila vazia) | { id, model, prompt } (claim + marca running via claimNextJob())
  • POST /jobs/:id/progress { pct?, step?, logLine? } → vira SSE site:update
  • POST /jobs/:id/complete { html } → escreve data/sites/:id/index.html, status done, url /s/:id
  • POST /jobs/:id/fail { error }

POST /sites { scanId } agora só enfileira (não dispara mais o agente). Feed via GET /events (SSE: scan:new, site:update) + GET /sites.

Extra: vision.ts/types.ts ganharam visualVibe (cores/atmosfera da fachada) que entra no prompt como referência real de paleta.

🖥️ apps/worker — worker + app desktop

Núcleo compartilhado, dois jeitos de rodar:

  • runner.ts — WorkerController (start/stop + estado observável). Roda claude -p com
    --output-format stream-json --include-partial-messages --verbose --strict-mcp-config
    (zero MCP servers = startup limpo), acumula só text_delta → progresso ao vivo (pct sobe com bytes de HTML). cwd isolado (tmpdir/facade-scout-worker) pra não carregar CLAUDE.md/skills global.
  • worker.ts — CLI headless (bun run worker).
  • app.ts + ui.html — app desktop: servidor Bun (porta 4123) serve dashboard dark
    numa janela Edge/Chrome --app (cara de app nativo, sem toolchain novo). Toggle Start/Stop,
    stats (na fila/gerados/falhas), progresso do job atual + log, e feed de todas as gerações
    (mesmo SSE /events da API). Endpoints locais /api/{status,start,stop,quit} + SSE /api/status/stream.
    EADDRINUSE → app já rodando, só foca a janela. DESKTOP_NO_OPEN=1 roda headless.
  • Scout Worker.cmd + install-shortcut.ps1 — duplo-clique / atalho na área de trabalho.

Como rodar (na máquina do user)

cd C:\Users\User\facade-scout\apps\worker
copy .env.example .env      # SCOUT_API já = prod; WORKER_TOKEN se a API usar
powershell -ExecutionPolicy Bypass -File install-shortcut.ps1   # 1x → atalho no Desktop
# depois: duplo-clique "Facade Scout Worker" → janela abre → "Iniciar worker"

Pré-req: bun + claude CLI logado no plano (claude --version responde).

Env (apps/worker/.env)

SCOUT_API (default prod) · WORKER_TOKEN (= o da API) · POLL_MS (4000) ·
CLAUDE_MODEL (força modelo; claude-haiku-4-5-20251001 = ~80s/site vs sonnet ~2min) ·
DESKTOP_PORT (4123) · DESKTOP_NO_OPEN.

✅ Estado & pendências (2026-06-27)

  • API com fila + endpoints worker deployada em prod (CI verde). /jobs/next responde 204.
  • Worker + app desktop validados e2e local: enqueue → claim → pct 12→95 → done → /s/:id serve; start/stop/SSE ok; UI screenshotada.
  • ⚠️ Segurança: /jobs/* em prod está aberto (WORKER_TOKEN vazio). Só entrega prompts (sem secrets) e /scan segue token-gated, mas qualquer um pode drenar a fila. Pra fechar: setar WORKER_TOKEN=<secret> no VPS deploy/api.env (restart API) + mesmo valor no apps/worker/.env.
  • Modelo default = claude-sonnet-4-6 (~2min/site). Configurável por job (AgentConfig.model) ou override no worker.

Commits-chave (branch main)

  • 353f342 feat(worker): offload site-gen to desktop claude -p worker (zero API cost)
  • 9786878 chore: update bun.lock for apps/worker workspace (fix CI frozen-lockfile)
  • 3bd5724 feat(worker): desktop app — start/stop button + live generation status

Relacionado: infra/vps-hermes · projects/kodama-solutions/index

notas relacionadas
carregando…