● Em desenvolvimento Tauri v2 · Rust Node.js + Playwright GPT-4.1-mini · Whisper-1 Windows · Local-first
🎬 PROCESS STUDIO

Grava, documenta e re-executa processos

App desktop 100% local e individual (Windows, via Tauri) que transforma processos de trabalho no browser em documentação automática com IA — e, futuramente, em automação re-executável com variáveis editáveis.

O Process Studio é desenvolvido pela Digital AI e roda inteiramente no PC do usuário. Não há servidor próprio, conta, nem multi-tenant. A única saída de dados permitida é a chamada à API da OpenAI, usando a chave do próprio usuário armazenada localmente.

1Posicionamento de Mercado #

"Uma Scribe que executa." A Scribe (avaliada em US$ 1,3 bilhão) lidera o segmento de documentação automática de processos — mas só documenta, nunca re-executa. O Process Studio fecha essa lacuna.

Funcionalidade Scribe Process Studio
Documentação automática com IA✅ Sim✅ Sim
Exportação Markdown / HTML / PDF⚠️ Parcial✅ Sim
Re-execução do processo gravado❌ Não⏳ F2/F3
Variáveis editáveis na re-execução❌ Não⏳ F2/F3
Self-healing por LLM❌ Não⏳ F3
Local-first (sem servidor)❌ Não✅ Sim
Correlação passo ↔ request de rede❌ Não✅ Sim
Documentação por vídeo local❌ Não✅ Sim
Gravação de tela nativa❌ Não✅ Sim
ℹ️

Outros competidores monitorados: Codex Record & Replay (OpenAI) e workflow-use (open-source).

2Funcionalidades Atuais #

Gravação de Browser (via CDP)

  • Conecta ao Chrome via Chrome DevTools Protocol (CDP)
  • Cria um perfil isolado para o Chrome com auto-detecção e relançamento automático quando a porta CDP morre
  • Captura por evento: clicks, digitação, navegação, screenshots
  • Captura requisições de rede correlacionadas — cada request carrega afterStepSeq para rastreabilidade passo a passo
  • Trace salvo em NDJSON append-only (nunca alterado após fechado)

Gravação de Tela Nativa

  • Usa ffmpeg empacotado (gdigrab + dshow — Windows)
  • Seleção de monitor e microfone na UI
  • Pílula flutuante clicável com tempo decorrido
  • Borda vermelha WDA_EXCLUDEFROMCAPTURE no monitor gravado
  • Saída em .mkv local
  • Recuperação de gravações órfãs após crash no boot

Documentação Automática por IA (F1)

  • Botão "Documentar" compila o trace em workflow.json + documento estruturado
  • GPT-4.1-mini com structured outputs estritos — fatos técnicos 100% do trace, sem invenção de dados
  • stripSecrets() remove dados sensíveis antes de qualquer prompt de LLM
  • Exportação em Markdown, HTML autocontido e PDF (Chrome headless)
  • Log auditável com tokens e custo USD por compilação

Documentação por Vídeo Local (FV)

  • Aceita qualquer vídeo local: .mp4 .mkv .webm .mov .avi
  • Extração local de frames e áudio via ffmpeg
  • Transcrição via Whisper-1 (OpenAI)
  • Chamadas de visão em janelas — suporta vídeos longos (até 120 min)
  • Aviso de privacidade obrigatório com confirmação antes de qualquer upload

Interface — 4 Abas

AbaConteúdo
GravaçõesTraces NDJSON com visualizador paginado
ProcessosDocs compilados, exportação, gravador de tela
ConfigChave OpenAI, path Chrome, porta CDP, retenção, vídeo
HistóricoLogs de compilações com custo

Bandeja do sistema: fechar a janela minimiza para tray — o app continua rodando em background.

3Arquitetura #

DIAGRAMA
┌─────────────────────────────────────────────────────────┐
│  Tauri v2 (Rust)  —  janela principal, tray, overlays   │
│  comandos: capturas, workflows, gravações, config        │
│         │ JSON-RPC (NDJSON via stdio)                    │
│  ┌──────▼───────────────────────────────────────────┐    │
│  │  Sidecar Node 20 + Playwright (exe via pkg)      │    │
│  │  • chrome-connect  → CDP no Chrome isolado       │    │
│  │  • capture-store   → traces NDJSON               │    │
│  │  • compiler        → GPT-4.1-mini (browser)      │    │
│  │  • video-compiler  → Whisper + GPT-4.1-mini      │    │
│  │  • exporter        → md / html / pdf             │    │
│  │  • screen-recorder → ffmpeg empacotado           │    │
│  └──────────────────────────────────────────────────┘    │
│  UI React + Vite (sem router; abas por estado)           │
└─────────────────────────────────────────────────────────┘
        │                                   │
   Chrome do usuário                 API OpenAI (única
   (perfil isolado, CDP)             saída de dados)
🔐

Local-first absoluto: não há servidor Digital AI no loop. A única chamada externa sai do PC do usuário diretamente para a API da OpenAI, usando a chave do próprio usuário.

