Aegis-OTA
Project Aegis: A native, GPU-accelerated desktop application written in Rust and Slint. Combines real-time system resource polling with a multi-provider AI terminal for a fluid developer experience.
Links
README
From the repo.
Project Aegis (Aegis OTA)
Aegis OTA is a powerful, cross-platform system monitoring and AI-assisted IDE application built with Rust and Slint UI. It allows users to monitor system resources in real-time, manage connected devices, and seamlessly interact with top-tier AI models (Google Gemini, OpenAI, Anthropic, and local Ollama instances) to generate code and process commands.
Features
- System Pulse: Real-time monitoring of CPU usage, Memory usage, CPU Frequency, and Temperature. Visualized using dynamic sparkline graphs.
- Connected Devices: Automatically detects and displays connected drives/devices with their active status.
- AI-Assisted IDE: Integrated text editor and terminal to write code or run commands.
- Multi-Provider AI Integration: Connect to Google Gemini, OpenAI (GPT-4o), Anthropic (Claude 3.5), or a local Ollama server directly from the UI.
- Dynamic Syntax Highlighting: AI generated output is formatted and color-coded.
- Fast & Native: Built on Rust with native TLS for lightning-fast, secure API requests.
Project Structure
graph TD
A[Project Aegis] --> B(src)
A --> C(ui)
A --> D(Cargo.toml)
A --> E(build.rs)
B --> F[main.rs]
C --> G[main.slint]
style A fill:#1e1e1e,stroke:#007acc,stroke-width:2px,color:#fff
style B fill:#252526,stroke:#333,color:#fff
style C fill:#252526,stroke:#333,color:#fff
style F fill:#37373d,stroke:#333,color:#fff
style G fill:#37373d,stroke:#333,color:#fff
Directory Layout
src/main.rs: Contains the core Rust logic, Tokio async runtime, system resource polling (sysinfo), and the HTTP client for AI requests (reqwest).ui/main.slint: Contains the declarative UI code written in Slint, including components likeSparkline,DarkComboBox, andMainWindow.build.rs: The build script responsible for compiling the Slint UI into Rust during the build process.Cargo.toml: Dependency configurations and project metadata.
System Architecture
sequenceDiagram
participant User
participant SlintUI as Slint UI (Frontend)
participant RustBackend as Rust Core (Backend)
participant SysInfo as SysInfo Poller
participant AI as AI Providers (Gemini/OpenAI/Anthropic/Ollama)
User->>SlintUI: Types Prompt & Clicks Send
SlintUI->>RustBackend: Trigger `on_command_entered` callback
RustBackend->>AI: Async HTTP POST (reqwest + native-tls)
AI-->>RustBackend: JSON Response
RustBackend->>SlintUI: Update `ai_responses` Model
SlintUI-->>User: Display AI Output
loop Every 1 second
SysInfo->>RustBackend: Fetch CPU/Memory metrics
RustBackend->>SlintUI: Update `system_pulse`
end
Getting Started
Prerequisites
- Rust Toolchain (Cargo, rustc)
- A valid API Key for any of the supported AI providers (Optional, but required for cloud AI usage).
Building and Running
- Clone or download the repository.
- Open a terminal in the project root.
- Build the application:
cargo build - Run the application:
cargo run
Setting up AI Providers
- Launch the application.
- Click on the ⚙ Settings button in the middle panel.
- Select your preferred AI Provider.
- Enter your API Key in the designated field.
- Click Verify API Key to ensure connectivity.
- Click Save & Close.
- Start typing in the terminal input field and hit Send.
Tech Stack
- Rust - Core language
- Slint - Declarative UI framework
- Tokio - Asynchronous runtime
- reqwest - HTTP Client (with
native-tls) - sysinfo - System metrics retrieval
- syntect - Syntax highlighting engine
License
This project is open-source and available under standard MIT licensing terms.
Collected info
- ★ 18 stars
- Language: Rust
- Source updated: 8/8/2026
Config for your environment
Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.