Skip to content

feat: add AI Stupid Level provider - #686

Open
StudioPlatforms wants to merge 1 commit into
charmbracelet:mainfrom
StudioPlatforms:feat/aistupidlevel-provider
Open

StudioPlatforms wants to merge 1 commit into
charmbracelet:mainfrom
StudioPlatforms:feat/aistupidlevel-provider

Conversation

@StudioPlatforms

Copy link
Copy Markdown

Adds AI Stupid Level (aistupidlevel), an OpenAI-compatible router at https://aistupidlevel.info/v1 ($AISTUPIDLEVEL_API_KEY).

The model ids are routing modes. Each request goes to the model that currently scores best on continuously re-run coding, reasoning and tool-use benchmarks, called with the user's own provider keys (OpenAI, Anthropic, Google, DeepSeek, Moonshot, Zhipu). For Crush:

  • auto-coding is the default large model;
  • auto-fastest-quality (the fastest model within 5 points of the best) is the default small model;
  • auto-tooling routes on a tool-use benchmark, the one that matters for agents.

Changes:

  • internal/providers/configs/aistupidlevel.json: seven routing modes.
  • internal/providers/providers.go: embed and registry entry, alphabetical.
  • pkg/catwalk/provider.go: InferenceProviderAIStupidLevel, added to KnownProviders.

Notes on the values:

  • Costs are 0, as for Copilot. It is BYOK: the provider of the chosen model bills the user's own key, so there is no per-token price to publish.
  • context_window 262,144 is the smallest across the models the router can choose, so it holds whichever model is picked.
  • supports_attachments: false: the router rejects image input.
  • can_reason: false: the model behind a mode changes, so there is no single reasoning control to declare.

go test ./... passes and gofmt -l is clean.

Reviewers can test at no cost: any router key plus the header X-ASL-Sandbox: true runs real routing with a mock answer.

Disclosure: I work at AI Stupid Level. Prepared with AI assistance (Claude Code) and reviewed before submitting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant