Voxta docs

Elite Dangerous — Cockpit Voice Assistant (COVAS)

Full cockpit voice assistant for Elite Dangerous — your AI sees ship state from Journal logs, reacts to combat / docking / interdictions, and can press in-game keys back via auto-detected keybindings.

Elite Dangerous: COVAS turns your Voxta character into an Advanced Cockpit Voice Assistant for Elite Dangerous. It's a two-way bridge:

  • Inbound — watches the game's Journal log files and pushes ship state, location, combat events, and exploration data into the chat context. The AI knows when you've jumped, docked, taken damage, are being interdicted, etc.
  • Outbound — the AI can issue actions the augmentation translates into actual in-game keypresses via your existing keybinding config. Tell your assistant "scan the system" and it can map that to the right key.

Marked experimental in the registry. Both the journal-watch and the keypress-out paths work, but specific events and actions are still expanding.

How it works

Rendering diagram…

The Journal is Elite's own structured log — every event the game produces (jump complete, shields down, mission accepted, etc.) is written as JSON. The augmentation tails this file and routes each event to a domain handler.

The .binds file is Elite's keybinding config. The augmentation parses it once at startup to build a key-name → DirectInput scan code map, so when the AI calls an action, the augmentation knows exactly which key to send.

Setup

Confirm Elite Dangerous Journal logging

Elite Dangerous writes structured logs to a known folder by default. On Windows this is typically:

%USERPROFILE%\Saved Games\Frontier Developments\Elite Dangerous

Add the augmentation

Manage Services → + Add Services → Elite Dangerous: Advanced Cockpit Voice Assistant → Add.

Confirm the Journal folder path in the module settings (it should auto-detect on standard installs). You can override it if you have a non-standard Saved Games location.

Enable it on your character

Open the character → ConfigurationAugmentationsConfigure Augmentations and toggle the Elite Dangerous module on.

The Augmentations area only appears for Companion / Assistant chat styles, so make sure the character isn't set to Roleplay first.

Launch Elite

Start the game and a Voxta chat. The augmentation begins reading new Journal lines immediately; the keybinding lookup builds from your active .binds profile on first run.

What the AI sees

The augmentation registers a live chat context that gets injected into the prompt and refreshed as Journal events come in. The character always knows the current:

  • System name, economy, security, government, controlling faction
  • Ship state: shields, hull integrity, heat, fuel
  • Landing gear, cargo, current docking state
  • Location — station, planet, supercruise, normal space

Significant events

Some events are noisy enough that the AI gets a direct "this just happened" signal, optionally with a voiced reaction. Each one has its own toggle and a voice chance slider (0–100%) — how likely the character is to actually say something out loud when it fires.

EventWhat it means in-game
UnderAttackTook weapons fire
InterdictionBeing interdicted (or successfully escaped one)
ShieldsDownShields collapsed
HullDamage / HullCriticalHull integrity dropped past thresholds
ArrivalHyperspace jump complete
DockedDocked at a station / outpost
Disembark / EmbarkGot out of / back into the ship
ScannedAnother ship scanned you
CommitCrime / CrimeVictimYou committed a crime, or were victim of one

Voice chance lets you tune the personality — set UnderAttack to 100% if you want a panicked screaming co-pilot, or 20% if you want the assistant to mostly stay quiet and only comment occasionally.

Telemetry toggles

Beyond significant events, the augmentation can also pipe in or omit several telemetry streams: docking events, combat events, exploration scans, mission updates. Toggle them in module settings to control how much detail the AI gets.

What the AI can do

The augmentation registers a set of actions the AI can call via action inference. When the LLM emits one, the augmentation handles it.

ActionEffect
scan_star_systemReturns full system data — economy, security, allegiance, government, controlling faction. The AI uses this to answer "what's in this system?" type questions.
scan_facilityReturns station / outpost info for the current location.
(more inventory / mission / cargo actions)Surface state from the most recent Journal events as conversational answers.

These don't press keys — they return data into the conversation. The keypress path is separate:

Keybinding-driven actions

Because the augmentation parses your .binds file, AI actions that map to a specific game function (deploy hardpoints, request docking, retract gear, etc.) can be issued as real keypresses through the IInputSender layer, which sends DirectInput scan codes to the game. No virtual joystick, no AHK macro layer — just the same key the binding profile points to.

Custom keybinding profiles work. The parser reads custom.binds first and falls back to Standard.binds if you haven't customized. Elite key names (e.g. Key_L) are mapped automatically to scan codes.

Tips

  • One Journal folder, multiple sessions. The watcher follows the most recent Journal file, so quitting and relaunching the game during a Voxta chat works without restarting anything.
  • Voice-chance sliders are your personality knobs. Big differences between a character who reacts to every interdiction and one who only occasionally pipes up. Set them per character.
  • Action inference precision depends on your LLM. Bigger models call the right actions more reliably. If your assistant keeps describing actions in prose instead of taking them, your LLM may not be strong enough for tool-use yet.
  • Privacy. All Journal reading is local. Nothing leaves your machine unless you've configured a cloud LLM — and even then, only the chat context (paraphrased state) goes out, not raw Journal files.

On this page