内容
# 奇妙实时通讯
[](https://www.npmjs.com/package/oddsockets)
[](#立即体验)
[](#安装)
[](#MCP-服务器远程连接)
**为编程代理提供实时消息服务 — 发布/订阅、在线状态和历史记录,代理自行配置,从命令行操作。**
> **一键创建原型。直接将相同的通道部署到生产环境 — 无需重写代码。**
您的代理可以编写应用程序,但如果没有实时消息服务,则无法自行配置。`oddsockets` 是代理运行的命令行工具:只需安装一次,它就会注册、生成自己的密钥,并开始发布和订阅实时通道 — 这些通道承载着生产环境中的流量。零依赖。
**支持:** Claude Code · Cursor · Cline · Windsurf · Aider · Codex · 任意终端
[](https://oddsockets.com/#demo)
*在 60 秒内注册您的第一个实时消息 — [观看完整演示](https://oddsockets.com/#demo)。*
## 立即体验
下面的每个演示都是一个**真实的命令行会话** — 一个临时账户,一个真实的密钥,实时集群上的真实消息 — 拼接成 **开发者仪表盘**,显示相同的流量。点击任意选项卡以查看完整视频。
| 注册 → 第一条消息 | 实时发布/订阅 | 在线状态 | 代理集成 |
|---|---|---|---|
| [](https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/demo/signup-demo.mp4) | [](https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/demo/pubsub-demo.mp4) | [](https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/demo/presence-demo.mp4) | [](https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/demo/agent-demo.mp4) |
| 新应用,数秒内第一条消息 | 一个通道,两个消息,实时到达 | 实时成员列表 | 一行 `publish` + `history` |
*[在 oddsockets.com 上查看完整演示集 →](https://oddsockets.com/#demo)*
## 安装
```bash
npm install -g oddsockets
```
## 快速入门
```bash
# 1. 注册(即时 API 密钥,无需电子邮件验证)
oddsockets signup my-app --local
# 2. 发布消息
oddsockets publish my-channel "你好,来自命令行!"
# 3. 订阅(实时跟踪)
oddsockets subscribe my-channel
# 4. 检查在线状态
oddsockets presence my-channel
```
## 发布/订阅 — 一个通道,实时通讯
核心原始操作:发布到通道,订阅实时跟踪。每个订阅者都会在消息到达时立即收到消息 — 无需轮询,无需队列。
```bash
oddsockets subscribe room-42 & # 后台实时跟踪
oddsockets publish room-42 "你好,来自命令行" # 消息立即到达跟踪
oddsockets publish room-42 --file payload.json # 从文件发布结构化数据
```
## 在线状态 — 当前在线成员
询问任意通道当前在线成员。在线状态由服务器端跟踪,并随着客户端的加入和离开实时更新。
```bash
oddsockets subscribe lobby & # 加入通道
oddsockets presence lobby # 实时成员列表
```
## 历史记录 — 回放您错过的消息
通道保留一个滚动消息历史记录,以便延迟连接的客户端(或上下文重置后的代理)可以赶上。
```bash
oddsockets history agent-bus --limit 10
```
## 代理集成
将以下内容添加到您的 `CLAUDE.md`、`.cursorrules`、`.clinerules` 或 `.windsurfrules` 中:
```markdown
## OddSockets
使用 `oddsockets` 命令行工具进行实时消息服务。
密钥位于 `.oddsockets/config.json`(自动加载)。
oddsockets status # 集群健康状态
oddsockets publish my-channel "消息" # 发送消息
oddsockets subscribe my-channel # 实时跟踪
oddsockets presence my-channel # 在线成员
oddsockets keys # 列出 API 密钥
```
## MCP 服务器远程连接
更喜欢使用工具而非命令行?无需安装 — 将 Claude Web、Claude Desktop、Cursor、Cline、Windsurf、Raycast 或任意 MCP 客户端指向我们的托管服务器,您的代理即可获得 **12 个原生工具**:发布、历史记录、在线状态、通道和 API 密钥管理。
```
URL: https://mcp.oddsockets.ai/sse
认证: Authorization: Bearer YOUR_API_KEY
```
还没有密钥?连接无密钥并调用 `oddsockets_get_started`,然后调用 `oddsockets_signup` 自行配置应用并生成自己的密钥 — 然后使用 `Bearer` 头重新连接以解锁所有工具。相同的账户,相同的通道,如命令行。
## 命令
### 设置
| 命令 | 描述 |
|---------|-------------|
| `oddsockets signup <app> [--email x] [--local]` | 注册,获取即时 API 密钥 |
| `oddsockets login --key KEY [--local]` | 保存现有 API 密钥 |
| `oddsockets logout [--local]` | 清除配置 |
| `oddsockets me` | 账户信息 + 计划 |
| `oddsockets status` | 集群健康状态 + 平台统计 |
### 消息服务
| 命令 | 描述 |
|---------|-------------|
| `oddsockets publish <channel> "消息"` | 发布消息 |
| `oddsockets publish <channel> --file data.json` | 从文件发布 |
| `oddsockets subscribe <channel>` | 实时跟踪(Ctrl+C 停止) |
| `oddsockets history <channel> [--limit 10]` | 消息历史记录 |
| `oddsockets presence <channel>` | 通道成员 |
### 通道
| 命令 | 描述 |
|---------|-------------|
| `oddsockets channels` | 列出通道 |
| `oddsockets channel create <name>` | 创建通道 |
| `oddsockets channel delete <name>` | 删除通道 |
### API 密钥
| 命令 | 描述 |
|---------|-------------|
| `oddsockets keys` | 列出 API 密钥 |
| `oddsockets key create "name"` | 创建新密钥 |
| `oddsockets key revoke <id>` | 吊销密钥 |
## 标志
- `--json` — 机器可读的 JSON 输出(每个命令)
- `--key KEY` — 覆盖单个命令的 API 密钥
- `--local` — 使用项目本地配置(`.oddsockets/`)
- `--help` — 帮助
## 配置优先级
1. `--key` 标志
2. `ODDSOCKETS_API_KEY` 环境变量
3. 项目目录中的 `.oddsockets/config.json`
4. 主目录中的 `~/.oddsockets/config.json`
## 定价
**每个计划提供 7 天免费试用。** 需要信用卡(安全 Stripe 结账),试用期内不收费 — 试用期结束前取消,您无需支付任何费用。代理和命令行工具享有 **48 小时无密钥窗口** 进行原型设计,直到需要密钥。计划起价为 $29/月。[详情](https://oddsockets.com/#pricing)。
## 软件开发工具包(SDK)
更喜欢将实时通讯功能集成到您的应用中?OddSockets 为每种主要语言和运行时提供原生 SDK — 相同的实时通道、发布/订阅和在线状态,根据每个堆栈的特性进行调整。每个卡片链接到其维护的仓库;对于 60 秒的安装 + 连接代码段,请参阅 [`examples/`](examples/)。
<table>
<tr>
<td align="center" width="20%"><a href="https://github.com/jyswee/oddsockets-nodejs-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_nodejs.png" width="44" height="44" alt="Node.js"><br>Node.js</a></td>
<td align="center" width="20%"><a href="https://github.com/jyswee/oddsockets-javascript-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_javascript.png" width="44" height="44" alt="JavaScript"><br>JavaScript</a></td>
<td align="center" width="20%"><a href="https://github.com/jyswee/oddsockets-svelte-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_svelte.png" width="44" height="44" alt="Svelte"><br>Svelte</a></td>
<td align="center" width="20%"><a href="https://github.com/jyswee/oddsockets-react-native-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_react.png" width="44" height="44" alt="React Native"><br>React Native</a></td>
<td align="center" width="20%"><a href="https://github.com/jyswee/oddsockets-flutter-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_flutter.png" width="44" height="44" alt="Flutter"><br>Flutter</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/jyswee/oddsockets-python-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_python.png" width="44" height="44" alt="Python"><br>Python</a></td>
<td align="center"><a href="https://github.com/jyswee/oddsockets-go-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_go.png" width="44" height="44" alt="Go"><br>Go</a></td>
<td align="center"><a href="https://github.com/jyswee/oddsockets-rust-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_rust.png" width="44" height="44" alt="Rust"><br>Rust</a></td>
<td align="center"><a href="https://github.com/jyswee/oddsockets-java-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_java.png" width="44" height="44" alt="Java"><br>Java</a></td>
<td align="center"><a href="https://github.com/jyswee/oddsockets-kotlin-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_kotlin.png" width="44" height="44" alt="Kotlin"><br>Kotlin</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/jyswee/oddsockets-csharp-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_csharp.png" width="44" height="44" alt="C#"><br>C# / .NET</a></td>
<td align="center"><a href="https://github.com/jyswee/oddsockets-cpp-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_cpp.png" width="44" height="44" alt="C++"><br>C++</a></td>
<td align="center"><a href="https://github.com/jyswee/oddsockets-c-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_c.png" width="44" height="44" alt="C"><br>C</a></td>
<td align="center"><a href="https://github.com/jyswee/oddsockets-php-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_php.png" width="44" height="44" alt="PHP"><br>PHP</a></td>
<td align="center"><a href="https://github.com/jyswee/oddsockets-ruby-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_ruby.png" width="44" height="44" alt="Ruby"><br>Ruby</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/jyswee/oddsockets-swift-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_swift.png" width="44" height="44" alt="Swift"><br>Swift</a></td>
<td align="center"><a href="https://github.com/jyswee/oddsockets-elixir-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_elixir.png" width="44" height="44" alt="Elixir"><br>Elixir</a></td>
<td align="center"><a href="https://github.com/jyswee/oddsockets-unity-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_unity.png" width="44" height="44" alt="Unity"><br>Unity</a></td>
<td align="center"><a href="https://github.com/jyswee/oddsockets-unrealengine-sdk"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/oddsockets.com/platform_unrealengine.png" width="44" height="44" alt="Unreal Engine"><br>Unreal Engine</a></td>
<td align="center"></td>
</tr>
</table>
<details>
<summary><strong>完整的 SDK 列表,突出显示</strong></summary>
| 语言 / 运行环境 | 仓库 | 突出显示 |
|--------------------|------|------------|
| Node.js | [oddsockets-nodejs-sdk](https://github.com/jyswee/oddsockets-nodejs-sdk) | 服务器端,npm |
| JavaScript | [oddsockets-javascript-sdk](https://github.com/jyswee/oddsockets-javascript-sdk) | 浏览器 + Node.js |
| TypeScript / Svelte | [oddsockets-svelte-sdk](https://github.com/jyswee/oddsockets-svelte-sdk) | 反应式存储 |
| React Native | [oddsockets-react-native-sdk](https://github.com/jyswee/oddsockets-react-native-sdk) | 移动端 |
| Flutter / Dart | [oddsockets-flutter-sdk](https://github.com/jyswee/oddsockets-flutter-sdk) | 跨平台移动端 |
| Python | [oddsockets-python-sdk](https://github.com/jyswee/oddsockets-python-sdk) | AsyncIO |
| Go | [oddsockets-go-sdk](https://github.com/jyswee/oddsockets-go-sdk) | Goroutine 安全 |
| Rust | [oddsockets-rust-sdk](https://github.com/jyswee/oddsockets-rust-sdk) | Tokio 异步 |
| Java | [oddsockets-java-sdk](https://github.com/jyswee/oddsockets-java-sdk) | Maven |
| Kotlin | [oddsockets-kotlin-sdk](https://github.com/jyswee/oddsockets-kotlin-sdk) | 协程 |
| C# / .NET | [oddsockets-csharp-sdk](https://github.com/jyswee/oddsockets-csharp-sdk) | NuGet |
| C++ | [oddsockets-cpp-sdk](https://github.com/jyswee/oddsockets-cpp-sdk) | C++17 |
| C | [oddsockets-c-sdk](https://github.com/jyswee/oddsockets-c-sdk) | 嵌入式 / 物联网 |
| PHP | [oddsockets-php-sdk](https://github.com/jyswee/oddsockets-php-sdk) | Composer |
| Ruby | [oddsockets-ruby-sdk](https://github.com/jyswee/oddsockets-ruby-sdk) | Gem |
| Swift | [oddsockets-swift-sdk](https://github.com/jyswee/oddsockets-swift-sdk) | SPM + Combine |
| Elixir | [oddsockets-elixir-sdk](https://github.com/jyswee/oddsockets-elixir-sdk) | GenServer / OTP |
| Unity | [oddsockets-unity-sdk](https://github.com/jyswee/oddsockets-unity-sdk) | MonoBehaviour |
| Unreal Engine | [oddsockets-unrealengine-sdk](https://github.com/jyswee/oddsockets-unrealengine-sdk) | UE5 </details>
## 链接
- [文档](https://docs.oddsockets.com)
- [仪表盘](https://oddsockets.com/developer-dashboard)
- [GitHub](https://github.com/jyswee)
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器