Chapter 06
功能需求
详细功能规格说明与优先级排列,涵盖全部 19 个功能模块。
本章覆盖全部 19 个用户功能,按 6 大模块组织。每个功能点包含:功能描述、用户故事、核心交互流程和验收标准。
模块一
消息网关与渠道系统
①多渠道对话 ③消息代发
模块二
AI Agent 引擎
⑯记忆 ⑰多Agent ⑲切模型
模块三
语音与媒体交互
②语音 ⑨媒体 ⑭打电话
模块四
效率与生活技能
④⑤⑥⑦⑧⑫⑬⑮
模块五
客户端矩阵
Web · CLI · macOS · iOS · Android
模块六
自动化与扩展生态
⑩自动化 ⑪Canvas ⑱扩展
模块一:消息网关与渠道系统
功能① 多渠道消息接入
用户可以在 13+ 个消息平台上与 AI 助手对话,所有消息通过 Gateway 统一路由到 AI Agent 处理。
| 类别 | 渠道 | 集成方式 | 优先级 |
|---|---|---|---|
| 即时通讯 | @whiskeysockets/baileys | P0 | |
| 即时通讯 | Telegram | grammY Bot API | P0 |
| 即时通讯 | Signal | signal-cli | P1 |
| 即时通讯 | iMessage | BlueBubbles / AppleScript | P1 |
| 工作协作 | Slack | @slack/bolt | P0 |
| 工作协作 | Discord | discord.js | P0 |
| 工作协作 | Google Chat | Chat API | P1 |
| 工作协作 | Microsoft Teams | 扩展插件 | P1 |
| Web | WebChat | 内置 Gateway HTTP | P0 |
| 扩展 | Matrix / Zalo / IRC / Nostr / Twitch / Line / Mattermost / Feishu | 扩展插件 | P2 |
作为用户,我希望在 WhatsApp 上给 AI 发消息就能得到回复,不需要打开其他 App
作为用户,我希望同时在多个渠道使用同一个 AI 助手,且它能记住跨渠道的上下文
作为用户,我希望可以随时添加或移除渠道,无需重启整个系统
交互流程
用户在 WhatsApp 发送消息 → WhatsApp 适配器接收 → Gateway 路由到 Session → AI Agent 处理并调用工具 → 响应原路回发 → 用户看到回复
验收标准
- 支持至少 5 个核心渠道同时在线
- 消息端到端延迟 < 3 秒(不含模型推理)
- 渠道断连后自动重连,指数退避
- 支持富媒体消息双向传输
- 每个渠道可独立启用/禁用
功能③ 消息代发与转发
AI 助手可以代表用户在各渠道主动发送消息给第三方。
| 渠道 | 支持操作 |
|---|---|
| 发送消息、搜索/同步历史 | |
| Discord | 发送/编辑/删除消息、Reaction、Thread、Pin、投票、管理频道 |
| Slack | 发送/编辑/删除消息、Reaction、Pin、Thread、成员 |
| Telegram | 发送消息、Reaction、发送媒体 |
| iMessage | 发送 iMessage/SMS |
| 邮件 | 发送/回复/转发 (IMAP/SMTP) |
验收标准
- 代发消息前需用户明确指令
- 支持跨渠道代发
- 邮件发送需二次确认
DM 配对与白名单安全机制
未知用户 DM 时,系统通过配对码进行身份验证。
未知用户发送 DM → AI 回复配对码 → 用户在管理面板确认 → 配对成功/失败
验收标准
- 默认策略 "pairing",可配置为 "open" / "closed"
- 配对码有效期限制
- 支持白名单手动管理
渠道管理与状态监控
验收标准
openclaw status显示所有渠道连接状态openclaw health健康检查与诊断- Web UI 可视化渠道状态面板
- 渠道异常主动通知用户
模块二:AI Agent 引擎
功能⑲ 多模型支持与热切换
用户可在任何会话中随时切换 AI 模型,无需重启 Gateway。
| 提供商 | 模型示例 | 认证方式 |
|---|---|---|
| Anthropic | Claude Opus / Sonnet / Haiku | API Key |
| OpenAI | GPT-5.2 / GPT-4o | API Key |
| Gemini 3 Pro / Flash | API Key | |
| Ollama | Llama / Mistral / 任意本地模型 | 无需认证 |
| GitHub Copilot | Copilot Chat | OAuth |
| AWS Bedrock | Claude / Titan | IAM 凭证 |
| Groq | Mixtral / Llama | API Key |
| 阿里千问 | Qwen-Max / Qwen-Plus | API Key |
| 更多 | MiniMax / Together / Venice / Chutes | API Key |
/model → 列出所有可用模型
/model openai/gpt-5.2 → 切换到 GPT-5.2
/model ollama/llama3 → 切换到本地 Llama3
/think high → 调整推理深度
/usage cost → 查看用量和费用
验收标准
- 支持至少 10 个模型提供商
- 模型切换 < 1 秒,不中断会话
- 多 API Key 自动轮换和故障转移
- Ollama 支持零费用运行
- /usage 准确显示 Token 消耗和费用
功能⑯ 长期记忆系统
| 组件 | 功能 | 存储 |
|---|---|---|
| memory-core | 存储/检索关键信息 | 本地文件 |
| sqlite-vec | 语义相似度搜索 | SQLite + 向量索引 |
| LanceDB | 高性能向量检索(可选) | LanceDB 本地库 |
| session-logs | 完整对话历史归档 | JSONL 文件 |
作为用户,我希望告诉 AI"我喜欢早上喝美式",以后它能记住这个偏好
验收标准
- 用户偏好在后续会话中被自动调用
- 支持语义搜索记忆片段
- 数据完全本地存储
- 支持记忆重建
- 同一时间只有一个记忆插件生效
功能⑰ 多 Agent 并行编排
用户: 帮我并行处理这三个任务:1) 修 Issue #42 2) 总结文章 3) 查天气
AI: 正在派出 3 个子 Agent...
[Sub-Agent 1] 修复 Issue #42 → 进行中
[Sub-Agent 2] 总结文章 → 已完成
[Sub-Agent 3] 天气查询 → 已完成
/subagents list | kill | log | steer | spawn
验收标准
- 支持同时运行 5+ 个子 Agent
- 子 Agent 工作空间隔离
- 完成后自动向主会话汇报
- /subagents 命令完整支持
- Agent 间支持消息传递
上下文压缩与会话管理
/compact → 压缩会话 | /new → 重置 | /export-session → 导出 HTML | /context → 查看占用
验收标准
- 上下文达 80% 时自动 Compaction
- 压缩后保留关键信息
- 导出可读 HTML
工具调用框架 (Tool Use)
| 工具 | 功能 | 安全级别 |
|---|---|---|
| web_search | 联网搜索 | 🟢 低 |
| web_fetch | 抓取网页 | 🟢 低 |
| browser | 控制 Chrome | 🟡 中 |
| exec | 执行 Shell | 🔴 高(需审批) |
| file | 文件操作 | 🟡 中 |
| canvas | 推送可视化 | 🟢 低 |
| memory | 记忆存取 | 🟢 低 |
| cron | 定时任务 | 🟡 中 |
| tts | 文字转语音 | 🟢 低 |
| image | 图像处理 | 🟢 低 |
| sessions_send | 跨会话消息 | 🟡 中 |
| sessions_spawn | 生成子 Agent | 🟡 中 |
模块三:语音与媒体交互
功能② 语音交互
| 子功能 | 描述 | 平台 |
|---|---|---|
| Voice Wake | 唤醒词激活("Hey Claude" / 自定义) | macOS / iOS / Android |
| Talk Mode | 连续语音对话循环 | macOS / iOS / Android |
| Push-to-Talk | 按住说话 | macOS |
| 本地转写 | Whisper CLI 本地运行 | 全平台 |
| 云端转写 | OpenAI Whisper API | 全平台 |
| TTS 输出 | node-edge-tts / ElevenLabs / sherpa-onnx | 全平台 |
作为用户,我希望对着手机说"Hey Claude,今天天气怎么样"就能得到语音回答
验收标准
- 唤醒词检测延迟 < 500ms
- Talk Mode 端到端延迟 < 3 秒
- 至少 3 种 TTS 引擎可选
- 本地 Whisper 准确率 > 90%
- 无网络环境可完全脱网使用
功能⑭ 电话拨打
| 运营商 | 特点 |
|---|---|
| Twilio | 全球覆盖最广 |
| Telnyx | 性价比高 |
| Plivo | 亚太覆盖好 |
通话模式:一次性通知 (One-Shot) / 交互式通话 (Interactive)
验收标准
- 拨打前必须用户确认
- 至少 2 个运营商可选
- 通话记录可追溯
功能⑨ 音乐与媒体控制
| 子功能 | 技能 | 描述 |
|---|---|---|
| Spotify 控制 | spotify-player | 搜索/播放/暂停/切歌 |
| 图片生成 | openai-image-gen | DALL-E 3 / GPT-image-1 |
| Gemini 图片 | nano-banana-pro | Gemini 3 Pro Image |
| GIF 搜索 | gifgrep | Tenor/Giphy |
| 音频转写 | openai-whisper | 本地或云端 |
| 频谱图 | songsee | 音频可视化 |
| 视频帧提取 | video-frames | ffmpeg 关键帧 |
模块四:效率与生活技能集
功能④ 笔记与任务管理
| 工具 | 技能 | 操作 | 平台 |
|---|---|---|---|
| Apple Notes | apple-notes | 创建/查看/编辑/删除/搜索/导出 | macOS |
| Apple Reminders | apple-reminders | 列出/添加/编辑/完成/删除 | macOS |
| Notion | notion | 创建/读取/更新页面和数据库 | 全平台 |
| Obsidian | obsidian | 创建/搜索/管理 Markdown | macOS |
| Bear Notes | bear-notes | 创建/读取/管理 | macOS |
| Things 3 | things-mac | 读取/添加/更新 todo | macOS |
| Trello | trello | 管理 Board/List/Card | 全平台 |
功能⑤ Google Workspace 集成
| 服务 | 支持操作 |
|---|---|
| Gmail | 发送/搜索/创建草稿/回复/转发 |
| Google Calendar | 创建/编辑/删除/查询日程 |
| Google Drive | 搜索文件 |
| Google Sheets | 读取/写入数据 |
| Google Docs | 导出文档内容 |
| Google Contacts | 管理联系人 |
功能⑥ 网页浏览与信息检索
| 子功能 | 工具/技能 | 描述 |
|---|---|---|
| 联网搜索 | web_search | Brave Search API |
| 网页抓取 | web_fetch | URL → Markdown |
| 浏览器自动化 | browser | Chrome 实例控制 |
| 内容总结 | summarize | URL / 文件 / PDF / YouTube |
| RSS 监控 | blogwatcher | Feed 更新监控 |
| 反爬绕过 | Firecrawl | 复杂网站处理 |
功能⑦ 编程与开发辅助
| 子功能 | 技能 | 描述 |
|---|---|---|
| 编码 Agent | coding-agent | Claude Code / Codex 编码 |
| GitHub 操作 | github | PR / CI / Issue / API |
| Issue 自动修复 | gh-issues | 并行子 Agent 修复 → PR |
| Shell 执行 | exec | 沙箱化命令执行 |
| 补丁应用 | apply_patch | 多文件结构化补丁 |
| MCP 集成 | mcporter | 任意 MCP 服务器 |
| 深度分析 | oracle | GPT-5.2 Pro 一次性分析 |
| Gemini | gemini | Gemini 模型直接查询 |
功能⑧ 智能家居控制
| 品牌 | 技能 | 支持操作 |
|---|---|---|
| Philips Hue | openhue | 开关/亮度/色温/颜色/场景/房间 |
| Sonos | sonoscli | 播放/暂停/音量/分组/TuneIn/Spotify |
| Bluesound/NAD | blucli | 发现/播放/音量/分组 |
| Eight Sleep | eightctl | 温度/开关/闹钟/睡眠计划 |
功能⑫ 文件与文档处理
| 子功能 | 工具/技能 | 描述 |
|---|---|---|
| 文件读写 | file | Agent 工作空间内 CRUD |
| PDF 编辑 | nano-pdf | 自然语言编辑 PDF |
| 摄像头抓图 | camsnap | RTSP/ONVIF 截图录像 |
功能⑬ 生活服务
| 子功能 | 技能 | 描述 |
|---|---|---|
| 餐厅搜索 | goplaces | Google Places(评分/时间/评论) |
| 外卖点餐 | food-order | Foodora 重复下单 + 状态跟踪 |
| 天气查询 | weather | wttr.in / Open-Meteo,3 天预报 |
功能⑮ 安全与密码管理
| 子功能 | 技能 | 描述 |
|---|---|---|
| 1Password | 1password | 读取密钥、注入命令、账户登录 |
| 主机安全审计 | healthcheck | 防火墙/SSH/更新/加密 → 加固建议 |
模块五:客户端矩阵
🌐
Web 控制面板
Lit + Vite 构建
Chat · Settings · Channels · Events · Sessions
Gateway 自动提供,响应式设计
⌨️
CLI 命令行
17+ 核心命令
onboard · gateway · agent · configure · status · health · doctor · sessions · memory · plugins · skills · nodes · cron · tui · update
🍎
macOS 原生应用
Swift 编写
菜单栏 · Voice Wake · Talk Mode · Canvas · WebChat · XPC
📱
iOS 原生应用
Canvas · Voice Wake · Talk Mode · 相机 · 录屏 · GPS · Bonjour 配对
🤖
Android 原生应用
Canvas · Talk Mode · 相机 · 录屏 · SMS(可选)· Wake Words 编辑器
最低 Android 10+
模块六:自动化与扩展生态
功能⑩ 定时任务与自动化
| 子功能 | 实现 | 描述 |
|---|---|---|
| Cron | cron 工具 | 创建/更新/删除/手动运行定时任务 |
| Webhook | Gateway HTTP | 接收外部事件(Gmail Pub/Sub 等) |
| Lobster 工作流 | 类型化 DSL | 多步骤流水线 + 人工审批断点 |
| LLM Task | llm-task | 工作流内 JSON-only LLM 步骤 |
作为用户,我希望设置"每天早上 8 点在 WhatsApp 上给我发天气和日程摘要"
作为用户,我希望创建审批工作流:"监控竞品 → 生成摘要 → 等我确认 → 发给团队"
功能⑪ Canvas 可视化画布
| 操作 | 描述 |
|---|---|
| canvas_present | 推送 HTML 到 Canvas |
| canvas_navigate | 导航到 URL |
| canvas_eval | 执行 JavaScript |
| canvas_snapshot | 截取画面 |
| a2ui_push/reset | Agent 驱动的结构化 UI |
作为用户,我希望说"给我画一个本月支出饼图",AI 在 Canvas 上展示
功能⑱ 自定义扩展
| 层次 | 机制 | 难度 | 适用场景 |
|---|---|---|---|
| 技能 (Skill) | Markdown + 可选脚本 | ⭐ 低 | 新的 AI 行为指令 |
| 插件 (Plugin) | npm 包 + Hook API | ⭐⭐ 中 | 新渠道/存储/功能 |
| MCP 服务器 | mcporter 桥接 | ⭐⭐ 中 | 接入 MCP 生态 |
| 扩展渠道 | extensions/ 目录 | ⭐⭐⭐ 高 | 新消息平台 |
技能开发流程
1. 创建 ~/.openclaw/workspace/skills/my-skill/SKILL.md
2. 编写 YAML frontmatter(名称、描述)
3. 编写 Markdown 指令内容
4. Gateway 自动热加载
5. clawhub publish → 发布到社区
ClawHub 社区市场
clawhub search <关键词> # 搜索技能
clawhub install <slug> # 安装
clawhub update --all # 更新全部
clawhub publish # 发布