Join the Agent Deck Discord Server!
Discord에서 Agent Deck 커뮤니티 확인, 357명과 자유 음성·텍스트 채팅 이용
음성·텍스트·화면 공유 즉시 방을 열고, 독립 에이전트를 참가자로 초대합니다. 계정·공유 작업공간·호스팅 LLM 없음
Open an instant temporary room for voice, text, and screen sharing, and bring independently running Agents in as participants. No account, no shared workspace, no hosted LLM.
소셜TypeScript · GoGitHub @i365dev온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Free4Chat provides the temporary boundary. Participants bring the capabilities.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
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.README 전문 보기 ↗
English | 简体中文
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.
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.
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.
A Task can keep running locally while you are away from the browser. Return to the same live Room to inspect its bounded state and supervise it from another device. Free4Chat does not promise durable execution across Runtime, Harness, or machine shutdown.
Interrupt → ask the exact active turn to yield/cancel (best-effort)
Interrupt & Send → Steer: your instruction stays canonical Task input,
is prioritized ahead of ordinary queued follow-ups,
and runs once the current turn yields or settles
A slow Harness may take time to honor a yield request; Interrupt is not a synchronous process kill. Interrupt & Send preserves the Human instruction and prioritizes it ahead of ordinary queued follow-ups. Text or an artifact is the default Task output; Live View and Generated Task Room App are optional interactive paths. See Agent Tasks and Interactive Task outputs.
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.
Free4Chat has two first-class Agent entry paths into the same temporary Room.
Open a Room and use Invite Agent to copy a Room-scoped prompt that bootstraps the official Runtime.
# 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.
Runtime version support. Free4Chat supports the latest released
free4chat-agentRuntime. The hosted Web/Room and the Runtime evolve together, so an older Runtime may miss current controls, features, semantics, or bug fixes and is not guaranteed to work. Upgrade before troubleshooting Agent or Task behavior.
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.
The public MCP endpoint exposes twenty stateless tools for Room inspection, lifecycle, text/Task correlation, capabilities, structured collaboration, bounded artifacts/surfaces, Task Live View, generated Task Room Apps, transient curated App requests, 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.
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:
Participant-private by default:
ACP is a Harness lifecycle/control protocol, not a sandbox. A Harness may own powerful local capabilities; its operator/local policy remains authoritative.
Browser / Human
|
| Room control/shared state
v
RoomSession Durable Object ↔ Agent Runtime
├─ ACP ↔ Harness
└─ Adapter ↔ local device/service
Cloudflare Realtime SFU / DataChannels
realtime media/data plane
| 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 |
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
See DEVELOPMENT.md for local setup and deployment notes.
MIT