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 uv tool install ouro-ai uv tool install ouro-ai
Run ouro-cli ouro-bot
Guide CLI Guide Bot Guide

Quick Start

Prerequisites: Python 3.12+ and one of uv (recommended) or pipx.

# Recommended: installs ouro in an isolated environment and exposes global
# `ouro-cli` and `ouro-bot` commands
uv tool install ouro-ai

# Alternative
pipx install ouro-ai

# Upgrading later
uv tool upgrade ouro-ai      # or: pipx upgrade ouro-ai

Plain pip install ouro-ai also works but is not recommended — it mixes ouro's dependencies into your active Python environment. Use uv tool / pipx so the ouro-cli / ouro-bot binaries are on $PATH without needing to activate a venv.

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-cli

# Single task
ouro-cli --task "Calculate 123 * 456"

# Bot mode
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, file-based long-term memory, FTS5 conversation recall, 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.

Architecture

Ouro is a three-layer namespace package. Imports flow downward only; boundaries are enforced by import-linter. Each layer has its own README — start with the umbrella overview, then drill in:

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 (install from source):

git clone https://github.com/ouro-ai-labs/ouro.git
cd ouro
./scripts/bootstrap.sh         # creates .venv and installs editable + dev deps
source .venv/bin/activate
./scripts/dev.sh check         # precommit + typecheck + tests

End-users should prefer uv tool install ouro-ai (see Quick Start); the source checkout is only needed when contributing.

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.4.3.tar.gz (295.8 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.4.3-py3-none-any.whl (271.0 kB view details)

Uploaded Python 3

File details

Details for the file ouro_ai-0.4.3.tar.gz.

File metadata

  • Download URL: ouro_ai-0.4.3.tar.gz
  • Upload date:
  • Size: 295.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ouro_ai-0.4.3.tar.gz
Algorithm Hash digest
SHA256 c3908eab457c0b287e59f29d809c340275c7564ba65afdc5836db91d66de3656
MD5 e0f6d3f4da4245dd6e19a4be614a65bc
BLAKE2b-256 63417bfccea4423989bb01d76b11e6cc495b32830ebae0c6f91748d9416e93cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouro_ai-0.4.3.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.4.3-py3-none-any.whl.

File metadata

  • Download URL: ouro_ai-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 271.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ouro_ai-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c61c6ec3c3c6e6d6e8fc8271f4bd3f3ee861e666f332cdecb0ea7fdae44db3c8
MD5 b3ff970763c34d54df4aeabf1e9cf12f
BLAKE2b-256 c86ea3c63e5e2e6c6a6eb923b34e2940b9412caa540efac8cd9a931ed89fd1a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouro_ai-0.4.3-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