Token导航 LogoToken导航

MCP Server · AI代理

Unified Channel Hub

一个支持多种通信渠道(IM、Email、Voice、Calendar、IoT)的统一API库,可用于远程服务管理、AI聊天代理和客户支持机器人等场景。

stdio官方级别未说明来源级核验工具 5
PythonClaudeAI代理

快速开始

作者 / 组织
gambletan
提供方
gambletan

工具数量

5

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Unified Channel Hub 属于AI代理类 MCP Server,公开资料标注 5 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

AI代理

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

pip install unified-channel[telegram]

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 5 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

统一频道

个人人工智能助理的通信层-在一个统一的API中的IM、电子邮件、语音、日历、物联网。Python+TypeScript+Java+Rust。

5个类别的27个适配器。ServiceBridge、对话记忆、丰富的输出和流媒体。不是聊天机器人平台,而是你的图书馆 pip install / npm install /Maven添加/ cargo add 进入 你的 项目和电话 manager.run().

为什么存在

项目它是什么差距
OpenClaw/Nanobot完整的AI代理框架如果你只需要消息传递,那就太重了。你会得到一个完整的运行时、配置系统和固执己见的代理循环。
Botpress/Hexabot聊天机器人平台不可嵌入。你在里面建造 *他们的* 平台,不是你的。
语言机器人AI到IM桥没有ServiceBridge(远程功能控制),没有对话内存,没有丰富的输出,没有流媒体。
统一频道您在项目中嵌入的轻量级库这就是重点——没有差距。

统一渠道为您提供了消息传递管道,因此您可以专注于您的实际逻辑:服务管理、人工智能代理、警报、客户支持、社区机器人等等。

功能亮点

功能它的作用
27个适配器,5个类别即时通讯:Telegram、Discord、Slack、WhatsApp、iMessage、Matrix、Teams、LINE、Feishu、Mattermost、谷歌聊天、Nextcloud、Synology、Zalo、Nost、BlueBubbles、Twitch、IRC· 电子邮件Gmail/IMAP 语音:提里奥之声· 短信:Twilio短信· 日历:谷歌日历· 物联网:家庭助理
服务桥将任何功能显示为聊天命令。您的手机将成为您服务的遥控器。
会话记忆每个用户/每个频道的对话历史记录。在内存中,SQLite或Redis后端。
RichReply发送按钮、旋转木马、图像、文件——在不支持它们的平台上自动降级。
流媒体为长时间运行的响应键入指示符+分块消息传递。
MCP 服务器AI代理(Claude、GPT、本地LLM)通过标准MCP工具调用控制您的服务。
4种语言Python,TypeScript,Java,Rust-相同的架构,相同的API形状。

核心价值:口袋里的远程控制面板

任何服务+统一渠道=通过IM进行完全远程管理。

你在某个地方运行着一个服务——一个部署管道、一个监控栈、一个家庭自动化系统、一个GPU集群。你想检查它,重启东西,查看日志,运行命令——但你在手机上,在火车上,在吃饭的时候。

通过统一渠道 ServiceBridge,您可以在4行中将服务功能作为聊天命令公开:

from unified_channel import ChannelManager, ServiceBridge
from unified_channel.adapters.telegram import TelegramAdapter

manager = ChannelManager()
manager.add_channel(TelegramAdapter("BOT_TOKEN"))

bridge = ServiceBridge(manager)
bridge.expose("deploy", deploy_service, description="Deploy service")
bridge.expose("logs", get_logs, description="View logs")
bridge.expose("restart", restart_service, description="Restart service")
bridge.expose("metrics", get_metrics, description="View metrics")

await manager.run()

现在,通过您的手机(Telegram、Discord、任何地方):

/deploy prod v2.1     → ✅ deployed to prod
/logs api --tail 50   → [last 50 log lines]
/restart worker-3     → ✅ restarted
/metrics              → CPU: 23% | Mem: 4.2GB | QPS: 1.2k

这不是聊天机器人框架。 它是您的服务的远程控制平面,恰好使用IM作为传输方式。你的手机成为任何你可以为其编写Python/TypeScript/Java函数的终端。

由于它支持MCP,AI代理也可以控制你的服务——与MCP工具相同的公开功能。

