Skip to main content

AI Control Plane for orchestrating models, memory, and evaluation

Project description

Unified

An AI Control Plane for orchestrating models, memory, and evaluation across your projects.

What is This?

Unified is infrastructure for AI-assisted development. Instead of hardcoding model choices and losing context between sessions, unified provides:

  • Registry - Catalog of available models, tools, and skills
  • Router - Selects the right model based on task type and constraints
  • Memory - Persistent storage for decisions, patterns, and project knowledge
  • Evaluator - Quality gates that validate AI output against checklists
  • Audit Log - Complete record of routing decisions and evaluations

See docs/concepts.md for the full mental model.

Installation

pip install unified-controlplane

Provider Extras

Install only the providers you use:

pip install unified-controlplane[claude]
pip install unified-controlplane[openai]
pip install unified-controlplane[gemini]
pip install unified-controlplane[all]

Quick Start

Interactive Mode (Recommended for New Users)

Just run unified with no arguments to get a menu-driven interface:

unified
========================================
=== Unified Control Plane ===
========================================

What would you like to do?

  1. Check status
  2. Remember something (add to memory)
  3. Search memory
  4. Route a task
  5. List memory entries
  6. Open web dashboard
  7. Exit

Enter choice:

Web Dashboard

For a visual interface, start the web dashboard:

unified web
# Opens http://127.0.0.1:8765

Command Line

# Check system status
unified status

# Route a task to the appropriate model
unified route "Generate unit tests for user authentication" --type code

# Add to memory
unified memory add --type decision --content "Using pytest for testing"

# Search memory
unified memory search "testing"

Short Aliases

For power users, shorter aliases are available:

Alias Command Example
us unified status us
ur unified route ur "Build login page"
um unified memory um add --type decision --content "..."
ui unified interactive ui
uw unified web uw --port 9000

CLI Reference

unified (no args) or unified interactive

Interactive menu-driven mode. No command memorization needed.

unified status or us

Display control plane status: registry contents, memory stats, audit log info.

unified status [OPTIONS]

Options:
  --check-health    Verify model availability (may be slow)

unified route or ur

Select the appropriate model for a task.

unified route "task description" [OPTIONS]

Options:
  --type TEXT        Task type: code, review, documentation, research
  --role TEXT        Role: lead, reviewer, advisor
  -c, --constraint   Constraints: low-cost, fast, high-accuracy, local-only

unified memory or um

Manage project memory.

# Add an entry
unified memory add --type decision --content "Using pytest"

# List entries
unified memory list [--type decision]

# Search
unified memory search "pytest"

unified web or uw

Start the web dashboard.

unified web [OPTIONS]

Options:
  --port INT    Port to run on (default: 8765)

unified run

Execute the full control plane loop with real model output.

unified run "task description" [OPTIONS]

Options:
  --type TEXT        Task type (default: code)
  --role TEXT        Role (default: lead)
  -c, --constraint   Constraints (can specify multiple)
  --model TEXT       Override model selection

unified evaluate

Run quality checklists against output.

unified evaluate [OPTIONS]

Options:
  --file PATH        File containing output to evaluate
  --task-type TEXT   Task type for checklist selection
  --task-brief TEXT  Brief description for alignment checks
  -c, --checklist    Specific checklist(s) to run

Project Configuration

Create unified.yaml in your project root to set the project ID:

project_id: "my-project"

routing:
  default_constraints: []  # Optional: [low-cost] to prefer local models

Data Storage

Unified stores data in ~/.unified/:

~/.unified/
├── config/
│   └── registry.yaml     # User customization (optional)
├── memory/
│   └── <project>/        # Per-project memory storage
├── audit/
│   └── audit.jsonl       # Audit log
└── checklists/           # Custom checklists (optional)

Environment Variables

Variable Description Required
UNIFIED_HOME Override home directory (default: ~/.unified) No
ANTHROPIC_API_KEY API key for Claude models For Claude adapter
OPENAI_API_KEY API key for OpenAI models For OpenAI adapter
GOOGLE_API_KEY API key for Gemini models For Gemini adapter
OLLAMA_HOST Ollama endpoint (default: http://localhost:11434) For Ollama adapter

Documentation

License

MIT

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

unified_controlplane-0.3.0.tar.gz (31.7 kB view details)

Uploaded Source

Built Distribution

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

unified_controlplane-0.3.0-py3-none-any.whl (44.6 kB view details)

Uploaded Python 3

File details

Details for the file unified_controlplane-0.3.0.tar.gz.

File metadata

  • Download URL: unified_controlplane-0.3.0.tar.gz
  • Upload date:
  • Size: 31.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for unified_controlplane-0.3.0.tar.gz
Algorithm Hash digest
SHA256 0e2f5336cfe2be3ddd6f02eaaca077e668f8e0fc12ee284833af2f8ce0c4e157
MD5 aa5d74e5ed51f13f1b6304590ba0f0a8
BLAKE2b-256 5d305efc9bb5f9dc4af08543d91763bc15279bcb5fa7f11a64ee26a5ec0a940d

See more details on using hashes here.

File details

Details for the file unified_controlplane-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for unified_controlplane-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f84788cc7f35a2e43667bc0a6b88352f5f96cfd9d5e1796064c458d80b751206
MD5 1118455aef9d95b27072fc004d141139
BLAKE2b-256 5a5f6ded8bc27edb1deae0312821fcea38ec65cddbdcfa24824a0661f0eba330

See more details on using hashes here.

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