About this project

Open-Dispatch is a self-hosted infrastructure layer for content distribution across seven social platforms: Twitter/X, Instagram, Telegram, Bluesky, LinkedIn, Threads, and YouTube Shorts. It provides a single HTTP endpoint — POST /dispatch — that accepts a ContentUnit and publishes it to any combination of configured platforms. Key capabilities include scheduled publishing, exponential-backoff retry with visible queue status, webhook callbacks on success or failure, AI-powered caption adaptation per platform (Ollama local, OpenRouter cloud, or heuristic fallback), and image transcoding against 10 built-in platform specs. A dark HTMX-driven web dashboard at localhost:8000 lets you compose, schedule, retry failed posts, and watch the queue in real time. The queue backend is pluggable: JSONL files on disk (default), Redis, or Postgres — swappable via a single environment variable. Each platform adapter implements a simple publish(unit, account) contract returning (ok, post_id, error_message), making it straightforward to add new platforms. Installation options include Homebrew, a one-line install.sh script, Docker Compose (multi-arch, non-root), pip, and a native macOS menubar app. An MCP server wraps the API for use with Claude Desktop, Cursor, and other MCP-compatible agents. A community n8n node enables integration into no-code workflows. All OAuth credentials stay on the user's machine; no data is stored externally. The project is MIT licensed with no per-account fees.