┌──────────────────────────────────────────────┐
│               unified-channel                │
│                                              │
│  Your Phone (IM)  ──→  ServiceBridge  ──→  Your Service
│  AI Agent (MCP)   ──→  MCP Server    ──→  Functions
│                                              │
│  Telegram │ Discord │ Slack │ WhatsApp       │
│  iMessage │ Matrix  │ Teams │ LINE           │
│  Feishu   │ Mattermost │ Google Chat         │
│  Nextcloud│ Synology│ Zalo  │ Nostr          │
│  BlueBubbles │ Twitch │ IRC                  │
└──────────────────────────────────────────────┘

对话记忆

使用可插拔后端跟踪每个用户、每个通道的对话历史记录:

from unified_channel import ChannelManager, ConversationMemory
from unified_channel.memory import SQLiteBackend

manager = ChannelManager()
memory = ConversationMemory(backend=SQLiteBackend("conversations.db"))
manager.add_middleware(memory)

@manager.on_message
async def handle(msg):
    history = await memory.get_history(msg.sender_id, limit=10)
    # Pass history to your LLM, search engine, or custom logic
    return generate_response(msg.content.text, history)

后端: InMemoryBackend (默认), SQLiteBackend, RedisBackend每个都存储了带有发送者、通道、时间戳和元数据的消息。

丰富的回复

发送跨平台自动降级的结构化内容:

from unified_channel import RichReply

reply = (
    RichReply("Here are your options:")
    .add_buttons(["Approve", "Reject", "Defer"])
    .add_image("", alt="CPU usage graph")
    .set_footer("Reply within 24h")
)
return reply

在Telegram上:内联键盘按钮+图像。在Slack上:Block Kit。IRC上:带有编号选项的纯文本。每个适配器都将丰富的元素映射到最佳的可用平台原语——没有手动的每个平台逻辑。

流媒体

长时间的回复会得到打字指示和分块交付,而不是尴尬的沉默:

from unified_channel import StreamingReply

async def handle(msg):
    stream = StreamingReply(msg)
    await stream.start_typing()

    async for chunk in call_llm_streaming(msg.content.text):
        await stream.send_chunk(chunk)

    await stream.finish()

在支持就地编辑的平台上(Telegram、Discord、Slack):消息实时更新。在其他方面:块被分批处理,并以合理的间隔发送。打字指示器在间隙期间自动发送。

快速开始

python

pip install unified-channel[telegram]
from unified_channel import ChannelManager, CommandMiddleware
from unified_channel.adapters.telegram import TelegramAdapter

manager = ChannelManager()
manager.add_channel(TelegramAdapter("BOT_TOKEN"))

commands = CommandMiddleware()

@commands.command("status")
async def status(msg):
    return "Agent is running!"

manager.add_middleware(commands)
manager.on_message(lambda msg: f"Echo: {msg.content.text}")

await manager.run()

TypeScript

npm install unified-channel grammy
import { ChannelManager, CommandMiddleware } from "unified-channel";
import { TelegramAdapter } from "unified-channel/adapters/telegram";

const manager = new ChannelManager();
manager.addChannel(new TelegramAdapter("BOT_TOKEN"));

const commands = new CommandMiddleware();
commands.command("status", async () => "Agent is running!");

manager.addMiddleware(commands).onMessage(async (msg) => `Echo: ${msg.content.text}`);

await manager.run();

Java


  io.github.gambletan
  unified-channel
  0.1.0
var manager = new ChannelManager();
manager.addChannel(new TelegramAdapter("BOT_TOKEN"));

var commands = new CommandMiddleware();
commands.command("status", msg -> HandlerResult.text("Agent is running!"));

manager.addMiddleware(commands);
manager.onMessage(msg -> HandlerResult.text("Echo: " + msg.content().text()));
manager.run();

建筑

Incoming Message → [Middleware 1] → [Middleware 2] → ... → [Fallback Handler]
                                                                  ↓
                              Adapter.send() ← reply (string or OutboundMessage)

核心概念:

  • 通道适配器:每个平台一个。处理连接/断开、消息解析、发送。
  • 中间件:在处理程序之前拦截消息。将它们链接起来进行访问控制、命令路由、日志记录、速率限制。
  • 渠道经理:协调一切。注册适配器,添加中间件,设置处理程序,调用 run().

功能对比

