Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aerogel

AI-Powered Overlay Interface for Wayland

Aerogel brings intelligent assistance directly to your Wayland desktop through a seamless overlay interface. Capture screenshots, record audio, type queries, and get AI-powered solutions without leaving your current workflow.

✨ Demo

demo.mp4

🚀 Quick Start

1. AI Model Configuration

Option A: Cloud-based AI Services ☁️

Create your environment configuration with API keys for cloud-based AI services:

# Create environment configuration
touch .env && echo -e "OPENROUTER_API_KEY=\nGEMINI_API_KEY=\nOPENAI_API_KEY=\nCLAUDE_API_KEY=\nXAI_API_KEY=" > .env

Configure your preferred cloud AI service by adding the corresponding API key to your .env file.

Option B: Local AI with Ollama 🏠

Run AI models locally for privacy and offline capabilities:

# Install Ollama (if not already installed)
curl -fsSL https://ollama.ai/install.sh | sh

# Or using Docker
docker pull ollama/ollama
docker run -d --name ollama -p 11434:11434 ollama/ollama

# Install your preferred model (e.g., gemma3, llava, llama4)
docker exec ollama ollama pull gemma3:4b
docker exec -d ollama ollama run gemma3:4b

Then update your model configuration in aerogel.toml:

  • Set your model name (e.g., gemma3, llama4)
  • Adjust max_tokens, temperature, and top_p as needed

2. Build & Run

# Build the release version
cargo build --release

# Navigate to binary location
cd target/release

# Launch Aerogel
./aerogel

⚙️ Configuration

Customize your Aerogel experience by editing aerogel.toml. The configuration file is searched for in the following locations (in order):

  1. $XDG_CONFIG_HOME/aerogel/aerogel.toml
  2. $XDG_CONFIG_HOME/aerogel.toml
  3. $HOME/.config/aerogel/aerogel.toml
  4. $HOME/.aerogel.toml
  5. /etc/aerogel/aerogel.toml

Application Settings

  • Width: Interface width in pixels (default: 870)
  • Max Height: Maximum interface height in pixels (default: 810)
  • Scroll Speed: Controls scrolling sensitivity (default: 0.4)
  • Border Radius: Interface corner rounding in pixels (default: 8.0)
  • Auto Scroll: Enable/disable automatic scrolling (default: false)

Font Configuration

  • Path: Font file location (default: JetBrains Mono)
  • Size: Font size in points (default: 20.0)

Color Scheme

  • RGB Values: Customize interface colors (red, green, blue)
  • Alpha Multiplier: Controls transparency (default: 230.0)

AI Model Settings

  • Model Name: Choose your preferred AI model (local or cloud)
  • Max Tokens: Control response length
  • Temperature: Adjust creativity level (0.0-1.0)
  • Top P: Fine-tune response diversity (0.0-1.0)

Custom Keybindings

All keyboard shortcuts are configurable in the [keybindings] section:

Action Default Shortcut Config Key Description
Toggle Interface Ctrl + X show_hide Show or hide the overlay
Text Input Ctrl + I type_text Open text input for queries
Screenshot Ctrl + Q take_screenshot Capture current screen
Audio Recording Ctrl + M record_audio Record voice input
Process Query Ctrl + Enter solve Send query to AI
Clear Session Ctrl + G clear Reset current conversation
Switch Workspace Alt switch_to_workspace Switch between workspaces

🐛 Troubleshooting

Logs

Aerogel writes detailed logs to aerogel.log in the current working directory. Check this file for debugging information and error messages.

🛠️ Requirements

  • Wayland compositor
  • Rust toolchain
  • grim (for screenshots)
  • alsa-lib-devel/libasound2-dev (for audio functionality)
  • Ollama (optional, for local AI model setup)

Built for modern Linux desktops running Wayland

About

Overlay AI for wlroots Wayland Compositors

Resources

Code of conduct

Stars

81 stars

Watchers

6 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages