Terminal User Interface
OpenSploit provides an interactive terminal interface for conducting security assessments. Launch it with opensploit or target a specific directory using opensploit /path/to/workspace.
Overview
The TUI is the primary interface for interacting with OpenSploit. It provides:
- Conversation view - Chat with the AI agent about your targets
- Tool execution display - Watch security tools run in real-time
- Session management - Save and resume engagements
- File browser - Reference and analyze files
Launching
Start OpenSploit in the current directory:
opensploit
Start in a specific workspace:
opensploit /path/to/pentest/engagement
Resume a previous session:
opensploit --continue
opensploit --session <session-id>
Start with a specific model:
opensploit --model ollama/llama3.1
File References
Reference files in your prompts using the @ symbol:
Analyze the vulnerabilities in @nmap_scan.xml
The @ symbol triggers fuzzy file search, allowing you to quickly find and include file contents in your conversation.
You can reference multiple files: Compare @scan1.xml and @scan2.xml
Shell Integration
Execute shell commands by prefixing with !:
!nmap -sV 10.10.10.1
The command output becomes part of the conversation, enabling follow-up analysis.
Commands
The TUI supports slash commands for common actions. Type / to see all available commands.
| Command | Description | Keybind |
|---------|-------------|---------|
| /connect | Configure provider API keys | — |
| /compact | Compress session history | ctrl+x c |
| /details | Toggle tool execution visibility | ctrl+x d |
| /editor | Compose in external editor | ctrl+x e |
| /exit | Close OpenSploit | ctrl+x q |
| /export | Export conversation to Markdown | ctrl+x x |
| /help | Display help dialog | ctrl+x h |
| /init | Create/update AGENTS.md file | ctrl+x i |
| /models | List available models | ctrl+x m |
| /new | Start a new session | ctrl+x n |
| /redo | Restore undone changes | ctrl+x r |
| /sessions | Switch between sessions | ctrl+x l |
| /share | Share current session | ctrl+x s |
| /themes | List available themes | ctrl+x t |
| /undo | Revert last message and file changes | ctrl+x u |
| /unshare | Revoke session sharing | — |
Keybinds
Navigation
| Keybind | Action |
|---------|--------|
| ↑ / ↓ | Scroll through conversation |
| Page Up / Page Down | Scroll by page |
| Home / End | Jump to start/end |
Input
| Keybind | Action |
|---------|--------|
| Enter | Submit message |
| Shift+Enter | New line |
| Escape | Cancel current operation |
| Tab | Autocomplete file reference |
Actions
| Keybind | Action |
|---------|--------|
| ctrl+x c | Compact/summarize session |
| ctrl+x d | Toggle details |
| ctrl+x e | Open external editor |
| ctrl+x h | Show help |
| ctrl+x l | List sessions |
| ctrl+x m | Show models |
| ctrl+x n | New session |
| ctrl+x q | Quit |
| ctrl+x r | Redo |
| ctrl+x s | Share session |
| ctrl+x t | Show themes |
| ctrl+x u | Undo |
| ctrl+x x | Export to Markdown |
Keybinds can be customized in your config file. See Keybinds for details.
Tool Execution Display
When OpenSploit runs security tools, the TUI shows:
- Tool name - Which tool is executing (nmap, sqlmap, etc.)
- Parameters - Arguments passed to the tool
- Progress - Real-time output from the tool
- Results - Parsed findings and recommendations
Toggle detailed output with /details or ctrl+x d.
Configuration
Configure TUI behavior in opensploit.json:
{
"tui": {
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
}
}
}
| Option | Description | Default |
|--------|-------------|---------|
| scroll_speed | Lines per scroll (1-3) | 2 |
| scroll_acceleration.enabled | macOS-style smooth scrolling | true |
Editor Setup
The /editor command uses the EDITOR environment variable:
Linux/macOS:
# VS Code
export EDITOR="code --wait"
# Vim
export EDITOR="vim"
# Nano
export EDITOR="nano"
Windows (PowerShell):
$env:EDITOR = "code --wait"
Username Display
You can toggle username display in the conversation. Access via the command palette or search settings. The preference persists across sessions.
Terminal Requirements
For the best experience:
- Truecolor support - Required for themes. Verify with
echo $COLORTERM - Unicode support - For proper icon and border rendering
- Minimum 80x24 - Recommended terminal size
Recommended terminals:
| Terminal | Platform | |----------|----------| | WezTerm | Cross-platform | | Alacritty | Cross-platform | | Ghostty | macOS | | Kitty | Linux, macOS | | iTerm2 | macOS | | Windows Terminal | Windows |
Some terminals (especially older ones) may not render the TUI correctly. If you experience display issues, try one of the recommended terminals.