Terminal, files, and SSH
Your Genie server is a real Linux machine. You get full shell access, a persistent filesystem, and SSH connectivity — not a sandboxed environment or simulation. This article covers all the ways to interact with your server's system.
Written By Deva
Last updated About 2 months ago
In-Browser Terminal
Opening the Terminal
In Pro Mode, navigate to Terminal from the sidebar. A full Linux shell opens in your browser — no software to install.
What It Is
A real terminal session powered by xterm.js connected to your server via WebSocket. Everything you'd expect from a proper terminal:
Full ANSI color support and VT100 rendering
Clickable URLs in output
Copy and paste (⌘C/⌘V or Ctrl+C/Ctrl+V)
Auto-resize when you change browser window size
Multiple concurrent sessions
What You Can Do
Anything. It's a full Ubuntu Linux shell:
# Install packages sudo apt install -y python3-pip nginx redis-server # Run development servers npm run dev # Deploy applications git clone https://github.com/your/app.git cd app && docker compose up -d # Monitor system resources htop df -h free -m # Manage services sudo systemctl start nginx pm2 start server.js # Use tmux/screen for persistent sessions tmux new -s dev Terminal + AI
Your Genie's chat and terminal share the same server. When you ask your Genie to "install Node.js," it runs the commands in the same environment you access via terminal. You can watch commands execute in the terminal while chatting, or switch between manual and AI-driven workflows.
File System
Your Workspace
All your files live at /home/ubuntu/workspace/ — persistent storage that survives server restarts, updates, and session changes. This is where your Genie reads and writes files too.
File Browser (Web UI)
Navigate to Files from the sidebar:
Browse directories — Click to navigate, breadcrumbs to go back
Upload files — Drop files from your local machine directly to the current directory
Download files — Click any file to download it
View files — Built-in viewer for text, code, and common formats
Create/delete/rename — Full file management operations
File Operations via Chat
Your Genie can manage files through conversation:
"Show me what's in the projects directory"
"Create a backup of config.yaml before I change it"
"Find all Python files that import requests"
"Upload the CSV I sent you to the data directory and parse it"
AI-Aware File System
Your Genie doesn't just store files — it understands them. Ask it to:
Explain any file on the server
Refactor code files
Generate new files based on existing patterns
Search across your entire workspace
Organize files into logical directory structures
SSH Access
For power users who want to connect from their own terminal, IDE, or CI/CD pipeline.
Adding Your SSH Key
Go to Settings → Server → SSH Keys.
Click Add SSH Key.
Paste your public key (ED25519 or RSA).
Generate a new key if needed:
# ED25519 (recommended) ssh-keygen -t ed25519 -C "your-email@example.com" # RSA ssh-keygen -t rsa -b 4096 -C "your-email@example.com" Your public key: ~/.ssh/id_ed25519.pub or ~/.ssh/id_rsa.pub.
Connecting
ssh user@your-genie-hostname The exact hostname and username are shown in your Settings page.
SSH Use Cases
IDE remote development — VS Code Remote SSH, JetBrains Gateway, etc.
Persistent sessions — Run tmux over SSH for long-lived workflows
CI/CD automation — Deploy to your Genie server from GitHub Actions or other pipelines
File transfer —
scporrsyncfiles to/from your server
Security Note
SSH key operations require step-up authentication (2FA) for security. Keys can be revoked at any time from Settings.
Agent Sandboxes
Your Genie can create isolated execution environments using Firecracker microVMs — lightweight virtual machines for running code safely.
What Are Sandboxes?
Sandboxes are temporary, isolated VMs that:
Have their own CPU, memory (256 MB – 1024 MB), and disk (512 MB)
Auto-destroy after a configurable TTL (2–30 minutes)
Get a public URL for access
Are completely isolated from your main server
When Does Your Genie Use Them?
Running untrusted or experimental code
Testing in a clean environment
Executing resource-intensive tasks without affecting the main server
Creating temporary development environments
Viewing Sandboxes
Go to System → Sandboxes to see active sandboxes, their resource allocation, TTL, and public URLs.
Device Pairing
Access your Genie server from multiple devices:
Sign in on the new device.
A pairing request appears in your Settings.
Approve from your primary device.
Both devices connect to the same server.
Manage paired devices in Settings → Connected Devices — approve, reject, or unpair at any time.
System Monitoring
The System tab in Pro Mode shows real-time server metrics:
Server Health
Your dashboard shows health status:
Healthy — Everything running normally
Degraded — Some services may be slow
Offline — Server not responding (check if it's stopped or hibernating)
Free-tier servers use heartbeat monitoring — after 3 consecutive failures, the server is marked unhealthy.
Tips
Terminal for manual work, chat for AI-driven work. Use both — they share the same environment.
SSH for IDE integration. Connect VS Code or JetBrains to your Genie for a familiar dev experience with AI superpowers.
Use tmux over SSH for persistent terminal sessions that survive disconnections.
Watch System metrics before running resource-intensive tasks — make sure you have headroom.
Sandboxes for experimentation. Tell your Genie to "run this in a sandbox" to keep your main server clean.