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
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 DangerousAdd 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 → Configuration → Augmentations → Configure 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.
| Event | What it means in-game |
|---|---|
UnderAttack | Took weapons fire |
Interdiction | Being interdicted (or successfully escaped one) |
ShieldsDown | Shields collapsed |
HullDamage / HullCritical | Hull integrity dropped past thresholds |
Arrival | Hyperspace jump complete |
Docked | Docked at a station / outpost |
Disembark / Embark | Got out of / back into the ship |
Scanned | Another ship scanned you |
CommitCrime / CrimeVictim | You 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.
| Action | Effect |
|---|---|
scan_star_system | Returns full system data — economy, security, allegiance, government, controlling faction. The AI uses this to answer "what's in this system?" type questions. |
scan_facility | Returns 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.