Ember は、チームのチャットを自分の Cloudflare アカウントの中で動かすオープンソースのアプリです。37signals のグループチャット Campfire を土台に、Cloudflare の Workers と Durable Objects で作り直したもので、ライセンスは MIT、GitHub のスターは約600(2026-11-10)です。部屋・スレッド・DM・検索・ファイル・Slack 互換の Webhook に加えて、@ember や自作の AI エージェントを会話の中で呼べます。

EmberのLaunchの部屋の画面。左に部屋とDMの一覧、中央にメンバーの会話とDeploy Botがステージングへのデプロイを伝えるカード、右にスレッドが開いている
Ember の部屋とスレッド(画面の人物と会話は pnpm seed が作る架空のチーム)。出典: NYLLON-SOFTWARE/ember-cloudflare の README(MIT)

30秒でわかる(2026-11-10)

  • ・何ができる:Slack のような部屋・スレッド・DM・検索・250MBまでのファイル共有。スマホにはインストールできる Web アプリ
  • ・何を代替する:Slack・Campfire。1人ごとの月額ではなく、Cloudflare のアカウント全体で $0 か月 $5
  • ・AI:AI Gateway 経由で Workers AI・Claude・GPT・Gemini を選び、@ember や自作のエージェントにメンションで答えさせる
  • ・注意:1クリックのデプロイで作られるビルド用トークンは権限が広い。デプロイ後に削る

AI エージェントを組む仕組みの全体像は AIエージェントフレームワーク比較2026|LangGraph・CrewAI・Dify等9種をStar数・実コードで検証 にまとめています。

Ember とは——Campfire を Cloudflare で作り直したチャット

HOW IT RUNSEmber の作り

チャットは全部自分の Cloudflare の中で動く

  1. Workers(入口)

    1つの Worker が画面と API を配る。push のたびに自動でデプロイ

  2. 部屋ごとの Durable Object

    接続・入力中の表示・メッセージを部屋ごとの SQLite に。静かな部屋は休止

  3. R2 にファイル

    1ファイル250MBまで。ダウンロードの料金はかからない

  4. AI Gateway 経由の @ember

    Workers AI の無料モデルか、Claude・GPT・Gemini。ログ・キャッシュ・上限は AI Gateway で

出典: NYLLON-SOFTWARE/ember-cloudflare の README と docs/self-hosting.md(2026-11-10 確認)

README は Ember を「完全に Cloudflare の上で動くリアルタイムのチャットアプリ」と説明しています。部屋ごとに1つの Durable Object があり、その部屋の接続・入力中の表示・メッセージを部屋ごとの SQLite に持ちます。誰も話していない部屋は休止するので、静かなワークスペースはほとんど資源を使いません。ファイルは R2 のバケットに置きます。

項目 内容(2026-11-10 時点)
開発・ライセンス NYLLON LLC・MIT(37signals の著作権表示も残る)
スター・フォーク 約600・43(コミット1,016件)
版 安定版 v0.4.2(11-08)、v0.5.0-beta.1(11-10、Pre-release)
動く場所 自分の Cloudflare アカウント(Workers・Durable Objects・R2、選べば D1)
対応端末 ブラウザ・インストールできる Web アプリ(プッシュ通知つき)

Campfire は 37signals が公開した MIT ライセンスのグループチャットで(★約4.8k)、Ember はその設計を土台に、独自のデザインで Workers 向けに組み直したとクレジットに書かれています。Slack と同じ書式の受信 Webhook を部屋ごとに持てるので、Alertmanager・Grafana・CI など、Slack に通知を送っている道具の送り先を Ember に変えるだけで使えます。

curl -H 'Content-Type: application/json' -d '{"text": "Deploy *finished* :tada:"}' <url>

docs/slack-webhooks.md の例です。Slack の書式(mrkdwn)・添付・Block Kit のカードも受け付け、Slack と同じく ok や invalid_payload を返すとしています。

AI で何ができるか——@ember と自作のエージェント

管理者がコミュニティの設定で Ember AI を有効にすると、@ember という AI アシスタントが全員に開かれた部屋に加わります。部屋・スレッド・DM で @ember とメンションすると、会話を読んで、リンク・箇条書き・コード・画像を交えてその場で答えます。モデルは Cloudflare の AI Gateway 経由で、Workers AI の無料のモデルから Claude・GPT・Gemini まで選べ、Claude か GPT ならウェブ検索をして出典のページも示します。考える長さ・書く長さは管理者が決め、各自がプロフィールで調整します。

管理者は、@ember とは別に、指示・モデル・部屋を決めた自作のエージェントを最大20体作れます(self-hosting.md)。長いスレッドを要約する係、サポートの部屋で返信の下書きを作る係といった使い方で、人と同じようにメンションや DM で呼びます。

  • 指示文(システムプロンプト)は最大1万字。self-hosting.md は「秘密ではない。尋ねればエージェントは繰り返しうるので、知られて困ることは書かない」と注意しています。
  • 名前は全員の中で重複できないので、人やボットがエージェントになりすますことはできない作りです。
  • API トークンの保管:AI Gateway に渡す Cloudflare の API トークンは、データベースの中で SESSION_SECRET から導いた鍵で AES-GCM で封をして保存されます(apps/worker/src/sealed.ts)。データベースの写しだけでは取り出せない、という設計です。

