Run your coding agents — Claude Code and Pi — on your workstation and drive them from your phone: a self-hosted PWA web client (Discord optional), every session in tmux.
Floka
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**English** · 简体中文
> Run your coding agents — Claude Code and Pi — on your workstation, and drive them from your phone through the built-in web app (Discord optional).
Floka lets you run coding agents on your workstation — **Claude Code** and **Pi** are both first-class runtimes — and drive them from anywhere: phone, tablet, or another machine. The default front door is the bundled **PWA web client**: one install command and it is running, paired to your devices by QR code; phones reach it through a relay, Tailscale, your LAN or your own domain (the relay is the default, never required). **Discord is optional** — an unchecked box in the installer you can tick if you want its push notifications and buttons. Every session lives in tmux, so the moment you are back at your desk you can attach and keep going in the same process.
---
Why
Coding agents are terminal-only tools: if you aren't at your computer, you aren't using them. Floka puts a persistent front door — a web app, and optionally Discord — in front of your local sessions so you can:
- Chat with any active session from your phone — Claude Code or Pi.
- Run several sessions in parallel — one conversation per session.
- Return to your desk and attach to the **same** running process via tmux.
- Watch tool calls stream in real time (Read / Edit / Bash / Grep).
- Open a **live remote terminal** to any session right from the web app.
- Schedule recurring tasks that spin up a temporary agent and report back.
How it works
Floka builds on Claude Code's native **Channel protocol** (MCP) rather than scraping terminal output. The Bridge process acts as a fan-out layer that routes Discord messages to the correct channel-server instance, working around the official plugin's one-token-one-session limitation.
Features
Core orchestration
- **Multi-agent lifecycle** — create, resume, kill, restart, list, and browse session history.
- **Multi-frontend API (v2.6.0+)** — Discord is just the first frontend. GET /events streams tool calls / assistant text / agent status over SSE; POST /api/v1/agents/:name/messages lets external users talk to a scoped set of agents with a Bearer token (sync wait, file upload, audit mirroring back to Discord). Build a web UI or a Telegram bot on the same contracts — see docs/design-multi-frontend.md (design notes, written in Chinese).
- **Agent-to-agent messaging** — send_to_agent(target, text) MCP tool injects a message directly into another agent's context.
- **Orchestration team** — team up --project [--dispatcher] sets up a PM, optional dispatcher and built-in reviewer roles; executors just ledger deliver and the ledger routes the work to whoever picks it up next. See docs/team/orchestration-team.en.md.
- **Cron scheduling** — declarative cron expressions spin up a temporary agent, run a prompt, notify Discord, then clean up.
- **Cross-Floka peer collaboration (HTTP peers)** — two Floka instances call each other's agents as plain API clients: each side issues the other a **scoped Bearer token**, no shared Discord guild and no second bot required. v2.15+ makes it a **one-click invite**: pick the agents to share, send one link (or string), the other side opens it — handshake completes automatically (single-use, 24h expiry, revocable; the master orchestrator can never be shared). After that any agent can call send_to_agent({ target: "agent@peer" }) and the reply is pushed back as a synthetic message. Exposure = token scope; peer-http-remove revokes access instantly. No public IP needed on either side — through the relay (v2.28+, the default) nothing is opened at all; without one, any private path works (Tailscale, LAN, a reverse proxy).
- **LLM-free management** — status / kill / restart / cron buttons execute directly on the Bridge, zero-token overhead and near-instant response.
Web client (v2.10+)
The default front door — a **PWA-installable Next.js app** built entirely on the multi-frontend API. Runs on its own (no bot token needed) or beside Discord.
- **Streaming chat** — tool calls render as live three-state cards (running / done / failed), Write & Edit show syntax-highlighted diffs, interrupts and permission / AskUserQuestion prompts are interactive cards.