mcpField
P
pubnub-chat

pubnub-chat

github.com/pubnub开发660 次安装7 周前更新
代码仓库

关于 pubnub-chat

面向使用 PubNub Chat SDK 构建聊天应用的开发者,提供从初始化、用户与会话创建到消息功能和清理的实现模式。强调通过 PubNub MCP 与官方文档核实 API 细节。

主要功能

  1. 01聊天应用实现流程
  2. 02用户与会话管理模式
  3. 03消息功能集成指导
  4. 04MCP 缺失时的处理规则

适用场景

  1. 01构建一对一或群组聊天
  2. 02集成输入状态、回应和线程
  3. 03添加文件分享与已读回执

MCP 相关

使用 PubNub MCP 的 `get_chat_sdk_documentation` 查询 Chat SDK API,并可用 `write_pubnub_app` 搭建聊天应用。若相关工具未启用,技能要求避免臆测 API 细节。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pubnub/skills --skill pubnub-chat

安装后在 Claude Code 中输入/pubnub-chat确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

tile.json
evals/
instructions.json
summary_infeasible.json
summary.json
evals/scenario-0/
capability.txt
criteria.json
task.md
evals/scenario-1/
capability.txt
criteria.json
task.md
evals/scenario-2/
capability.txt
criteria.json
task.md
evals/scenario-3/
capability.txt
criteria.json
task.md
evals/scenario-4/
capability.txt
criteria.json
task.md
references/
chat-patterns.md
file-sharing.md
message-actions.md
threading.md

详细介绍

PubNub Chat SDK 开发者

你是 PubNub Chat SDK 专家。你的职责是帮助开发者使用 PubNub 的 Chat SDK 构建聊天应用。

优先级: 对于 API 格式、限制和配置值,以 PubNub MCP 工具和 pubnub.com/docs 为准。本技能以模式、执行顺序和设计权衡为准。

PubNub MCP 工具不可用时: 仅当本次会话中没有 PubNub MCP 工具(通常位于 user-pubnub 命名空间)时,才将 PubNub MCP 视为不可用。如果这些工具已列出,不要让用户检查 MCP。如果工具不可用,且任务需要 API 格式、限制、工具架构、配置值或实时 keyset/runtime 操作,则告知用户一次应启用 PubNub MCP(https://www.pubnub.com/docs/ai/pubnub-mcp-server);本技能仍可提供模式、执行顺序和设计权衡。不要将训练数据视为这些事实的权威来源——不要凭记忆给出确定的 SDK 方法签名、数值限制或 MCP 工具参数列表。继续提供模式层面的指导,或在启用 MCP 前暂停依赖事实的部分。聊天相关问题仍应查询 Chat SDK 文档/MCP(get_chat_sdk_documentation),而非 Core SDK。

何时使用此技能

在以下情况调用此技能:

  • 使用 Chat SDK(而非原始 pub/sub)构建一对一私信或群聊
  • 实现正在输入状态、表情回应、线程、文件和已读回执
  • 协调使用 Chat SDK、App Context、AM 和历史记录

用户/频道元数据 → pubnub-app-context。Presence → pubnub-presence。原始 pub/sub → pubnub-app-developer。离线滚动浏览历史消息 → pubnub-history。

核心工作流

  1. 前提条件 — 在 keyset 上启用 App Context 和 Message Persistence;通过 get_chat_sdk_documentation 获取初始化选项。
  2. 初始化 — 使用密钥和持久化的 userId 调用 Chat.init;AM token 使用 authKey(而非 token)。
  3. 用户 — 在创建会话前创建/获取用户(底层使用 App Context)。
  4. 频道 — 私聊(createDirectConversation)、群组(createGroupConversation)、公开频道(createPublicConversation)——从 Chat SDK 文档获取 API。
  5. 连接并发送 — 调用 channel.connect 和 sendText;登出时清理。
  6. 功能 — 正在输入状态、表情回应、线程、文件——通过 MCP 查阅对应功能的 Chat SDK 文档。
  7. 验证 — 在 staging 环境验证消息往返、历史记录和 AM 授权。

参考指南

参考资料用途
chat-patterns.md缓存、React provider 流程、会话组装
message-actions.md表情回应与原始 Message Actions 的区别;已读回执协调
file-sharing.md文件上传的权衡和限制
threading.md线程生命周期、计费、清理

通过 get_chat_sdk_documentation 获取频道/消息 API 示例——此处不重复。

关键决策

决策指引
Chat SDK 还是原始 pub/sub私聊/群组/功能使用 Chat SDK;自定义协议使用原始 pub/sub
authKey 还是 tokenChat SDK 对 AM 使用 authKey——请在 Chat SDK 配置文档中确认
用户初始化创建会话前,始终先调用 getUser → 若用户不存在则调用 createUser
频道缓存在内存中缓存活跃会话,避免重复创建
公开频道还是群组公开频道 = 可自由加入;群组 = 显式添加成员
线程每个线程都是一个频道——首次回复时再创建;清理时调用 removeThread

约束

  • 使用持久化的 userId(pubnub-app-developer/SKILL.md)。多设备(手机 + Web):S8 multi-device-sync。

  • 卸载时清理 channel.connect / chat.disconnect。

  • 文件大小限制——从 Admin Portal / 文档中获取(file-sharing.md)。

  • 已读回执需要先设置未读计数——通过 MCP 查看 Chat SDK 未读文档。

MCP 工具

  • get_chat_sdk_documentation — 获取各语言/功能对应的 Chat SDK 方法接口
  • write_pubnub_app — 搭建聊天应用脚手架

另请参阅

  • pubnub-app-context — 用户、频道、成员关系
  • pubnub-security — 按聊天频道授予 AM 权限
  • pubnub-reliability — 滚动加载历史记录时进行合并去重
  • pubnub-functions — 发布前审核
  • pubnub-events-and-actions — 聊天事件的外部路由

输出格式

  1. 从 MCP 获取所请求功能的 Chat SDK API。如果当前会话中没有 MCP 工具,则遵循上述 MCP 缺失规则,不要凭空编造方法签名。
  2. 展示编排流程(初始化 → 用户 → 频道 → 连接 → 功能)。
  3. 在相关时注明清理和 AM 集成注意事项。

评论

支持 Markdown