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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.