193 lines
10 KiB
Markdown
193 lines
10 KiB
Markdown
# Agora AI编程助手技能库
|
||
|
||
`Agora` `实时通信` `AI编程助手` `RTC` `RTM` `对话式AI` `SDK`
|
||
|
||
# Agora Skills
|
||
|
||
为 [Agora](https://www.agora.io)(agora.io)实时 AI 与通信 SDK 提供的结构化参考知识库,专为 AI 编程助手设计。涵盖对话式 AI(语音 AI 智能体)、RTC(视频/语音)、RTM(信令/消息)以及服务端 Token 生成。
|
||
|
||
## 安装
|
||
|
||
### Skills CLI(推荐)
|
||
|
||
```bash
|
||
npx skills add github:AgoraIO/skills
|
||
```
|
||
|
||
当你的智能体检测到相关任务时(例如"构建语音智能体"、"集成 Agora RTC"、"生成 Token"),技能将自动激活。
|
||
|
||
### Claude Code 插件(使用 Claude 时推荐)
|
||
|
||
将 Agora skills 和 Agora Docs MCP 服务器作为 Claude Code 插件安装。在 Claude Code 中运行以下两条斜杠命令:
|
||
|
||
```
|
||
/plugin marketplace add AgoraIO/skills
|
||
/plugin install agora@agora-skills
|
||
```
|
||
|
||
Agora MCP 服务器(`mcp.agora.io`)会自动捆绑安装,无需单独配置 MCP。
|
||
|
||
### Git 克隆
|
||
|
||
克隆仓库后,将工具指向 `skills/agora/`:
|
||
|
||
```bash
|
||
git clone https://github.com/AgoraIO/skills.git ~/agora-skills
|
||
```
|
||
|
||
### 配置你的智能体或 IDE(可选)
|
||
|
||
**Claude Code — 符号链接(用户级):**
|
||
|
||
使用 Skills CLI 安装技能后,可以将技能符号链接到主目录,使其对所有智能体可用。
|
||
|
||
```bash
|
||
ln -s ~/agora-skills/skills/agora ~/.claude/skills/agora
|
||
```
|
||
|
||
**Claude Code — 复制(项目级,与团队共享):**
|
||
|
||
使用 Claude Code 插件安装技能后,可以将技能复制到项目目录,使其对该项目的所有智能体可用。
|
||
|
||
```bash
|
||
mkdir -p .claude/skills
|
||
cp -r ~/agora-skills/skills/agora .claude/skills/agora
|
||
```
|
||
|
||
**Cursor:** 复制或符号链接到 `.cursor/rules/`。参见 [Cursor skills 文档](https://cursor.com/docs/skills#skill-directories)。
|
||
|
||
**Windsurf:** 将 `skills/agora/` 添加到 Cascade 上下文。参见 [Windsurf skills 文档](https://docs.windsurf.com/windsurf/cascade/skills)。
|
||
|
||
**GitHub Copilot:** 通过 `@workspace` 引用,或添加到 `.github/copilot-instructions.md`。参见 [Copilot CLI skills](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-skills) 和 [Copilot Agents skills](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/create-skills)。
|
||
|
||
**其他工具:** 技能文件均为纯 Markdown 格式。将工具指向 `skills/agora/`,或直接加载单个文件。以 `SKILL.md` 作为入口——它链接到所有其他内容。
|
||
|
||
---
|
||
|
||
## 这是什么
|
||
|
||
本仓库包含 Markdown 技能文件,为 AI 编程助手提供对 Agora 平台的深度知识。当开发者寻求 Agora 相关帮助时,助手会加载相应的参考资料——从高层产品概览到特定平台的代码示例和 API 详情。
|
||
|
||
**涵盖产品:**
|
||
|
||
- **RTC(视频/语音 SDK)** — Web、React、Next.js、iOS(Swift)、Android(Kotlin/Java)、React Native、Flutter
|
||
- **RTM(信令)** — Web(JS/TS)、iOS(Swift)、Android(Kotlin)——均为 v2;消息、在线状态、元数据、流频道
|
||
- **对话式 AI** — REST API、智能体配置、Gemini Live + OpenAI Realtime MLLM、iOS/Android 工具包,6 个示例仓库(agent-samples、agent-toolkit、agent-client-toolkit-react、agent-ui-kit、server-custom-llm、server-mcp)
|
||
- **云端录制** — REST API 的 acquire/start/query/stop 生命周期
|
||
- **服务器网关** — 服务端 RTC 的 Linux SDK(C++)
|
||
- **服务端** — Node.js、Python、Go 的 Token 生成
|
||
- **多产品集成** — RTC + RTM + ConvoAI 的初始化顺序、UID 策略、编解码器选择、Token 矩阵
|
||
- **测试指南** — 所有平台的 Mock 模式(Web、React、iOS、Android、React Native、Flutter、RTM)
|
||
|
||
## 设计——四层渐进式信息披露
|
||
|
||
LLM 的上下文窗口是有限的。加载所需的最少内容,仅在必要时深入加载。
|
||
|
||
| 层级 | 内容 | 大小 | 加载时机 |
|
||
| --- | --- | --- | --- |
|
||
| **第 1 层 — 描述** | `SKILL.md` frontmatter 中的触发关键词 | ~100 词 | 始终加载(技能索引) |
|
||
| **第 2 层 — SKILL.md 主体** | 核心概念、产品索引、框架说明 | ~72 行 | 激活时加载 |
|
||
| **第 3 层 — 产品 README** | 概览、关键规则、主题链接 | 20–100 行 | 按产品加载 |
|
||
| **第 4 层 — 主题文件** | 实现细节、代码示例、API 参考或目录+链接 | 34–500 行 | 按主题加载 |
|
||
|
||
导航路径:`SKILL.md` → 产品 `README.md` → 主题文件(如 `web.md`、`agent-samples.md`)。
|
||
|
||
### 链接优先 vs 内联
|
||
|
||
并非所有内容都适合内联。该技能根据上游内容的变更频率和文档完善程度采用两种策略:
|
||
|
||
| 产品 | 策略 | 原因 |
|
||
| --- | --- | --- |
|
||
| **对话式 AI** | 目录 + 链接到仓库 README 和 AGENT.md | 迭代快,5 个上游仓库文档完善 |
|
||
| **RTC / RTM** | 内联代码示例 | API 稳定,官方文档缺乏优质示例 |
|
||
| **服务端 / Token** | 目录 + 链接到官方文档 | docs.agora.io 文档完善 |
|
||
|
||
ConvoAI 文件与 [AgoraIO-Conversational-AI](https://github.com/orgs/AgoraIO-Conversational-AI/repositories) 中的仓库一一对应。每个文件映射一个仓库,并链接到其 README 和 AGENT.md 作为权威来源。LLM 经常出错的注意事项和怪异行为仍以内联方式保留在 ConvoAI README 中。
|
||
|
||
## 文件结构
|
||
|
||
```
|
||
skills/
|
||
└── agora/ 技能根目录
|
||
├── SKILL.md 入口文件,产品索引(v1.2.0)
|
||
├── intake/
|
||
│ └── SKILL.md 多产品需求分析路由器
|
||
└── references/
|
||
├── doc-fetching.md 两级查找流程(面向智能体)
|
||
├── mcp-tools.md MCP 工具参考与优雅降级
|
||
├── integration-patterns.md RTC+RTM+ConvoAI:初始化顺序、UID 策略、编解码器、Token
|
||
├── rtc/ RTC(视频/语音 SDK)
|
||
│ ├── README.md 关键规则、编码器配置、跨平台说明
|
||
│ ├── web.md agora-rtc-sdk-ng:客户端、音轨、事件、屏幕共享
|
||
│ ├── react.md agora-rtc-react:hooks、编解码器互操作、自定义模式
|
||
│ ├── nextjs.md Next.js / SSR 动态导入模式
|
||
│ ├── ios.md AgoraRtcEngineKit(Swift):设置、委托
|
||
│ ├── android.md RtcEngine(Kotlin/Java):设置、回调
|
||
│ ├── react-native.md react-native-agora:引擎初始化、事件、视频视图
|
||
│ ├── flutter.md agora_rtc_engine(Dart):引擎初始化、AgoraVideoView
|
||
│ └── cross-platform-coordination.md UID 策略、编解码器互操作、屏幕共享
|
||
├── rtm/ RTM 信令 SDK v2
|
||
│ ├── README.md 核心概念、注意事项、平台链接
|
||
│ ├── web.md agora-rtm v2:消息、在线状态、流频道
|
||
│ ├── ios.md AgoraRtmClientKit(Swift):初始化、登录、订阅、发布
|
||
│ └── android.md RtmClient(Kotlin):初始化、登录、订阅、发布
|
||
├── conversational-ai/ 对话式 AI(语音 AI 智能体)
|
||
│ ├── README.md 架构、接口端点、认证、生命周期、注意事项
|
||
│ ├── agent-samples.md 后端、React 客户端、配置文件、MLLM、部署
|
||
│ ├── agent-toolkit.md @agora/conversational-ai SDK:API、辅助工具、hooks
|
||
│ ├── agent-client-toolkit-react.md React hooks:provider、转录、状态
|
||
│ ├── agent-ui-kit.md @agora/agent-ui-kit React 组件
|
||
│ ├── agent-toolkit-ios.md iOS ConversationalAIAPIImpl Swift 工具包
|
||
│ ├── agent-toolkit-android.md Android ConversationalAIAPIImpl Kotlin 工具包
|
||
│ ├── server-custom-llm.md 自定义 LLM 代理:RAG、工具、记忆
|
||
│ ├── server-mcp.md MCP 记忆服务器:持久化每用户记忆
|
||
│ ├── auth-flow.md 直接 REST API 实现者的三 Token 流程
|
||
│ ├── python-sdk.md agora-agent Python SDK 模式
|
||
│ ├── go-sdk.md agora-agent-server-sdk-go 模式
|
||
│ └── server-sdks.md TypeScript/Node.js 服务端 SDK 模式
|
||
├── cloud-recording/ 云端录制(REST API)
|
||
│ └── README.md acquire/start/query/stop 生命周期、存储配置
|
||
├── server-gateway/ 服务器网关(Linux SDK)
|
||
│ ├── README.md 概览、使用场景、关键说明
|
||
│ └── linux-cpp.md C++ SDK:设置、回调、媒体管线
|
||
├── server/ 服务端(Token)
|
||
│ ├── README.md Token 类型、使用场景
|
||
│ └── tokens.md Token 生成目录 + 官方文档链接
|
||
└── testing-guidance/ 测试模式
|
||
└── SKILL.md Mock 模式:Web、React、iOS、Android、RN、Flutter、RTM
|
||
```
|
||
|
||
## 维护与扩展
|
||
|
||
### 添加新产品
|
||
|
||
1. 创建 `references/{product}/README.md`(第 3 层)
|
||
2. 在 `SKILL.md` 的**产品**部分添加条目
|
||
3. 按需创建主题文件(第 4 层)
|
||
|
||
### 添加新平台
|
||
|
||
1. 创建 `references/{product}/{platform}.md`(第 4 层)
|
||
2. 在产品的 `README.md` 中添加链接
|
||
|
||
### 更新内容
|
||
|
||
- 编辑具体的第 4 层文件。
|
||
- **内联文件**(RTC、RTM、TEN):保持代码示例最新,在底部保留**官方文档** URL。
|
||
- **链接优先文件**(ConvoAI、服务端):当上游仓库重构时更新目录链接。仅将 LLM 容易出错且上游文档未明确说明的注意事项/怪异行为保留为内联内容。
|
||
- 不要重复上游仓库 README 或 AGENT.md 中已有的内容——改为链接。
|
||
|
||
### 验证 URL
|
||
|
||
```bash
|
||
grep -roh 'https://[^ )]*' skills/ | sort -u | while read url; do
|
||
code=$(curl -s -o /dev/null -w "%{http_code}" -L --max-time 10 "$url")
|
||
echo "$code $url"
|
||
done
|
||
```
|
||
|
||
### Agora 发布说明
|
||
|
||
- 对话式 AI:https://docs.agora.io/en/conversational-ai/overview/release-notes
|
||
- Video SDK:https://docs.agora.io/en/video-calling/overview/release-notes
|
||
- 信令(RTM):https://docs.agora.io/en/signaling/overview/release-notes |