hobbycoders.

AI Shuffle

AI Shuffle is a self-hosted workspace for AI agents, made by HobbyCoders. It runs AI agents with your own account from any supported provider: Claude, OpenAI, OpenRouter, xAI Grok or a custom gateway, by subscription sign-in or API key. AI Shuffle includes no AI usage. New here? Start with Requirements and First run. It includes a chat interface, connectors for messaging platforms and services, automation pipelines, and a REST API for building integrations.

Key Features

Chat Interface

A real-time chat workspace for the model and provider you choose. Features include:

  • Streaming responses with tool use visualization
  • Session management with search, tags, and an Active group: sessions you're working in stay in Active until you settle them, which moves them to Settled. You can settle or reopen a session from any online worker, even if its execution worker is offline; membership syncs when workers reconnect. This does not stop running work or move the session. Update all workers to use this behavior across the network.
  • Session forking to branch conversations
  • Git worktree integration for isolated development
  • File sharing and media generation
  • Model and reasoning effort chosen per session
  • Permission modes per session (Ask, Accept Edits, Bypass, and Auto where available)

Connectors

Connect AI Shuffle to external platforms so an agent can respond to messages from:

  • Messaging: Telegram, Discord, WhatsApp, Slack, Line, Signal, MS Teams, iMessage, BlueBubbles
  • Smart Home: Home Assistant, Philips Hue
  • Other: Spotify, Gmail, Plaid (read-only bank data), Webhooks

Each connector creates a bridge: messages from the platform flow to the agent, and responses flow back.

Automations

Schedule and trigger AI workflows:

  • Cron triggers for scheduled tasks
  • Interval triggers for repeating tasks
  • Webhook triggers for event-driven execution
  • Connector event triggers for responding to platform events
  • Budget controls, approval gates, and output routing

Hooks

Run custom bash scripts or webhook calls at key points in the AI workflow:

  • Before a tool runs, with the option to block it
  • When the agent finishes its turn
  • After a tool runs, when a prompt is sent, when a session starts or ends, and at other points, in the background

MCP Servers

Extend what agents can do by connecting Model Context Protocol (MCP) servers:

  • stdio servers (subprocess-based)
  • SSE servers (Server-Sent Events)
  • HTTP servers
  • Global and project-scoped configurations

Agents

Configurations that control how an agent behaves, on the Agents page:

  • System prompt and tool permissions
  • Durable memory the agent keeps across sessions
  • Agents can call other agents (the Subagents section), each on the model you pick for it

Projects

Organize work into project directories:

  • File browsing and uploads
  • Git integration with branch management
  • Worktree support for parallel development
  • Per-project MCP servers, agents, hooks and memory

API

Full REST API for external integrations:

  • One-shot queries and stateful conversations
  • Session management and search
  • Connector, automation, and hook management
  • API key authentication for programmatic access

Architecture

┌─────────────────┐     ┌──────────────────┐     ┌─────────────────┐
│   SvelteKit UI  │────▶│   FastAPI Backend │────▶│  Fluid harness  │
│   (Frontend)    │◀────│   (WebSocket/REST)│◀────│  and providers  │
└─────────────────┘     └──────────────────┘     └─────────────────┘
                              │
                    ┌─────────┼─────────┐
                    ▼         ▼         ▼
              ┌──────────┐ ┌──────────┐ ┌──────────┐
              │Connectors│ │PostgreSQL│ │MCP Servers│
              │(15 types)│ │    DB    │ │(stdio/sse)│
              └──────────┘ └──────────┘ └──────────┘
  • Frontend: SvelteKit with Svelte 5, Tailwind CSS, TipTap editor
  • Backend: FastAPI with WebSocket support, PostgreSQL database
  • Agents: the Fluid harness runs sessions, streaming and tool execution against the configured provider; Claude sessions run the standard Claude Code CLI with your own sign-in or API key
  • Storage: PostgreSQL for sessions, message history and settings; your projects stay as ordinary files in the workspace