3.1Camadas do Sistema #

CamadaTecnologiaResponsabilidade
ShellTauri v2 (Rust)Janela, tray, overlays de gravação, supervisor do sidecar, comandos FS
SidecarNode.js 20 + Playwright 1.59.1CDP, gravação, compilação IA, exportação, gravador de tela
UIReact 18 + ViteInterface das 4 abas — sem router, abas por estado
IAGPT-4.1-mini + Whisper-1Compilação de documentos e transcrição de áudio
DadosArquivos locais (NDJSON + JSON)Sem banco de dados — tudo em %APPDATA%
Mídiaffmpeg LGPL empacotadoGravação de tela e extração de frames/áudio

3.2Comunicação Shell ↔ Sidecar #

Tauri (Rust)
JSON-RPC / NDJSON via stdio
Sidecar Node.js (.exe)
Chrome CDP
API OpenAI
  • Protocolo: JSON-RPC via NDJSON pelo stdio
  • Sidecar empacotado como .exe com @yao-pkg/pkg
  • Playwright pinado em 1.59.1 (compatível com pkg)
  • Supervisor com backoff exponencial — máx. 3 crashes antes de alertar o usuário
  • Relançamento automático do Chrome quando a porta CDP morre (CDP_PORT_DEAD)

4Shell Rust / Tauri v2 #

captures.rs 40 KB Comandos FS de capturas (leitura, listagem, exclusão de traces)
sidecar.rs 23 KB Supervisor do sidecar com backoff + protocolo JSON-RPC via stdio
chrome_detect.rs 11 KB Detecção automática e relançamento do Chrome com porta CDP
workflows.rs 10 KB Gerenciamento de workflows e docs compilados
recordings.rs 10 KB Gravações de tela — metadata, listagem, recuperação de órfãos
main.rs 10 KB Entry point, setup Tauri, registro de comandos e plugins
tray.rs 3 KB Bandeja do sistema (minimizar para tray)

Dependências Rust Principais

CrateVersãoUso
tauri2Shell principal, plugins shell/store/notification/dialog
windows-sys0.59Win32 UI (overlays de gravação)
tokio1Async runtime completo
serde / serde_json1Serialização JSON para RPC
chrono0.4Timestamps ISO-8601
base640.22Encoding de imagens para HTML
tracing0.1Observabilidade estruturada

5Sidecar Node.js #

playwright-actions.js 60 KB Principal — gravação via CDP, todos os tipos de evento
compiler.js 19 KB Trace → doc estruturado (GPT-4.1-mini structured outputs)
video-compiler.js 18 KB Vídeo → doc estruturado (Whisper + GPT-4.1-mini visão em janelas)
index.js 16 KB Entry point + dispatcher JSON-RPC
capture-store.js 12 KB Gerenciamento de traces NDJSON (append, leitura, listagem)
exporter.js 11 KB doc.json → Markdown / HTML autocontido / PDF (Chrome headless)
screen-recorder.js 10 KB Gravação de tela via ffmpeg (gdigrab + dshow)
openai-client.js 7 KB Cliente OpenAI com retry em 429/5xx (nunca em 401/403)
📦

Empacotamento via pkg: o sidecar inteiro é empacotado como .exe com @yao-pkg/pkg. Assets incluídos: playwright-core/browsers.json, compile-result.schema.json, video-compile-result.schema.json e templates/doc.html.

6UI React #

ComponenteTamanhoFunção
Captures.tsx31 KBAba Gravações + visualizador NDJSON paginado
Processes.tsx25 KBAba Processos + exportação + gravador de tela
Settings.tsx8 KBAba Config (chave OpenAI, Chrome, retenção)
Logs.tsx7 KBAba Histórico de compilações
RecPill.tsx3 KBPílula flutuante de gravação em andamento
RecOverlay.tsx862 BOverlay borda vermelha do monitor gravado

7IA — OpenAI #

ModeloUsoMétodo
gpt-4.1-mini Compilação de traces em documentação; structured outputs estritos; heal de seletores (F3) fetch nativo, sem SDK
whisper-1 Transcrição de áudio de vídeos locais fetch nativo, sem SDK
  • Structured outputs estritos: o LLM nunca inventa fatos técnicos — seletores, URLs, valores e tempos vêm 100% do trace
  • 1 retry automático em erros 429/5xx; nunca em 401/403
  • A chave nunca é logada — armazenada em storage local Tauri
  • Todo chamada registra tokens e custo estimado no log local

8Dados Locais #

Tudo em %APPDATA%/tech.digitalai.process-studio:

