Skip to content

feat: add PowerTokens provider - #655

Open
PowerTokens wants to merge 1 commit into
charmbracelet:mainfrom
PowerTokens:feat/powertokens-provider
Open

PowerTokens wants to merge 1 commit into
charmbracelet:mainfrom
PowerTokens:feat/powertokens-provider

Conversation

@PowerTokens

Copy link
Copy Markdown

What

Adds PowerTokens as an inference provider. I'm on the PowerTokens team.

PowerTokens is an OpenAI-compatible gateway for China-origin models (GLM, MiniMax, Qwen, DeepSeek). It is aimed at developers outside China. One API key works for every model.

  • Endpoint: https://api.powertokens.ai/v1
  • Key: $POWERTOKENS_API_KEY
  • Type: openai-compat
  • Defaults: large glm-5.2, small glm-5-turbo
  • Models: glm-5.2, glm-5.3, glm-5-turbo, glm-4.7, MiniMax-M3, MiniMax-M2.7, qwen3-coder-plus, deepseek-v3-2-251201

Follows the existing pattern

  • internal/providers/configs/powertokens.json mirrors the other openai-compat configs.
  • //go:embed + powerTokensProvider() + providerRegistry entry in internal/providers/providers.go.
  • InferenceProviderPowerTokens constant, also added to KnownProviders() in pkg/catwalk/provider.go.

Verified

  • go build was not re-run after the rebase onto current main
  • go test ./pkg/catwalk/ ./internal/providers/ passed (internal/providers ok)
  • Live call matching this config: POST https://api.powertokens.ai/v1/chat/completions with model deepseek-v3-2-251201 (the lowest listed per-token price in this file), max_tokens 16, user message "Reply with the single word hi". HTTP 200, returned model deepseek-v3-2-251201, finish_reason stop, content hi, usage prompt_tokens 10 / completion_tokens 1. This was the OpenAI-compatible request the config points at, not a Crush TUI session.

Sources

Happy to keep this file up to date when models or prices change. Contact: service@powertokens.ai

Signed-off-by: uselesssoso <210961205+uselesssoso@users.noreply.github.com>
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.

2 participants