关于 spacetimedb-http
用于构造 SpacetimeDB HTTP 路由请求并理解其行为的技能,涵盖身份、数据库、SQL、日志、授权和 WebSocket 订阅端点。
主要功能
- 01授权与 Bearer Token
- 02身份和数据库端点
- 03Reducer 与 SQL 请求
- 04获取 Schema 和日志
- 05WebSocket 订阅路由
适用场景
- 01通过 HTTP 调用 SpacetimeDB Reducer
- 02执行 SQL 并读取数据库 Schema
- 03构建自定义订阅工具
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ danmossa/ spacetimedb-skills --skill spacetimedb-http安装后在 Claude Code 中输入/spacetimedb-http确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/http-authorization.mdhttp-database.mdhttp-identity.md详细介绍
使用此技能了解 SpacetimeDB HTTP 路由行为和请求构造。
核心 HTTP 模式
- 大多数 HTTP 端点接受
Authorization: Bearer <token>。如果不提供此令牌,数据库端点通常会分配或使用匿名身份,该身份只能访问公开表。 POST /v1/identity返回{ "identity": string, "token": string }。POST /v1/database/:name_or_identity/call/:reducer会调用 reducer 或过程。请求正文是一个 JSON 参数数组。POST /v1/database/:name_or_identity/sql会运行一个或多个由;分隔的 SQL 语句,并以 JSON 格式返回包含schema和rows的语句结果。GET /v1/database/:name_or_identity/schema?version=...返回RawModuleDefJSON,对应于spacetime describe。GET /v1/database/:name_or_identity/logs需要数据库所有权,对应于spacetime logs。- WebSocket 订阅使用
/v1/database/:name_or_identity/subscribe和v1.bsatn.spacetimedb或v1.json.spacetimedb子协议;除非在构建自定义工具,否则优先使用 SDK。
请求注意事项
- 管理端点主要用于工具、调试和管理;常规应用流量应使用 SDK WebSocket 客户端。
- 匿名 HTTP reducer 调用会向
ReducerContext传入匿名身份;模块的身份验证逻辑可能会拒绝这些调用。 - 匿名调用者通过 HTTP SQL 只能查看公开行,并且会受 RLS 限制。
- 编写非简单查询字符串之前,请将 SQL 语法问题交由 spacetimedb-sql 处理。
参考索引
| 需求 | 打开 |
|---|---|
| Authorization 标头和 ping | references/http-authorization.md |
| 数据库端点 | references/http-database.md |
| 身份端点 | references/http-identity.md |
指南
- 提供端点示例时,说明必需的 bearer 令牌行为。
- 将 SQL 语法问题交由 spacetimedb-sql 处理。
- 将 SDK 连接问题交由 spacetimedb-clients 处理。
评论
支持 Markdown