Usar

Voz, mídia, Ollama e DSH

#Voz

Em Configurações → Voz, escolha modelo/idioma. O serviço usa Xenova/whisper-base e português por padrão, salvo configuração legada diferente. A primeira utilização baixa o modelo; transcrição usa CPU no servidor. Não precisa instalar Whisper via pip ou FFmpeg para esse fluxo.

O cliente de entrada de voz funciona pelo navegador em Windows, Linux e macOS. Clique no terminal ou no campo de mensagem, pressione Alt+V (Option+V no Mac), fale e pressione Alt+V novamente. O texto é inserido para revisão; Enter e envio de mensagens continuam manuais. Em Configurações → Voz, o teste também permite ouvir a gravação capturada pelo navegador.

Para acessar de outro computador, disponibilize o Cockpit por HTTPS com certificado confiável. O navegador permite microfone em localhost no próprio computador; um IP da rede servido por HTTP não recebe essa exceção. Essa exigência vale nos três sistemas.

FreeFlow local: execute npm run setup:voice uma vez no servidor (Python 3.9+). Em Configurações → Voz, selecione FreeFlow local e o modelo desejado. A captura continua no navegador dos clientes Windows, Linux e macOS; eles não precisam instalar Python. O motor local usa faster-whisper em CPU com INT8, compara cinco alternativas no reconhecimento e mantém o modelo carregado entre gravações. O primeiro uso baixa o modelo; depois funciona com o modelo em cache, sem chave, conta ou API paga. Whisper anterior mantém compatibilidade com modelos Transformers personalizados.

A adaptação reutiliza o parser, o vocabulário, as regras de revisão e a proteção contra executar instruções do FreeFlow, sob MIT (atribuição em third_party/LICENSE.FreeFlow). Isso é uma adaptação integrada ao Cockpit, não o aplicativo Swift para macOS. O campo Vocabulário ajuda o reconhecimento de nomes e termos. Na configuração avançada, a revisão de escrita é opcional: informe um modelo local já instalado no Ollama (127.0.0.1:11434). Sem esse campo, o texto transcrito é preservado. Se a revisão falhar ou parecer responder aa entrada de voz, o texto original é mantido. Tradução permanece literal, sem revisão posterior.

A matriz adicional de captura e conversão de áudio usa Chromium, Firefox e WebKit, com áudio sintético e resposta de transcrição simulada. Prepare os navegadores com npx playwright install --with-deps chromium firefox webkit e execute COCKPIT_BROWSER_COMPAT_TESTS=1 npx vitest run tests/e2e/voice-browser-compatibility.test.ts. Isso complementa os testes reais de Whisper; não substitui testar microfones físicos nos sistemas dos clientes.

Autorize o microfone. Captura requer contexto seguro: localhost funciona localmente; IP de rede via HTTP exige HTTPS. A API recebe PCM Float32 mono a 16 kHz, até 40 MiB; ?traduzir=1 solicita tradução.

#Mídia

Em Configurações → Mídia, o catálogo padrão oferece:

ProvedorRequisito
HiggsfieldCLI higgsfield; instalador cadastrado: npm i -g @higgsfield/cli; autenticação posterior: higgsfield auth login.
Gemini ImageGEMINI_API_KEY no ambiente do servidor.
GPT ImageOPENAI_API_KEY.
ElevenLabsELEVENLABS_API_KEY.
ReplicateREPLICATE_API_TOKEN.

O catálogo v1 pode substituir essa lista. Instalação automática exige internet, npm e permissão no prefixo global do usuário. Provedores HTTP exigem chave, não instalação. Disponibilidade detecta binário/chave; não comprova saldo nem geração bem-sucedida.

#Ombro / Ollama

Opcional, desabilitado por padrão. Tenha Ollama rodando com um modelo disponível e informe endpoint/tag nas configurações. Endpoint padrão: http://127.0.0.1:11434; sem tag não há síntese. O assistente resume tarefas/painéis sem executar ações; sínteses são marcadas como conteúdo não confiável.

#DeepSeek Harness

Integração avançada opcional. O código referencia 0.1.5-rc.2 e entrypoint de checkout local. Prepare o DSH conforme suas instruções e configure:

export DSH_REPO_PATH="/caminho/deepseek-harness"
export DSH_HOME="$HOME/.cockpit/dsh-home"
mkdir -p "$DSH_HOME"

Também pode definir DSH_BIN. Não use ~/.dsh como DSH_HOME, pois é compartilhado com DSH interativo. O runner precisa de backend: "dsh" e configuração do provedor/chave. Só definir o caminho não cria agente utilizável.

Para usar DeepSeek sem configurar variáveis no terminal:

  1. Abra Configurações → Conexões → Conectar DeepSeek e informe sua API key.
  2. Use Testar e salvar conexão. O servidor consulta o catálogo, sem inferência paga, e salva a chave criptografada em <COCKPIT_HOME>/connections/ (padrão ~/.cockpit/connections/). O home DSH isolado é criado automaticamente.
  3. Ao adicionar um integrante, escolha DeepSeek, o Modelo e o Harness: CLI do agente (codex) para executar pelo CLI configurado ou DSH para usar o DeepSeek Harness. Há uma única entrada DeepSeek; a conexão salva é compartilhada pelas opções. Somente as opções disponíveis no servidor podem ser selecionadas. As permissões do DSH aparecem nas opções avançadas quando esse harness é escolhido.
  4. Quando o harness DSH é escolhido, o painel oferece a conversa com o agente e Ver saída técnica para acompanhar a mesma sessão. Enter envia; Shift+Enter insere uma quebra de linha. Respostas são apresentadas quando o SDK publica a mensagem; o estado de trabalho aparece durante o turno.

Minimizar o painel, recarregar o navegador ou reiniciar apenas o servidor HTTP conserva o mesmo processo DSH, contexto e histórico enquanto o serviço de sessões permanece vivo. A projeção do chat também é salva em <projeto>/.cockpit/dsh-chat/ com arquivos privados. Envios usam um identificador para evitar duplicação em novas tentativas. Encerrar o integrante encerra o processo; o SDK instalado não oferece retomada de uma sessão encerrada ou após reiniciar o serviço de sessões. Os dados salvos não substituem essa capacidade.

Nesta versão o chat usa o modo padrão do profile SDK. As permissões Somente leitura, Escrita no projeto e Acesso completo são aplicadas pelo sandbox do DSH ao abrir o integrante. Pedidos que exigem aprovação falham sem um respondedor interativo; modos PTC/Creator e aprovações interativas do DSH web não estão expostos. A preferência global “Com aprovações” usa somente leitura como padrão para novos integrantes DSH; o usuário pode escolher outra permissão explicitamente. Reconfigurar cria uma nova sessão. Nenhum token do DSH web é solicitado pelo chat SDK. Ao atualizar uma instância cujo serviço de sessões antigo ainda está vivo, encerre os terminais e reinicie o Cockpit para carregar o novo serviço. O servidor recusa iniciar o chat em um serviço antigo.