BeatDesign
Workbench de mídia com IA open-source e local-first, com Canvas, editor de vídeo, Assets e controle via MCP.
Documentação
BeatDesign
Um espaço de trabalho criativo local. Qualquer agente.
Gere em um Canvas, edite em uma linha do tempo e deixe um agente compatível com MCP operar o mesmo projeto ao seu lado.
Site · Início rápido · MCP · Status do produto · 中文
BeatDesign é uma bancada de trabalho de mídia com IA gratuita, de código aberto e local-first. Ela combina um Studio guiado, um Canvas infinito, um Editor de vídeo curto e uma biblioteca de Assets compartilhada dentro de um único Projeto local.
O navegador é o seu espaço de trabalho visual. Um agente como Codex, Claude Code, Cursor ou outro host compatível com MCP pode ler e modificar o mesmo Projeto por meio das 20 ferramentas locais do BeatDesign. Agentes de codificação genéricos usam stdio local; QwenWork e Doubao Work podem usar o endpoint local Streamable HTTP. Não há sistema de conta, assinatura, crédito local ou painel administrativo neste repositório.
O ciclo criativo
Prompt or local media
↓
Studio / Canvas ── generate, branch, connect, reuse
↓
Shared Assets ─── image, video, audio, extracted clip, render
↓
Editor ────────── trim, split, move, mix, AI redo, export MP4
↑
Any MCP Agent ─── inspect and apply project-level commands
O resultado é um fluxo de trabalho contínuo em vez de geradores de IA separados, pastas de download e ferramentas de edição.
Um Projeto, quatro visualizações
| Visualização | Para que serve |
|---|---|
| Studio | Geração de imagem/vídeo orientada por prompt e análise de vídeo Standard ou Deep. |
| Canvas | Nós de mídia conectados, histórico de geração, referências, ramificações e saídas reutilizáveis. |
| Editor | Uma linha do tempo local para vídeos curtos, imagens estáticas e áudio, com edição não destrutiva e exportação MP4. |
| Assets | A fonte de verdade do projeto compartilhada por Studio, Canvas, Editor e MCP. |
Por que é diferente
- Local por padrão. Projetos, snapshots do Canvas, linhas do tempo, histórico de geração e mídia importada permanecem no espaço de trabalho local.
- Nativo para agentes, não bloqueado por agentes. O BeatDesign expõe transportes MCP padrão stdio e Streamable HTTP em vez de incorporar um chatbot proprietário.
- Asset-first. Mídia gerada e importada torna-se Assets estáveis do projeto antes de ser colocada no Canvas ou no Editor.
- Um único caminho de comando. Gravações de UI e MCP passam pelo mesmo Kernel de Comandos, verificações de revisão e recibos persistidos.
- Sem configuração de FFmpeg do sistema. Pré-visualização e exportação MP4 usam WebCodecs e Mediabunny nativos do navegador.
- Limite de provedor explícito. BeatAPI é o adaptador de geração integrado; forks podem registrar seu próprio adaptador sem reescrever Canvas ou Editor.
Início rápido
Requisitos: Node.js 22+, pnpm 10+ e Chrome atual no macOS ou Windows.
pnpm install
pnpm db:push
pnpm dev
Abra http://127.0.0.1:3020.
Importação local, trabalho no Canvas, edição de linha do tempo, pré-visualização e exportação MP4 não exigem chave de API. Adicione sua própria chave de API BeatAPI somente quando quiser gerar, analisar mídia ou usar refazer com IA.
Controle de agente via MCP
O BeatDesign executa o espaço de trabalho visual mais um transporte de controle de agente sobre o mesmo banco de dados SQLite:
| Processo | Comando | Função |
|---|---|---|
| Espaço de trabalho visual | pnpm dev | Abre Studio, Canvas, Editor e Assets no navegador. |
| Plano de controle do agente | pnpm --silent mcp | Expõe ferramentas de nível de projeto via stdio. |
| Conector HTTP | pnpm --silent mcp:http | Expõe /mcp em 127.0.0.1:3031 para QwenWork e Doubao Work. |
Execute o plano de controle stdio para agentes de codificação, ou o conector HTTP para conectores de escritório; normalmente você não precisa executar ambos.
O repositório inclui um .mcp.json raiz para hosts compatíveis e um launcher Codex leve em integrations/codex/beatdesign.
As 20 ferramentas são agrupadas por conceitos de produto duráveis:
- Projeto (3): listar, ler, criar.
- Asset (3): listar, ler, importar um arquivo local de imagem/vídeo/áudio.
- Canvas (3): ler, pesquisar, aplicar operações incrementais.
- Geração (5): descobrir modelos e parâmetros, enviar, atualizar status, ler histórico.
- Editor (6): ler, editar, inspecionar um snapshot semântico, diagnosticar, criar link profundo para uma visualização, ler histórico de comandos.
O MCP não automatiza pixels de UI. O agente lê o Projeto, aplica comandos estáveis e o BeatDesign atualiza o Canvas ou Editor visível a partir do mesmo estado local.
Consulte Configuração do MCP e limites de ferramentas.
O que funciona hoje
Canvas e geração
- Nós de Canvas para imagem, vídeo, áudio, linha do tempo e texto.
- Configuração de prompt/modelo/parâmetros a partir de um catálogo BeatAPI definido em código.
- Referências de Assets, fluxos de trabalho conectados, histórico de geração e saídas persistidas localmente.
- Geração de imagem/vídeo além de análise de vídeo Standard e Deep.
- Transferência Canvas-para-Editor por meio de Assets compartilhados e nós de linha do tempo.
Editor local
- Clipes de vídeo, imagem estática e áudio em uma linha do tempo compartilhada.
- Arrastar para cortar, dividir, mover, excluir, excluir com ripple e edição de duração de imagem estática.
- Desfazer/refazer, reprodução, seleção de intervalo de origem, volume de áudio e fades.
- Refazer com IA em intervalo selecionado como Takes não destrutivos.
- Diagnósticos de linha do tempo para lacunas, sobreposições, mídia ausente, incompatibilidades de duração e clipes minúsculos.
- Exportação MP4 H.264/AAC no lado do navegador; renders concluídos retornam aos Assets do projeto.
Persistência local
- Dados do projeto SQLite em
data/. - Mídia de propriedade do projeto em
data/project-assets/<project-id>/. - Salvamento de Canvas e Editor com reconhecimento de revisão.
- Interface em inglês e chinês.
Limite de dados e provedor
Browser UI / MCP
↓
Command Kernel + Project services
↓
SQLite + data/project-assets
↓ only after a confirmed generation request
Generation adapter (BeatAPI by default)
↓
Output copied back into the local Asset library
Chaves de API e credenciais opcionais R2/S3 são criptografadas no espaço de trabalho SQLite local. Selecionar ou arrastar um arquivo local não o envia a um provedor. O BeatDesign persiste o arquivo localmente primeiro e envia apenas o Asset durável do projeto exigido por uma solicitação de geração confirmada. BeatAPI Files é o caminho de upload padrão; usuários podem selecionar seu próprio bucket público compatível com R2/S3 em Connections.
O BeatDesign não reproduz lógica de cobrança, saldo ou limite de taxa do provedor. Ele retorna o resultado ou erro do provedor ao chamador de UI/MCP. O repositório upstream envia o adaptador oficial BeatAPI; um fork pode implementar BaseAdapter, registrá-lo e selecioná-lo em src/config/generation-providers.ts.
Leia arquitetura de provedor e arquitetura de sistema para o contrato completo.
Limites atuais da v0.2
O BeatDesign v0.2 é focado em fluxos de trabalho locais de vídeo curto com IA:
- Chrome atual no macOS e Windows.
- Imagens comuns decodificáveis no navegador, vídeo MP4/MOV e áudio MP3/WAV/M4A/AAC/OGG.
- Uma linha do tempo ativa por Projeto e exportação limitada pela memória do navegador.
- Canvas e Editor consultam revisões de agentes a cada dois segundos; um barramento de eventos em tempo real ainda não foi implementado.
- O snapshot MCP do Editor é inspeção semântica, não um quadro de pixel renderizado.
- Legendas, transições, controles de velocidade, formas de onda, múltiplas linhas do tempo nomeadas e empacotamento nativo de desktop permanecem como trabalho futuro.
O limite completo concluído/planejado está em Plano de produto e status.
Comandos de desenvolvimento
| Comando | Finalidade |
|---|---|
pnpm dev | Inicia o aplicativo local em 127.0.0.1:3020. |
pnpm --silent mcp | Inicia o servidor MCP local via stdio. |
pnpm typecheck | Verifica contratos TypeScript. |
pnpm test | Executa testes de unidade e contrato. |
pnpm i18n:check | Valida mensagens em inglês e chinês. |
pnpm build | Compila o aplicativo de produção. |
pnpm db:push | Aplica o esquema SQLite local durante o desenvolvimento. |
pnpm media:localize | Copia mídia hospedada por provedor em snapshots existentes para o armazenamento local do projeto. |
Contribuindo
Comece com CONTRIBUTING.md, depois use:
- ARCHITECTURE.md para limites de sistema.
- WORKSPACE_MODES.md para superfícies de produto.
- docs/MCP.md para integração de agentes.
- DESIGN.md para a linguagem visual do BeatDesign.
- SECURITY.md para segurança do espaço de trabalho local.
Licença
O BeatDesign é licenciado sob Apache License 2.0. A licença cobre o código, não marcas registradas do BeatAPI, acesso a serviços, direitos de modelos de provedores ou assets de terceiros. O contrato de linha do tempo é derivado do OpenReel licenciado sob MIT e o pipeline de mídia do navegador usa Mediabunny sob MPL-2.0; consulte third_party/ e TRADEMARKS.md.