AI のログ・キャッシュ・使いすぎの上限は AI Gateway の側で効きます。Cloudflare の上でエージェントを動かす別の仕組みは Cloudflare OSとは|承認待ちで止まらないAIエージェント基盤の仕組みをソースで解説 で扱っています。

Ember の料金——1人ごとではなく、アカウントごと

ANNUAL COST25人で1年使った場合(README の試算)

Slack Pro の $2,175 に対し、Ember は $0〜$60

Slack Business+1人 $15/月・年払い

4500

Slack Pro1人 $7.25/月・年払い

2175

Ember(Workers Paid)アカウント全体で $5/月

60

Ember(Workers Free)1日あたりの上限内

0
出典: README の「What it costs」(Slack の料金は2026年10月の slack.com/pricing として)。AI の利用料・上限超過分は含まない

Ember 自体は無料で、払うのは Cloudflare の利用料です。README の試算は次のとおりです(Slack の料金は2026年10月の公式ページの年払いとして)。

規模(1年) Slack Pro Slack Business+ Ember
25人 $2,175 $4,500 Workers Free なら $0、Workers Paid なら $60
100人 $8,700 $18,000 Workers Paid の $60+上限を超えた分

Workers Free の上限は1日ごとで、使い切るとその日の協定世界時の0時まで新しいメッセージを保存できなくなります。README は、チームが大きくなる前に Workers Paid に移るよう勧めています。ファイルは R2 で10GBまで無料、メールは Resend の無料枠、AI は Workers AI の1日1万 Neurons まで無料で、他社のモデルは AI Gateway のクレジットで払います。

デプロイ——1クリックの後で権限を削る

DEPLOY SAFELY1クリックのデプロイで忘れがちなこと

デプロイ後にビルド用トークンの権限を削る

  1. 1

    R2 を有効にしてボタンを押す

    Worker・バケット・データベースの名前と、セットアップ用のパスワードを決める

  2. 2

    パスワードで管理者を作る

    最初の設定はパスワードを知る人だけ。10分に10回までの試行制限つき

  3. 3

    ビルド用トークンを削る

    自動で作られるトークンは全 Worker・全 R2 などを編集できる。必要な4つ(D1 なら5つ)に絞る

  4. 4

    更新のワークフローを足す

    新しい版は PR で届き、マージするとデプロイ。.github はコピーされないので自分で足す

出典: README の Get started と docs/self-hosting.md の「The build's token」「Security notes」(2026-11-10 確認)

README の手順は、R2 を有効にして「Deploy to Cloudflare」のボタンを押すと、Cloudflare が Ember を自分の GitHub か GitLab に写し、Worker・バケット・データベースの名前とセットアップ用のパスワードを聞いてデプロイする、というものです。以後は自分の写しに push するたびにデプロイされ、Ember の新しい版はプルリクエストで届きます。

見落としやすいのは、このとき自動で作られるビルド用の API トークンです。self-hosting.md は、このトークンがアカウント内のすべての Worker・R2 バケット・KV・D1・キューなど、さらに所属するすべてのアカウントのゾーンのルートや証明書まで編集できると書いています。Ember のビルドに要るのは Workers Scripts・Account Settings・User Details・Memberships の4つ(D1 を選んだら D1 も)だけなので、デプロイ後に絞るよう案内されています。同じアカウントでほかのサービスを動かしているなら、なおさら先に済ませたい作業です。

手元で試すだけなら、README の手順はこうです(当サイトでは実行していません)。

pnpm install
pnpm build      # wrangler が配る画面のファイルを一度作る
pnpm dev        # http://localhost:5173 で Ember が開く
pnpm seed       # 別のターミナルで、架空のチームが会話を始める

自分の端末から本番にデプロイする場合は、pnpm run deploy を使い、セットアップ用のパスワードは Wrangler の秘密として入れます。

pnpm run deploy
pnpm exec wrangler secret put EMBER_SETUP_PASSWORD

セキュリティの面では、厳しい Content-Security-Policy、scrypt でのパスワードのハッシュ、セットアップはパスワードを知る人だけ(10分に10回まで)、メンバーを外すと1分以内にセッションが切れる、といった作りが self-hosting.md に書かれています。

Ember が向く人・向かない人

向く 向かない
人数で料金が増えるのを避けたい小〜中規模のチーム・コミュニティ アプリ連携やワークフローに深く頼っている
会話とファイルを自分のアカウントに置きたい 他社との共有チャンネルやゲストが要る
Slack 宛ての通知をそのまま流したい開発チーム 全メッセージのエクスポートが今すぐ要る

README 自身が「ハドル・ワークフロー・100の連携の中で暮らしているチームなら、Slack は値段に見合う」と書いています。Ember は、日常のチャットの中心を、自分で持てる形で軽く動かしたい人向けです。v0.5.0 のベータでは音声通話(huddles)と AI エージェントの API が入り、機能は増え続けています。Cloudflare のエージェント関連の取り組みとしては、CloudflareのAIコードレビューシステム解剖|7専門エージェント並列実行の仕組みと実績 もあります。

参照ソース