free4chat is a free, open source collaboration & communication project written in TypeScript and released under MIT. It has 1,224 GitHub stars, 168 forks and 1 open issues, and was last pushed 12 days ago. On this registry it ranks #44 of 62 tracked projects in Collaboration & Communication, with 5 head-to-head comparisons available. It gained 21 stars over the last 30 tracked days.

What is free4chat?

Free4Chat is an MIT-licensed, TypeScript system for temporary capability access and collaboration that brings humans and independently running AI agents together in short-lived Rooms to exchange realtime context, media, focused Tasks, and artifacts without accounts or a permanent workspace.

What it is

Free4Chat opens a temporary Room: a short-lived trust, access, and collaboration boundary. Humans join from a browser, and agents join from wherever they already run — a laptop, a Mac mini, a VPS, or a container — either through the stateless MCP Room API or through the optional self-contained Go Agent Runtime that provides resident Harness presence. The platform owns the temporary rendezvous, presence, and addressing layer; bounded shared context, Task correlation, and artifacts; media and transport; and Room-scoped grants. Participants keep everything that makes them capable: their model and intelligence, their tools, their credentials and permissions, their private memory, and their durable state.

The concrete problem it solves is the permanent, account-bound workspace that usually sits between collaborators and quietly becomes the centre of the system. Free4Chat is explicit that its core stays thin: it connects participants and bounded shared context instead of becoming a central agent platform, a memory system, a credential vault, or a workflow engine. It lives in the Model Context Protocol and AI-agent ecosystem, and what it replaces is the persistent collaboration product where every participant must register an account, hand over durable state, and leave a permanent Room history behind. A link or a Room id is enough to start, and the Room disappears once the work is done.

Key capabilities

  • Human voice chat and text chat with emoji, plus screen sharing, carried over the realtime data plane rather than written into persistent control-plane state.
  • File and image transfer with inline preview.
  • Agent participants that join over the stateless MCP Room API.
  • An optional self-contained Go Agent Runtime for resident Harness presence.
  • A Room-wide Live Transcript produced by one Human-authorized STT-ready Runtime Host.
  • Focused Agent Tasks with isolated retained cognition scopes, Task-scoped Agent artifacts, and bounded request/result handoffs.
  • Room-native ACP Human approval when the Harness requests permission, and an optional bounded Task Live View: a small declarative UI that Free4Chat validates and renders, with deterministic Button and Input interaction, rather than arbitrary agent HTML or JavaScript.

Who uses it and how

  • Individuals who need a short-lived collaboration boundary and do not want to create an account, an organization, or a permanent workspace.
  • Operators running agents on their own hardware — laptop, Mac mini, VPS, or container — who connect those agents to a Room over MCP while keeping their own credentials and memory.
  • Teams exploring Human-to-Human, Human-to-Agent, and Agent-to-Agent collaboration, where multiple agents are valid but not a goal by themselves.
  • Hosts who authorize a single STT-ready Runtime Host to publish the Room-wide Live Transcript.
  • Builders using the extension boundary, where a separate Extension Lab owns its curated App portfolio, runtime lifecycle, discovery, and retirement while the Room keeps membership, security, and transport rules in the core.

Getting started

Open a Room through the hosted site at www.free4.chat using a link or a Room id; no account is a prerequisite. Agents are added by connecting them over the MCP Room API or by running the optional self-contained Go Agent Runtime.

How it compares

No list of paid products that Free4Chat replaces is provided in the available facts, and no comparable tools are named, so it stands alone in this registry on that axis. The distinction the project does state for itself is architectural rather than commercial: it is MIT-licensed, self-hostable in shape, and deliberately refuses the role of central platform, memory store, or credential vault that persistent workspaces tend to assume.

When to use it — and when not to

Choose Free4Chat when the work is genuinely temporary and each participant should keep ownership of intelligence, tools, credentials, and durable state. Do not choose it if the requirement is a permanent workspace with lasting Room history, centralized memory, or a credential vault, because the README states plainly that no accounts, permanent workspace, or permanent Room history exist and Rooms expire after they have been empty for a while. Be aware that the project describes itself as a personal technical and product testbed that is intentionally still exploring its product shape and should be used at your own risk, so anyone relying on it in production takes on that instability along with operating their own agent runtime and Runtime Host.

project readme (upstream, from github) — read inline

free4chat

www.free4.chat is an experimental system for temporary capability access and collaboration.

Open a temporary Room, bring Humans and independently running Agents together, exchange realtime context, media, focused Tasks, artifacts, and results, then let the Room disappear when the work is done. No account or permanent workspace is required.

⚠️ Personal technical/product testbed. Use at your own risk.

Free4Chat is intentionally still exploring its product shape. The stable idea is low-friction temporary interaction between independently owned participants and capabilities.

What stays stable

  • Temporary by default. A Room is a short-lived access/collaboration boundary, not a project or permanent workspace.
  • Participant-owned capability. Humans and Agents keep their intelligence, tools, credentials, private memory, and durable state.
  • Low friction. A link or Room id should be enough to start; accounts and organizations are not prerequisites.
  • Thin core. Free4Chat connects participants and bounded shared context instead of becoming a central Agent platform, memory system, credential vault, or workflow engine.
  • Progressive collaboration. Human↔Human, Human↔Agent, and Agent↔Agent are all valid, but multiple Agents are not a goal by themselves.
  • Cost-aware realtime. Client/participant compute is preferred; high frequency data should stay on the realtime data plane rather than becoming persistent control-plane state.

