Minimal Python AI Agent Clone
Project description
Wolo
Wolo is a minimal Python AI agent CLI tool, similar to Claude Code or opencode. It supports multiple OpenAI-compatible LLM backends and provides a complete toolset for coding tasks.
Features
- Multi-Model Support: Works with any OpenAI-compatible API (OpenAI, Anthropic, DeepSeek, etc.)
- Rich Tool System: Built-in tools for shell commands, file operations, search, and more
- Session Management: Persistent sessions with resume capability
- MCP Integration: Extend capabilities via Model Context Protocol
- Token Compaction: Automatic context management for long sessions
- Path Safety: Configurable write protection for sensitive directories
Installation
One-Click Installation (Recommended)
Linux / macOS:
curl -sSL https://raw.githubusercontent.com/lzjever/wolo/main/scripts/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/lzjever/wolo/main/scripts/install.ps1 | iex
Universal (Python):
python3 -c "$(curl -sSL https://raw.githubusercontent.com/lzjever/wolo/main/scripts/install.py)"
Installation Methods
The installer supports multiple methods:
- auto (default): Automatically selects the best method (uv if available, otherwise pip)
- uv: Uses the
uvpackage manager for faster installation - pip: Standard pip installation
- source: Installs from git source
# Specify installation method
WOLO_INSTALL_METHOD=uv bash <(curl -sSL https://raw.githubusercontent.com/lzjever/wolo/main/scripts/install.sh)
# Or using the Python installer
python3 <(curl -sSL https://raw.githubusercontent.com/lzjever/wolo/main/scripts/install.py) --method uv
Manual Installation
From PyPI:
# Using uv (recommended)
uv pip install mbos-wolo
# Or using pip
pip install mbos-wolo
From Source:
git clone https://github.com/lzjever/wolo.git
cd wolo
# Using uv
uv sync
# Or using pip
pip install -e .
Quick Start
# Execute a single task
wolo "fix the bug in main.py"
# Pipe context with prompt
git diff | wolo "write commit message"
# Start interactive session
wolo chat
# Resume a session
wolo -r <session-id>
# Wild mode (bypass safety checks/restrictions)
wolo --wild "run unrestricted task"
Configuration
Wolo can be configured via environment variables or config file.
Environment Variables (Recommended for Production):
export WOLO_API_KEY="your-api-key-here"
# or
Config File (Development):
wolo config init
The config file is stored at ~/.wolo/config.yaml:
endpoints:
- name: default
model: gpt-4
api_base: https://api.openai.com/v1
api_key: your-api-key
# Optional: Enable lexilux client for better compatibility
use_lexilux_client: true
# Optional: MCP server configuration
mcp:
enabled: true
servers:
my-server:
command: npx
args: ["-y", "@my/mcp-server"]
Priority: Environment variables take precedence over config file (WOLO_API_KEY > config file).
Commands
| Command | Description |
|---|---|
wolo "prompt" |
Execute a task |
wolo chat |
Start interactive REPL |
wolo -r <id> |
Resume session |
wolo -l |
List sessions |
wolo -w <id> |
Watch running session |
wolo --wild "prompt" |
Execute in wild mode (no safety checks) |
wolo config show |
Show configuration |
wolo config docs |
Configuration help |
Built-in Tools
| Tool | Description |
|---|---|
shell |
Execute shell commands |
read |
Read file contents |
write |
Write file contents |
edit |
Edit file by replacement |
multiedit |
Batch file edits |
grep |
Search file contents |
glob |
Find files by pattern |
task |
Spawn sub-agent |
todowrite |
Track task progress |
question |
Ask user questions |
batch |
Parallel tool execution |
skill |
Load custom skills |
Development
# Install with dev dependencies
make dev-install
# Run tests
make test
# Run with coverage
make test-cov
# Lint and format
make lint
make format
# Build package
make build
Project Structure
wolo/
├── wolo/ # Main package
│ ├── agent.py # Agent loop
│ ├── llm_adapter.py # LLM client (lexilux-based)
│ ├── session.py # Session management
│ ├── tools.py # Tool implementations
│ ├── cli/ # CLI subsystem
│ ├── compaction/ # Token compaction
│ └── mcp/ # MCP integration
├── tests/ # Test suite
├── docs/ # Documentation
└── pyproject.toml # Project config
License
Apache-2.0
Contributing
See CONTRIBUTING.md for guidelines.
Project details
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 mbos_wolo-0.13.3.tar.gz.
File metadata
- Download URL: mbos_wolo-0.13.3.tar.gz
- Upload date:
- Size: 190.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6e6807d01f89de1b43a2aa9f5f58c9c9af46eaab394ab6900188e7a5e2a6303
|
|
| MD5 |
bf240dfb1957bd6b4cad0a4d413cf03e
|
|
| BLAKE2b-256 |
b0702f68f7324575a887cd3937aaa42b379f00698950fc4ed01c882923d96808
|
File details
Details for the file mbos_wolo-0.13.3-py3-none-any.whl.
File metadata
- Download URL: mbos_wolo-0.13.3-py3-none-any.whl
- Upload date:
- Size: 244.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51b0f8f01820e148001a9090e5ddd26ac6ef1904f6ca6ab17f5e38736ede82ed
|
|
| MD5 |
e128de844472867d4ea1f64045f978c8
|
|
| BLAKE2b-256 |
fd3571fa2fc5b45aff2f3acf5978023bdc85c3549b1ae83c51f7422446fd8b49
|