← ClaudeAtlas

potlucklisted

Entry point for Potluck — local/remote AI gateway with OpenAI-compatible REST for chat, image, TTS, embeddings, web search, web fetch. Use when the user mentions Potluck, POTLUCK_URL, or wants AI without writing provider boilerplate. This skill covers setup + indexes capability skills; fetch the relevant capability SKILL.md from the URLs below when needed.
Ezero23/potluck · ★ 1 · AI & Automation · score 65
Install: claude install-skill Ezero23/potluck
# Potluck Local/remote AI gateway exposing OpenAI-compatible REST. One key, many providers, auto-fallback. ## Setup ```bash export POTLUCK_URL="http://localhost:21023" # or VPS / tunnel URL export POTLUCK_KEY="sk-..." # from Dashboard → Keys (only if requireApiKey=true) ``` All requests: `${POTLUCK_URL}/v1/...` with header `Authorization: Bearer ${POTLUCK_KEY}` (omit if auth disabled). Verify: `curl $POTLUCK_URL/api/health` → `{"ok":true}` ## Discover models ```bash curl $POTLUCK_URL/v1/models # chat/LLM (default) curl $POTLUCK_URL/v1/models/image # image-gen curl $POTLUCK_URL/v1/models/tts # text-to-speech curl $POTLUCK_URL/v1/models/embedding # embeddings curl $POTLUCK_URL/v1/models/web # web search + fetch (entries have `kind` field) curl $POTLUCK_URL/v1/models/stt # speech-to-text curl $POTLUCK_URL/v1/models/image-to-text # vision ``` Use `data[].id` as `model` field in requests. Combos appear with `owned_by:"combo"`. Response shape: ```json { "object": "list", "data": [ { "id": "openai/gpt-5", "object": "model", "owned_by": "openai", "created": 1735000000 }, { "id": "tavily/search", "object": "model", "kind": "webSearch", "owned_by": "tavily", "created": 1735000000 } ]} ``` ## Capability skills When the user needs a specific capability, fetch that skill's `SKILL.md` from its raw URL: | Capability | Raw URL | |---|---| | Chat / code-gen | https://raw.gith