Files
super-man/docs/AI-INTEGRATION-OPTIONS.md
leetcrypt 2fb20b0682 refactor: rebrand bash-helper to super-man + ESC returns straight to menu
Rename bash-helper.sh -> super-man.sh and update all docs/tests to the
super-man name and alias. In interactive mode, pressing Esc in the flag
browser now returns directly to the home menu, removing the intermediary
"Press Enter to search another command" prompt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-05 20:52:18 -07:00

7.7 KiB

Local AI Model Integration Options for Super Man

Overview

This document outlines options for integrating local AI models into Super Man for advanced natural language to bash command translation.

Why Local AI Models?

  • Privacy: All processing happens on your machine
  • Offline: Works without internet connection
  • Fast: No API latency once model is loaded
  • Free: No API costs
  • Customizable: Can fine-tune for specific use cases

Why Ollama?

  • Easy to install and use
  • Runs locally with simple API
  • Multiple model options (CodeLlama, Mistral, Llama 3)
  • Good balance of speed and quality
  • Active development and community
  • Already mentioned in Phase 3 proposal

Installation

# Install Ollama
curl -fsSL https://ollama.com/install.sh | sh

# Pull a code-focused model (7B parameter - good balance)
ollama pull codellama:7b

# Or use Llama 3 (better general understanding)
ollama pull llama3:8b

# Or use smaller/faster model
ollama pull codellama:7b-code

Model Comparison

Model Size RAM Needed Speed Code Quality NL Understanding
codellama:7b 4GB 8GB Fast Excellent Good
codellama:13b 7GB 16GB Medium Excellent Very Good
llama3:8b 4.7GB 8GB Fast Very Good Excellent
deepseek-coder:6.7b 3.8GB 8GB Fast Excellent Good

Integration Example

# Query Ollama for bash command
query_ollama() {
  local user_query="$1"

  local prompt="Convert this request into a bash command. Only output the command, no explanation:

Request: $user_query

Bash command:"

  curl -s http://localhost:11434/api/generate -d '{
    "model": "codellama:7b",
    "prompt": "'"$prompt"'",
    "stream": false
  }' | jq -r '.response'
}

# Usage
super-man ai "find all python files modified in last week"

Performance

  • First query: 1-5 seconds (model loading + generation)
  • Subsequent queries: 0.5-2 seconds
  • With caching: <100ms for repeated queries

Alternative Options

1. ShellGPT with Local Models

GitHub: https://github.com/TheR1D/shell_gpt

# Install
pip install shell-gpt

# Configure for local model (Ollama)
sgpt --model ollama/codellama:7b "find large files"

Pros:

  • Purpose-built for shell commands
  • Good prompt engineering
  • Shell integration

Cons:

  • Requires Python
  • Another dependency layer
  • Less control over prompts

2. LocalAI

GitHub: https://github.com/mudler/LocalAI

# Docker installation
docker run -p 8080:8080 --name local-ai \
  -v /path/to/models:/models \
  localai/localai:latest

Pros:

  • OpenAI-compatible API
  • Multiple model backends
  • REST API

Cons:

  • Requires Docker
  • More complex setup
  • Heavier than Ollama

3. LM Studio

Website: https://lmstudio.ai/

Pros:

  • GUI for model management
  • Easy to use
  • Local API server
  • Cross-platform

Cons:

  • GUI application (not CLI-first)
  • Closed source
  • Requires more resources

4. llama.cpp (Direct)

GitHub: https://github.com/ggerganov/llama.cpp

# Build llama.cpp
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make

# Download model
wget https://huggingface.co/TheBloke/CodeLlama-7B-GGUF/resolve/main/codellama-7b.Q4_K_M.gguf

# Run inference
./main -m codellama-7b.Q4_K_M.gguf -p "Convert to bash: find large files"

Pros:

  • Pure C++ (fast)
  • Minimal dependencies
  • Full control