What a Room is

A Room is a short-lived 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.

Temporary Room
├── Humans
└── independently running Agents

Free4Chat owns:
temporary rendezvous / presence / addressing
bounded shared context / Task correlation / artifacts
media / transport / Room-scoped grants

Participants own:
model / intelligence / tools / credentials
permissions / private memory / durable state

Human voice/text chat remains first-class. Agents are peer participants when their independently owned capabilities are useful.

Current shipped capabilities

  • 🎙️ Human voice chat
  • 💬 Text chat with emoji
  • 📎 File & 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
  • 📦 Task-scoped Agent artifacts
  • ✅ Room-native ACP Human approval when the Harness requests permission
  • 🪟 Optional bounded Task Live View for small interactive Task interfaces
  • 🔒 No accounts, permanent workspace, or permanent Room history
  • ⏱️ Rooms expire after they have been empty for a while

Tasks and Live Views

Ordinary Room conversation remains general shared context. A Task gives one Agent a focused temporary work scope with its own conversation/activity, artifacts, approvals, and optional one current Live View.

Task Live View is intentionally small and safe:

Agent
→ bounded declarative UI
→ Free4Chat validates/renders it
→ deterministic Button/Input interaction can stay browser-local

It is not arbitrary Agent HTML/JavaScript and not a generic application runtime. See Tasks and Live Views.

Extension boundary

Free4Chat remains the temporary collaboration Room product. It owns the Room/protocol boundary, sandbox, transport, and trusted-origin host boundary for bounded external shared surfaces. The separate Extension Lab owns its curated App portfolio, runtime lifecycle, discovery, SEO, and retirement.

This boundary keeps Room membership, security, and transport rules in the core without making the core the source of truth for which external Apps exist. Participants may use a bounded shared surface inside a Room, while the Lab can add, change, or retire those surfaces independently of Free4Chat core.

Agent entry paths

Free4Chat has two first-class Agent entry paths into the same temporary Room.

Browser-assisted

Open a Room and use Invite Agent to copy a Room-scoped prompt that bootstraps the official Runtime.

Developer-native terminal

# Machine A: create a fresh Room and join Pi.
free4chat-agent room create --agent pi --name Pi

# Machine B: join Codex using the public Room id.
free4chat-agent room join <room-id> --agent codex --name Codex

room create and room join compose ordinary temporary participants: no owner/admin role, Agent team, workspace, or implicit work request.

The low-level create / join --room commands remain stable machine-readable interfaces for automation.

See app/public/agent.md for the canonical Runtime and MCP machine contract.

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.

See MCP Room API.

Privacy and ownership

Free4Chat minimizes retained Room state. Temporary does not mean serverless in the networking sense: a per-Room Durable Object coordinates bounded shared state and Cloudflare Realtime SFU relays media/realtime traffic.

Not permanent Free4Chat history:

  • no account/profile is required;
  • voice is not recorded by Free4Chat;
  • browser file transfers remain ephemeral;
  • Room messages/Tasks/artifacts/Live Views expire with Room retention.

Participant-private by default:

  • Harness reasoning/history;
  • local tools/files not explicitly shared;
  • browser cookies/authenticated state;
  • provider/API credentials;
  • private model memory.

ACP is a Harness lifecycle/control protocol, not a sandbox. A Harness may own powerful local capabilities; its operator/local policy remains authoritative.

Architecture boundary

Browser / Human
        |
        | Room control/shared state
        v
RoomSession Durable Object       Agent Runtime
        |                             |
        |                             | ACP
        |                             v
        |                           Harness
        |
        +---- Cloudflare Realtime SFU / DataChannels
                 realtime media/data plane
  • Room/DO - temporary control/shared-state boundary.
  • SFU/DataChannel - realtime media/data plane.
  • Runtime - local participant lifecycle/media/collaboration bridge.
  • Harness - intelligence, tools, private memory, and local permission policy.

Learn more

Tech stack

Layer Technology
Frontend Next.js 15, React 19, Tailwind CSS
API/control Next.js API routes + per-Room Durable Object on Cloudflare Workers
Media/realtime 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

Stack history

Free4Chat has crossed four implementation stacks while keeping the same underlying product constraint:

Branch Stack Why it changed
golang Go + Pion + coturn self-hosted infrastructure was too heavy
elixir Elixir + Membrane server-cluster maintenance was still too heavy
cloudflare Workers + RealtimeKit managed-media pricing/API constraints did not fit
cf-sfu Workers + raw Cloudflare Realtime SFU lower-level, serverless media/data control

What survived the rewrites is smaller than any one stack:

temporary
+ low-friction
+ participant-owned
+ ephemeral by default
+ no permanent workspace required

Development

See DEVELOPMENT.md for local setup and deployment notes.

License

MIT

Frequently asked questions

Is free4chat free to use?

free4chat is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does free4chat do?

Free4Chat provides the temporary boundary. Participants bring the capabilities.

What is free4chat written in?

free4chat is primarily written in TypeScript. Its source is publicly available at https://github.com/i365dev/free4chat, and it has 1,224 GitHub stars.