Quality metrics for AI-assisted development — measure and improve your Claude Code sessions
Project description
DQI — Delegation Quality Index
Measure and improve AI agent delegation quality. CLI tool + MCP server for Claude Code.
Installation
pip install dqi
# or with MCP server support:
pip install "dqi[mcp]"
MCP Server Setup
Add to your .claude.json or .mcp.json:
{
"dqi": {
"command": "uvx",
"args": ["dqi-mcp"]
}
}
Available Tools
| Tool | Description |
|---|---|
dqi_score |
DQI score summary: average, trend, component breakdown, tier distribution |
dqi_cost |
Cost analysis: total spend, average per run, daily trend, waste estimate |
dqi_patterns |
Repeated task pattern detection with classification and recommendations |
dqi_warnings |
Underperforming workspace/task_type combos with actionable suggestions |
dqi_templates |
Task type inference and delegation template recommendations |
dqi_incidents |
Quality incidents: regressions, anomalies, severity tracking |
dqi_slo |
SLO compliance: quality, availability, and cost targets |
Deployment
The DQI dashboard deploys as a split-stack: Railway (API) + Vercel (frontend).
API (Railway)
- Connect the repo to Railway
- Set environment variables:
DQI_JWT_SECRET— stable random secret for JWT signingDQI_DIR— data directory path (e.g./data/.dqi)CORS_ORIGINS— comma-separated allowed origins (e.g.https://dqi.dev,https://www.dqi.dev)
- Railway will auto-detect the
Dockerfileandrailway.json
Frontend (Vercel)
- Set the root directory to
src/dqi/dashboard/frontend - Set environment variable:
VITE_API_URL— Railway API URL (e.g.https://api.dqi.dev)
- The
vercel.jsonrewrites/api/*requests to the Railway backend
Local Development
# Copy and fill in env vars
cp env.example .env
# API (from repo root)
uv run uvicorn dqi.dashboard.app:create_app --factory --port 8090
# Frontend (from src/dqi/dashboard/frontend/)
npm install && npm run dev
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
qualito-0.1.0.tar.gz
(108.1 kB
view details)
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
qualito-0.1.0-py3-none-any.whl
(87.0 kB
view details)
File details
Details for the file qualito-0.1.0.tar.gz.
File metadata
- Download URL: qualito-0.1.0.tar.gz
- Upload date:
- Size: 108.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.5 {"installer":{"name":"uv","version":"0.10.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24f947d17f769fe4ca48e0c4846497ff14b28e3c1245166da15538d258b745e5
|
|
| MD5 |
be43316ceb6bb31f65e73bd3f98e29b6
|
|
| BLAKE2b-256 |
b0ea04ec367f069ecd17c838d44d728aa3cfebbb0b78523925f47da072841d25
|
File details
Details for the file qualito-0.1.0-py3-none-any.whl.
File metadata
- Download URL: qualito-0.1.0-py3-none-any.whl
- Upload date:
- Size: 87.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.5 {"installer":{"name":"uv","version":"0.10.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4838f6df83b87a3eee0ac989d2b3b8a69f774dde6c91ea902a81efeaa56b2dcf
|
|
| MD5 |
7998fe9ef1cb7110ff4a60fbcbb810db
|
|
| BLAKE2b-256 |
53fb3fd6bbfbd15146eff782f1edac69614646c7d6c3a10887314613755a3ed7
|