# ============================================================ # LLM Provider Configuration # ============================================================ # ClarifyPrompt works with ANY OpenAI-compatible API endpoint. # Set LLM_API_URL, LLM_API_KEY, and LLM_MODEL for your provider. # # Anthropic Claude is also supported (different API format, # auto-detected when URL contains "anthropic.com"). # ============================================================ # --- LLM Settings (required) --- LLM_API_URL=http://localhost:11434/v1 LLM_API_KEY= LLM_MODEL=qwen2.5:7b # Reasoning level for thinking-channel models (gpt-oss, glm, *-thinking, # deepseek-r, qwq): low | medium | high. Default 'low'. These models spend their # token budget on the thinking channel first and can exhaust it before emitting # the final answer → empty content (issue #3). These models also get a max_tokens # floor so reasoning can't starve the answer. (gpt-oss honors reasoning_effort; # glm only responds to the budget floor.) Ignored for non-reasoning models. # LLM_REASONING_EFFORT=low # ============================================================ # ClarifyPrompt Home Directory (1.2.0+) # ============================================================ # One authoritative root for everything ClarifyPrompt writes: # custom platforms, instruction .md files, traces, and (in 1.3+) # persistent memory + packs. Replaces CLARIFYPROMPT_CONFIG_DIR # and CLARIFYPROMPT_DATA_DIR — those still work as legacy # aliases (with a one-line stderr hint) but will be dropped in 2.x. # Defaults to $XDG_DATA_HOME/clarifyprompt or ~/.clarifyprompt. # CLARIFYPROMPT_HOME=/custom/path/.clarifyprompt # Silence the legacy-env deprecation hint (optional) # CLARIFYPROMPT_SUPPRESS_LEGACY_WARN=1 # Trace mode: # off — no tracing # local — append JSONL to $CLARIFYPROMPT_HOME/traces/YYYY-MM-DD.jsonl (default) # otel — stub: emit JSON lines to stderr (collector hookable) # Traces are STRICTLY LOCAL. Nothing is uploaded. Fully opt-out via CLARIFYPROMPT_TRACE=off. CLARIFYPROMPT_TRACE=local # ============================================================ # Transport (1.11.0+ stdio | streamable-http, 1.12.0+ a2a) # ============================================================ # Default is stdio — the classic MCP transport over stdin/stdout. Every # existing Claude Desktop / Cursor / Claude Code config works unchanged. # # stdio — one server over stdin/stdout (default) # streamable-http — MCP Streamable HTTP over Node's built-in http # a2a — serve as an Agent-to-Agent (A2A) peer: agent card at # /.well-known/agent-card.json, JSON-RPC + SSE at POST /a2a # CLARIFYPROMPT_TRANSPORT=stdio # HTTP knobs (used by streamable-http AND a2a): # CLARIFYPROMPT_HTTP_PORT=3000 # CLARIFYPROMPT_HTTP_HOST=127.0.0.1 # localhost-only; set 0.0.0.0 to expose # CLARIFYPROMPT_HTTP_PATH=/mcp # streamable-http endpoint path only # A2A only: public base URL advertised in the agent card (useful behind a proxy). # Defaults to http://:. # CLARIFYPROMPT_A2A_BASE_URL=https://prompts.example.com # ============================================================ # Embeddings (1.3.0+) # ============================================================ # ClarifyPrompt uses embeddings for semantic retrieval over persistent # memory + knowledge packs. The embedder follows the same OpenAI-compatible # contract as the LLM client, so any /v1/embeddings-shaped endpoint works. # # Defaults to your local Ollama with nomic-embed-text:v1.5 (768-dim). Pull # the model once with: `ollama pull nomic-embed-text` # # If these env vars aren't set, EMBED_API_URL / EMBED_API_KEY fall back # to LLM_API_URL / LLM_API_KEY — so users pointing at Ollama for LLM # "just work" for embeddings too. # ============================================================ EMBED_API_URL=http://localhost:11434/v1 EMBED_API_KEY= EMBED_MODEL=nomic-embed-text:v1.5 EMBED_DIMENSION=768 # --- OpenAI embeddings --- # EMBED_API_URL=https://api.openai.com/v1 # EMBED_API_KEY=sk-... # EMBED_MODEL=text-embedding-3-small # EMBED_DIMENSION=1536 # --- Voyage embeddings --- # EMBED_API_URL=https://api.voyageai.com/v1 # EMBED_API_KEY=... # EMBED_MODEL=voyage-3 # EMBED_DIMENSION=1024 # --- Cohere embed --- # EMBED_API_URL=https://api.cohere.com/v2 # EMBED_API_KEY=... # EMBED_MODEL=embed-english-v3.0 # EMBED_DIMENSION=1024 # ============================================================ # Legacy (pre-1.2.0) — still work as CLARIFYPROMPT_HOME aliases. # You do not need to set both; CLARIFYPROMPT_HOME supersedes them. # ============================================================ # CLARIFYPROMPT_CONFIG_DIR= # legacy: custom platforms + instruction .md files # CLARIFYPROMPT_DATA_DIR= # legacy: traces dir only # ============================================================ # LOCAL LLM PROVIDERS (uncomment one block) # ============================================================ # Ollama (local) — https://ollama.com # LLM_API_URL=http://localhost:11434/v1 # LLM_API_KEY= # LLM_MODEL=qwen2.5:7b # LM Studio — https://lmstudio.ai # LLM_API_URL=http://localhost:1234/v1 # LLM_API_KEY= # LLM_MODEL=your-loaded-model # vLLM — https://github.com/vllm-project/vllm # LLM_API_URL=http://localhost:8000/v1 # LLM_API_KEY= # LLM_MODEL=your-model # LocalAI — https://localai.io # LLM_API_URL=http://localhost:8080/v1 # LLM_API_KEY= # LLM_MODEL=your-model # Jan — https://jan.ai # LLM_API_URL=http://localhost:1337/v1 # LLM_API_KEY= # LLM_MODEL=your-model # GPT4All — https://gpt4all.io # LLM_API_URL=http://localhost:4891/v1 # LLM_API_KEY= # LLM_MODEL=your-model # Llamafile — https://github.com/Mozilla-Ocho/llamafile # LLM_API_URL=http://localhost:8080/v1 # LLM_API_KEY= # LLM_MODEL=your-model # text-generation-webui (Oobabooga) — https://github.com/oobabooga/text-generation-webui # LLM_API_URL=http://localhost:5000/v1 # LLM_API_KEY= # LLM_MODEL=your-model # ============================================================ # CLOUD LLM PROVIDERS (uncomment one block) # ============================================================ # Ollama Cloud — https://ollama.com/cloud # LLM_API_URL=https://ollama.com/v1 # LLM_API_KEY=your-ollama-cloud-key # LLM_MODEL=qwen2.5:7b # OpenAI — https://platform.openai.com # LLM_API_URL=https://api.openai.com/v1 # LLM_API_KEY=sk-... # LLM_MODEL=gpt-4o # Anthropic Claude (auto-detected, uses /v1/messages format) # LLM_API_URL=https://api.anthropic.com/v1 # LLM_API_KEY=sk-ant-... # LLM_MODEL=claude-sonnet-4-20250514 # Google Gemini (OpenAI-compatible endpoint) # LLM_API_URL=https://generativelanguage.googleapis.com/v1beta/openai # LLM_API_KEY=your-gemini-api-key # LLM_MODEL=gemini-2.0-flash # Groq — https://groq.com # LLM_API_URL=https://api.groq.com/openai/v1 # LLM_API_KEY=gsk_... # LLM_MODEL=llama-3.3-70b-versatile # Together AI — https://together.ai # LLM_API_URL=https://api.together.xyz/v1 # LLM_API_KEY=your-together-key # LLM_MODEL=meta-llama/Llama-3.3-70B-Instruct-Turbo # Fireworks AI — https://fireworks.ai # LLM_API_URL=https://api.fireworks.ai/inference/v1 # LLM_API_KEY=your-fireworks-key # LLM_MODEL=accounts/fireworks/models/llama-v3p3-70b-instruct # Mistral — https://mistral.ai # LLM_API_URL=https://api.mistral.ai/v1 # LLM_API_KEY=your-mistral-key # LLM_MODEL=mistral-large-latest # DeepSeek — https://deepseek.com # LLM_API_URL=https://api.deepseek.com/v1 # LLM_API_KEY=your-deepseek-key # LLM_MODEL=deepseek-chat # OpenRouter — https://openrouter.ai # LLM_API_URL=https://openrouter.ai/api/v1 # LLM_API_KEY=your-openrouter-key # LLM_MODEL=anthropic/claude-sonnet-4 # xAI (Grok) — https://x.ai # LLM_API_URL=https://api.x.ai/v1 # LLM_API_KEY=your-xai-key # LLM_MODEL=grok-3 # Cohere — https://cohere.com # LLM_API_URL=https://api.cohere.com/v2 # LLM_API_KEY=your-cohere-key # LLM_MODEL=command-r-plus # Perplexity — https://perplexity.ai # LLM_API_URL=https://api.perplexity.ai # LLM_API_KEY=your-perplexity-key # LLM_MODEL=sonar-pro # ============================================================ # Backward Compatibility # ============================================================ # OLLAMA_API_URL and OLLAMA_API_KEY still work as fallbacks # if LLM_API_URL / LLM_API_KEY are not set. # ============================================================ # ============================================================ # Web Search Provider (optional, for context enrichment) # ============================================================ # Set SEARCH_PROVIDER + SEARCH_API_KEY. Default: tavily. # TAVILY_API_KEY still works as a fallback for backward compat. # Search results merge into the single Grounding Context block # alongside workspace rules and session examples — no more # parallel context streams. # ============================================================ SEARCH_PROVIDER=tavily SEARCH_API_KEY= # Tavily (default) — https://tavily.com # SEARCH_PROVIDER=tavily # SEARCH_API_KEY=your-tavily-key # Brave Search — https://brave.com/search/api # SEARCH_PROVIDER=brave # SEARCH_API_KEY=your-brave-key # Serper (Google results) — https://serper.dev # SEARCH_PROVIDER=serper # SEARCH_API_KEY=your-serper-key # SerpAPI — https://serpapi.com # SEARCH_PROVIDER=serpapi # SEARCH_API_KEY=your-serpapi-key # Exa (neural search) — https://exa.ai # SEARCH_PROVIDER=exa # SEARCH_API_KEY=your-exa-key # SearXNG (self-hosted, free) — https://github.com/searxng/searxng # SEARCH_PROVIDER=searxng # SEARCH_API_KEY= # SEARCH_API_URL=http://localhost:8888