AI Stupid Level

Registre officiel IA et agents

LLM benchmark rankings, drift status, incidents and Smart Router previews from AI Stupid Level.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package @aistupidlevel/mcp
Claude Code
claude mcp add ai-stupid-level -e 'ASL_DATA_KEY=<your asl_data_key>' -e 'ASL_ROUTER_KEY=<your asl_router_key>' -e 'ASL_SANDBOX=false' -- npx -y @aistupidlevel/mcp@0.1.1
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "ai-stupid-level": {
            "command": "npx",
            "args": [
                "-y",
                "@aistupidlevel/mcp@0.1.1"
            ],
            "env": {
                "ASL_DATA_KEY": "<your asl_data_key>",
                "ASL_ROUTER_KEY": "<your asl_router_key>",
                "ASL_SANDBOX": "false"
            }
        }
    }
}

Variables d'environnement

  • ASL_DATA_KEY secret Data API key (asl_live_...) for rankings, history, drift, incidents and provider status. Free key: https://aistupidlevel.info/account/data-keys (10 requests a day, 1 a minute).
  • ASL_ROUTER_KEY secret Smart Router key (aism_...) for preview_route, ask_router and usage. Create one at https://aistupidlevel.info/router/keys.
  • ASL_SANDBOX true: every Smart Router call returns a mock answer from real routing, so nothing is spent or counted.

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. AI Stupid Level SDKs
  2. Quick start
  3. Why use an SDK instead of an OpenAI client
  4. Development
  5. Releasing
  6. Licence

AI Stupid Level SDKs

Official clients for the AI Stupid Level Smart Router, an OpenAI-compatible endpoint. Each request goes to the model measuring best for that kind of work, based on benchmarks that are re-run continuously. You call it with your own provider keys.

PackageInstallSource
TypeScript / JavaScriptnpm install @aistupidlevel/routerpackages/router
Pythonpip install aistupidlevelpython
Vercel AI SDK providernpm install @aistupidlevel/ai-sdk-providerpackages/ai-sdk-provider
MCP server (Claude, Cursor, VS Code, …)npx -y @aistupidlevel/mcppackages/mcp
n8n community nodeSettings → Community Nodes → n8n-nodes-aistupidlevelpackages/n8n-nodes-aistupidlevel
Raycast extensionRaycast Store (in review)integrations/raycast/aistupidlevel
LangChain chat model (ChatAISL)pip install langchain-aistupidlevellangchain-python
Hermes Agent provider pluginhermes plugins install aistupidlevelintegrations/hermes/aistupidlevel
DeepSeek Harness plugin bundledsh plugin --profile web add @aistupidlevel/dsh-providerpackages/dsh-provider
OpenClaw provider pluginopenclaw plugins install clawhub:@aistupidlevel/openclaw-providerpackages/openclaw-provider
Pi provider extensionpi install npm:@aistupidlevel/pi-providerpackages/pi-provider
Langflow model provider + componentpip install lfx-aistupidlevel, then restart Langflowlangflow-python
Open WebUI Function (manifold pipe)Admin Panel → Functions → Import from URLintegrations/open-webui

openapi/router-v1.json describes the API in OpenAPI 3.1, for generating a client in any other language. The live copy is at https://aistupidlevel.info/v1/openapi.json.

Quick start

import { ASLRouter } from '@aistupidlevel/router';

const router = new ASLRouter(); // ASL_ROUTER_KEY
const r = await router.chat.completions.create({ model: 'auto-coding', messages: [{ role: 'user', content: 'Fix this bug: ...' }] });
console.log(r.choices[0].message.content, r.routing.model, r.routing.reasoning);
from aistupidlevel import ASLRouter

router = ASLRouter()  # ASL_ROUTER_KEY
r = router.chat.completions.create(model="auto-coding", messages=[{"role": "user", "content": "Fix this bug: ..."}])
print(r.choices[0].message.content, r.routing.model, r.routing.reasoning)

