Skip to content

Settings and Slash Commands

Luke Benko edited this page Oct 8, 2026 · 1 revision

Settings and Slash Commands

Slash commands (type them in the chat)

Command What it does
/ai Lists the AI backends.
/ai <id> Switches backend: local, ollama, chatgpt, gemini, groq, openrouter, huggingface (or hf), custom. Remembered.
/model Lists the current backend's models (LM Studio marks the loaded one).
/model <name> Switches model for this session; part of the name is enough. On LM Studio it unloads the old model and loads the new one with 16k context (about 30 s).
/model default Back to the default model.
/crew chatter on|off Crew intercom lines, trip chatter, small talk, dad jokes. Default on.
/language filter on|off Keep-it-clean prompt plus profanity masking. Default on. Slurs are always blocked.
/override Shows the current speed and altitude overrides.
/override speed on|off Blanket speed-cap override for this bridge session (off restores the 200/220 m/s limits).
/override altitude on|off Blanket safe-ceiling override for this session.
/reversers on|off Thrust reversers (and prop reverse) on the autoland rollout. Default on.
/chatgpt api|mcp How the ChatGPT backend is reached: with an OpenAI API key (default) or through the ChatGPT desktop app (see below).

Not slash commands, but handy:

  • science auto on, science auto off, science watcher off switch the science watcher (see below).
  • "I think I'll call you Bob" renames the AI. Its replies then say Bob: ... when there's no crew aboard. With crew aboard, the pilot does the talking.
  • "Remember that I like landing on the Island runway" adds a note to your playstyle file, which the AI reads every time.

The chat window's Clear button wipes the window and the conversation history on the bridge side.

[INTERCOM] Bob (Sci): Can I have a slash command? /bob snacks on? Sidry: No.

The science watcher

While the bridge runs, it watches for new science situations (landed, splashed, flying low or high, space low or high), new biomes and new spheres of influence.

  • remind (default): a Science: note in chat when there's something to do. It automatically runs and transmits the experiments you can repeat (crew report, thermometer...) and lists the one-shot experiments still available.
  • auto: runs and transmits every available experiment that hasn't been done.
  • off: nothing.

It never runs anything below 10% electric charge and never transmits below 25%.

bridge_settings.json

The bridge keeps its settings in bridge_settings.json in the bridge folder. Most of them are changed for you by the commands above, but you can edit the file with KSP closed (or the bridge stopped). Useful keys:

Key Default Meaning
crew_chatter on Same as /crew chatter.
language_filter on Same as /language filter.
autoland_reversers on Same as /reversers.
mayday_lights true Blink the Light action group during an unacknowledged MAYDAY.
rotor_brake_park off After a helicopter lands: torque 0, wait for the rotor to slow below 20 RPM, then Brake 100.
flaps_action_groups {"1": 5, "2": 6} Which action groups flaps 1 and flaps 2 use.
science_mode remind auto, remind or off.
chatgpt_mode api api or mcp.
ai_name (none) The AI's name.
stall_speeds, liftoff_speeds learned Per-craft stall and liftoff speeds the autopilot measured. Delete an entry to re-learn it.

Other personal files in the bridge folder: .env (your API keys), kerbal_personalities.json (crew personalities), playstyle_notes.md (one - line per preference; edit freely), and logs/ (bridge.log plus one line per chat turn in sessions-*.jsonl). None of them are ever committed to git.

bridge.cfg (plugin side)

GameData/KSPChatBridge/PluginData/bridge.cfg tells the plugin how to start the bridge:

autostart = true        # start the bridge when KSP starts, if it isn't running
stop_on_quit = true     # stop it when KSP quits (only if the plugin started it)
bridge_dir = C:\Games\KSPChatBridge
python = python

The same folder holds window.txt (chat window position, size and backend) and status_window.txt (STATUS and Systems window positions). CKAN never overwrites PluginData.

Environment variables (advanced)

Put these in .env or your system environment:

  • Keys: OPENAI_API_KEY, GEMINI_API_KEY (or GOOGLE_API_KEY), GROQ_API_KEY, OPENROUTER_API_KEY, HF_TOKEN, CUSTOM_AI_URL, CUSTOM_AI_MODEL, CUSTOM_AI_KEY
  • Models: LMSTUDIO_MODEL (force a model), LMSTUDIO_FALLBACK_MODEL (loaded when none is, default qwen/qwen3.5-9b), LMSTUDIO_CONTEXT, OLLAMA_MODEL, OPENAI_MODEL, GEMINI_MODEL, GROQ_MODEL, OPENROUTER_MODEL, HF_MODEL
  • URLs: LMSTUDIO_URL (default http://localhost:1234/v1), OLLAMA_URL, OPENAI_BASE_URL, GEMINI_BASE_URL, GROQ_BASE_URL, OPENROUTER_BASE_URL, HF_BASE_URL
  • kRPC: KRPC_ADDRESS (127.0.0.1), KRPC_RPC_PORT (50000), KRPC_STREAM_PORT (50001)
  • CLOUD_RETRY_MAX_WAIT: how long to wait on a cloud rate limit before retrying (30 s)

Real environment variables win over .env when the bridge starts.

ChatGPT desktop app (optional, advanced)

The bridge is also an MCP server, so the ChatGPT desktop app (or any other MCP client) can fly your craft with the same tools. Add it to the app's config.toml:

[mcp_servers.ksp_bridge]
enabled = true
command = 'C:\path\to\python.exe'
args = ['C:\Games\KSPChatBridge\run_bridge.py', 'mcp']
cwd = 'C:\Games\KSPChatBridge'

With /chatgpt mcp the in-game chat queues your messages for the desktop app. In a ChatGPT thread, say "check KSP chat" (one pass) or "keep answering KSP chat" (loops). This uses a lot of ChatGPT tokens, so it's opt-in only; the default api mode just uses an OpenAI key.

Clone this wiki locally