跳到正文
DEV Community· Musaw·· 2 小時前AI 評分51

CrowLLM 提供兼容 OpenAI 的多供應商模型 API 端點

I run CrowLLM: one OpenAI-compatible endpoint in front of every major AI provider

AI 導讀

CrowLLM 提供兼容 OpenAI 格式的統一 API 端點,用同一個 API key 呼叫多家 AI 供應商的模型。上游請求失敗時,服務會改由另一個供應渠道重試;若上游回傳 429,失敗嘗試不計費,重試成本由作者承擔。服務提供免費、透過 Discord 遊戲賺取額度及按 token 付費三種方案,作者稱目前約有 +7k 用戶。

正文

I'm 18, I built this on my own, and I'll be upfront: this post introduces something I made, and the last line has a link. Everything above it is how it actually works.

Why I built it

I started with one AI provider. Then another had a model I wanted, so I added a second SDK, a second key, a second billing page, and a second rate limit to get stuck behind. Then the first provider had a bad afternoon and my app noticed before I did.

Meanwhile, free users and small builders get treated like an afterthought almost everywhere: slow replies, tiny limits, long waits. A lot of them are students and roleplayers who just want good models without a corporate budget. That's who I built this for.

What it is

One base URL. OpenAI-compatible format. You change the model string, not your code.

curl https://crowllm.com/v1/chat/completions \
  -H "Authorization: Bearer $CROWLLM_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4.1-flash",
    "messages": [{"role": "user", "content": "write the next line"}]
  }'

The same key works for Claude-family, Gemini-family, GPT-family and DeepSeek models, plus the rest of the catalogue. Streaming works like you'd expect. There's also a /v1/messages endpoint if your client speaks the Anthropic format, including count_tokens.

It works with Cursor, Cline, and the chat front-ends the roleplay community uses, like JanitorAI and SillyTavern. If it speaks the OpenAI format, it should work.

Three kinds of models

Free. Free forever, no card, no trial timer. Sign in with Discord and you can try them right away.

Earned. Play games with the Crow bot in our Discord, bank credit, and spend it on models.

Paid. Pay-as-you-go, token by token. I keep prices as low as I can, below the official provider rates wherever possible, and every rate is printed before you call it, so you can compare with the provider's own page instead of trusting me. I buy my API supply from official, trusted sources.

What's different from calling providers one by one

Failover is real, not a badge. A request that fails upstream is retried on another channel serving the same model. You don't write that loop, and you don't pay twice for it.

Retry cost is on me. If an upstream returns a 429, that failed attempt never shows up on your bill.

Cache reads are priced as cache reads. If a provider discounts cached input, the discount reaches your bill.

No forced IP pinning. A key should work from a train, not only from one machine at home.

Real numbers, publicly readable. The status page at crowllm.com/status only shows real traffic. I'd rather show you a bad week than print a number I made up.

If you're a heavy user, the monthly pass gives you about 5x the credit the same money buys on a top-up, with no request-rate limit.

Where things stand

We're at around +7k users, and we have a friendly community on Discord: discord.gg/crow. The site is still being built. There's no registered company yet, and I'm not planning one until we hit 100k users. :p

What I want from you

Tell me what breaks. If a model behaves differently through the gateway than it does direct, that's a bug and I want the exact request shape. Issues and DMs both work. I'm one person, so I read everything.

crowllm.com — sign in with Discord, try the free models, no card.

Pricing

來源:DEV Community · dev.to