Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/asanmateu_tldr.json
T

1 line
5.0 KiB
JSON

{"repo": "asanmateu/tldr", "files": {"docs/providers.md": {"d0fce4ded5b440bf3e2399b4ac06d7d79f6affc9": {"t": 1785674475.1291852, "n": 4773, "h": "2171459495032e4d", "c": "# Providers\n\ntldr supports seven summarization providers.\n\n## Comparison\n\n| | Claude Code (default) | Anthropic API | OpenAI-compatible | Gemini | Codex CLI | Ollama | xAI / Grok |\n|---|---|---|---|---|---|---|---|\n| **Cost** | $0 (subscription) | ~$0.005/summary | Varies | Varies | Subscription | FREE (local) | Varies |\n| **Speed** | ~5s | ~2s | Varies | ~2s | ~5s | Varies | ~2s |\n| **Requires** | Claude Code + sub | `ANTHROPIC_API_KEY` | `OPENAI_API_KEY` | `GEMINI_API_KEY` | Codex CLI installed | Ollama running | `XAI_API_KEY` |\n| **How it works** | Shells out to `claude -p` | Anthropic API | OpenAI-compatible API | Google GenAI SDK | Shells out to `codex` | Local REST API | OpenAI-compatible API |\n\n## Claude Code Provider (Default)\n\ntldr uses Claude Code by default. If you have it installed and authenticated, no setup is needed:\n\n```bash\ntldr \"https://example.com/article\"\n```\n\nOn first run, the setup wizard asks you to pick a provider. If the chosen provider needs an API key, the wizard shows which environment variable to set.\n\n### Installing Claude Code\n\n```bash\nnpm install -g @anthropic-ai/claude-code\nclaude # Authenticate\n```\n\n## Anthropic API Provider\n\n```bash\n# Set your API key (one of these methods)\nexport ANTHROPIC_API_KEY=sk-ant-... # Environment variable\ntldr config set apiKey sk-ant-... # Save to config file\n\n# Switch to Anthropic API provider\ntldr config set provider anthropic\n```\n\n## OpenAI-compatible Provider\n\nWorks with any endpoint that implements the OpenAI chat completions API: OpenAI, Groq, Together, Fireworks, and more.\n\n```bash\n# Set provider and API key\ntldr config set provider openai\ntldr config set apiKey sk-...\n\n# Or use environment variables\nexport OPENAI_API_KEY=sk-...\nexport OPENAI_BASE_URL=https://api.openai.com/v1 # optional, defaults to OpenAI\n```\n\nSet a model that your provider supports:\n\n```bash\ntldr config set model gpt-4o\n```\n\n### Provider examples\n\n| Provider | Base URL | Example model |\n|----------|----------|---------------|\n| OpenAI | (default) | `gpt-4o` |\n| Groq | `https://api.groq.com/openai/v1` | `llama-3.3-70b-versatile` |\n| Together | `https://api.together.xyz/v1` | `meta-llama/Llama-3.3-70B-Instruct-Turbo` |\n| Fireworks | `https://api.fireworks.ai/inference/v1` | `accounts/fireworks/models/llama-v3p3-70b-instruct` |\n\n## Gemini Provider\n\nUses the Google Gemini API via the `@google/genai` SDK.\n\n```bash\n# Set your API key\nexport GEMINI_API_KEY=...\n# Or save to config\ntldr config set apiKey ...\n\n# Switch to Gemini\ntldr config set provider gemini\ntldr config set model gemini-2.0-flash\n```\n\n### Gemini models\n\n| Model | Notes |\n|-------|-------|\n| `gemini-2.0-flash` | Fast, good for quick summaries |\n| `gemini-2.5-pro` | Most capable, best for detailed analysis |\n| `gemini-2.5-flash` | Balanced speed and quality |\n\n## Codex CLI Provider\n\nShells out to OpenAI's Codex CLI, similar to how `claude-code` shells out to Claude.\n\n```bash\n# Install Codex CLI\nnpm install -g @openai/codex\n\n# Switch to Codex\ntldr config set provider codex\ntldr config set model o4-mini\n```\n\nCodex CLI must be installed and authenticated. If not found, tldr shows an install hint.\n\n## Ollama Provider (Native)\n\nTalks directly to Ollama's REST API — no extra dependency needed. Ollama must be running locally.\n\n```bash\n# Start Ollama\nollama serve\n\n# Pull a model\nollama pull llama3.3\n\n# Switch to Ollama\ntldr config set provider ollama\ntldr config set model llama3.3\n```\n\nBy default, tldr connects to `http://localhost:11434`. Override with:\n\n```bash\nexport OLLAMA_BASE_URL=http://my-server:11434\n```\n\nNo API key needed — Ollama runs locally.\n\n### Ollama models\n\n| Model | Notes |\n|-------|-------|\n| `llama3.3` | Meta's latest, good all-around |\n| `mistral` | Fast, good for quick summaries |\n| `gemma2` | Google's open model |\n| `qwen2.5` | Strong multilingual support |\n\n## xAI / Grok Provider\n\nUses xAI's OpenAI-compatible API at `https://api.x.ai/v1`.\n\n```bash\n# Set your API key\nexport XAI_API_KEY=...\n# Or save to config\ntldr config set apiKey ...\n\n# Switch to xAI\ntldr config set provider xai\ntldr config set model grok-3-mini-fast\n```\n\n### xAI models\n\n| Model | Notes |\n|-------|-------|\n| `grok-3` | Most capable |\n| `grok-3-mini` | Balanced speed and quality |\n| `grok-3-mini-fast` | Fastest |\n\n## Model Selection in the Interactive Editor\n\nThe preset editor (`tldr preset edit` / `/config`) uses a free-text input for the model field. Enter any model ID your provider supports — the value is passed through as-is. Anthropic aliases (`haiku`, `sonnet`, `opus`) are resolved automatically.\n\n## Audio\n\nThe same provider you use for summarization also rewrites summaries as spoken scripts for audio playback. See the [Audio guide](audio.md) for TTS providers, voices, and models.\n"}}}}