AIndex-DIY
AI Agent Index - Route queries to the right AI agent.
A lightweight, DIY framework for building your own multi-agent routing system.
Installation
pip install aindex-diy
Quick Start
from aindex_diy import AIndex
# Create an index from a JSON file
aindex = AIndex("my_agents.json")
# Or create programmatically
aindex = AIndex()
aindex.add_agent({
"agent_id": "vision_bot",
"name": "Vision Bot",
"capabilities": ["vision", "image-analysis"],
"keywords": ["image", "photo", "diagram"],
"status": "approved",
"state": {"health": "ok"}
})
# Route a query to the best agent
best = aindex.route("analyze this screenshot")
# Returns: "vision_bot"
# Find agents by capability
vision_agents = aindex.find_by_capability("vision")
# Returns: ["vision_bot"]
# Get agent details
agent = aindex.get_agent("vision_bot")
Index Format
{
"agents": [
{
"agent_id": "my_agent",
"name": "My Agent",
"capabilities": ["code", "analysis"],
"keywords": ["python", "debug"],
"aliases": ["coder"],
"status": "approved",
"state": {"health": "ok"}
}
],
"indices": {
"by_capability": {"code": ["my_agent"]},
"by_keyword": {"python": ["my_agent"]},
"by_alias": {"coder": "my_agent"}
}
}
Features
- Simple routing - Match queries to agents by keywords
- Capability-based lookup - Find agents by what they can do
- Flexible indexing - Auto-rebuilds indices when agents change
- Health tracking - Know which agents are online
- Zero dependencies - Pure Python, no external packages
Custom Routing Rules
aindex = AIndex()
# Override default routing keywords
aindex.routing_rules = {
"vision": ["image", "photo", "screenshot"],
"code": ["python", "javascript", "debug"],
"research": ["analyze", "compare", "study"],
}
# Route with custom capability mapping
best = aindex.route(
"debug this python code",
capability_map={"code": "my_python_expert"}
)
License
MIT - Build your own agent index!
Made with care by HumoticaOS
Metadata
Release files for aindex-diy 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aindex_diy-0.1.0.tar.gz | 5.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aindex_diy-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.0 kB
Release files / aindex_diy-0.1.0.tar.gz
| Download URL | aindex_diy-0.1.0.tar.gz |
|---|---|
| Size | 5.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5212ac3d810f09a506c3c40b2b5b84fec5a1d9e8a84044cb7374b0151c6e8157
|
|
BLAKE2b-256 checksum How to use checksums |
50c87364cac0cdc81e02eea2f56972430f5bf4c940495cbcab59d5f2f002ab56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / aindex_diy-0.1.0-py3-none-any.whl
| Download URL | aindex_diy-0.1.0-py3-none-any.whl |
|---|---|
| Size | 5.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
62f8616dc5771cfc6e56aa5ae837326a5b9e87f1642832e70ac13074e74dd344
|
|
BLAKE2b-256 checksum How to use checksums |
eb3a31853113a0581a77786d498cea53da365d5ba37ea74c4ee73b47323e5dc7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|