Skip to main content

General AI Agent System

Project description

OURO

PyPI License: MIT Python 3.12+

An open-source AI agent — run it as a Coding agent CLI or deploy it as a bot just like JARVIS.

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_task for 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 / /login to 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:

  1. Edit harbor-run.sh to set your model, dataset, and ouro version.
  2. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ouro_ai-0.3.1.tar.gz (248.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ouro_ai-0.3.1-py3-none-any.whl (224.4 kB view details)

Uploaded Python 3

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

Hashes for ouro_ai-0.3.1.tar.gz
Algorithm Hash digest
SHA256 f813c92ed844a4500d319e24949671403051de7ca266e9436ea63e0076873a07
MD5 c70c856f35a6e6276d0a6dcb8ede3c19
BLAKE2b-256 d2b94223dd95b94331ada81c1870703d4d13f653068820378c80095cf20c479a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouro_ai-0.3.1.tar.gz:

Publisher: release.yml on ouro-ai-labs/ouro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for ouro_ai-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 27514aef53fd5899c87100b7ea426efa8110442497891aae1fe6bb93c437bb9b
MD5 78d2521d240b9090230bff25fa308d06
BLAKE2b-256 2c46b201a9dc611b0028ed99bfa983d06ffbbbf2fa973e2227a38a45f3ecbe66

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page