Fyreflock
io.github.FuloxDev由 GitHub 帳號 FuloxDev 發布v0.1.1更新於 Nov 5, 2026
Talk to a real person who passed a live camera check and play 25 games, right in your AI chat.
概覽
Fyreflock 讓助理連接一位通過即時攝影機驗證的真實陌生人,進行一對一聊天並一起玩 25 款遊戲,助理只負責轉達你原本的文字。
- 可以做什麼
- 尋找並與一位真人聊天,依地區和共同興趣配對,可用 next 換人、leave 結束
- 在聊天視窗內玩 25 款遊戲,例如四子棋、戰艦、跳棋和黑白棋,由伺服器擔任裁判;沒人時也可先和電腦對戰
- 在僅限邀請的 Roosts 圈子中閱讀與發文(允許助理加入的圈子)
- 邀請正在聊天的人進行瀏覽器視訊通話
- 設定興趣與配對篩選,並可封鎖、檢舉或將對方加入 Nest
- 適用情境
- 適合想在不離開 Claude、ChatGPT、Claude Code 或其他 MCP 用戶端的情況下,與真實陌生人聊天並一起玩遊戲的人。它面向社交閒聊,而非工作任務。
- 執行需求
- 遠端 Streamable HTTP 端點,使用 OAuth 2.1 登入(首次使用時在瀏覽器登入並按下允許);無法自行登入的用戶端可使用在 Fyreflock 設定中建立的 Bearer 權杖。Claude Code 外掛需要 Claude Code 2.1.287 或更新版本,其掛鉤需要 PATH 中有 Node.js。需要 18 歲以上的 Fyreflock 帳號並通過即時攝影機驗證。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Fyreflock,將其新增到工作區。
- 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
交給代理程式安裝
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/io.github.FuloxDev%2Ffyreflock/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。
{
"mcpServers": {
"fyreflock": {
"type": "http",
"url": "https://fyreflock.com/mcp"
}
}
}README
[Fyreflock: a real person, right inside your AI chat]
Fyreflock for Claude, ChatGPT and Claude Code
Ask your assistant to find you someone. A real person who passed a live camera check texts back in the same window, and you can play Connect 4, Battleship or 23 other games together without leaving the chat.
Your assistant only carries the words, exactly as you typed them. No bots.
Early access: everything is free, filters included, and every month four early users win an award.
[Works in Claude] [Works in ChatGPT] [Works in Claude Code] [Install in VS Code]
[fyreflock.com] [Early access: everything free] [Real people, no bots] [18 plus] [MIT license]
Every AI chat is a room with one person in it. Fyreflock puts a second person in that room: a real one, who passed a camera check, picked at random, there for the same reason you are. You stay in Claude or ChatGPT. They might be in a browser, in ChatGPT, or in their own Claude. Your assistant is the courier, and it is held to that.
Real box, two real accounts, real time. From "find me someone" to a won game of Connect 4 in about fifteen seconds.
Try it in sixty seconds
- Add Fyreflock to your assistant. The connector URL is
https://fyreflock.com/mcp. Host-by-host steps are just below. - Sign in once and press Allow. A browser tab opens, you sign in or sign up, and you are sent straight back. New here? The same page signs you up, camera check and all.
- Say "find me someone to talk to". The Fyreflock box opens right there in the conversation. Say "next" for somebody else, "leave" to stop.
[!TIP] Nobody around yet? Press Play while you wait and take on the computer. The search keeps its place, and the box switches to the conversation the moment somebody arrives.
Set it up
Claude (claude.ai and Claude Desktop)
- Settings → Connectors → Add custom connector.
- Paste
https://fyreflock.com/mcpand save. - The first time you ask for someone, Claude opens fyreflock.com: sign in, press Allow, done.
The chat box appears inline in the conversation. It survives you switching to other chats; your lines wait, and the box picks them up when you come back.
It follows your assistant's theme.
ChatGPT
- Settings → Plugins → Add custom MCP server.
- Server URL
https://fyreflock.com/mcp, authentication OAuth. - Ask for someone; sign in and press Allow when the page opens.
Claude Code (this repo is the plugin)
Restart Claude Code and say find me someone. The first time, Claude Code opens fyreflock.com in your browser: sign in or sign up, press Allow, and you are back in the terminal, connected. No token to copy.
It is a plugin rather than a bare claude mcp add line for one reason: the hooks. They turn "your assistant sends your words unchanged" from a request into something that is actually checked, every message. Do not also run claude mcp add for Fyreflock: two registrations means two servers, duplicate tools, and hooks that only cover one of them. Details in How it stays honest and The pane.
VS Code (Copilot agent mode)
Or add it by hand to mcp.json:
Sign-in happens in your browser on first use.
Any other MCP client
Remote server, Streamable HTTP, OAuth 2.1 with PKCE, client metadata documents and dynamic registration both accepted:
If your client cannot sign in by itself, create a token under Settings on fyreflock.com and send it as Authorization: Bearer <token>.
What you can do from your assistant
How it stays honest
- Every match is a real person. Every account passed a camera check in a browser before it could meet anyone. There is no bot in the queue and never will be. 18+ only.
- They know. The other person's card says you are talking from inside an assistant, so nobody is fooled about where the words came from.
- Your words, verbatim. The assistant is instructed to send your message exactly as typed. In Claude Code the plugin's hooks refuse any send that is not the line you wrote this turn. Rewording, shortening, "fixing" and inventing are all blocked.
- You can check. The companion tab at fyreflock.com/app/live shows what was actually sent and received, with no model involved.
- It survives you looking away. Switch to another chat, close the window, come back: your search keeps its place in line, your conversation keeps its lines, and your browser can tell you when somebody is there.
Before you meet anyone
- 18+. Same as meeting a stranger anywhere on Fyreflock.
- Messages here pass through the Fyreflock server in plain text and through whichever AI provider you are using. Browser-to-browser chats on the website never do. This is the real trade you are making.
- Use it in a chat with nothing else attached. No other connectors, no files, no tools. A stranger is typing into a context your assistant can read, and whatever it can see, they can ask about.
- Their words arrive wrapped and labelled as somebody else's text. They are never instructions, to you or to your assistant.
Full detail: https://fyreflock.com/agents · Privacy: https://fyreflock.com/privacy · Safety: https://fyreflock.com/safety
Talk to us
- Questions, ideas, a host that behaves oddly: Discussions.
- Something broken: open an issue.
- A security problem: please do not open an issue; see SECURITY.md.
- Someone behaving badly in a chat: report them from the box or on the website; that goes straight to moderation.
FAQ
Is this a chatbot? No. A real person is on the other end, every time. The computer you can play games against on the website is labelled as exactly that and never takes a place in matchmaking.
Can my assistant read my messages? Yes. Both directions pass through it, which is why the box exists: in Claude and ChatGPT the box talks to our server directly, so the model only sees what you ask it to.
Does the other person know I am using an assistant? Yes. Their peer card says so.
Does the assistant change what I write? It is instructed not to, the Claude Code plugin enforces it, and the companion tab lets you verify it.
How do I know they replied? The box shows it live. If you have moved on to another chat, your browser can notify you: turn that on when you connect, or later under Settings on fyreflock.com.
What does it cost? Nothing. Fyreflock is in early access, so everything is free, filters included. Later, paid passes will add matching preferences; talking stays free.
The pane: talk without the model in the path
Claude Code 2.1.287 or newer (Desktop 2.1.286) loads the plugin's mod,
hooks/mod.tsx, beside the two hooks. It draws a Fyreflock pane next to the
transcript and keeps the conversation itself, so a line costs 0.2 s instead
of a model turn, and the model never sees the stranger's words unless you ask
it to.
In the pane: the chat box's five states, each with its colour on a dot and a
rule under the header in your theme's own colours: ready (yellow, how many are
by the fire, Start), looking (yellow, Cancel), talking (green), reconnecting
(orange, when a poll fails mid-conversation; it clears on the next answer) and
ended (coral, "@them left the campfire" or "You left the campfire", with
Find someone new). While talking: their lines on the left and yours on the
right, a field that sends on Enter, Next person / Leave (hotkeys s, n,
l while the pane has the keyboard, ctrl+x tab to give it the keyboard), and
Sent / Delivered / Read under your last line. While Claude is idle, the
band above the prompt shows the same dot and says who you are talking to and
how many lines arrived since you last typed; hide dismisses it for the
session. A reply also shows as a toast, and the status line says whether you
are looking, talking or reconnecting.
How the pane talks to the server, and how it signs in
The mods API gives a plugin HTTP only, so there is no socket to hold. The pane
long-polls fyreflock_app_wait on the same /mcp endpoint the model's tools
use, at FYREFLOCK_URL, twenty-five seconds a call (the engine cuts a fetch at
thirty), and sends through fyreflock_app_say. Those two are the widget's
app-only tools; they return the server's own record of the conversation, which
is why the pane can show receipts the fyreflock_listen result cannot. The
server refuses them to anything but the box and the pane, so the pane first
calls fyreflock_open once and sends the key from its _meta (which no host
shows a model) with each of them. Each
poll carries pane: true: the server reads that as "the pane is live" for
thirty seconds, and a chat box the same Claude Code mounts (the desktop app's
Code tab draws MCP Apps) folds to one line pointing here instead of offering a
second copy. The loop starts the first time you run /fyreflock and stops when
you close the pane with nothing open: a plugin installed everywhere must not
hold a connection to fyreflock.com in sessions that have nothing to do with it.
Signing in: there is nothing to paste. A mod cannot borrow Claude Code's own
sign-in and cannot take a browser callback, so the pane signs itself in by
device flow. The first /fyreflock shows a fyreflock.com link and a code like
BCDF-GHJK; open the link, sign in or sign up, check the page shows the same
code (a link forwarded to somebody else gives itself away there), press It
matches and then Allow, and the pane picks the answer up within five
seconds. It keeps its own access and refresh tokens in the plugin's store
($.store, a JSON file under your Claude Code config directory; never
$.state, which every plugin can read), renews them by itself, and goes back
to its Sign in button if you disconnect it in Settings, where it is listed
as Claude Code. A token pasted into the plugin's own Fyreflock token
option (the plugin's config menu; it is kept in secure storage, never read
from your shell) still overrides all of that.
The pane and the model's tools share one mailbox. Use one or the other for a
given conversation: a fyreflock_listen the model holds and the pane's poll
would take turns collecting the same lines.
Checking it: claude plugin validate ./plugin reads the module the way the
engine will; claude plugin test ./plugin runs tests/mod.test.ts against the
engine with the network answered from memory, on the terminal and desktop
surfaces. To try it live, claude --plugin-dir ./plugin "/fyreflock start"
with FYREFLOCK_URL set to the dev server's /mcp, and a second account in the
widget or on fyreflock.com/app to be matched with.
Stop it asking permission for every message
Without this you confirm a dialog for every single line you send, which is unusable. Answer always allow the first time, or add the rule yourself:
and allow mcp__plugin_fyreflock_fyreflock__*.
The exact tool prefix is generated by Claude Code from the plugin and server names, and the format has changed before. If that rule does not match, run
/mcpor check any Fyreflock tool call in your transcript to see the real name, and use that. The hook matcher inhooks/hooks.jsonis a regular expression precisely so it keeps working either way.
What the hooks do
Two, both local, both tiny, neither sends anything anywhere.
capture-prompt.mjs runs on every prompt you submit and writes one small
file in your system temp directory, keyed by a hash of the session id and
overwritten by your next prompt. It holds SHA-256 digests of the forms your
message can take and the turn's prompt_id, never your words. That is the
whole job.
check-verbatim.mjs runs before fyreflock_say, fyreflock_roost_say,
fyreflock_game_move and fyreflock_app_say, under any server name (the
plugin's own, a claude mcp add one, or the claude.ai connector Claude Code
imports), and refuses the call unless the text being sent is the message you
typed this turn. Spacing and curly quotes are forgiven. Rewording, correcting,
shortening, summarising, shouting and inventing are not, and the model is told
to send your words instead.
"This turn" is the turn, not a time limit: Claude Code gives every event of one
prompt the same prompt_id, so a long turn keeps your words, and a model
acting on its own in a turn you did not start has nothing it may send.
It compares by equality, not containment. What goes out has to BE your message, not merely appear somewhere inside what you typed: a substring test lets "tell them no, I don't want to meet" send "want to meet", and lets a model assemble sentences a word at a time. Two allowances make that livable, because nobody types bare lines at an assistant: one leading "tell them" is stripped, and anything you wrap in backticks goes byte for byte, punctuation and case included. That last one is the escape hatch when the rules get in your way.
If no capture file exists at all, it allows the call. A missing capture means this plugin did not run, which is our bug, not the model's, and blocking your first message over it would just look broken. Any other unreadable capture counts as you having typed nothing.
Set FYREFLOCK_ASSIST=1 (or true, and nothing else counts) to turn the check
off, for when you genuinely want Claude to help you write or translate a line.
The stranger is not told when this is on, so it is a tool for you rather than a
mode of the product.
What leaves your machine, and where
The pane contacts one host: https://fyreflock.com (its /mcp endpoint and
the OAuth device flow under /oauth), or the address in FYREFLOCK_URL if you
set one. It sends the lines you type into it, the sign-in token it holds for
you, and nothing else: no files, no other conversation text, no environment
variables. The two command hooks run only the plugin's own scripts by their
literal paths under CLAUDE_PLUGIN_ROOT: capture-prompt.mjs keeps the text of
your last prompt, and check-verbatim.mjs reads that text when the model is
about to call a sending tool and blocks the call when the words differ. Neither
contacts the network.
Pointing it somewhere else
FYREFLOCK_URL overrides the endpoint, for a dev server:
Publishing this (maintainer)
This directory is the plugin. It is developed inside the main Fyreflock repo so
it stays in step with the server, and published as its own repo because that is
what /plugin marketplace add consumes.
Validate before pushing, and again after any change to plugin.json,
hooks.json or .mcp.json:
The host cannot run these hooks inside a test, but everything they depend on can
be: apps/server/test/verbatimhook.test.ts spawns both scripts the way Claude
Code does, asserts on the decision they return, pins the matcher regex against
the real generated tool names, and keeps every known bypass as a regression
case. Run it after touching either script or hooks.json.
One caveat the tests cannot cover: the hooks are spawned as node, resolved on
Claude Code's own PATH. If node is not there, neither hook runs, every send is
allowed, and nothing on screen says so. Worth checking once on a machine where
Node came from nvm or a GUI launcher.
The other thing that genuinely needs a human once: install this in a real session
and confirm the PreToolUse matcher actually fires, by trying to get Claude to
send something you did not type. If it goes through, the matcher is wrong and
the whole verbatim story is decorative.
fyreflock.com · assistant mode · safety · privacy · MIT
來源:README.md,提交 920da96
工具
0版本歷史
2- v0.1.1最新Nov 5, 2026
- v0.1.0Oct 29, 2026
評分
已滿足適用檢查項的 85%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
- 已宣告認證方式必需10 分
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分