AI Terminal
A full Linux terminal with an AI sidekick that explains, suggests, and runs commands for you.
The AI Terminal is the same SSH terminal you'd use anywhere, with two side panels you can pop open: an AI Assistant that turns plain English into commands and explains output, and a Scripts library where you keep the commands you run all the time. Type a command yourself, ask the AI to figure one out, or run a saved script in one click.
What you can do here
- Type any Linux command and see the output, just like a regular SSH terminal.
- Ask the AI plain-English questions ("what services are running?", "why is the disk full?").
- Have the AI run commands for you, with your approval before each one.
- Switch between OpenAI, Anthropic, Gemini, or any OpenAI-compatible provider mid-conversation.
- Save commonly-used commands as Scripts and re-run them with one click.
- Let the AI search the web for current docs, error messages, and package versions.
Open the AI Terminal
Open app → Click your server → Click the AI Terminal tab
You'll land in a dark terminal taking up most of the screen. The header has a green title "Terminal" on the left, with two toggle buttons on the right: AI Assistant (robot icon) and Scripts (file icon). Both panels are collapsed by default.
Use the terminal directly
Click anywhere in the dark area and start typing. It works exactly like an SSH session:
- Hit Enter to run a command.
- Tab to autocomplete file names.
- Up arrow to repeat the previous command.
- Scroll wheel to look at history (5,000 line buffer).
- Ctrl+C / Cmd+C copies selected text.
- Ctrl+F / Cmd+F opens a search overlay.
- Right-click for Copy, Paste, Clear Buffer, Reset Session.
If your connection drops, you'll see a "Disconnected" alert in the bottom-left with a Reconnect button.
Add an AI key (one-time setup)
Before the AI Assistant can help you, you need to connect at least one model. You have three paths:
- Free model: a curated pre-configured model in one click, no signup.
- Your API key: bring a key from OpenAI, Anthropic, or Google.
- OpenRouter (free): free access to large open-source models (
gpt-oss-120b, Llama 70B, etc.) with one key.
Pick the path that fits you and follow the steps in that tab.
CtrlOps ships with a curated list of free models you can use straight away, no signup, no billing, no API key.
Open the AI Keys page
Click the three-dot menu (top right of Home) → AI Keys
Find the Free AI Models section
Scroll past the credentials table. You'll see a Free AI Models heading with a lightning-bolt icon and a list of available models pulled from CtrlOps.
Click Connect
A Privacy Acknowledgment modal opens explaining two things:
- Free models may log prompts and responses to improve the service, so don't paste secrets, credentials, or confidential data.
- Free models may have higher latency, lower rate limits, and lower accuracy than paid models.
Click I Understand & Connect
The model is added to your credentials list with a green Free tag and is immediately selectable from the AI Assistant dropdown. To remove it later, click the trash icon on its row.
Free models are great for trying out the AI Terminal, but for real server work (running commands, debugging incidents, touching infrastructure), switch to a high-capability model like Claude Opus, Gemini 2.5 Pro, or GPT-5. Smaller models are more likely to suggest commands that misfire.
Use this when you already have an account with OpenAI, Anthropic, Google, or any OpenAI-compatible provider.
Open the AI Keys page
Click the three-dot menu (top right of Home) → AI Keys
Click Add Credential
The form opens.
Fill in the form
| Field | What to enter |
|---|---|
| Name (Identifier) | A nickname like Personal Claude or Work GPT-4 |
| Provider | Pick from OpenAI, Google Gemini, Anthropic Claude, or OpenAI Compatible |
| Base URL (only for OpenAI Compatible) | The endpoint URL of your provider, e.g. https://api.your-provider.com/v1 |
| API Key | Paste the API key you got from the provider's console |
| Model | Loads automatically once the API key is valid. Pick from the list. |
Test before saving
Click Test Connection (flask icon)
CtrlOps makes a tiny test call. You'll see a success toast or a specific error.
Save
Click Save Credential
The key is stored locally. Saving runs the test again automatically; the credential saves either way, marked as error status if the test failed.
You can repeat this to add as many keys as you want. The AI panel lets you switch between them mid-conversation.
CtrlOps stores the API keys locally on your computer, never on a server. They're encrypted at rest.
OpenRouter is a single API in front of hundreds of models, and it offers a generous free tier on a number of large open-source models: gpt-oss-120b, llama-3.3-70b, qwen-2.5-72b, and others. This is the best path if you want better answers than the in-app free models without paying per-token.
Create an OpenRouter API key
Go to openrouter.ai, sign up, then Keys → Create Key. Copy the key, which starts with sk-or-….
Open the AI Keys page in CtrlOps
Click the three-dot menu (top right of Home) → AI Keys → Add Credential
Fill in the form
| Field | What to enter |
|---|---|
| Name (Identifier) | OpenRouter Free (or whatever you prefer) |
| Provider | OpenAI Compatible |
| Base URL | https://openrouter.ai/api/v1 |
| API Key | Paste your sk-or-… key |
Find a free model
The Model dropdown loads OpenRouter's full catalog. Type free in the search box to filter, since OpenRouter tags every free model with :free in its ID (e.g. openai/gpt-oss-120b:free, meta-llama/llama-3.3-70b-instruct:free).
For real server work, pick one of the larger free models (70B parameters or more). Smaller free models are faster but hallucinate commands more often, which matters when those commands run on your servers.
Test and save
Click Test Connection (flask icon) to verify, then Save Credential.
The new key shows up in your credentials list with the Custom tag, and you can pick it from the AI Assistant dropdown like any other key.
OpenRouter free tiers are rate-limited per model. If you hit a wall, add a second OpenRouter credential with a different free model and switch between them from the AI Assistant dropdown. No new account or key required.
OpenRouter's free models are served by third-party providers who may log your prompts and responses. Don't paste secrets, credentials, or confidential server output into chats backed by free models. For sensitive work, switch to a paid OpenRouter model or use the Your API key path with a direct provider.
Open the AI Assistant panel
In the AI Terminal header → Click AI Assistant (robot icon)
A 450px panel slides in from the right with the chat history (empty at first), an input box at the bottom, and a green circular send button.
If you haven't added an AI key yet, you'll see "AI Not Configured" with a "+ Add API Key" button that takes you to the AI Keys page.
Ask the AI a question
Pick which key to use (optional)
At the bottom-left of the AI panel, a dropdown shows the currently selected key. Click it to switch to a different provider or model. The next message you send uses the new key.
Type your question
Use plain English in the input box at the bottom. Examples:
- "What services are running on this server?"
- "Why is
/var/logso big?" - "Set up a daily cron job that runs my-script.sh at 2am"
Send it
Press Enter, or click the green send arrow
(Use Shift+Enter for a newline if you want a multi-line prompt.)
Approve any commands the AI wants to run
If the AI suggests a command, it appears as a card with the command in a code block, an explanation, and two buttons:
| Button | What it does |
|---|---|
| Run (green play icon) | Runs the command in the terminal. Output is captured and sent back to the AI |
| Cancel (red X) | Rejects the command. The AI may suggest something else |
The AI may chain several commands in a row, asking for approval each time, until it has enough information to give you an answer.
Always read the command before clicking Run. The AI is helpful but it's not infallible. If a suggested command would touch important files or stop a running service, double-check first.
Tweak how the AI behaves
The AI panel has a few controls in the footer.
| Control | What it does |
|---|---|
| Max AI reasoning steps (number field, 1-200) | Caps how many back-and-forth steps the AI takes per question. Default is fine for most. |
| Auto-Run (switch) | Skip the manual approval step and run AI commands automatically. Convenient but riskier. |
| Web Search (pill + toggle) | Let the AI look things up online for current docs, error messages, package versions, etc. See Web search. |
| New (header button) | Start a fresh conversation, useful when context gets stale |
| Export (header button) | Save the chat as a file for sharing or notes |
| Stop (red X, only while running) | Interrupt the AI mid-thought |
| Close (X) | Collapse the panel |
Leave Auto-Run off until you've used the AI for a while and trust the kind of commands it suggests. With Auto-Run on, every command runs immediately with no approval step.
Go deeper
Scripts
Save your most-used commands as one-click Scripts with variables, tags, and colours. Available across every server you connect to.
Web search
Let the AI look up current docs, error messages, and package versions live. Pick from Tavily, Brave, or DuckDuckGo.
Tips
When something is broken, paste the exact error into the AI Assistant and ask "why?". The AI is excellent at decoding cryptic error messages.
When the AI keeps suggesting wrong commands, click New in the panel header to start a fresh conversation. Long contexts can drift.
Keep two AI keys configured: one fast and cheap (Haiku, GPT-4o-mini, Gemini Flash) for quick lookups, one heavy (Opus, GPT-4o, Gemini Pro) for hard debugging. Switch between them from the dropdown.