mirror of https://github.com/aliasrobotics/cai.git
343 lines
9.1 KiB
Markdown
343 lines
9.1 KiB
Markdown
# Getting Started with CAI TUI
|
|
|
|
> **⚡ CAI-Pro Exclusive Feature**
|
|
> The Terminal User Interface (TUI) is available exclusively in **CAI-Pro**. To access this feature and unlock advanced multi-agent workflows, visit [Alias Robotics](https://aliasrobotics.com/cybersecurityai.php) for more information.
|
|
|
|
---
|
|
|
|
This guide will walk you through launching the CAI TUI for the first time and performing your first security assessment.
|
|
|
|
## Prerequisites
|
|
|
|
Before starting, ensure you have:
|
|
|
|
- ✅ CAI installed (see [Installation Guide](../Installation_Guide_for_CAI_Pro_v0.6.md))
|
|
- ✅ Python 3.9+ installed
|
|
- ✅ A valid `ALIAS_API_KEY` from [Alias Robotics](https://aliasrobotics.com)
|
|
|
|
|
|
## Step 1: Launch the TUI
|
|
|
|
Open your terminal and run:
|
|
|
|
```bash
|
|
cai --tui
|
|
```
|
|
|
|
If your `ALIAS_API_KEY` is not configured, you'll see an authentication error. Don't worry—we'll fix this in the next step.
|
|
|
|
|
|
## Step 2: Configure Your API Key
|
|
|
|
The first time you use CAI TUI, you need to configure your API key:
|
|
|
|
1. **Open the Sidebar**
|
|
- Press `Ctrl+S` to toggle the sidebar (if not already visible)
|
|
|
|
2. **Navigate to Keys Tab**
|
|
- Click on the **"Keys"** tab in the sidebar
|
|
- This shows all configured API keys
|
|
|
|
3. **Add Your API Key**
|
|
- Click the **"Add New Key"** button
|
|
- A dialog will appear with two fields:
|
|
- **Key Name**: Enter `ALIAS_API_KEY`
|
|
- **Key Value**: Enter your API key (e.g., `ak_live_1234567890abcdef`)
|
|
|
|
4. **Save the Key**
|
|
- Click the **"Save"** button
|
|
- Your key is now securely stored in `~/.cai/.env`
|
|
|
|
### Alternative: Using Environment Variables
|
|
|
|
You can also set your API key via environment variable:
|
|
|
|
```bash
|
|
export ALIAS_API_KEY="your_api_key_here"
|
|
cai --tui
|
|
```
|
|
|
|
Or create a `.env` file in your project directory:
|
|
|
|
```env
|
|
ALIAS_API_KEY=your_api_key_here
|
|
```
|
|
|
|
## Step 3: Select Your Model
|
|
|
|
CAI supports multiple AI models. For optimal performance and cost balance, we recommend `alias1`:
|
|
|
|
### Option 1: Using the Dropdown (Recommended)
|
|
|
|
1. Look at the terminal header (top bar of each terminal)
|
|
2. Find the **"model"** dropdown (center-right area)
|
|
3. Click on it to see available models
|
|
4. Select **`alias1`**
|
|
|
|
### Option 2: Using a Command
|
|
|
|
Type in the input field at the bottom:
|
|
|
|
```
|
|
/model alias1
|
|
```
|
|
|
|
Press **Enter**.
|
|
|
|
### Available Models
|
|
|
|
| Model | Provider | Best For | Cost |
|
|
|-------|----------|----------|------|
|
|
| `alias1` | Alias Robotics | **Recommended** - Balanced performance | Medium |
|
|
| `gpt-5` | OpenAI | Latest reasoning and code generation | Very High |
|
|
| `gpt-4o` | OpenAI | Complex reasoning and multi-modal | High |
|
|
| `claude-4-5` | Anthropic | Advanced reasoning and long contexts | Very High |
|
|
| `claude-3-5-sonnet-20241022` | Anthropic | Fast responses with good quality | High |
|
|
|
|
> **💡 Tip**: You can change models at any time without losing your conversation history.
|
|
|
|
## Step 4: Choose Your Agent
|
|
|
|
CAI comes with specialized agents for different security tasks. Here's how to choose:
|
|
|
|
### Option 1: Use the Agent Recommendation System
|
|
|
|
The easiest way to start:
|
|
|
|
1. Click the **agent** dropdown in the terminal header
|
|
2. Select **`selection_agent`**
|
|
3. Type your task description: `"I need to test a web application for SQL injection"`
|
|
4. The agent will recommend the best agent for your task
|
|
|
|
Alternatively, use the command:
|
|
|
|
```
|
|
/agent selection_agent
|
|
```
|
|
|
|
Then describe your task.
|
|
|
|
### Option 2: Choose Directly from the Dropdown
|
|
|
|
If you know which agent you need:
|
|
|
|
1. Click the **agent** dropdown
|
|
2. Browse available agents (scroll if needed)
|
|
3. Select your desired agent (e.g., `redteam_agent`, `bug_bounter_agent`)
|
|
|
|
### Option 3: List All Agents
|
|
|
|
To see all available agents with descriptions:
|
|
|
|
```
|
|
/agent list
|
|
```
|
|
|
|
### Common Agent Types
|
|
|
|
| Agent | Purpose | When to Use |
|
|
|-------|---------|-------------|
|
|
| `redteam_agent` | Offensive security testing | Default for penetration testing |
|
|
| `blueteam_agent` | Defensive security analysis | Security posture assessment |
|
|
| `bug_bounter_agent` | Bug bounty hunting | Finding high-value vulnerabilities |
|
|
| `retester_agent` | Vulnerability retesting | Confirming fixes |
|
|
| `selection_agent` | Agent recommendation | **When unsure which agent to use** |
|
|
|
|
> **💡 Pro Tip**: Start with `selection_agent` if you're new to CAI—it will guide you to the right agent for your task.
|
|
|
|
## Step 5: Start Your First Conversation
|
|
|
|
Now you're ready to interact with CAI!
|
|
|
|
### Example 1: Basic Reconnaissance
|
|
|
|
In the input field at the bottom (marked with `CAI>`), type:
|
|
|
|
```
|
|
Scan 198.51.100.50 for open ports and services
|
|
```
|
|
|
|
Press **Enter**.
|
|
|
|
The agent will:
|
|
- Process your request
|
|
- Use appropriate tools (nmap, etc.)
|
|
- Display results in the terminal output area
|
|
|
|
### Example 2: Web Application Testing
|
|
|
|
Prompt example:
|
|
|
|
```
|
|
Test https://example.com for common web vulnerabilities
|
|
```
|
|
|
|
Press **Enter**.
|
|
|
|
The agent will:
|
|
- Process your request
|
|
- Use appropriate tools (nmap, etc.)
|
|
- Display results in the terminal output area
|
|
|
|
### Example 3: Network Analysis
|
|
|
|
Prompt example:
|
|
|
|
```
|
|
Analyze the network traffic from this pcap file: capture.pcap
|
|
```
|
|
|
|
### Understanding the Output
|
|
|
|
As the agent works, you'll see:
|
|
|
|
1. **Tool Execution**: Messages showing which tools are being launched
|
|
2. **Streaming Output**: Real-time results from tools
|
|
3. **Agent Reasoning**: The agent's thought process (if `CAI_DEBUG=1`)
|
|
4. **Final Response**: Summary and recommendations
|
|
|
|
### Queuing Prompts
|
|
|
|
If the agent is busy, you can send another prompt—it will be **automatically queued**:
|
|
|
|
- View the queue: Press `Ctrl+Shift+Q` or use `/queue`
|
|
- The next prompt will execute when the current one finishes
|
|
|
|
## Step 6: Working with Multiple Terminals
|
|
|
|
One of the TUI's most powerful features is multi-terminal support.
|
|
|
|
### Adding a New Terminal
|
|
|
|
Click the **"Add +"** button in the top of the screen
|
|
|
|
Each new terminal:
|
|
- Starts with `alias1` model and `redteam_agent`
|
|
- Has an independent conversation history
|
|
- Can run a different agent and model
|
|
|
|
### Navigating Between Terminals
|
|
|
|
- **Next terminal**: `Ctrl+N`
|
|
- **Previous terminal**: `Ctrl+B`
|
|
- **Click directly** on any terminal to focus it
|
|
|
|
### Example Workflow: Dual-Perspective Analysis
|
|
|
|
1. **Terminal 1**: Keep `redteam_agent` for offensive testing
|
|
2. **Terminal 2**: Add a new terminal, switch to `blueteam_agent`
|
|
3. Send the same target to both:
|
|
- T1: Offensive analysis
|
|
- T2: Defensive recommendations
|
|
4. Compare results side-by-side
|
|
|
|
## Step 7: Using Preconfigured Teams
|
|
|
|
For common multi-agent workflows, use **Teams**:
|
|
|
|
1. Open the sidebar (`Ctrl+S`)
|
|
2. Click the **"Teams"** tab
|
|
3. Select a team (e.g., **"#1: 2 red + 2 bug"**)
|
|
|
|
This will:
|
|
- Automatically open 4 terminals (or reuse existing ones)
|
|
- Assign agents according to the team configuration
|
|
- Ready to process your prompt in parallel
|
|
|
|
**Popular Teams**:
|
|
- **2 Red + 2 Bug**: Comprehensive penetration testing + bug hunting
|
|
- **2 Red + 2 Blue**: Offensive + defensive analysis
|
|
- **Red + Blue + Retester + Bug**: Full security assessment lifecycle
|
|
|
|
Learn more about Teams and Parallel Execution in the full TUI documentation.
|
|
|
|
## Step 8: Saving Your Work
|
|
|
|
To save all agent histories:
|
|
|
|
- **JSONL** (reload later with `/load`):
|
|
|
|
```
|
|
/save my-assessment.jsonl
|
|
```
|
|
|
|
- **Markdown** (readable report or handoff document; not for `/load`):
|
|
|
|
```
|
|
/save my-assessment.md
|
|
```
|
|
|
|
Files are written to the path you give (relative paths use the current working directory). This is separate from `/memory save`, which stores summarized memory under `.cai/memory`.
|
|
|
|
### Loading a Saved Session
|
|
|
|
Use a **`.jsonl`** file from `/save` (or a compatible session log):
|
|
|
|
```
|
|
/load my-assessment.jsonl
|
|
```
|
|
|
|
This merges the saved messages into the session (see `/help load` for targeting a specific agent or parallel slot).
|
|
|
|
## Step 9: Monitoring Costs
|
|
|
|
CAI tracks your API usage and costs in real-time.
|
|
|
|
### View Costs for Current Agent
|
|
|
|
```
|
|
/cost
|
|
```
|
|
|
|
This shows:
|
|
- Total tokens used (input + output)
|
|
- Estimated cost in USD
|
|
- Breakdown by interaction
|
|
|
|
### Check Stats in Sidebar
|
|
|
|
Open the sidebar (`Ctrl+S`) and go to **"Stats"** tab to see:
|
|
- Session duration
|
|
- Total agents used
|
|
- Total cost across all terminals
|
|
|
|
## Common First-Time Issues
|
|
|
|
### Issue: Agent is not responding
|
|
|
|
**Solution**:
|
|
- Press `Ctrl+C` to cancel the current agent
|
|
- Check your internet connection
|
|
- Verify your API key is valid
|
|
|
|
### Issue: Terminal output is cluttered
|
|
|
|
**Solution**:
|
|
- Clear the terminal: `Ctrl+L` or `/clear`
|
|
- Reduce debug output: Set `CAI_DEBUG=0` before launching
|
|
- Use `/flush` to clear conversation history
|
|
|
|
### Issue: I can't see the full interface
|
|
|
|
**Solution**:
|
|
- Resize your terminal window to at least 120x40 characters
|
|
- Try full-screen mode: `F11` (on most terminals)
|
|
- Zoom out: `Ctrl+-` (on most terminals)
|
|
|
|
## Next Steps
|
|
|
|
Congratulations! You've completed the basics of CAI TUI. Here's what to explore next:
|
|
|
|
### Learn More Commands
|
|
- 📖 [Commands Reference](commands_reference.md) - Master all available commands
|
|
- ⌨️ [Keyboard Shortcuts](keyboard_shortcuts.md) - Speed up your workflow
|
|
|
|
### Explore Advanced Features
|
|
- 👥 [Teams and Parallel Execution](teams_and_parallel_execution.md) - Multi-agent workflows
|
|
- 🚀 [Advanced Features](advanced_features.md) - MCP, ICL, and more
|
|
|
|
### Get Help
|
|
- 🔧 [Troubleshooting](troubleshooting.md) - Solve issues
|
|
- 💬 [Community Discord](https://discord.gg/aliasrobotics) - Ask questions
|
|
|