Cons:

  • Manual model management
  • More complex integration
  • Requires building from source

5. GPT4All

Website: https://gpt4all.io/

# Install
pip install gpt4all

# Python script
from gpt4all import GPT4All
model = GPT4All("orca-mini-3b.ggmlv3.q4_0.bin")
output = model.generate("Convert to bash: find large files")

Pros:

  • Easy Python integration
  • Multiple models
  • GUI available

Cons:

  • Python dependency
  • Smaller model selection
  • Less actively developed than Ollama

Specialized NL2Bash Models

1. NL2Bash Research Models

Paper: https://arxiv.org/abs/1802.08979 GitHub: https://github.com/TellinaTool/nl2bash

Note: Research project, requires training data and model setup. Not production-ready for direct integration.

2. AI-Shell

GitHub: https://github.com/BuilderIO/ai-shell

npm install -g @builder.io/ai-shell

Note: Requires OpenAI API key (not fully local), but excellent prompt engineering. Could adapt prompts for local models.

Recommendation for Super Man

Use Ollama with CodeLlama 7B

Reasons:

  1. Easy Setup: Single command installation
  2. Good Performance: Fast enough for interactive use
  3. Quality Results: CodeLlama trained specifically for code
  4. Active Development: Regular updates and improvements
  5. Community Support: Large user base, good documentation
  6. Flexible: Easy to swap models for experimentation

Implementation Plan (Phase 3)

# New mode in super-man.sh
super-man ai "find all log files modified today and compress them"

# Workflow:
# 1. Check if Ollama is running
# 2. Send query with optimized prompt
# 3. Parse response for bash command
# 4. Validate command exists
# 5. Show command with explanation
# 6. Optional: Ask user to execute or copy
# 7. Cache response for future identical queries

Prompt Engineering Template

You are a bash command expert. Convert natural language requests into bash commands.

Rules:
- Output ONLY the bash command, nothing else
- Use common, widely available commands
- Include necessary flags for safety
- Make commands portable (work on most Linux systems)
- Add brief inline comments for complex commands

Request: {user_query}

Bash command:

Caching Strategy

# Cache location
~/.cache/super-man/ai-responses/

# Cache key: MD5 of query
# Cache value: JSON with command, explanation, timestamp

# Cache duration: 30 days
# Cache invalidation: Manual or by version update

Performance Targets (Phase 3)

Metric Target Expected with Ollama
First query <5s 2-4s
Cached query <100ms 10-50ms
Model load time <10s 3-8s
Memory usage <2GB 1-1.5GB

Testing Models

To test different models for bash command generation:

# Test script
for model in codellama:7b llama3:8b deepseek-coder:6.7b; do
  echo "Testing $model..."
  time ollama run $model "Convert to bash: find files larger than 100MB"
  echo "---"
done

Future Enhancements

  1. Multi-Step Commands: Break complex requests into multiple steps
  2. Validation: Check if generated command is safe to run
  3. Learning: Remember user preferences and common patterns
  4. Explanation: Always explain what the command does
  5. Interactive: Ask for clarification on ambiguous requests

Security Considerations

  • Validate Generated Commands: Never auto-execute AI-generated commands
  • Sandbox Testing: Consider dry-run mode
  • User Confirmation: Always show command and ask before execution
  • Dangerous Command Detection: Warn on rm -rf, dd, etc.
  • Path Validation: Ensure generated paths are safe

Conclusion

For Phase 3 implementation, use Ollama with CodeLlama 7B

It provides the best balance of:

  • Easy setup and maintenance
  • Good performance (1-5s first query, <100ms cached)
  • High quality bash command generation
  • Local operation (privacy + offline)
  • Reasonable resource usage (~1.5GB RAM)

The current Phase 1 keyword-based search handles 80% of use cases in <100ms. Phase 3 AI integration will handle the remaining 20% of complex queries that need true natural language understanding.


Ready to implement when Phase 3 is requested!