Skip to main content

CLIbrary-Hub

Production-grade tool routing for AI agents.

pip install clibrary-hub · The official Python package for the CLIbrary tool registry.

PyPI License: MIT Python


The Problem

AI agents waste massive amounts of tokens on tool selection. When an agent has 100+ available tools, current approaches force LLMs to read every tool's documentation in the context window before making a decision:

  • Token waste: 50,000+ tokens per call just for tool descriptions
  • High latency: 2–5 seconds before any actual work happens
  • Poor accuracy: LLMs get "lost in the middle" with too many options
  • Unbounded cost: Linear cost growth as tool count increases

When you scale beyond 50 tools, current systems break down.


How CLIbrary-Hub Works

CLIbrary-Hub uses a two-stage retrieval architecture to route agent intents to the right tool in ~36ms using only ~150 tokens.

Traditional approach:
  Agent intent → Stuff all 500 tools into LLM → LLM picks
  ~50,000 tokens, ~3 seconds, ~70% accuracy

CLIbrary-Hub approach:
  Agent intent → CLIbrary-Hub router → Single tool + params
  ~150 tokens, ~36ms, ~93% top-3 accuracy

Architecture

Agent intent
    │
    ▼
Embed (multilingual-e5-base, ~10ms)
    │
    ▼
Stage 1: FAISS cli_index → top-3 candidates (~5ms)
    │
    ▼
MaxSim re-rank  (combined = 0.7×mean_sim + 0.3×max_sim)
    │
    ├── low confidence + small gap → Clarify (return top-3 to LLM)
    │
    └── high confidence
            │
            ▼
        Stage 2: example_index → best matching example
            │
            ├── sim ≥ 0.85 → Path A: template fill (no LLM, ~80% of calls)
            │
            └── sim < 0.85 → Path B: LLM param extraction (~20% of calls)
                    │
                    ▼
              Tool call JSON output

Quick Start

Install

pip install clibrary-hub

Build the FAISS indices from your manifests

clibrary-build-index --manifest-dir ./manifests
# Indices written to ~/.clibrary/indices by default

Route an intent

from clibrary_hub import router

result = router.route("幫我查上週銷售總額")

# {
#   "action": "route",
#   "cli": "sql-runner",
#   "params": {"query": "SELECT SUM(amount) FROM orders WHERE ...", "output_format": "json"},
#   "confidence": 0.94,
#   "source": "A",
#   "latency_ms": 36
# }

Performance

Evaluated on 2,050 queries across 500 CLIs:

Metric Result
Top-1 accuracy 82.3%
Top-3 accuracy 92.5%
Path A hit rate (no LLM needed) 93.6%
Median latency 36ms
Token usage ~150

Compared to traditional "stuff all tools into LLM" approach:

Metric CLIbrary Traditional
Tokens ~150 ~50,000
Latency 36ms 2–5s
Accuracy (100+ tools) 82–92% 60–75%

Manifest Format

Each CLI tool has a manifest.json describing its purpose, inputs, and examples:

{
  "name": "sql-runner",
  "version": "1.0.0",
  "category": "data",
  "description": "Execute SQL queries against a database",
  "intent_triggers": [
    "query a database",
    "run a SQL statement",
    "查資料庫",
    "跑 SQL"
  ],
  "input_schema": {
    "type": "object",
    "properties": {
      "query": {"type": "string", "description": "SQL query to execute"},
      "output_format": {"type": "string", "enum": ["json", "csv", "table"], "default": "json"}
    },
    "required": ["query"]
  },
  "examples": [
    {
      "query": "查上週銷售總額",
      "params": {"query": "SELECT SUM(amount) FROM orders WHERE created_at > NOW() - INTERVAL 7 DAY", "output_format": "json"}
    }
  ],
  "tags": ["sql", "database", "query"]
}

Three FAISS Indices

Index Vectors Content Usage
cli_index 500 Mean-pooled intent_triggers per CLI Stage 1 candidate retrieval
trigger_index ~3,500 Individual trigger vectors MaxSim re-ranking
example_index ~1,500 Example query vectors Stage 2 template matching

Project Structure

CLIbrary/
├── src/clibrary_hub/
│   ├── __init__.py
│   ├── router.py          # Core routing logic
│   ├── build_index.py     # FAISS index builder (clibrary-build-index)
│   ├── manifest.py        # Manifest loader / validator
│   ├── matchers/
│   └── utils/
├── benchmark/
│   └── eval_sets/         # in_domain / paraphrase / cross_domain (2,050 queries)
├── tests/
└── README.md

Why It Works

  1. Embedding routing beats LLM selection at scale — geometric distance is not affected by "lost in the middle" attention dilution.
  2. Two-stage design improves accuracy: broad candidate retrieval in Stage 1, precise example matching in Stage 2.
  3. Example-based caching eliminates LLM calls for ~80% of queries.
  4. Multilingual (multilingual-e5-base) handles mixed Chinese/English queries natively.

Comparison

CLIbrary LangChain Tool Retrieval Function Calling MCP
Scales to 500+ tools ✅ ⚠️ ❌ ⚠️
No LLM for routing ✅ (80%) ❌ ❌ ❌
Manifest standard ✅ ❌ ❌ ✅
Multilingual ✅ ⚠️ ⚠️ ⚠️

CLIbrary complements MCP: CLIbrary handles routing, MCP handles protocol.


Status

  • ✅ Manifest schema v1.0
  • ✅ 500 CLI manifests (8 categories)
  • ✅ Reference router implementation (FAISS, multilingual-e5-base)
  • ✅ Evaluation dataset (2,050 queries)
  • ✅ pip package — pip install clibrary-hub

License

MIT License — free to use, including for commercial purposes.


Metadata

Release files for clibrary-hub 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clibrary-hub 0.2.0
File Size Uploaded Provenance Actions
clibrary_hub-0.2.0.tar.gz 20.3 kB Without provenance Details for clibrary_hub-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for clibrary-hub 0.2.0
File Interpreter ABI Platform Actions
clibrary_hub-0.2.0-py3-none-any.whl Python 3 none any Details for clibrary_hub-0.2.0-py3-none-any.whl

Total release size: 38.0 kB

Release files / clibrary_hub-0.2.0.tar.gz

Download URL clibrary_hub-0.2.0.tar.gz
Size 20.3 kB
Tags Source
SHA-256 checksum
How to use checksums
58e65bac17d336f76cf2f395cd9f88a7cd77b9e172864c80e4b6330b9b89c633
BLAKE2b-256 checksum
How to use checksums
8e3c47b7cdbd75ca964af2654fd0f0ae67571fb648ab7d457dec9010bf27a96d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Release files / clibrary_hub-0.2.0-py3-none-any.whl

Download URL clibrary_hub-0.2.0-py3-none-any.whl
Size 17.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
524a21fa757c5ed38bda65a2e89256be25f914cd4b56f439d28ba4df028cddff
BLAKE2b-256 checksum
How to use checksums
677b3a5a29c09bdfa8353d28dfe8bacb543892a4d0978f07df33d97f0704a55f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Security for clibrary-hub 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page