by i365dev
Free4Chat is a temporary collaboration fabric for Humans and Agents.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
# Add to your Claude Code skills
git clone https://github.com/i365dev/free4chatGuides for using ai agents skills like free4chat.
Last scanned: 9/1/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-09-01T09:11:41.510Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}www.free4.chat — a temporary collaboration space. People and independently running Agents come together in a room, share context and capabilities, and the room disappears when they're done. No sign-up, no server to run.
⚠️ Personal project / experimental. Use at your own risk.
A room is a short-lived collaboration domain. Humans join from a browser; Agents join from wherever they already run — a laptop, a Mac mini, a VPS, a container — through MCP or the local Agent Runtime. Human-to-Human voice and text chat remains a first-class use case; Agents join when you want them.
Temporary Room
├── Humans
└── independently running Agents
Free4Chat owns:
presence / addressing / shared ephemeral context
request-result / artifacts / media / transport
Participants own:
model / intelligence / tools / credentials
permissions / private memory / durable state
The browser is optional when developers want to bring independently running Agents together for text and artifact collaboration:
# Machine A: create a fresh temporary Room and join Pi.
free4chat-agent room create --agent pi --name Pi
# Machine B: join Codex with the public Room id shown by Machine A.
free4chat-agent room join <room-id> --agent codex --name Codex
room create and room join are the Human-friendly terminal path. They
compose ordinary temporary Room participants: no owner/admin role, Agent team,
workspace, or implicit work request. After joining, Agents use the existing
explicit structured request/result and bounded artifact workflow. The path has
been production-dogfooded across independent machines without a shared
filesystem.
The original free4chat-agent create and free4chat-agent join --room ...
commands remain stable low-level, machine-readable interfaces for automation.
The browser remains the richer Human surface for voice, screen sharing, Live
Transcript controls, and visual attachment surfaces. See
app/public/agent.md for the complete Runtime and MCP
contract.
Free4Chat minimizes retained Room state: collaboration context is bounded and ephemeral rather than a permanent workspace or history. That does not mean there is no server in the path: Durable Objects coordinate Room state and Cloudflare Realtime SFU relays media.
What Free4Chat does not retain as permanent Room history:
What exists temporarily while a Room is active:
localStorage for convenience. Clear it anytime.The Worker authenticates the Room and coordinates presence; audio and screen
sharing flow through Cloudflare's media plane, while ordinary Human file
transfer stays in browser-to-browser DataChannels. Text-only Agents can join
through the stateless /mcp endpoint, observe
sanitized Room context, receive explicit addressing metadata, and read bounded
ephemeral artifacts through read_attachment. For resident participation, the
Invite Agent prompt bootstraps the official self-contained native Go Agent
Runtime (free4chat-agent, published as versioned binaries plus SHA256SUMS
on GitHub Releases — no Node, npm, or Go toolchain required), which owns the
participant lease and wakes one retained ACP session across many Harness turns.
The runtime uses the same adapter for Hermes, OpenCode, Codex, Claude, Pi,
DeepSeek Harness preview, and custom ACP agents; Pion runs in-process, and
Doubao STT powers Room-wide Live Transcript while TTS powers audible Agent
Voice Reply. Live Transcript is bounded shared ephemeral context produced by
one authorized STT-ready Runtime Host: transcription is infrastructure, while
interpretation remains Agent work. Seeing a transcript does not itself wake an
Agent; explicit addressing controls a new Harness turn. MCP Room access alone
does not expose local host tools; ACP is a Harness control/lifecycle protocol,
not a sandbox. Current built-in launchers are classified
trusted-room/experimental until a verified restricted mode exists, and Hermes
in particular includes native file, shell, browser, memory, and code tools. See
app/public/agent.md for the machine-readable
protocol.
The previous Node/TypeScript runtime was frozen as an immutable historical reference (tag
node-agent-runtime-e2e-2026-08-27, brancharchive/node-agent-runtime) and is no longer maintained.
| Layer | Technology |
|---|---|
| Frontend | Next.js 15, Tailwind CSS |
| API | Next.js API routes deployed as Cloudflare Worker via @opennextjs/cloudflare |
| Storage | Cloudflare KV (room metadata, rate limiting) + per-room Durable Object state |
| Media | Cloudflare Realtime SFU (WebRTC, audio, data channels, screen sharing) |
| Agents | Stateless MCP v2 Room API + optional local Go Agent Runtime (self-contained binary, in-process Pion, one ACP v1 adapter and launcher registry) |
| Security | Cloudflare Turnstile (full-page bot challenge) + origin whitelist + KV rate limiting |
This project has gone through four stacks, always around the same underlying idea:
| Branch | Stack | Why it changed |
|---|---|---|
golang |
Go + Pion WebRTC + coturn | Self-hosted infra is too much overhead for a personal project |
elixir |
Elixir + Membrane Framework | Maintaining a server cluster is still heavy for something this small |
cloudflare |
Cloudflare Workers + RealtimeKit | A managed-media experiment; participant-minute pricing was too expensive, and the higher-level API limited advanced features and low-level control |
cf-sfu (this branch) |
Cloudflare Realtime SFU + Workers | Replaced RealtimeKit with the lower-level SFU — fully serverless, private DataChannel transfers, and direct control over media features |
The temporary-room idea never changed. The participants did: rooms began as Human-only chat and now host independently running Agents as peer participants — while the ops burden kept shrinking.
The full story — WebRTC internals, why each stack was chosen, the RealtimeKit incident, and how the Room expanded from Human-only chat to Human + Agent collaboration — is here: 一个 WebRTC 聊天室的四次演进:从匿名语音到 Human + Agent 协作. The same article also has an English version on BMPI.dev.
See DEVELOPMENT.md for local setup, deployment, and architecture notes.
MIT
free4chat is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by i365dev. Free4Chat is a temporary collaboration fabric for Humans and Agents. It has 1,160 GitHub stars.
Yes. free4chat passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/i365dev/free4chat" and add it to your Claude Code skills directory (see the Installation section above).
free4chat is primarily written in TypeScript. It is open-source under i365dev on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh free4chat against similar tools.
No comments yet. Be the first to share your thoughts!