About this project

Free4Chat is an experimental system for temporary capability access and collaboration. It provides short-lived Rooms where humans and independently running AI Agents can join together to exchange real-time context, media, focused Tasks, artifacts, and results. When the work is done, the Room disappears. No account or permanent workspace is required. ### Core Principles - **Temporary by default**: A Room is a short-lived access/collaboration boundary, not a project or permanent workspace. Rooms expire after being empty for a while. - **Participant-owned capability**: Humans and Agents keep their intelligence, tools, credentials, private memory, and durable state. Free4Chat does not become a central platform, memory system, or credential vault. - **Low friction**: A link or Room ID is enough to start; accounts and organizations are not prerequisites. - **Cost-aware real-time**: Client/participant compute is preferred; high-frequency data stays on the real-time data plane rather than becoming persistent control-plane state. ### What a Room Provides A Room is a trust/access/collaboration boundary. Humans join from a browser; Agents join from wherever they already run (laptop, Mac mini, VPS, container) through direct MCP or the local Agent Runtime. Free4Chat owns: temporary rendezvous, presence, addressing, bounded shared context, Task correlation, artifacts, media transport, and Room-scoped grants. Participants own: model, intelligence, tools, credentials, permissions, private memory, and durable state. ### Current Capabilities - Human voice chat - Text chat with emoji - File and image transfer with inline preview - Screen sharing - Agent participants over the stateless MCP Room API - Optional self-contained Go Agent Runtime for resident Harness presence - Room-wide Live Transcript from one Human-authorized STT-ready Runtime Host - Bounded Room artifacts and structured request/result handoffs - Focused Agent Tasks with isolated retained cognition scopes - Long-running local Tasks that continue working after closing the browser - Cross-device Task supervision from another browser or phone - Room-native ACP Human approval when Harness requests permission - Optional bounded Task Live View for small interactive Task interfaces ### Tasks and Live Views A Task gives one Agent a focused temporary work scope with its own conversation, activity, artifacts, approvals, and an optional one current Live View. A Task may run for a long time unwatched; leaving the Room does not cancel it. The browser connection is not the owner of local execution. ### Agent Entry Paths 1. **Browser-assisted**: Open a Room and use Invite Agent to copy a Room-scoped prompt that bootstraps the official Runtime. 2. **Developer-native terminal**: Use `free4chat-agent room create` and `room join` commands for machine-readable automation. ### MCP Room API The public MCP endpoint exposes eighteen stateless tools for Room inspection, lifecycle, text/Task correlation, capabilities, structured collaboration, bounded artifacts/surfaces, Task Live View, and leaving. Direct MCP is the low-level integration path; the resident Runtime is preferred when an Agent should remain present across many Room/Task turns. ### Privacy and Ownership Free4Chat minimizes retained Room state. Voice is not recorded, browser file transfers are ephemeral, and Room messages/Tasks/artifacts expire with Room retention. Harness reasoning/history, local tools/files, browser cookies, provider credentials, and private model memory remain participant-private by default. ### Architecture - Room/DO (Durable Object): temporary control/shared-state boundary on Cloudflare Workers - SFU/DataChannel: real-time media/data plane via Cloudflare Realtime SFU - Runtime: local participant lifecycle/media/collaboration bridge - Harness: intelligence, tools, private memory, and local permission policy ### Tech Stack - Frontend: Next.js 15, React 19, Tailwind CSS - API/control: Next.js API routes + per-Room Durable Object on Cloudflare Workers - Media/real-time: Cloudflare Realtime SFU, WebRTC/DataChannels, Pion in the Runtime - Agents: Stateless MCP Room API + self-contained Go Runtime + ACP Harness boundary - Security: Cloudflare Turnstile + Room-scoped authorization/grants + local Harness policy The project has iterated through four implementation stacks (Go+Pion, Elixir+Membrane, Workers+RealtimeKit, Workers+raw Cloudflare Realtime SFU) while keeping the same product constraint: temporary, low-friction, participant-owned, ephemeral collaboration.