ESTRUTURA DE DIRETÓRIOS
settings.json                      chave OpenAI, path Chrome, porta CDP, retenção
captures/<id>.ndjson               trace append-only (1 JSON por linha, seq estável)
captures/<id>.meta.json            metadados (schema: 1)
workflows/<wfId>/meta.json         nome, origem, custo, domínios
workflows/<wfId>/v<N>.json         workflow executável versionado
workflows/<wfId>/doc.json          doc estruturado — fonte de todas as exportações
workflows/<wfId>/compile-log.json  payload LLM auditável + tokens + custo
docs/<wfId>/                       exportações .md (+ -assets/), .html, .pdf
recordings/*.mkv (+ .meta.json)    gravações de tela

Política de Segurança de Dados

OndeDados sensíveisComportamento
Disco localCookies, senhas, headers de authGravados em claro — decisão explícita do usuário
Prompt de LLMQualquer campo sensívelRemovidos via stripSecrets()
Exportação HTML/PDFValores sensíveisExibidos como ••••••

Retenção configurável — padrão: 14 dias / 512 MB para capturas.

9Princípios de Design — Constitution v1.1.0 #

Definidos em .specify/memory/constitution.md — imutáveis, só alteráveis por votação formal.

I
Local-First e Individual
Sem servidor próprio, sem conta, sem multi-tenant. Única saída de dados: API OpenAI com chave do usuário.
NON-NEGOTIABLE
II
Segredos Fora do LLM
Dados gravados em claro no disco (decisão do usuário). stripSecrets() obrigatório antes de toda chamada OpenAI. Exportação exibe ••••••.
NON-NEGOTIABLE
III
Replay Determinístico Primeiro, LLM Depois
Escada: seletor CSS → XPath → LLM heal → asserção de rede → intervenção humana. LLM proibido como cérebro de cada passo. Máx. 1 tentativa de heal por passo.
NON-NEGOTIABLE
IV
Trace Imutável, Workflow Versionado
NDJSON nunca alterado após fechado. Heals e edições geram v<N+1>.json. Recompilar gera workflow com ID novo.
NON-NEGOTIABLE
V
Herança por Fork
Código originado do relay (cortex-local-agent). O repositório de origem não é modificado.
VI
Correlação Explícita Passo↔Request
Cada request capturada carrega afterStepSeq. Traces antigos sem o campo compilam sem asserções, com aviso.
VII
Transparência de Custo de IA
Toda chamada LLM registra tokens e custo estimado no log local. A UI exibe esses valores. Nenhuma chamada de IA silenciosa.
NON-NEGOTIABLE

10Custos de IA (Validados) #

Processo browser
~$0,007
~6 passos · ~17s
Vídeo narrado
$0,0078
55 segundos · 13s proc.
Vídeo longo
$0,074
6 minutos · janelas

Modelo: gpt-4.1-mini (structured outputs). Transcrição: whisper-1. Custo pago pelo usuário usando a própria chave OpenAI.

11Roadmap — Fases F0 → F3 #

FASE F0
Scaffold
App instalável, Chrome isolado via CDP, gravação e listagem de capturas
✅ Entregue
FASE F1
Auto-Docs
Compilador IA, exportador md/html/pdf, página Processos
✅ Entregue
FASE FV
Docs por Vídeo
Gravação de tela nativa + documentação de vídeos locais com janelas para vídeos longos
✅ Entregue
FASE FG
Gravador de Tela
ffmpeg empacotado, borda REC WDA_EXCLUDEFROMCAPTURE, pílula clicável, recuperação de órfãos
✅ Entregue
FASE F2
Replay Determinístico
Re-execução com variáveis editáveis, formulário de preenchimento pré-gravado
⏳ Pendente
FASE F3
IA na Execução
Self-healing por LLM quando seletor quebra, resolução de variáveis por instrução em linguagem natural
⏳ Pendente

Escada de Replay (F2/F3 — design)

Seletor CSS
XPath
LLM Heal
Asserção de Rede
Intervenção Humana

LLM só entra quando o seletor CSS e o XPath falham. Máx. 1 tentativa de heal por passo por run.

12Build e Deploy #

⚠️

Pré-requisitos: Windows 10/11 x64 + Google Chrome + Node.js 20+ + Rust estável (MSVC Build Tools) + WebView2

POWERSHELL
npm install
npm run fetch:ffmpeg                               # baixa ffmpeg LGPL (~110 MB)
cd sidecar
npm install
npm run build:win                                  # gera sidecar .exe via pkg
cd ..
Copy-Item sidecar\sidecar-x86_64-pc-windows-msvc.exe src-tauri\sidecar\
npm run tauri:dev                                  # desenvolvimento
npm run tauri:build                                # instalador NSIS

Saída: src-tauri/target/release/bundle/nsis/ — instalador NSIS Windows.

Notas Críticas de Build

  • ffmpeg.exe (~110 MB) não é versionado no git — baixar via npm run fetch:ffmpeg
  • Playwright pinado em 1.59.1 para compatibilidade com @yao-pkg/pkg
  • Sempre validar com o exe empacotado, não apenas node index.js
  • Testes do sidecar: cd sidecar && npm test

Repositório

GitHub: DIGITAL-AI-TECH/process-studio (privado)
Identificador: tech.digitalai.process-studio
Versão atual: 0.1.0
Nome: provisório — será renomeado após definição final