あなたの自宅PCには、AI エージェント(Claude や GPT など)が動いています。文書を作ったり、スケジュールを管理したり、Wiki に知識をまとめたり。でも、あなたはいつも PC の前にいるわけではありません。
MulmoBridge は、スマホの Telegram や LINE、Slack などのメッセージアプリから、自宅 PC の AI エージェントに安全にメッセージを送り、返答を受け取るための仕組みです。
あなたのスマホ 自宅のPC
┌──────────────┐ ┌─────────────────────┐
│ Telegram │ │ MulmoBridge │
│ LINE │ ── メッセージ ──→ │ ↓ │
│ Slack │ │ AIエージェント │
│ Discord │ ←── 返答 ────── │ (Claude, GPTなど) │
│ ... │ │ ↓ │
└──────────────┘ │ あなたのファイル │
└─────────────────────┘
写真や PDF を送ることもできます。AI が画像を見て答えたり、文書を読んで要約したりできます。
MulmoBridge は元々 MulmoClaude の一部でしたが、「メッセージアプリとの接続」という機能は MulmoClaude 以外でも使えるべきだと考え、独立したパッケージとして切り出しました。
分離のメリット:
- どのAIツールでも使える — MulmoClaude に限らず、OpenAI の API を直接使うアプリや、LangChain ベースのツール、自作のエージェントでも接続できます
- 好きなメッセージアプリだけ使える — Telegram だけ使いたい人は Telegram パッケージだけインストールすればOK
- MIT ライセンス — 商用利用含め自由に使えます(MulmoClaude 本体・ブリッジ部分ともに MIT ライセンスです)
- 開発がしやすい — 各パッケージが小さく独立しているので、新しいメッセージアプリへの対応が簡単に追加できます
MulmoClaude は Web ブラウザで AI と対話するアプリですが、MulmoBridge を使うと外出先からも AI に指示を出せます。
- 自宅 PC で MulmoClaude を起動する (
yarn dev) - ブリッジを起動する — 使いたいメッセージアプリに対応するブリッジを1つ起動
- スマホからメッセージを送る — 普段使いのメッセージアプリで AI と会話
- 外出先から「今日のタスクを教えて」と聞く
- 写真を送って「この書類を要約して」と頼む
- 「明日の会議の資料を作っておいて」と指示する
- Wiki に保存した情報を「先月の出張レポートどこだっけ?」と検索する
- スケジュールの確認や追加
ターミナルから直接 AI と会話できます。セットアップ不要で一番手軽です。
# MulmoClaude を起動した状態で
npx @mulmobridge/cli@latest- @BotFather で Bot を作成してトークンを取得
- Bot に話しかけて Chat ID を確認(@userinfobot で取得可能)
- ブリッジを起動:
TELEGRAM_BOT_TOKEN=your-bot-token \
TELEGRAM_ALLOWED_CHAT_IDS=your-chat-id \
npx @mulmobridge/telegram@latest詳しい設定: Telegram README
「実験的」とは? テストが十分でなく、バグがある可能性があります。フィードバックをお待ちしています!
MulmoClaude をインストールしなくても、ダミーサーバー を使えばブリッジの動作を確認できます。ダミーサーバーは送ったメッセージをそのまま返す(エコー)だけのシンプルなサーバーです。
npx @mulmobridge/mock-server@latest起動すると、接続用のトークンが表示されます(デフォルト: mock-test-token)。
別のターミナルを開いて:
# CLI ブリッジ(一番簡単)
MULMOCLAUDE_AUTH_TOKEN=mock-test-token npx @mulmobridge/cli@latest
# Telegram ブリッジ
MULMOCLAUDE_AUTH_TOKEN=mock-test-token \
TELEGRAM_BOT_TOKEN=your-bot-token \
TELEGRAM_ALLOWED_CHAT_IDS=your-chat-id \
npx @mulmobridge/telegram@latestメッセージを送ると [echo] あなたのメッセージ と返ってきます。スラッシュコマンド(/help, /roles, /status)も試せます。
ダミーサーバーの詳細: mock-server README
MulmoBridge は MulmoClaude 専用ではありません。あなたの AI アプリにも組み込めます。
メッセージアプリ ←→ ブリッジ ←→ chat-service ←→ あなたのAIエージェント
(Telegram等) (@mulmobridge/ (@mulmobridge/ (何でもOK)
telegram等) chat-service)
3つの層に分かれています:
- protocol — メッセージの形式を定義する型と定数
- chat-service — Express サーバーに組み込む socket.io サービス
- ブリッジ — メッセージアプリと chat-service をつなぐ小さなプログラム
import express from "express";
import { createServer } from "http";
import { createChatService } from "@mulmobridge/chat-service";
const app = express();
const server = createServer(app);
const chatService = createChatService({
// あなたの AI エージェント
startChat: async ({ text }) => {
const reply = await myAgent.run(text);
return { reply };
},
// 最小限の設定(詳細は chat-service の README を参照)
onSessionEvent: () => {},
loadAllRoles: async () => [{ id: "default", name: "Assistant" }],
getRole: async () => ({ id: "default", name: "Assistant" }),
defaultRoleId: "default",
transportsDir: "/tmp/transports",
logger: console,
});
app.use(chatService.router);
chatService.attachSocket(server);
server.listen(3001);
// → これで Telegram, Slack, CLI 等のブリッジから接続できる!既存のメッセージアプリ以外にも対応したい場合、ブリッジは ~100 行で書けます:
import { createBridgeClient } from "@mulmobridge/client";
const client = createBridgeClient({ transportId: "my-app" });
// メッセージを受けたら AI に転送
const ack = await client.send(chatId, userText);
if (ack.ok) {
await replyToUser(chatId, ack.reply);
}詳しくは Bridge Protocol を参照してください。TypeScript 以外(Python, Go など)でも socket.io 4.x クライアントがあれば実装できます。
| パッケージ | 説明 | ソース |
|---|---|---|
| @receptron/task-scheduler | 永続化対応タスクスケジューラー | source |
新しいブリッジ(Discord, Slack, LINE, WhatsApp, Matrix, IRC)はまだ十分にテストできていません。
- 試してくれた方: Issue で教えてください!動いた・動かなかった、どちらの報告も助かります
- バグを見つけた方:
--verboseオプション(ダミーサーバー)のログを貼ってもらえると原因特定しやすいです - 新しいプラットフォームが欲しい方: Issue でプランを提案してください。貢献の流れは developer.md を参照
GitHub: https://github.com/receptron/mulmoclaude npm: https://www.npmjs.com/org/mulmobridge