|功能|统一频道|OpenClaw|Botpress|LangBot| |---------|:-:|:-:|:-:|:-:| |可嵌入库| 是 |否(完全代理)|否(平台)|部分| |频道计数| 27 | 18 | 4 | 10 | |ServiceBridge(远程控制)| 是 |否|否|否| |对话记忆| 是 |是|是|否| |丰富回复(自动降级)| 是 |部分|是|否| |流媒体输出| 是 |是|否|否| |MCP服务器| 是 |否|否|否| |Python+TypeScript+Java+Rust| 是 |仅限TS |仅限TS |仅限Python| |无需付款| 是 |否|否|否|

支持的频道

通道协议PythonTypeScriptJava
TelegramBot API(轮询)是是否
Discord网关WebSocketYesYes是
松弛套接字模式是是有
WhatsApp云API/WhatsApp-web.js是是存根
iMessagemacOS SQLite+AppleScript是是存根
矩阵客户端-服务器API是是存根
MS Teams机器人框架是是存根
LINE消息API是是存根
飞树/云雀活动订阅是是存根
MattermostWebSocket+REST是是有
谷歌聊天服务帐户是是存根
Nextcloud TalkREST轮询是是存根
Synology聊天Webhook是是存根
ZaloOA API是是存根
NostrNIP-04 DM是是存根
BlueBubblesREST轮询是是存根
TwitchIRC/TMI是是存根
IRC原始IRC是是有
电子邮件(Gmail/IMAP)IMAP+SMTP是是存根
Twilio短信REST+Webhook是是存根
Twilio VoiceREST+Webhook是是存根
Google日历REST API v3是是存根
主助手WebSocket API是是存根

用例

  • 远程服务管理 (主要):管理部署、查看日志、重启服务、检查指标——所有这些都可以通过Telegram/Discord/Slack从您的手机上完成。 ServiceBridge 将任何一组功能转换为远程控制面板。
  • GPU集群/ML操作:监控训练作业、检查GPU利用率、取消运行、从手机聊天中提取结果。
  • 物联网/家庭自动化:控制智能家居设备,检查传感器读数,通过iMessage、Telegram或任何渠道触发例程。
  • AI聊天代理:从一个代码库跨多个平台部署LLM驱动的代理。
  • DevOps警报:同时向Slack、Discord和Mattermost广播CI/CD、监控和事件警报。
  • 客户支持机器人:跨Telegram、WhatsApp、LINE和网络聊天的统一收件箱。
  • 社区管理:服务于Discord、Telegram和Matrix社区的单一机器人逻辑。

MCP服务器(用于AI代理)

任何与MCP兼容的代理都可以作为工具控制消息通道:

{
  "mcpServers": {
    "unified-channel": {
      "command": "npx",
      "args": ["@unified-channel/mcp-server"],
      "env": {
        "UC_TELEGRAM_TOKEN": "your-bot-token",
        "UC_DISCORD_TOKEN": "your-bot-token"
      }
    }
  }
}

可用工具: send_message, broadcast_message, get_channel_status, list_channels, get_recent_messages

看 mcp服务器/README.md 查看完整文档。

项目结构

unified-channel/
├── python/          # Python implementation (pip install)
├── typescript/      # TypeScript/Node.js implementation (npm install)
├── java/            # Java implementation (Maven)
├── rust/            # Rust implementation (cargo add)
├── mcp-server/      # MCP server for AI agents
├── .github/
│   ├── workflows/   # CI for all languages
│   └── PULL_REQUEST_TEMPLATE.md
└── CONTRIBUTING.md

贡献

看 贡献.md 作为指导方针。我们欢迎以下PR:

  • 新的通道适配器(特别是Java存根到完整实现)
  • 中间件添加(速率限制、日志记录、i18n)
  • Bug修复和文档改进
  • 针对特定语言的改进

许可证

麻省理工学院

工具与能力

工具数量

5

资源数量

0

提示词数量

0

能力标签

通信中间件Python本地部署多平台集成远程控制AI代理服务管理

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 5 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Unified Channel Hub

MCP World · 本页

5stdio有1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Unified Channel Hub 怎么安装?

公开资料给出的安装命令是 pip install unified-channel[telegram],运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Unified Channel Hub 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Unified Channel Hub 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Unified Channel Hub 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Unified Channel Hub 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP