Skip to content

Provider System

Overview

A provider is a core concept in tmf. Each provider encapsulates the connection details for an LLM API service, including the API endpoint, authentication key, and available models. With tmf, you can switch between providers with a single command — no manual config editing required.

Available Providers

tmf ships with several major LLM providers built in. Run tmf list to see the full list:

bash
tmf list

Example output:

Available providers:
  deepseek    (models: deepseek-chat, deepseek-reasoner)
  openai      (models: gpt-4o, gpt-4o-mini)
  claude      (models: claude-sonnet-4-20250514)
  siliconflow (models: Qwen/Qwen2.5-7B-Instruct, ...)

Inspecting a Provider

Use tmf ask to view detailed information about a provider, including all available models and API endpoints:

bash
tmf ask deepseek

Supported Protocols

Providers fall into two protocol categories:

ProtocolDescriptionCompatible Apps
OpenAI-compatibleSpeaks the OpenAI API formatCodex, OpenClaw
Anthropic-compatibleSpeaks the Anthropic API formatClaude Code, OpenClaw

tmf automatically matches the provider's protocol to the target application. For example, an Anthropic-protocol provider can only be switched into Claude Code.

Testing a Provider

After switching, use tmf test to verify connectivity:

bash
# Test provider connectivity
tmf test deepseek

# Example output:
# ✓ deepseek — connection OK (latency: 320ms)

Storage

TokenMF stores its data in ~/.tmf/:

  • config.json — global settings, including API base URLs
  • store/used.json — per-app provider usage records

Advanced

To add a custom provider, edit ~/.tmf/config.json. See the CLI configuration documentation for details.

MIT License