SuperAPI AI 工具集

caspian-sdk

Caspian 是一个开源 AI 智能体通信 SDK,为 AI Agent 提供统一的通信层,支持电子邮件、WhatsApp、Slack、Discord、Telegram、SMS 等渠道,提供 Python 与 TypeScript 两种实现。其核心思路是把渠道当作传输方式而非独立身份:智能体的推理决定说什么,Caspian 负责它如何在 Slack、Discord、Telegram、邮件、WhatsApp、X、Linear 等平台上存在。开发者只需为每个渠道调用一次 channels.add(),即可用声明式规则统一处理线索(threading)、webhook 验证与各平台特性。Caspian 处理的主要是「智能体对人」的通信,而非 A2A、ACP 那样的智能体对智能体协议。

访问官网

工具介绍

用途

Caspian 是面向 AI 智能体的开源通信 SDK。项目定位明确指出,大多数智能体通信工作是「智能体对人」而非「智能体对智能体」:A2A、ACP 等协议负责连接智能体彼此,Caspian 则负责把你的智能体连接到它所服务的人,并让对方在已经在用的渠道上收到消息。

主要能力

  • 统一渠道接口:每个渠道只需一次 channels.add() 调用,处理规则保持不变;智能体的处理代码面向归一化的 Thread / Message 模型。
  • 多渠道支持:官方说明提到电子邮件、WhatsApp、Slack、Discord、Telegram、SMS,正文中亦列出 Slack、Discord、Telegram、email、WhatsApp、X、Linear 等;托管模式覆盖网关支持的任何渠道(包括 Bluesky、Instagram 以及没有本地适配器的渠道)。
  • 托管或自托管:via="hosted"(默认)使用位于 https://api.trycaspianai.com 的 Caspian 网关,设置 CASPIAN_API_KEY,可选 CASPIAN_BASE_URL;via="self-host" 在你的进程中使用你的平台令牌运行适配器。切换模式无需重写处理函数。
  • 声明式规则:例如 @cx.on_message({"channel": "telegram", "command": "help"}),支持按渠道、聊天类型、命令、重叠策略等过滤以及即时确认;cx.app.rules 是可检查、可离线测试的数据。
  • Webhook 验证:支持 Slack 签名密钥、Meta X-Hub-Signature-256、Telegram 密钥头、X CRC 以及已签名的电子邮件 webhook;不匹配会被拒绝。
  • 离线测试替身:适配器消费各平台真实负载结构,Python + TypeScript 共 650+ 项测试,CI 中零网络调用。
  • 消息能力:thread.typing()、thread.stream()(先发布、随写入编辑)、thread.send_media()、thread.send_blocks()、表情回应、置顶、转发和冷启动私信(cold DMs)。
  • 模型工具:cx.tools(thread) 暴露 Command 目录(post、react、send-photo 等),schema 由内核派生,与你处理函数使用的 API 相同。
  • 按渠道引入(TypeScript):可单独导入 caspian-sdk/telegram、caspian-sdk/discord、caspian-sdk/slack 等,只取 parse/plan/execute,而无需拉入整个门面。
  • Socket 入站(Discord、Slack):无需公开 URL,通过 cx.listen("discord") 或 cx.listen("slack") 使用长连接 websocket(需可选附加包 caspian-sdk[discord])。

使用方式

  • 若在编码智能体(Claude Code、Codex、Cursor、Kimi 等)中使用,可粘贴其提供的提示,让智能体读取实时指南 /SKILL.md 并完成整个集成;这是最快的路径。
  • 手动设置:先从 dashboard.trycaspianai.com 获取 API 密钥。
  • 托管模式:Caspian 网关负责入站,你的进程轮询事件,使用 cx.run()。
  • 自托管模式:使用你自己的进程、令牌,无网关轮询,配合 via="self-host"。
  • 新增一个渠道就是再调用一次 channels.add(),处理规则不变。
  • 重写版 CLI 位于 packages/cli(TypeScript + Bun),是同一 SDK 表面的轻客户端:catalog 负责发现,call 负责调用;完整命令表见 packages/cli/README.md。
  • 仓库提供每个渠道一个文件夹的可运行示例,共享处理函数位于 app.py / app.ts;并包含按命令与聊天类型过滤、流式回复、回调按钮、通过 thread.send_blocks() 发送块(Slack Block Kit、Discord embeds、Telegram 键盘等按渠道渲染最佳形态,纯文本渠道自动降级)等示例。

适用场景

  • 客户支持智能体:在电子邮件、Slack、Instagram DM 或客户开启会话的任何地方应答,并在不丢失上下文的情况下转交人工。
  • 销售与线索跟进:在线索使用的渠道首次触达,在他们真正会回复的地方跟进。
  • 个人 / 高管助理:一个助理身份覆盖邮件、Telegram 和 Slack,而不是三个彼此断开的机器人。
  • 社区与产品机器人:同一智能体出现在你的 Discord、Slack 社区和成员私信中。
  • OpenClaw 智能体:clawhub install @trycaspian/caspian(该 skill)可教智能体自行接线;openclaw-caspian 是原生渠道插件。
  • OpenCode 智能体:caspian-opencode-plugin 将 Caspian 的 email / Telegram / Discord 桥接进 OpenCode 会话,详见 packages/opencode。

限制与说明

  • X 不免费:DM 发送/接收需要你的 X 开发者应用拥有付费 X API 订阅(免费层为只写且有额度限制)。
  • GSM 调制解调器 SMS:需要你自己的调制解调器 + SIM 卡;运营商合规(A2P 规则)由你负责。
  • 迁移:0.6.x 的 CommClient API(from caspian_sdk import CommClient、connect_*()、message.reply())是另一套 SDK,仍发布在 PyPI/npm,源码标记为 legacy-sdk-0.6.x;没有即插即用迁移路径,新项目应从 1.0 开始。
  • 版本 1.0 为完全重写,公开接口为 Caspian(不是 0.6.x 的旧 CommClient)。
  • 路线图中的 Reddit 与 LinkedIn 适配器、MCP 服务器、智能体原生支付等属于计划/进行中内容,其具体功能与可用性暂未提供更多细节。
  • 许可证:本仓库为 Apache-2.0;PyPI 上的 caspian-sdk 包为 MIT。