Evolutionary Local LLM Agent - Self-improving AI assistant
Project description
๐งฌ ELLMa - Evolutionary Local LLM Agent
Evolutionary Local LLM Agent - Self-improving AI assistant that evolves with your needs
๐ What is ELLMa?
ELLMa is a revolutionary self-evolving AI agent that runs locally on your machine. Unlike traditional AI tools, ELLMa learns and improves itself by:
- ๐งฌ Self-Evolution: Automatically generates new capabilities based on usage patterns
- ๐ Local-First: Runs entirely on your machine with complete privacy
- ๐ Shell-Native: Integrates seamlessly with your system and workflows
- ๐ ๏ธ Command Execution: Executes commands in a structured format
- ๐ฆ Modular: Extensible architecture that grows with your needs
โก Quick Start
Prerequisites
- Python 3.8+
- pip
- Git (for development)
Installation
Option 1: Install from source
# Clone the repository
git clone https://github.com/wronai/ellma.git
cd ellma
# Install in development mode
pip install -e .
# Or install with all dependencies
pip install -e ".[dev]"
Option 2: Install via pip
pip install ellma
First Steps
-
Initialize ELLMa (creates config in ~/.ellma)
ellma init -
Download the model (or let it auto-download when needed)
ellma setup --download-model
-
Start the interactive shell
ellma shell -
Or execute commands directly
# Basic system commands ellma exec system.scan # Web interaction ellma exec web.read 'https://example.com'
Development Installation
For development, you'll need additional dependencies:
# Install with development dependencies
pip install -e ".[dev]"
# Run tests
make test
# Run linters
make lint
Your First Evolution
# Let ELLMa analyze itself and improve
ellma evolve
๐ฏ Core Features
๐งฌ Self-Evolution Engine
ELLMa continuously improves by analyzing its performance and automatically generating new modules:
$ ellma evolve
๐งฌ Starting evolution process...
๐ Analyzing current capabilities...
๐ฏ Identified 3 improvement opportunities:
โ
Added: advanced_file_analyzer
โ
Added: network_monitoring
โ
Added: code_optimizer
๐ Evolution complete! 3 new capabilities added.
๐ Powerful Shell Interface
Natural language commands that translate to system operations:
ellma> system scan network ports
ellma> generate bash script for backup
ellma> analyze this log file for errors
ellma> create docker setup for web app
๐ ๏ธ Multi-Language Code Generation
Generate production-ready code in multiple languages:
# Generate Bash scripts
ellma generate bash --task="Monitor system resources and alert on high usage"
# Generate Python code
ellma generate python --task="Web scraper with rate limiting"
# Generate Docker configurations
ellma generate docker --task="Multi-service web application"
# Generate Groovy for Jenkins
ellma generate groovy --task="CI/CD pipeline with testing stages"
๐ Intelligent System Integration
ELLMa understands your system and can:
- Scan and analyze system configurations
- Monitor processes and resources
- Automate repetitive tasks
- Generate custom tools for your workflow
๐๏ธ Architecture
ellma/
โโโ core/ # Core agent and evolution engine
โ โโโ agent.py # Main LLM Agent class
โ โโโ evolution.py # Self-improvement system
โ โโโ shell.py # Interactive shell interface
โโโ commands/ # Modular command system
โ โโโ system.py # System operations
โ โโโ web.py # Web interactions
โ โโโ files.py # File operations
โโโ generators/ # Code generation engines
โ โโโ bash.py # Bash script generator
โ โโโ python.py # Python code generator
โ โโโ docker.py # Docker configuration generator
โโโ modules/ # Dynamic module system
โ โโโ registry.py # Module registry and loader
โ โโโ [auto-generated]/ # Self-created modules
โโโ cli/ # Command-line interface
โโโ main.py # Main CLI entry point
โโโ shell.py # Interactive shell
๐ Usage Examples
System Administration
# Monitor system health
ellma exec "system.health"
# Generate monitoring script
ellma generate bash --task="Check disk space and send alerts"
# Analyze log files
ellma exec "files.analyze /var/log/syslog --pattern=error"
Development Tasks
# Generate project structure
ellma generate python --task="FastAPI project with authentication"
# Create deployment configuration
ellma generate docker --task="Production ready web app with nginx"
# Generate test scripts
ellma generate bash --task="Integration testing for REST API"
Web Automation
# Read and summarize web content
ellma exec "web.read https://news.ycombinator.com --summarize"
# Generate web scraping code
ellma generate python --task="Scrape product prices with retry logic"
๐ง Configuration
ELLMa stores its configuration in ~/.ellma/:
# ~/.ellma/config.yaml
model:
path: ~/.ellma/models/mistral-7b.gguf
context_length: 4096
temperature: 0.7
evolution:
enabled: true
auto_improve: true
learning_rate: 0.1
modules:
auto_load: true
custom_path: ~/.ellma/modules
๐งฌ How Evolution Works
- Performance Analysis: ELLMa monitors execution times, success rates, and user feedback
- Gap Identification: Identifies missing functionality or optimization opportunities
- Code Generation: Uses its LLM to generate new modules and improvements
- Testing & Integration: Automatically tests and integrates new capabilities
- Continuous Learning: Learns from each interaction to become more useful
๐ Advanced Features
Custom Module Development
# Create custom modules that ELLMa can use and improve
from ellma.core.module import BaseModule
class MyCustomModule(BaseModule):
def execute(self, *args, **kwargs):
# Your custom functionality
return result
API Integration
from ellma import ELLMa
# Use ELLMa programmatically
agent = ELLMa()
result = agent.execute("system.scan")
code = agent.generate("python", task="Data analysis script")
Web Interface (Optional)
# Install web dependencies
pip install ellma[web]
# Start web interface
ellma web --port 8000
๐ฃ๏ธ Roadmap
Version 0.1.6 - MVP โ
- Core agent with Mistral 7B
- Basic command system
- Shell interface
- Evolution foundation
Version 0.2.0 - Enhanced Shell
- Advanced command completion
- Command history and favorites
- Real-time performance monitoring
- Module hot-reloading
Version 0.3.0 - Code Generation
- Multi-language code generators
- Template system
- Code quality analysis
- Integration testing
Version 0.4.0 - Advanced Evolution
- Performance-based learning
- User feedback integration
- Predictive capability development
- Module marketplace
Version 1.0.0 - Autonomous Agent
- Full self-management
- Advanced reasoning capabilities
- Multi-agent coordination
- Enterprise features
๐ค Contributing
We welcome contributions! Please see our Contributing Guide for details.
Development Setup
# Clone repository
git clone https://github.com/ellma-ai/ellma.git
cd ellma
# Install in development mode
pip install -e .[dev]
# Run tests
pytest
# Run linting
black ellma/
flake8 ellma/
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- Built on top of llama-cpp-python
- Inspired by the vision of autonomous AI agents
- Powered by the amazing Mistral 7B model
๐ Support
- ๐ Documentation
- ๐ Issue Tracker
- ๐ฌ Discussions
- ๐ง Email Support
ELLMa: The AI agent that grows with you ๐ฑโ๐ณ
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ellma-0.1.7.tar.gz.
File metadata
- Download URL: ellma-0.1.7.tar.gz
- Upload date:
- Size: 94.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.12.4 Linux/6.14.9-300.fc42.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b930d1254aba84ac4dbf0a21e4b43110aad1811c2408cd5abebb0122b4889e8
|
|
| MD5 |
b2df8f96815e96645f9235ebb873a824
|
|
| BLAKE2b-256 |
d993e2af862de177bf627bcfa9cc16d65c6bf2e65d333bdb7cd611dc4ec9114c
|
File details
Details for the file ellma-0.1.7-py3-none-any.whl.
File metadata
- Download URL: ellma-0.1.7-py3-none-any.whl
- Upload date:
- Size: 107.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.12.4 Linux/6.14.9-300.fc42.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a20c4db7dd63de98ee49722d1eee4fc0399a68d4cb5eda83ba40fc4ea2fb9529
|
|
| MD5 |
37cc479c59caea9843989cf618dc185a
|
|
| BLAKE2b-256 |
b58946e8a483ce918344cd5b7c4096f085be0ac9ea6022c4361be6c2283441b1
|