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

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
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.2.0.tar.gz (30.4 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.2.0-py3-none-any.whl (41.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: unified_controlplane-0.2.0.tar.gz
  • Upload date:
  • Size: 30.4 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.2.0.tar.gz
Algorithm Hash digest
SHA256 27e3c1ce60443fbee8da02f51c7d6aa7f7445c47ffad6299b4776bc3abfe6136
MD5 a7bcf5aed12c173ec44729ee36943eb0
BLAKE2b-256 ef1e991ec89ee2720524bb09990c499f35bdcc3a28eef8749ac794185212f6ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unified_controlplane-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9330261185cc97cbf7dbe80eeda717ece428906d780ffab7dd75d6e6ae60cb89
MD5 fdc7aa8273430d91880acafab5f17576
BLAKE2b-256 9df195c21bfb844ca8bcee55ebd93466f7910e8a99749374ec71c359eda81fe3

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