Why use an SDK instead of an OpenAI client

Any OpenAI client works against https://aistupidlevel.info/v1. The SDKs add:

  • Routing info on every answer and stream: the model and provider that answered, why they were chosen, and whether a fallback answered.
  • Safe retries. An automatic Idempotency-Key means a request is answered once, even if it is retried.
  • Typed errors with party and retryable. An app can tell its user to top up, to fix a provider key, or simply to try again.
  • runTools / run_tools, a tool-calling loop that stays on one model.
  • Sandbox mode (mock answers through real routing, at no cost), route previews, and usage.

See the API documentation.

Development

# TypeScript (the router package runs on Node 18+; the AI SDK provider needs Node 22+)
cd packages/router && npm ci && npm run build && npm test
cd packages/ai-sdk-provider && npm ci && npm run build && npm test
cd packages/mcp && npm ci && npm run build && npm test
cd packages/openclaw-provider && npm ci && npm test   # Node 24.16+, like OpenClaw
cd packages/pi-provider && npm ci && npm test         # Node 22.19+, like Pi
cd packages/n8n-nodes-aistupidlevel && npm ci && npm run build && npm run lint && npm test

# Python
cd python && pip install -e . && python -m unittest discover -s tests
cd langflow-python && pip install -e . pytest && pytest tests   # in a venv with Langflow 1.12+

The live tests run against the real router in sandbox mode, so nothing is spent. They need a router key and are skipped without one:

ASL_ROUTER_KEY=aism_... npm test
ASL_ROUTER_KEY=aism_... python -m unittest discover -s tests

Releasing

  1. Bump the version in every place it appears:
    • packages/router/package.json and packages/router/src/core.ts;
    • packages/ai-sdk-provider/package.json and packages/ai-sdk-provider/src/index.ts;
    • packages/mcp/package.json, packages/mcp/src/config.ts and both versions in packages/mcp/server.json;
    • python/src/aistupidlevel/_version.py.
  2. npm: npm publish --access public in each package directory. prepublishOnly builds the package and runs its tests first.
  3. PyPI: cd python && python -m build && twine upload dist/*.
  4. MCP Registry, after the npm release of @aistupidlevel/mcp: cd packages/mcp && mcp-publisher login github && mcp-publisher publish.
  5. n8n node: n8n accepts only npm releases with provenance, so it is published by .github/workflows/n8n-publish.yml. Bump packages/n8n-nodes-aistupidlevel/package.json and its CHANGELOG.md, then push a tag n8n-v<version>.
  6. Raycast: from integrations/raycast/aistupidlevel, npm run publish opens a pull request to raycast/extensions.
  7. Pi: cd packages/pi-provider && npm publish (Node 22.19+). Push first: the pi.dev gallery image is read from main. The pi-package keyword lists it on pi.dev/packages; there is nothing to submit.
  8. Langflow: bump langflow-python/pyproject.toml, src/lfx_aistupidlevel/__init__.py and src/lfx_aistupidlevel/extension.json (a test checks they match), then cd langflow-python && uv build && twine upload dist/* with twine 7 or later.

Licence

MIT

Questions fréquentes

Qu'est-ce que AI Stupid Level ?

LLM benchmark rankings, drift status, incidents and Smart Router previews from AI Stupid Level.

Comment installer AI Stupid Level ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add ai-stupid-level -e 'ASL_DATA_KEY=<your asl_data_key>' -e 'ASL_ROUTER_KEY=<your asl_router_key>' -e 'ASL_SANDBOX=false' -- npx -y @aistupidlevel/mcp@0.1.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour AI Stupid Level ?

Oui. Il attend ASL_DATA_KEY, ASL_ROUTER_KEY, à renseigner dans sa configuration.

AI Stupid Level est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient AI Stupid Level ?

Il est publié par StudioPlatforms. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.