Skip to content

Latest commit

 

History

History
270 lines (201 loc) · 19.6 KB

File metadata and controls

270 lines (201 loc) · 19.6 KB

MulmoBridge ガイド — メッセージアプリから自宅PCのAIと話す

MulmoBridge とは?

あなたの自宅PCには、AI エージェント(Claude や GPT など)が動いています。文書を作ったり、スケジュールを管理したり、Wiki に知識をまとめたり。でも、あなたはいつも PC の前にいるわけではありません。

MulmoBridge は、スマホの TelegramLINESlack などのメッセージアプリから、自宅 PC の AI エージェントに安全にメッセージを送り、返答を受け取るための仕組みです。

あなたのスマホ                          自宅のPC
┌──────────────┐                    ┌─────────────────────┐
│  Telegram     │                   │  MulmoBridge        │
│  LINE         │  ── メッセージ ──→ │    ↓                │
│  Slack        │                   │  AIエージェント      │
│  Discord      │  ←── 返答 ──────  │  (Claude, GPTなど)  │
│  ...          │                   │    ↓                │
└──────────────┘                    │  あなたのファイル    │
                                    └─────────────────────┘

写真や PDF を送ることもできます。AI が画像を見て答えたり、文書を読んで要約したりできます。


なぜパッケージとして分離しているの?

MulmoBridge は元々 MulmoClaude の一部でしたが、「メッセージアプリとの接続」という機能は MulmoClaude 以外でも使えるべきだと考え、独立したパッケージとして切り出しました。

分離のメリット:

  1. どのAIツールでも使える — MulmoClaude に限らず、OpenAI の API を直接使うアプリや、LangChain ベースのツール、自作のエージェントでも接続できます
  2. 好きなメッセージアプリだけ使える — Telegram だけ使いたい人は Telegram パッケージだけインストールすればOK
  3. MIT ライセンス — 商用利用含め自由に使えます(MulmoClaude 本体・ブリッジ部分ともに MIT ライセンスです)
  4. 開発がしやすい — 各パッケージが小さく独立しているので、新しいメッセージアプリへの対応が簡単に追加できます

MulmoClaude での使い方

MulmoClaude は Web ブラウザで AI と対話するアプリですが、MulmoBridge を使うと外出先からも AI に指示を出せます。

基本的な流れ

  1. 自宅 PC で MulmoClaude を起動する (yarn dev)
  2. ブリッジを起動する — 使いたいメッセージアプリに対応するブリッジを1つ起動
  3. スマホからメッセージを送る — 普段使いのメッセージアプリで AI と会話

何ができるの?

  • 外出先から「今日のタスクを教えて」と聞く
  • 写真を送って「この書類を要約して」と頼む
  • 「明日の会議の資料を作っておいて」と指示する
  • Wiki に保存した情報を「先月の出張レポートどこだっけ?」と検索する
  • スケジュールの確認や追加

CLI ブリッジで試す(一番簡単)

ターミナルから直接 AI と会話できます。セットアップ不要で一番手軽です。

# MulmoClaude を起動した状態で
npx @mulmobridge/cli@latest

Telegram ブリッジで試す

  1. @BotFather で Bot を作成してトークンを取得
  2. Bot に話しかけて Chat ID を確認(@userinfobot で取得可能)
  3. ブリッジを起動:
TELEGRAM_BOT_TOKEN=your-bot-token \
TELEGRAM_ALLOWED_CHAT_IDS=your-chat-id \
  npx @mulmobridge/telegram@latest

詳しい設定: Telegram README


対応プラットフォーム一覧

