Lampo
Revisão de vídeo quadro a quadro para agentes de IA. Leia Notas e desenhos via MCP, acompanhe novas Versões e deixe verificações de correção e aprovação para pessoas. Local ou hospedado.
Documentação
Lampo
Revisão de vídeo com precisão de quadro para agentes de vídeo com IA. Assista a uma renderização, fixe notas em quadros exatos: desenhe no quadro, marque-o, defina uma severidade ou apenas converse. O agente que fez a renderização (Claude Code, ou qualquer coisa que fale MCP) recebe as notas como arquivos simples com números de quadro, timecodes e a captura de tela marcada. Ele corrige, re-renderiza e informa o que mudou. Você vê exatamente o que mudou na tela e verifica cada correção antes e depois, com uma tecla cada.

Ele roda na sua máquina (sem cadastro, sem telemetria) ou como um servidor para uma equipe e seus clientes. Na sua máquina, nada sai dela, a menos que um recurso que você use precise: o modelo de fala é baixado uma vez do Hugging Face, e o modelo de busca de filmagens (cerca de 213 MB) também, quando o primeiro vídeo é indexado (LAMPO_FOOTAGE=off ou lampo footage off impede isso); notificações no celular viajam criptografadas de ponta a ponta através do serviço de push da Apple, Google, Mozilla ou Microsoft, e o túnel público para links de revisão passa pela Cloudflare.
AGPL-3.0 · Node ≥ 22.18 · ffmpeg · macOS e Linux (Windows via WSL2)
O produto se chama Lampo, e assim também se chamam tudo o que pessoas e agentes digitam: o repositório (lampo-vr/lampo), o comando lampo (e lampo-mcp), as configurações LAMPO_*, a chave lampo do servidor MCP, os recursos lampo:// e o pacote npm @lampo-vr/lampo. Configurações antigas continuam funcionando: vr e vr-mcp executam os mesmos comandos, as configurações VR_* ainda são lidas, e os endereços vr:// e a chave video-review ainda respondem. As pastas de dados (~/.video-review, data/) e os formatos de arquivo mantêm seus nomes. O logotipo e suas regras estão em docs/brand/.
Por quê
Agentes de IA agora cortam, corrigem cor e legendam vídeo. O que eles não conseguem fazer é assistir do jeito que você assiste. O ciclo de feedback usual ("o título por volta de 0:12 parece cedo demais, e há um erro de digitação perto do fim") perde a única coisa que um agente mais precisa: o quadro exato e o que está nele. O Lampo transforma a revisão em dados que um agente pode usar sem adivinhar:
- uma nota é um número de quadro (e um intervalo, se você quiser) na taxa de quadros real do arquivo, mais um desenho em pixels de vídeo, mais o quadro exato como PNG limpo e marcado;
- cada re-renderização se torna uma nova versão, e notas abertas são levadas adiante até que alguém as verifique novamente;
- o agente responde por nota (corrigido, não será corrigido, ou uma pergunta fixada em um quadro), e você verifica a correção.
Recursos
- Tudo com precisão de quadro. O quadro que o navegador mostra é o quadro que o ffmpeg decodifica, e as capturas de tela também vêm do ffmpeg: os testes comparam ambos com o quadro decodificado do ffmpeg (o player no Chrome e WebKit, capturas a 23,976, 25 e 30 fps). Formatos que o navegador não consegue decodificar são reproduzidos por meio de um proxy que mantém o timestamp de cada quadro.
- Arrastar instantâneo. Renderizações com intervalos longos entre keyframes recebem uma cópia de arrasto com keyframes curtos em segundo plano, então avançar e pular leva apenas um quadro de exibição.
- Notas que dizem exatamente o que você quer dizer: caixas, setas e desenhos à mão livre; tags (corte, timing, texto/erro de digitação, layout/sobreposição, cor/gradação, áudio/música, …); deve / deveria / legal, e ideia para sugestões opcionais que nunca contam como trabalho; intervalos de quadros; imagens, clipes, links e momentos de outros vídeos que mostram o que você quer dizer.
- Fale em vez de digitar. Segure T e fale enquanto reproduz: a nota é fixada onde você começou, escrita por um mecanismo de fala que roda onde o Lampo roda (transcribe.cpp) e auto-taggeada. Ou pressione ⇧R e grave feedback enquanto assiste, aponta e desenha: tudo o que você diz vira uma nota de rascunho no quadro que estava na tela (speech-to-text).
- O que foi dito, como transcrição. A narração e o diálogo de cada versão, linha por linha em seus quadros: selecione palavras e Mude as palavras escreve a nota, e as legendas são baixadas como SRT ou WebVTT.
- O que mudou. Cada nova renderização é comparada com a anterior, quadro a quadro: as regiões alteradas são contornadas no quadro, mudanças de áudio e cortes movidos são marcados na linha do tempo, e Reproduzir mudanças reproduz apenas essas partes.
- Modo de verificação (⇧V) percorre cada correção lado a lado, V(N-1) e VN no mesmo quadro: Y parece certo, N ainda está errado.
- Salve, depois envie. Mantenha as notas como rascunhos que só você vê, depois envie-as juntas: o agente as recebe como um lote, não uma a uma enquanto você ainda está escrevendo. Em um vídeo com um agente, Salvar é o botão principal (⌘↵) e ⇧⌘↵ envia; sem um, ⌘↵ envia e ⌘S salva.
- Verificação rápida. Uma nota pode fazer o agente renderizar apenas os planos aos quais ela se refere. A parte é reproduzida como o vídeo inteiro, suas emendas são verificadas e não pode ser final (docs/workflow.md).
- Verificação automática. Antes de você assistir, cada renderização é verificada automaticamente. Ela lê texto queimado e sinaliza possíveis erros de digitação, texto sob a interface do Reels do Instagram, quadros de flash e quedas para preto, congelamentos, clipping, lacunas de silêncio e volume fora do alvo, cada um com um marcador na linha do tempo; um chip no painel de notas diz onde está e abre os achados. Cada achado diz o que é, onde (uma imagem do quadro; um clique reproduz o trecho), por que foi sinalizado e se parece intencional — um congelamento dentro de uma pausa, movimento que desacelera até parar ou um cartão final — ou como um problema: movimento que para de repente ou pula para frente enquanto o som continua. Pergunte ao agente transforma em nota; Isso é intencional guarda naquele vídeo, também em versões posteriores.
- Zonas seguras, visualização de celular, comparar. Sobreposições para Reels, TikTok, Shorts, Stories e área segura de título/ação. Um celular em tamanho real (iPhone, SE, Pixel) mostrando o vídeo em altura total ou dentro da interface de cada app, com ou sem as zonas sobre ele. Compare quaisquer duas versões (B) lado a lado, com um wipe, ou uma sobre a outra como diferença ou pele de cebola, travado no quadro.
- Modo de revisão (N) percorre as notas abertas, cada uma em seu quadro exato, para revisar um corte com alguém assistindo. As notas são lidas como threads: respostas com seus autores, mudanças de status como uma linha cada.
- Links de revisão. Compartilhe um vídeo ou uma pasta inteira: clientes, produtores e colegas revisam sem conta, em qualquer tela. Eles desenham no quadro, respondem, verificam correções e aprovam; você decide o que cada link permite (somente assistir, versões, downloads, expiração, senha) e vê quem abriu e até onde assistiu. As notas deles chegam ao agente taggeadas como
guest:<name>, suas notas internas ficam ocultas, e webhooks avisam Slack ou Discord na hora (docs/sharing.md). Um link Incorporar reproduz um vídeo no seu próprio site no mesmo player com precisão de quadro, sem notas e sem cookie (embedding). - Onde tudo está. Cada vídeo está em uma etapa, de Para revisar até Verificar correções, Aprovado e Aprovado via link até Final. Os cartões da biblioteca, a lista, o quadro e o player mostram a mesma. As aprovações são mantidas por versão e por parte (a equipe e quem decide por meio de um link de revisão); final trava um vídeo para agentes (docs/workflow.md). Membros, administradores e proprietários baixam qualquer versão como foi renderizada, pelo menu ⋯, e um projeto concluído pode ser arquivado: fora de vista e somente leitura até ser restaurado, em um clique.
- Veja o que seu agente está fazendo. Uma linha sob as notas diz onde o agente do vídeo está — corrigindo 3 de 6, renderizando V4 a 42 % com o tempo restante (quando renderiza por meio de
lampo render), precisa de você com Responder, ou sem notícias — e pressioná-la abre a visão Agente ao lado de Notas e Transcrição: suas notas como o plano dele, o que ele está fazendo agora, os passos que deu e Parar, imediatamente. Os cartões da biblioteca, o quadro e os Agentes da barra lateral dizem o mesmo em uma ou duas palavras, e um agente aparece lá no momento em que se conecta. Uma versão feita por um agente diz quem a fez, em quanto tempo e o que corrigiu. Quando um agente falha, espera uma permissão ou fica quieto, a caixa de entrada (e seu celular, se quiser) avisa, com Tentar novamente ou Cutucar (docs/agents.md). - Publique o final. Poste uma versão final no YouTube, Instagram e Facebook com suas próprias chaves, ou baixe o kit de publicação (encode de cada plataforma, legendas, capa, texto). Agentes rascunham as postagens; uma pessoa publica (docs/publishing.md). Novo: testado contra substitutos, ainda não contra os serviços reais.
- A caixa de entrada, também no seu celular. A caixa de entrada coleta o que espera por você em todos os vídeos: perguntas dos agentes (responda ali mesmo), correções para verificar, novas versões para revisar, notas e aprovações de links de revisão, respostas. Ela lê como um cliente de e-mail (Caixa de entrada na barra lateral: a lista ao lado de uma prévia com precisão de quadro de cada item), e em todas as telas o sino a abre sobre a página, então você responde, verifica uma correção ou aprova sem sair de onde está. O Lampo instala como um app, e notificações trazem a caixa de entrada para a tela de bloqueio, agrupadas para que uma renderização com seis correções seja um único ping (docs/mobile.md).
- Claro ou escuro. Claro · Escuro · Sistema, por dispositivo e por conta. Claro é papel e tinta; a imagem mantém seu entorno escuro de qualquer forma.
- Inglês, e alemão sob solicitação. A interface é em inglês; o alemão pode ser escolhido em Configurações → Aparência (mantido na sua conta, então seus outros dispositivos seguem). Clientes em links de revisão veem inglês por enquanto. Agentes sempre recebem inglês (docs/configuration.md).
- Playbooks. O que a equipe decidiu antes de alguém assistir a uma renderização — o briefing, as regras, referências e habilidades (o formato aberto SKILL.md) — para todo o estúdio e por projeto e pasta, herdado pela árvore. Agentes leem primeiro e sugerem mudanças; uma pessoa aceita ou rejeita, e cada renderização é carimbada com as revisões sob as quais foi feita (docs/playbooks.md).
- O arquivo de gosto. Cada nota é um ponto de dados. Por projeto, o Lampo as destila em uma página que o agente lê antes de renderizar: o que você sempre pede, o que você ama, decisões que permanecem (docs/taste.md).
- Arquivos para cada projeto. Uma aba Arquivos em cada projeto e pasta, e a da Casa em Configurações → Arquivos, guarda o que o trabalho é feito: filmagens, música, fontes, logotipos, After Effects, Cinema 4D e Photoshop, LUTs, briefings. Solte arquivos e pastas nela: antes de um byte se mover, uma folha diz o que vai acontecer — o que já está no Lampo, quais arquivos viram uma nova versão, o que fica de fora, se cabe no plano. Grandes envios retomam de onde pararam, e um arquivo que alguém mudou enquanto isso nunca é sobrescrito. Cada arquivo mantém suas versões (as de um agente marcadas como tal) com Restaurar, a lixeira o mantém por até 30 dias, e imagens, vídeo, som, PDF e texto abrem ali mesmo. Arquivos contam para o armazenamento do plano; revisores e links de revisão nunca os veem. Os próprios comandos de arquivo dos agentes vêm a seguir (docs/files.md).
- Um app, na sua máquina ou hospedado. As mesmas contas, convites, tokens de API, uploads e links de revisão em ambos os lugares (docs/server-mode.md). Na sua máquina você está conectado automaticamente, renderizações podem ficar onde estão, e sessões do Claude Code, reconhecimento de texto da Apple e arquivos simples vêm por cima. Hospedado, renderizações vivem em disco, Bunny Storage + CDN ou um bucket compatível com S3, e agentes se conectam com
lampo loginou OAuth.
| Biblioteca | Modo de verificação |
|---|---|
![]() | ![]() |
| Link de revisão | Entrada hospedada |
![]() | ![]() |
| Um agente trabalhando | Arquivos |
![]() | ![]() |
| Claro: biblioteca | Claro: player |
![]() | ![]() |
Início rápido
Você precisa de Node ≥ 22.18 e ffmpeg com ffprobe no seu PATH (macOS: brew install ffmpeg node).
git clone https://github.com/lampo-vr/lampo.git && cd lampo
npm install
npm start # http://localhost:4747, signed in as you (builds the UI on first start)
npm run link # puts lampo in ~/.local/bin (and says if that is not on your PATH)
Pressione A (Adicionar vídeo) para adicionar uma renderização: solte ou escolha arquivos para enviar uma cópia, ou Vincular um arquivo nesta máquina para revisá-lo onde ele vive (renderizar novamente no mesmo caminho adiciona a próxima versão), depois escolha o projeto e o agente que deve agir nas notas. Nada é escaneado; a ferramenta só lê os arquivos que você adiciona. Sua conta de proprietário é criada no primeiro início; defina um e-mail e uma senha em Configurações → Perfil para entrar pelo seu celular ou outro computador.
Trabalhando com um agente? A biblioteca vazia leva a Copiar prompt para seu agente: cole-o no Claude Code, Codex, Cursor, ChatGPT ou Claude, e ele se conecta ao Lampo, diz o que só você pode fazer (entrar, reiniciar), pergunta como o trabalho começa (do zero, sua filmagem ou um projeto que você tem) e coloca V1 (docs/mcp.md). O prompt não contém token. Manualmente: Configurações → Conectar um agente, depois diga a ele Use Lampo para "" (Para agentes).
Sem filmagem à mão? npm run demo renderiza clipes sintéticos e constrói um histórico de revisão em um armazenamento descartável: notas, correções de um agente, uma re-renderização com sua diferença, um link de revisão e uma aprovação. Ctrl+C o exclui novamente.
Mais maneiras de executá-lo:
npm run dev # the same with hot reload, for UI work
npm run lan # also on your Wi-Fi (prints a link with an access token for your phone)
Onde as coisas vivem, e todas as configurações: docs/configuration.md. Em resumo, uma instalação nova mantém seu armazenamento em ~/.video-review/:
data/guarda as revisões;versions/guarda cada renderização e não pode ser regenerado;cache/é reconstruído sob demanda e seguro para excluir enquanto o app está parado, excetocache/uploads/(uploads em andamento).
Notas de voz são transcritas na sua máquina por transcribe.cpp (instalado com npm install, sem Python): Whisper large-v3-turbo quando há GPU (Apple Silicon, CUDA, Vulkan), Parakeet v3 em máquinas somente com CPU. O modelo é baixado uma vez, na primeira nota de voz. Detalhes e uma opção de servidor compatível com OpenAI: docs/speech.md.
Execute como um servidor
Um servidor é para uma equipe, ou para compartilhar revisões com clientes sem um túnel. Este repositório é o aplicativo completo: auto-hospedado, é completo e não tem limites, exceto que ocultar o selo Powered by Lampo nos links de revisão é um recurso dos planos pagos do Lampo Cloud. Os mantenedores também o executam como um serviço hospedado, Lampo Cloud (lampo.video), para aqueles que preferem não executar o próprio; seus planos e cobrança vêm de um módulo separado que não faz parte deste repositório e que um servidor auto-hospedado não precisa (docs/server-mode.md):
cp .env.example .env # set LAMPO_DOMAIN and LAMPO_PUBLIC_URL (LAMPO_TRUST_PROXY=uniquelocal
# is already set), and storage for Bunny or S3 (.env is gitignored)
docker compose up -d # the app behind Caddy, with automatic HTTPS
docker compose logs # the first start prints a one-time setup token
Abra sua URL, insira o token e crie a conta de proprietário. Em seguida, convide pessoas, envie renders (arraste-os para a
biblioteca, ou lampo push), mantenha o material de cada projeto na aba Arquivos e conecte agentes: através de Configurações →
Conectar um agente (um aplicativo de chat pelo endereço do conector, fazendo login uma vez), ou lampo login, que faz login pelo
navegador e fornece lampo e o servidor MCP stdio um token de API:
lampo login https://review.example.com
lampo push render.mp4 --folder "Acme/Reels" # the same name again becomes V2, V3, …
lampo render --to render.mp4 --out out/v3.mp4 -- \
npx remotion render src/index.ts Main out/v3.mp4 # the progress shows in Lampo, then V3
docs/docker.md cobre a imagem, volumes, atualizações e backups.
docs/server-mode.md cobre configuração, proxy reverso, contas e espaços de trabalho, armazenamento
(Bunny, S3) e o modelo de segurança. Indo ao ar de verdade: docs/go-live.md, o runbook para um servidor
(DNS, TLS, backups com um teste de restauração, monitoramento, atualizações), com node scripts/smoke.ts https://review.example.com
para verificar uma instância em execução.
Teclas
| Tecla | |
|---|---|
| Espaço · J K L | reproduzir/pausar · retroceder, pausar, reproduzir (pressione novamente: mais rápido) |
| ← → (⇧ ×10) · Início Fim | avançar quadro · primeiro/último quadro |
| I O · Esc X · R · M | marcar o início ou fim de uma seção, também durante a reprodução (⇧ salta para lá) · limpar · repetir · silenciar |
| arrastar | na faixa de notas da linha do tempo (⇧ em qualquer lugar dela): marcar uma seção, e sua nota abre; arraste as extremidades para ajustar |
| C ↵ | nota neste quadro, ou na seção marcada; na nota, ⌘↵ pressiona o botão principal (Enviar, ou Salvar em um vídeo com um agente) e ⌘S mantém como rascunho; ⇧⌘↵ envia todas as notas ainda não enviadas |
| segurar T · ⇧R | nota de voz · gravar feedback enquanto assiste (⇧R novamente: concluído) |
| D · ⇧D | próxima / alteração anterior desde a versão anterior |
| ⇧V | modo de verificação: cada correção, antes e depois |
| [ ] · N ⇧N | nota anterior / próxima · modo de revisão (percorrer as notas abertas) |
| G · V · B | zonas seguras · visualização de telefone · comparar (lado a lado, revelar, sobrepor; Esc fecha) |
| = − 0 · Z ⇧Z | zoom da linha do tempo (ou ⌘ + rolagem; bem próximo, cada quadro é uma célula) · para a seção ou ao redor do cursor · o vídeo inteiro |
| ⌘K (Ctrl K) · ⌘, | encontrar um vídeo, pasta ou nota em qualquer lugar, ou executar uma ação · Configurações |
| A · 1–4 · / · F | biblioteca: adicionar vídeo · grade, compacto, lista, quadro · pesquisar nesta visualização · filtrar |
| ⌘-clique · ⇧-clique · ⌘A · X · Esc | biblioteca (Lista, Grade): marcar um vídeo · a sequência desde o último · todos os vídeos na visualização · aquele em que as teclas estão · nenhum; a barra move ou arquiva todos |
| ↑ ↓ (⇧ seleciona) · ↵ · Espaço · ⌫ | aba Arquivos: mover pela lista · abrir · olhar · lixeira (com Desfazer); ⌘A seleciona tudo, ⌘↑ sobe uma pasta, / pesquisa |
| ? | todas as teclas |
Para agentes
Conecte seu agente e diga uma frase: "Use Lampo para ". Esse é o ciclo completo: o servidor MCP do Lampo diz a cada agente que conecta o que fazer, na primeira leitura. A referência completa está em docs/agents.md (todos os comandos, as ferramentas MCP, o formato de dados).
Instalar como plugin
Com o Lampo Cloud, o plugin Lampo traz ambas as partes de uma vez: o conector
(https://app.lampo.video/mcp) e a Habilidade de Agente que ensina o ciclo.
- Claude Code:
claude plugin install lampo --marketplace lampo-vr/lampo(ou/plugin install lampo --marketplace lampo-vr/lampoem uma sessão), depois faça login quando o conector pedir. - claude.ai, Cowork, ChatGPT e Codex: adicione Lampo pelo diretório de plugins do aplicativo quando estiver listado lá.
Com um servidor Lampo próprio, conecte-o pelo endereço em vez disso (docs/mcp.md).
O ciclo
- O projeto:
list_folders, aquele que a pessoa nomeou ou ao qual o trabalho pertence (nenhum: um novo nome vira o projeto com V1; vários se encaixam: pergunte uma vez, com opções). - V1: nenhuma versão ainda, o agente a publica ele mesmo. É o vídeo dele a partir daí.
- Leia o manual e o gosto (
get_playbook,get_taste), depois as notas abertas (get_open_notes; notas desenhadas vêm com seu quadro, recortadas). - Corrija, publique a próxima versão,
mark_fixedcada nota com o que mudou. Nunca verifique: as pessoas fazem isso. - Aguarde em
wait_for_feedbackcom o último cursor, novamente após cada resposta, até a pessoa aprovar (a aprovação é dela) ou dizer para parar.
Cada resposta diz o que vem a seguir: uma transferência termina com Now call wait_for_feedback with since "<cursor>"…, uma leitura
que não deixa nada a fazer com Nothing waiting for you: …. A pessoa vê o agente desde a primeira chamada, na
barra lateral em Agentes e em Configurações → Conectar um agente, e o trabalho dele em um vídeo como uma linha com a visualização de Agente por trás,
construída a partir das chamadas que ele faz de qualquer forma (sem chamadas de status necessárias, sem tokens gastos). Se a pessoa pressionar Parar, a
próxima resposta do Lampo do agente diz isso, uma vez: ele para ali. O /lampo:watch do Claude Code é um atalho para o mesmo ciclo.
Uma maneira por tipo de agente
| O agente | Lampo através de | Uma versão sobe com |
|---|---|---|
| Claude, ChatGPT, chat do Cursor, qualquer cliente MCP | Somente MCP | request_upload (um PUT) |
| Claude Code, Codex | MCP | lampo render --to <video> --out <file> -- <render command> (--folder <project> para V1): a pessoa vê o progresso |
| o agente na máquina onde o Lampo roda | MCP (stdio ou o aplicativo) | track_video, depois re-renderiza para o mesmo caminho |
| scripts sem MCP | lampo (npm run link; --json em cada leitura) | lampo render, lampo push |
-
Conectar: um prompt que a pessoa copia do aplicativo e cola no agente configura tudo (ele se conecta sozinho, depois pergunta como o trabalho começa); Configurações → Conectar um agente dá a cada cliente seu trecho único (ou a um aplicativo de chat seu endereço de conector);
lampo mcp config <client>imprime o mesmo (docs/mcp.md): stdio (bin/lampo-mcp) ou Streamable HTTP em/mcp(o aplicativo local, ou um servidor hospedado fazendo login ou com um token de API).claude mcp add --scope user lampo -- /path/to/lampo/bin/lampo-mcp lampo mcp config codex # or claude, cursor, vscode, antigravity, windsurf, gemini, zed, json -
Poucos tokens: imagens apenas para notas com desenho, recortadas para ele; apenas o que mudou quando um agente devolve o que lhe foi dito (
since,known); um conjunto enxuto de ferramentas sob solicitação (LAMPO_MCP_TOOLS=lean). Medido em bench/tokens. -
Uma Habilidade de Agente ensina o mesmo ciclo a agentes que carregam habilidades.
-
Um servidor hospedado:
lampo login <url>uma vez, depois cada comandolampoe o servidor MCP stdio funcionam contra ele. Capturas de tela são baixadas, então os caminhos impressos ainda abrem como arquivos locais.show_reviewmostra a revisão inline em hosts que renderizam aplicativos MCP.
Na sua máquina, data/INBOX.md é o único arquivo para "o que o revisor disse desde a última vez": os 150 eventos
mais recentes de pessoas, mais recentes primeiro, marcados como → <session>. lampo inbox --mine [--since <iso>] dá o mesmo como linhas,
também contra um servidor hospedado.
O contrato de dados
data/
INBOX.md newest human feedback across all videos
events.jsonl append-only log of every event (what `lampo watch` tails)
<slug>/review.json source of truth for one video: versions, notes, replies, approvals
<slug>/review.md the same, readable
<slug>/<id>_clean.png the exact frame, full resolution
<slug>/<id>_marked.png the same frame with the drawing burned in
versions/<slug>/vN.<ext> the bytes of every registered render
slug é o caminho absoluto do vídeo com cada / substituído por __ (encurtado com um hash quando isso excederia
255 bytes, veja data-format.md). Quadros são baseados em 0 no fps do render,
timecodes mm:ss:ff, desenhos em pixels de vídeo. lampo e o servidor MCP bloqueiam e escrevem atomicamente, então não
edite manualmente review.json, e nunca mova ou modifique os renders em revisão: a ferramenta apenas os lê. Campo por
campo: docs/data-format.md.
Como funciona
Uma base de código TypeScript que o Node executa diretamente: lib/ é o armazenamento e o domínio (versões, notas, diffs,
Auto-check, gosto), server/ o expõe via HTTP, web/ é a interface React, e bin/lampo / mcp/ são as interfaces de
agente. docs/architecture.md aprofunda: modos, armazenamento, prioridades de trabalho e como a precisão
de quadros é mantida de ponta a ponta. A API HTTP está em docs/api.md.
Documentação
| docs/agents.md | Referência da CLI, o ciclo de revisão, agentes remotos |
| docs/mcp.md | Configuração do servidor MCP e ferramentas |
| docs/data-format.md | review.json, events.jsonl, os arquivos em data/ |
| docs/playbooks.md | playbooks: briefing, regras, referências e habilidades por estúdio e pasta; sugestões dos agentes; confiança |
| docs/taste.md | o arquivo de gosto: o que as notas ensinaram, para os agentes lerem antes de renderizar |
| docs/files.md | arquivos do projeto: filmagens, músicas, fontes e arquivos de projeto por Casa, projeto e pasta; versões, a lixeira, o plano, a aba Arquivos, lampo files e as ferramentas dos agentes, a API |
| docs/sharing.md | links de revisão para clientes e colegas, o que eles registram, webhooks |
| docs/workflow.md | onde um vídeo está: etapas, aprovações por parte, final, quem pode fazer o quê |
| docs/publishing.md | publicar um vídeo final no YouTube, Instagram e Facebook; o kit de publicação; o que configurar primeiro |
| docs/mobile.md | a caixa de entrada, o aplicativo no seu celular, notificações |
| docs/configuration.md | todas as configurações e variáveis de ambiente, onde os dados ficam |
| docs/server-mode.md | hospedagem: contas e espaços de trabalho, uploads, armazenamento, proxy reverso, modelo de segurança |
| docs/docker.md | a imagem Docker e a configuração do compose |
| docs/go-live.md | o primeiro deploy de produção em um servidor: DNS, TLS, env, backups e restauração, monitoramento, atualizações |
| docs/moving.md | mover as revisões da sua máquina para um servidor: lampo export, lampo admin import, o que é movido e o que permanece |
| docs/email.md | os e-mails que um servidor hospedado envia (convites, confirmações, redefinições de senha, avisos), cadastro, o relay de e-mail |
| docs/onboarding.md | a primeira execução: o que uma pessoa nova vê, os passos por função, o vídeo de exemplo |
| docs/speech.md | conversão de fala em texto: notas de voz, feedback gravado, transcrições |
| docs/footage.md | busca de filmagens: B-roll dos seus vídeos como cenas com quadros exatos de entrada e saída |
| docs/architecture.md | como as partes se encaixam |
| docs/api.md | a API HTTP |
| docs/brand/ | o logotipo do Lampo, os ícones e como usá-los |
| bench/stt/RESULTS.md | como os mecanismos de fala foram escolhidos |
Contribuindo
Issues e pull requests são bem-vindos. Leia primeiro o CONTRIBUTING.md (configuração, testes, o contrato de dados). As contribuições são aceitas sob um Contrato de Licença de Contribuidor, que você assina uma vez com um comentário no seu primeiro pull request (a verificação do CLA indica qual), e todos os envolvidos seguem o Código de Conduta. Encontrou um problema de segurança? Veja SECURITY.md e por favor não abra uma issue pública.
Licença
Copyright © 2026 nprompt UG (haftungsbeschränkt), Stuttgart, Alemanha.
O Lampo é um software livre sob a GNU Affero General Public License v3.0 apenas. Você pode usar,
estudar, modificar e auto-hospedar. Se você executar uma versão modificada como um serviço de rede, deve oferecer aos seus usuários o
código-fonte das suas alterações sob a mesma licença (defina LAMPO_SOURCE_URL para o seu fork; o aplicativo faz link para ele). Se a AGPL
não funcionar para a sua organização, uma licença comercial está disponível com os mantenedores: hello@lampo.video.
Para ser claro sobre o que o CLA significa: os contribuidores mantêm seus direitos autorais e concedem aos mantenedores o direito de licenciar suas contribuições sob outros termos também, incluindo proprietários (Harmony CLA, opção "qualquer licença"). É isso que torna a licença comercial possível. Em troca, toda contribuição permanece disponível também sob a AGPL-3.0.
Componentes de terceiros e licenças de modelos estão listados em NOTICE.md. O nome e o logotipo não são cobertos pela licença do código; veja TRADEMARKS.md.







