An AI-augmented personal operator system that remembers, plans, acts, reflects, and improves over time. Custo is a modular Python application with agent-based architecture, designed to be your autonomous digital assistant.
- Multi-Agent Architecture β 4 specialized agents (Main, Researcher, Coder, Strategist) working in concert
- Intelligent Memory System β Inbox, short-term, daily, long-term storage with reflections and learning
- LLM Provider Flexibility β Support for Ollama, LM Studio, vLLM, and OpenAI-compatible APIs
- Interactive TUI Chat β Rich terminal interface with session tracking and history
- Daemon Runtime β Background process with supervisor, workers, scheduler, and heartbeat
- Comprehensive CLI β 50+ commands for managing sessions, memory, projects, tasks, and agents
- Cross-Platform β Full Windows, macOS, and Linux support
- Auto Model Selection β Intelligent model recommendations based on system RAM
- Session Management β Daily markdown + JSON indexing for persistence
Choose your preferred installation method:
Linux / macOS:
curl -fsSL https://github.com/relharrati/custo/raw/master/setup/install.sh | shWindows PowerShell:
iwr -UseBasicParsing https://github.com/relharrati/custo/raw/master/setup/install.ps1 | iexnpm install -g custo
npx custo chatgit clone https://github.com/relharrati/custo.git
cd custo
python -m pip install -e .# 1. Configure your LLM provider (Ollama, LM Studio, OpenAI, etc.)
custo setup
# 2. Start interactive chat
custo chat
# 3. Check system health
custo doctor| Component | Status | Description |
|---|---|---|
| Agent IPC | β | 4 agents (main, researcher, coder, strategist) run as subprocesses |
| Daemon Runtime | β | Supervisor, workers, scheduler, and heartbeat fully operational |
| Session Management | β | Daily markdown + JSON index with full persistence |
| Memory System | β | Inbox, short-term, daily, long-term, and reflections |
| CLI Commands | β | 50+ commands covering sessions, memory, projects, tasks, agents, skills, daemon, and config |
| TUI Chat Interface | β | Interactive terminal chat with session tracking and history |
| LLM Provider System | β | 5 backends (Hardcoded, Ollama, LM Studio, vLLM, Auto-detect) |
| Auto Model Selection | β | RAM detection + models.dev API recommendations |
| Windows Compatibility | β | Python 3.9+ with Proactor event loop fixes |
| Cross-Platform Support | β | Linux, macOS, and Windows fully supported |
custo/
βββ custo # Main CLI entry point
βββ custo.bat # Windows wrapper (py launcher)
βββ system/
β βββ config.py # YAML configuration with defaults
β βββ llm/ # LLM provider abstraction layer
β β βββ __init__.py # Factory and provider selection
β β βββ hardcoded.py # Bootstrap fallback provider
β β βββ ollama.py # Ollama integration with auto-download
β β βββ openai_compat.py # LM Studio / vLLM support
β β βββ models_db.py # models.dev API + caching
β βββ rules.py # System rules and constraints
β βββ routing.py # Message routing logic
β βββ versions.py # Version management
βββ agents/ # Specialist agents + registry
β βββ base_agent.py # Abstract base class
β βββ main/ # Orchestrator agent
β βββ researcher/ # Research specialist
β βββ coder/ # Coding specialist
β βββ strategist/ # Strategy specialist
βββ daemon/ # Background runtime
β βββ daemon.py # Main daemon process
β βββ supervisor.py # Agent lifecycle management
β βββ scheduler.py # Recurring task scheduling
β βββ heartbeat.py # Health monitoring
β βββ workers/ # Worker pool
βββ sessions/ # Session storage
βββ memory/ # Memory subsystem
βββ projects/ # Project management
βββ tasks/ # Task tracking
βββ interfaces/
β βββ terminal/ # CLI + TUI chat
β βββ web/ # Web interface (upcoming)
βββ integrations/ # External service integrations
βββ logs/ # Application logs
βββ setup/ # Installation & setup
β βββ init_config.py # Configuration wizard
β βββ first_run.py # First-run setup
βββ tests/ # Unit and integration tests
Run the interactive setup to configure your LLM provider:
custo setupThis will guide you through:
- LLM provider selection (Ollama, LM Studio, OpenAI, etc.)
- Model selection with RAM recommendations
- API key configuration (if applicable)
- System preferences
Edit ~/.custo/config.yaml:
llm:
provider: ollama # or: openai, lm_studio, vllm, hardcoded
model: neural-chat
base_url: http://localhost:11434
agents:
main:
enabled: true
researcher:
enabled: true
coder:
enabled: true
strategist:
enabled: truecusto chat # Start interactive chat
custo ask "question" # Ask a single questioncusto sessions list # List all sessions
custo sessions view # View today's session
custo sessions export # Export sessionscusto memory inbox # View inbox
custo memory short # View short-term memory
custo memory long # View long-term memory
custo memory reflect # Trigger reflectioncusto daemon start # Start background daemon
custo daemon stop # Stop daemon
custo daemon status # Check daemon statuscusto doctor # Run health check
custo config show # Display configuration
custo config reset # Reset to defaultsSolution:
# Reinstall and add to PATH
pip install -e .
export PATH="$HOME/.local/bin:$PATH"Solution:
# Run diagnostics
custo doctor
# Check LLM provider status
custo config showSolution:
- Ensure Python 3.9+ is installed
- Use PowerShell (not Command Prompt)
- Try:
python -m custo chat
Solution:
# Check logs
tail -f ~/.custo/logs/daemon.log
# Reset daemon
custo daemon stop
custo daemon startThe initial release delivered:
- β Full package structure (14 directories, ~65 files)
- β Agent subprocess IPC with Windows-compatible stdin handling
- β Session and memory persistence layers
- β Interactive TUI chat client
- β Daemon runtime with workers and scheduler
- β CLI with comprehensive command coverage
- β Task and project tracking systems
- β Configuration system with YAML defaults
- β Bootstrap and first-run setup scripts
- β Cross-platform compatibility
-
v1.1.0 β Provider Integration
- Full Ollama / LM Studio integration
- Model auto-download capabilities
- Provider performance benchmarking
-
v1.2.0 β Agent Skills
- Skill registry system
- Built-in skills (web search, file I/O, etc.)
- Custom skill framework
-
v1.3.0 β Tool Execution
- Sandboxed tool execution
- Shell command capabilities
- File system integration
-
v2.0.0 β Web UI & APIs
- React-based web interface
- REST API layer
- Real-time WebSocket updates
-
v2.1.0 β Integrations
- Calendar integration
- Email integration
- Slack / Discord connectivity
Contributions are welcome! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
git clone https://github.com/relharrati/custo.git
cd custo
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
pip install -e ".[dev]"
pytestThis project is licensed under the MIT License β see the LICENSE file for details.
- Architecture Blueprint β Detailed system design
- Release Notes β Version history and updates
- CLI Reference β Complete command documentation
- Agent Development Guide β Building custom agents
- GitHub Repository β relharrati/custo
- Latest Release β v1.0.0
- Bug Reports β Issues
- Feature Requests β Discussions
Have questions? Need help?
- π Check the documentation
- π Search existing issues
- π‘ Start a discussion
- π§ Open an issue
Made with β€οΈ by relharrati
Custo β Your Autonomous Digital Operator