开发者空间
扩展 RClaw,打造属于你的生态
RClaw SDK
SDK 随 Connector 自动注入主题,提供 API 调用、WebSocket 通信、资源加载、UI 组件等全部能力。仅主题开发需要 SDK,工具、技能、模型适配器均无需 SDK。
🔍 概述
主题是 HTML/CSS/JS 的资源包,由 SDK 的 ResourceLoader 统一加载和调度。主题通过 manifest.json 声明所有资源,按依赖顺序加载。
📁 目录结构
📄 manifest.json
主题清单文件,SDK 据此加载所有 CSS、JS 和 HTML 组件。加载顺序即声明顺序,JS 依赖靠前的先执行。
📄 index.html 入口
主题必须包含等待 SDK 就绪并加载 manifest 的逻辑。路径相对于主题目录(不要包含主题名前缀)。
📄 main.js 初始化
main.js 在所有资源加载完成后执行,只需等待 App 类就绪并调用 init()。推荐使用 App 类模式管理视图切换。
📈 SDK API 速查
ApiClient
api.getAgents()api.getSessions(jid)api.getMessages(jid, sessionId, limit, offset)api.getTasks(jid)api.getTokenUsage(jid)api.testModel(provider, apiKey, model, baseUrl)api.saveInitStep(jid, step)api.registerAgentStep(jid, phase)api.getPluginList(type)api.installPlugin(type, id, url)api.getFiles(jid, subpath)api.readFile(jid, filename)api.writeFile(jid, filename, content)
WebSocketClient
ws.send(content, jid)ws.sendFile(name, base64, i, total, jid)ws.readFiles(files)ws.on('message', fn)ws.on('process', fn)ws.on('thinking', fn)ws.switchAgent(jid)
ResourceLoader
loader.loadManifest(url)loader.loadAll()loader.loadCSS(url)loader.loadJS(url)loader.getComponentHTML(name)loader.loadMedia(theme, path)loader.writeThemeFile(theme, path, content)loader.readThemeFile(theme, path)
UIManager & 工具函数
ui.showToast(msg, type, duration)ui.showModal(title, body, footer)ui.confirm(msg, onOK, onCancel)ui.showLoading(el, msg)sdk.formatDate(ts)sdk.escapeHtml(str)sdk.copyToClipboard(text)sdk.setStorage(key, val)sdk.getStorage(key, def)
🔄 全局状态管理
使用 StateManager 管理全局状态,支持 get/set/subscribe。
🎨 CSS 变量
在 variables.css 中定义所有设计 token,主题中直接引用。
📞 向导系统
向导有 8 个步骤(0-7),每步填写后调 saveInitStep() 保存进度,Step 7 点唤醒时调 registerAgentStep() 分步注册。
👤 皮肤系统
每个皮肤是一个子目录,包含 skin.json 和 avatar.png。在 manifest.skins 中声明后会被自动预加载。
⚡ 完整示例:最小主题
🔍 概述
RClaw 工具基于 MCP(Model Context Protocol)协议,每个工具是独立的 Node.js 模块,放到 Agent 的 plugins/tools/ 目录后 MCP 服务器自动加载。工具开发无需 SDK。
📁 目录结构
📄 tool.json — 工具元数据
tool.json 供前端展示工具信息,也是向量库搜索的来源。每个字段都有明确用途。
📄 index.js / index.ts — 工具入口
导出 metadata 元数据和 execute 执行函数。execute 接收 params,返回结构化结果。MCP 服务器自动捕获错误并格式化返回。
💻 browser 工具 — action 速查表
browser 是 RClaw 内置的浏览器自动化工具,支持 21 种 action。统一入口,通过 action + payload 参数驱动。
📄 内置工具完整示例
browser 完整工具定义
send_message 完整工具定义
browser/index.ts 核心代码
📥 安装工具
开发完成后,将工具目录放入 Agent 的 plugins/tools/ 目录。MCP 服务器启动时自动扫描并加载所有工具。
🔍 概述
Skill 是封装好的工作流,由 SKILL.md 文件定义,可被 Agent 通过 load_skill 工具加载执行。放入 skills/ 目录后自动被向量化和检索。无需 SDK。
📁 目录结构
📄 SKILL.md 格式
SKILL.md 由 YAML frontmatter 元数据和 Markdown 执行步骤两部分组成。Agent 加载后逐条解析并执行,支持调用工具和条件分支。
📊 元数据字段说明
📋 执行步骤语法
执行步骤使用 Markdown 标题(H2/H3)分层,支持工具调用、条件判断、多轮交互。
📄 真实技能示例
fetch_weather — 查询全球城市天气
setup — Agent 初始化(自动创建定时任务)
📥 安装技能
将技能目录放入 Agent 的 skills/ 目录,系统会自动向量化 SKILL.md 内容,之后可通过 search_skills 发现并通过 load_skill 加载。
🔍 概述
模型适配器是连接 RClaw 与大语言模型的桥梁。每个适配器是一个 Node.js 模块,实现统一的 callModel 接口。无需 SDK,直接在 Agent 工作区编写即可。
📁 目录结构
📄 适配器接口
每个模型适配器必须导出 callModel 函数,接收标准参数,返回统一格式。RClaw 内置了 OpenAI 兼容、Claude、DeepSeek、Gemini 等多种协议的实现参考。
📄 config.json — 适配器配置
config.json 供前端展示适配器信息,也用于默认配置填充。
📄 完整适配器示例
DeepSeek — 国产旗舰大模型(OpenAI 兼容 + Thinking Mode)
OpenAI — GPT 系列(OpenAI 协议)
💬 Thinking / Reasoning 字段透传
不同模型的推理过程字段不同,适配器需统一返回并在文档中注明处理方式。
📥 安装模型适配器
将适配器目录放入 Agent 的 plugins/models/ 目录,然后在 Agent 配置中选择对应的模型 Provider。RClaw 会自动加载并使用该适配器。