mcpField
S
spacetimedb-http

spacetimedb-http

github.com/danmossa开发2164 次安装19 周前更新
代码仓库

关于 spacetimedb-http

用于构造 SpacetimeDB HTTP 路由请求并理解其行为的技能,涵盖身份、数据库、SQL、日志、授权和 WebSocket 订阅端点。

主要功能

  1. 01授权与 Bearer Token
  2. 02身份和数据库端点
  3. 03Reducer 与 SQL 请求
  4. 04获取 Schema 和日志
  5. 05WebSocket 订阅路由

适用场景

  1. 01通过 HTTP 调用 SpacetimeDB Reducer
  2. 02执行 SQL 并读取数据库 Schema
  3. 03构建自定义订阅工具

安装

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

$npx skills add https://github.com/danmossa/spacetimedb-skills --skill spacetimedb-http

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

包含的文件

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

references/
http-authorization.md
http-database.md
http-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=... 返回 RawModuleDef JSON,对应于 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 标头和 pingreferences/http-authorization.md
数据库端点references/http-database.md
身份端点references/http-identity.md

指南

  • 提供端点示例时,说明必需的 bearer 令牌行为。
  • 将 SQL 语法问题交由 spacetimedb-sql 处理。
  • 将 SDK 连接问题交由 spacetimedb-clients 处理。

评论

支持 Markdown