Usage

Voice, media, Ollama, and DSH

#Voice

Choose model and language in Settings → Voice. The default is Xenova/whisper-base with Portuguese, unless legacy settings override it. First use downloads the model; transcription runs on the server's CPU. This flow needs neither pip-installed Whisper nor FFmpeg.

Voice input works in Windows, Linux, and macOS browsers. Focus a terminal or message input, press Alt+V (Option+V on Mac), speak, and press again to stop. Text is inserted for review; Enter and sending remain manual. The settings test also lets you listen to the browser recording.

Remote microphone access requires HTTPS with a trusted certificate. Local localhost works over HTTP; network IPs do not receive that exception, on any supported system.

Local FreeFlow: run npm run setup:voice once on the server (Python 3.9+), then select Local FreeFlow and a model. Clients capture in their browser and need no Python. The engine uses faster-whisper on CPU with INT8, compares five recognition alternatives, and keeps the model loaded. After the first download, cached models work without a key, account, or paid API. Previous Whisper supports custom Transformers models.

This integrates FreeFlow's parser, vocabulary, editing rules, and protection against executing spoken instructions, under MIT (third_party/LICENSE.FreeFlow). It is an adaptation inside Cockpit, not the macOS Swift application. Vocabulary improves recognition of names and terms. Advanced optional writing review uses an already-installed Ollama model at 127.0.0.1:11434. Without it, transcripts remain unchanged. Failed review, or a review that appears to answer the voice input, preserves the original. Translation remains literal with no subsequent editing.

The additional browser compatibility matrix uses Chromium, Firefox, and WebKit with synthetic audio and mocked transcription. Install with npx playwright install --with-deps chromium firefox webkit, then run COCKPIT_BROWSER_COMPAT_TESTS=1 npx vitest run tests/e2e/voice-browser-compatibility.test.ts. This supplements real Whisper tests, not physical microphone testing on client systems.

Allow microphone access. The API accepts mono 16 kHz PCM Float32, up to 40 MiB; ?traduzir=1 requests translation.

#Media

Default Settings → Media catalog:

ProviderRequirement
Higgsfieldhiggsfield CLI; installer npm i -g @higgsfield/cli, followed by higgsfield auth login.
Gemini ImageGEMINI_API_KEY on the server.
GPT ImageOPENAI_API_KEY.
ElevenLabsELEVENLABS_API_KEY.
ReplicateREPLICATE_API_TOKEN.

A v1 catalog may replace this list. Automatic installation needs internet, npm, and permissions in the user's global prefix. HTTP providers need keys rather than installation. Detection verifies a binary/key, not credit balance or successful generation.

#Companion / Ollama

Optional and disabled by default. Run Ollama with an available model and configure endpoint/tag. Default endpoint: http://127.0.0.1:11434; no tag means no summary. It summarizes tasks and panels without taking action. Summaries are marked as untrusted content.

#DeepSeek Harness

Optional advanced integration. The code references 0.1.5-rc.2 and a local checkout entrypoint. Prepare DSH using its instructions:

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

You may also set DSH_BIN. Do not use ~/.dsh as DSH_HOME: interactive DSH shares that directory. The runner needs backend: "dsh" plus provider/key configuration. Setting a path alone does not create a usable agent.

To connect DeepSeek without terminal environment variables:

  1. Open Settings → Connections → Connect DeepSeek and enter your API key.
  2. Test and save connection lists models without paid inference and saves the encrypted key in <COCKPIT_HOME>/connections/ (default ~/.cockpit/connections/). The isolated DSH home is created automatically.
  3. Add a member, choose DeepSeek, Model, and Harness: Agent CLI (codex) uses the configured CLI; DSH uses DeepSeek Harness. One DeepSeek entry shares the saved connection across these options. Only server-available options are selectable. DSH permissions appear in advanced options.
  4. DSH provides agent chat and View technical output for the same session. Enter sends; Shift+Enter adds a line. Responses appear when the SDK publishes them; working state is shown during the turn.

Minimizing, reloading the browser, or restarting only HTTP preserves the DSH process, context, and history while the session service stays alive. Chat projection is also saved privately under <project>/.cockpit/dsh-chat/. Send identifiers prevent duplicate retries. Stopping a member ends its process; the installed SDK cannot resume terminated sessions or sessions after a session-service restart. Saved data does not provide that ability.

In this version, chat uses the profile SDK's default mode. Read only, Project write, and Full access are enforced by the DSH sandbox when opening a member. Requests requiring approval fail without an interactive responder; DSH web's PTC/Creator modes and interactive approvals are not exposed here. The global With approvals preference defaults new DSH members to read-only; you may explicitly choose another permission. Reconfiguration creates a new session. SDK chat never requests a DSH web token. After updating with an old session service still running, stop terminals and restart Cockpit. The server rejects chat creation against an outdated service.