General AI Agent System
Project description
Ouro is derived from Ouroboros—the ancient symbol of a serpent consuming its own tail to form a perfect circle. It represents the ultimate cycle: a closed loop of self-consumption, constant renewal, and infinite iteration.
At Ouro AI Lab, this is our blueprint. We are building the next generation of AI agents capable of autonomous evolution—systems that learn from their own outputs, refine their own logic, and achieve a state of infinite self-improvement.
Two Modes, One Agent
Ouro ships with a unified agent core and two deployment modes:
| CLI Mode | Bot Mode | |
|---|---|---|
| What | Interactive REPL + one-shot task execution | Persistent IM assistant (Lark, Slack) |
| Install | pip install ouro-ai |
pip install ouro-ai[bot] |
| Run | ouro |
ouro --bot |
| Guide | CLI Guide | Bot Guide |
Quick Start
Prerequisites: Python 3.12+.
pip install ouro-ai
On first run, ~/.ouro/models.yaml is created. Add your API key:
models:
openai/gpt-4o:
api_key: sk-...
default: openai/gpt-4o
current: openai/gpt-4o
Then run:
# Interactive mode
ouro
# Single task
ouro --task "Calculate 123 * 456"
# Bot mode (requires ouro-ai[bot])
ouro --bot
See LiteLLM Providers for the full provider list.
Features
- Dual mode: Interactive CLI with rich TUI + persistent IM bot (Lark, Slack) — same agent core, two deployment modes
- Unified agent loop: Think-Act-Observe cycle — planning, sub-agents, and tool use all happen in one loop
- Self-verification: Ralph Loop verifies the agent's answer against the original task and re-enters if incomplete (
--verify) - Parallel execution: Concurrent readonly tool calls in a single turn, plus
multi_taskfor spawning parallel sub-agents with dependency ordering - Memory system: LLM-driven compression, long-term memory, and YAML session persistence resumable across restarts
- Proactive mechanisms: Heartbeat self-checks + cron-scheduled tasks, with results broadcast to active IM sessions
- Personality: Customizable soul file (
~/.ouro/bot/soul.md) defines bot identity and tone - Skills: Extensible skill registry — dynamically loaded per session
- OAuth login:
--login//loginto authenticate with ChatGPT Codex subscription models - Benchmarks: First-class Harbor integration for agent evaluation (see Evaluation)
Evaluation
Ouro can be evaluated on agent benchmarks using Harbor. A convenience script harbor-run.sh is provided at the repo root:
- Edit
harbor-run.shto set your model, dataset, and ouro version. - Run:
export OURO_API_KEY=<your-api-key>
./harbor-run.sh # run with defaults in the script
./harbor-run.sh -l 5 # limit to 5 tasks
./harbor-run.sh --n-concurrent 4 # 4 parallel workers
Extra flags are forwarded to harbor run, so any Harbor CLI option works. See ouro_harbor/README.md for full details.
Documentation
- CLI Guide -- interactive mode, task mode, commands, shortcuts
- Bot Guide -- IM bot setup, commands, proactive mechanisms, personality
- Configuration -- model setup, runtime settings, custom endpoints
- Examples -- usage patterns and programmatic API
- Memory Management -- compression, persistence, token tracking
- Extending -- adding tools, agents, LLM providers
- Packaging -- building, publishing, Docker
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
For development setup, see the Quick Start section (install from source):
git clone https://github.com/ouro-ai-labs/ouro.git
cd ouro
./scripts/bootstrap.sh # requires uv
License
MIT License
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 ouro_ai-0.3.1.tar.gz.
File metadata
- Download URL: ouro_ai-0.3.1.tar.gz
- Upload date:
- Size: 248.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f813c92ed844a4500d319e24949671403051de7ca266e9436ea63e0076873a07
|
|
| MD5 |
c70c856f35a6e6276d0a6dcb8ede3c19
|
|
| BLAKE2b-256 |
d2b94223dd95b94331ada81c1870703d4d13f653068820378c80095cf20c479a
|
Provenance
The following attestation bundles were made for ouro_ai-0.3.1.tar.gz:
Publisher:
release.yml on ouro-ai-labs/ouro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ouro_ai-0.3.1.tar.gz -
Subject digest:
f813c92ed844a4500d319e24949671403051de7ca266e9436ea63e0076873a07 - Sigstore transparency entry: 1029605180
- Sigstore integration time:
-
Permalink:
ouro-ai-labs/ouro@811546316ecec5f44b80cedd0bb27450ea8395e1 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/ouro-ai-labs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@811546316ecec5f44b80cedd0bb27450ea8395e1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ouro_ai-0.3.1-py3-none-any.whl.
File metadata
- Download URL: ouro_ai-0.3.1-py3-none-any.whl
- Upload date:
- Size: 224.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27514aef53fd5899c87100b7ea426efa8110442497891aae1fe6bb93c437bb9b
|
|
| MD5 |
78d2521d240b9090230bff25fa308d06
|
|
| BLAKE2b-256 |
2c46b201a9dc611b0028ed99bfa983d06ffbbbf2fa973e2227a38a45f3ecbe66
|
Provenance
The following attestation bundles were made for ouro_ai-0.3.1-py3-none-any.whl:
Publisher:
release.yml on ouro-ai-labs/ouro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ouro_ai-0.3.1-py3-none-any.whl -
Subject digest:
27514aef53fd5899c87100b7ea426efa8110442497891aae1fe6bb93c437bb9b - Sigstore transparency entry: 1029605359
- Sigstore integration time:
-
Permalink:
ouro-ai-labs/ouro@811546316ecec5f44b80cedd0bb27450ea8395e1 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/ouro-ai-labs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@811546316ecec5f44b80cedd0bb27450ea8395e1 -
Trigger Event:
push
-
Statement type: