telegram-agent-router は何をしますか?
マルチエージェントTelegramボットアーキテクチャ。PostgreSQLネイティブ状態。Claudeスキル。
概要
このスキルは、複数のAIエージェントをTelegram上でルーティング・管理するためのフレームワークを提供します。PostgreSQLを状態ストアとして使用し、エージェント間のセッション状態やコンテキストを永続的に保持します。
特徴
- マルチエージェントルーティング: Telegramからのメッセージを適切なエージェントにルーティングします。
- PostgreSQLネイティブ状態: 状態管理にPostgreSQLのテーブルとトランザクションを直接使用します。
- 簡単な設定: 環境変数と設定ファイルのみで動作します。
- スケーラブル: 複数のエージェントを並列実行可能。
クイックスタート
必要条件
- Node.js 18+
- PostgreSQL 14+
- Telegram Bot Token
インストール
git clone https://github.com/Thanane15M/telegram-agent-router
cd telegram-agent-router
npm install
設定
環境変数を設定します:
export TELEGRAM_BOT_TOKEN="your-telegram-bot-token"
export DATABASE_URL="postgresql://user:password@localhost:5432/agentsdb"
export AGENT_REGISTRY_URL="http://localhost:4000"
データベースのセットアップ
psql $DATABASE_URL -f schema.sql
起動
npm start
アーキテクチャ
Telegram User
|
Telegram Bot (受信)
|
Router (メッセージルーティング)
|
+-----+-----+-----+
| | | |
A1 A2 A3 A4 (エージェント)
| | | |
+-----+-----+-----+
|
PostgreSQL (状態ストア)
エージェントの定義
エージェントはJSON設定ファイルで定義します:
{
"agents": [
{
"name": "code-reviewer",
"description": "コードレビューを担当",
"model": "claude-sonnet-4-20250514",
"systemPrompt": "あなたはコードレビュー専門のエージェントです。..."
},
{
"name": "data-analyst",
"description": "データ分析を担当",
"model": "claude-sonnet-4-20250514",
"systemPrompt": "あなたはデータ分析専門のエージェントです。..."
}
]
}
PostgreSQLスキーマ
CREATE TABLE agents (
id SERIAL PRIMARY KEY,
name TEXT UNIQUE NOT NULL,
description TEXT,
config JSONB NOT NULL,
created_at TIMESTAMP DEFAULT NOW()
);
CREATE TABLE sessions (
id SERIAL PRIMARY KEY,
agent_id INTEGER REFERENCES agents(id),
user_id BIGINT NOT NULL,
state JSONB NOT NULL DEFAULT '{}',
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
CREATE TABLE messages (
id SERIAL PRIMARY KEY,
session_id INTEGER REFERENCES sessions(id),
role TEXT NOT NULL,
content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT NOW()
);
API
POST /api/register-agent- エージェントの登録POST /api/route- メッセージのルーティングGET /api/sessions- セッション一覧GET /api/agents- エージェント一覧
ライセンス
MIT