プラットフォーム パッケージ 状態 設定の詳細
ターミナル (CLI) @mulmobridge/cli 安定 README
Telegram @mulmobridge/telegram 安定 README
Discord @mulmobridge/discord 実験的 README
Slack @mulmobridge/slack 実験的 README
LINE @mulmobridge/line 動作確認済み README
WhatsApp @mulmobridge/whatsapp 実験的 README
Matrix @mulmobridge/matrix 実験的 README
IRC @mulmobridge/irc 実験的 README
Mattermost @mulmobridge/mattermost 実験的 README
Zulip @mulmobridge/zulip 実験的 README
Facebook Messenger @mulmobridge/messenger 実験的 README
Google Chat @mulmobridge/google-chat 実験的 README
Mastodon @mulmobridge/mastodon 実験的 README
Bluesky @mulmobridge/bluesky 実験的 README
Chatwork @mulmobridge/chatwork 実験的 README
XMPP / Jabber @mulmobridge/xmpp 実験的 README
Rocket.Chat @mulmobridge/rocketchat 実験的 README
Signal @mulmobridge/signal 実験的 README
Microsoft Teams @mulmobridge/teams 実験的 README
Webhook (汎用 HTTP) @mulmobridge/webhook 実験的 README
SMS (Twilio) @mulmobridge/twilio-sms 実験的 README
Email (IMAP+SMTP) @mulmobridge/email 実験的 README
LINE Works @mulmobridge/line-works 実験的 README
Nostr @mulmobridge/nostr 実験的 README
Viber @mulmobridge/viber 実験的 README

「実験的」とは? テストが十分でなく、バグがある可能性があります。フィードバックをお待ちしています!


ダミーサーバーで試してみよう

MulmoClaude をインストールしなくても、ダミーサーバー を使えばブリッジの動作を確認できます。ダミーサーバーは送ったメッセージをそのまま返す(エコー)だけのシンプルなサーバーです。

ステップ 1: ダミーサーバーを起動

npx @mulmobridge/mock-server@latest

起動すると、接続用のトークンが表示されます(デフォルト: mock-test-token)。

ステップ 2: ブリッジを接続

別のターミナルを開いて:

# 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 を使う

MulmoBridge は MulmoClaude 専用ではありません。あなたの AI アプリにも組み込めます。

アーキテクチャ

メッセージアプリ  ←→  ブリッジ  ←→  chat-service  ←→  あなたのAIエージェント
  (Telegram等)      (@mulmobridge/   (@mulmobridge/     (何でもOK)
                      telegram等)      chat-service)

3つの層に分かれています:

  1. protocol — メッセージの形式を定義する型と定数
  2. chat-service — Express サーバーに組み込む socket.io サービス
  3. ブリッジ — メッセージアプリと 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 クライアントがあれば実装できます。


パッケージ全体像

メッセージング(@mulmobridge スコープ)

パッケージ 説明 ソース
@mulmobridge/protocol プロトコル型定義・定数 source
@mulmobridge/chat-service サーバー側 chat サービス source
@mulmobridge/client ブリッジ側クライアント source
@mulmobridge/mock-server テスト用ダミーサーバー source
@mulmobridge/cli CLI ブリッジ source
@mulmobridge/telegram Telegram ブリッジ source
@mulmobridge/discord Discord ブリッジ source
@mulmobridge/slack Slack ブリッジ source
@mulmobridge/line LINE ブリッジ source
@mulmobridge/whatsapp WhatsApp ブリッジ source
@mulmobridge/matrix Matrix ブリッジ source
@mulmobridge/irc IRC ブリッジ source
@mulmobridge/mattermost Mattermost ブリッジ source
@mulmobridge/zulip Zulip ブリッジ source
@mulmobridge/messenger Facebook Messenger ブリッジ source
@mulmobridge/google-chat Google Chat ブリッジ source
@mulmobridge/mastodon Mastodon ブリッジ source
@mulmobridge/bluesky Bluesky ブリッジ source
@mulmobridge/chatwork Chatwork ブリッジ source
@mulmobridge/xmpp XMPP / Jabber ブリッジ source
@mulmobridge/rocketchat Rocket.Chat ブリッジ source
@mulmobridge/signal Signal ブリッジ (signal-cli-rest-api 経由) source
@mulmobridge/teams Microsoft Teams ブリッジ (Bot Framework) source
@mulmobridge/webhook 汎用 HTTP webhook ブリッジ source
@mulmobridge/twilio-sms SMS (Twilio) ブリッジ source
@mulmobridge/email Email (IMAP+SMTP) ブリッジ source
@mulmobridge/line-works LINE Works (企業向け LINE) ブリッジ source
@mulmobridge/nostr Nostr 暗号化 DM ブリッジ source
@mulmobridge/viber Viber ブリッジ source

汎用ツール(@receptron スコープ)

パッケージ 説明 ソース
@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