用途
该技能面向 SurrealDB 3 的架构设计、应用开发与运维工作,追踪 v3.1.4+ 版本。它把 SurrealQL、数据建模、图查询、向量检索、安全、部署、性能、SDK 与生态工具等主题整理为可按需查阅的规则文档,并配套若干 Python 脚本用于环境体检、schema 内省与上游源变更检查。
主要能力
- SurrealQL 全面覆盖:CREATE、SELECT、UPDATE、UPSERT、DELETE、RELATE、INSERT、LIVE SELECT、DEFINE、REMOVE、INFO、子查询、事务、future,以及数组、crypto、duration、geo、math、meta、object、parse、rand、string、time、type、vector 等内置函数。
- 多模型数据建模:在单一数据库与单一查询语言下设计文档集合、图边、关系引用、向量嵌入、时序数据与地理空间坐标。
- 图查询:用 RELATE 建立带类型边,通过 ->、<-、<-> 操作符遍历,支持任意深度的过滤、聚合与递归,无需 JOIN。
- 向量检索:基于 HNSW 索引(v3 的向量索引类型,索引构建/重建期间可回退为暴力检索)实现相似度搜索,支持 cosine、euclidean、manhattan、minkowski 距离度量,配合 vector::similarity::* 函数构建 RAG 与语义搜索。
- 安全与权限:通过 DEFINE TABLE ... PERMISSIONS 实现行级安全,命名空间/数据库/记录级访问控制,DEFINE ACCESS 支持 JWT/token 鉴权,DEFINE USER 定义系统用户,$auth/$session 运行期变量用于权限谓词。
- 部署与运维:单二进制部署、Docker、Kubernetes(Helm charts)、存储引擎选择(memory、RocksDB、SurrealKV、TiKV 分布式)、备份恢复、监控与生产加固。
- 性能调优:唯一索引、搜索索引、向量 HNSW 索引策略,EXPLAIN 查询优化,连接池,存储引擎取舍,批量操作与资源限制。
- SDK 集成:JavaScript/TypeScript(Node.js、Deno、Bun、浏览器)、Python、Go、Rust、Java、Kotlin、.NET、C、PHP、Swift(iOS/macOS/visionOS)、Ruby 官方 SDK,涵盖连接协议、认证流程、实时查询订阅与带类型记录处理。
使用方式
技能提供以下脚本命令(脚本位于 {baseDir}/scripts/ 下):
# 为 AI 智能体输出完整能力清单、决策树与输出契约
uv run {baseDir}/scripts/onboard.py --agent
# 健康检查:验证 surreal CLI、连通性、版本
uv run {baseDir}/scripts/doctor.py
uv run {baseDir}/scripts/doctor.py --check # 仅返回退出码
uv run {baseDir}/scripts/doctor.py --endpoint http://my-server:8000
# Schema 内省
uv run {baseDir}/scripts/schema.py introspect
uv run {baseDir}/scripts/schema.py tables
uv run {baseDir}/scripts/schema.py table <table_name>
uv run {baseDir}/scripts/schema.py export --format surql
uv run {baseDir}/scripts/schema.py export --format json
# 检查上游仓库是否有变更
uv run {baseDir}/scripts/check_upstream.py
uv run {baseDir}/scripts/check_upstream.py --json
uv run {baseDir}/scripts/check_upstream.py --stale
前置条件:surreal CLI(macOS 可用 brew install surrealdb/tap/surreal);Python 3.10+;uv(brew install uv 或 pip install uv)。可选:Docker(docker run surrealdb/surrealdb:v3)与任意官方 SDK。
环境变量:SURREAL_ENDPOINT(默认 http://localhost:8000)、SURREAL_USER(默认 root)、SURREAL_PASS(默认 root)、SURREAL_NS(默认 test)、SURREAL_DB(默认 test)。
快速启动示例(仅限本地开发):
surreal start memory --user root --pass root --bind 127.0.0.1:8000
surreal start rocksdb://data/mydb.db --user root --pass root
surreal start surrealkv://data/mydb --user root --pass root
surreal sql --endpoint http://localhost:8000 --user root --pass root --ns test --db test
surreal import --endpoint http://localhost:8000 --user root --pass root --ns test --db test schema.surql
surreal export --endpoint http://localhost:8000 --user root --pass root --ns test --db test backup.surql
surreal version
凭据警告:上述示例中的 root/root 仅用于本地开发,切勿用于生产或共享实例,非本地环境应创建最小权限的作用域用户。
安全提示:该技能只记录包管理器与容器安装方式,建议通过 Homebrew、apt/dnf、Cargo、npm 或 Docker 等可审计渠道安装,而非远程一行式 shell 安装脚本。
规则文档索引
rules/ 目录下按主题组织:surrealql.md(语法、语句、函数、操作符)、data-modeling.md(schema 设计、记录 ID、字段类型、关系与规范化)、graph-queries.md(RELATE 与图遍历)、vector-search.md(向量字段与 HNSW 索引)、security.md(权限与鉴权)、deployment.md(安装、存储引擎、Docker、Kubernetes、surrealdb/setup-surreal@v2 GitHub Action,仅用于 CI)、performance.md(索引与 EXPLAIN 优化)、sdks.md、surrealism.md(WASM 扩展)、surrealml.md(预览阶段)、surrealmcp.md、editor-tooling.md(LSP、tree-sitter、CodeMirror 与各编辑器扩展)、langchain.md(仅 Python 的 langchain-surrealdb 0.2.1)、ecosystem-integrations.md(n8n、AI 框架文档索引、CodeMirror、agent-skills 仓库)、surrealist.md、surreal-sync.md、surrealfs.md、surrealkit.md、gotchas.md(跨领域边界情况)。
生态工具
Surrealist(官方 IDE 与 GUI,含 schema 设计器、查询编辑器、图可视化);Surreal-Sync(CDC 迁移);SurrealFS(基于 SurrealDB 的 AI 智能体文件系统);SurrealKit(期望态 schema 同步、基于 rollout 的迁移、种子数据与声明式测试);SurrealML(预览阶段 .surml 工具);SurrealMCP(模型上下文协议服务器);n8n 社区节点包;CodeMirror 语法包;setup-surreal GitHub Action。
SurrealMCP 为官方 MCP 服务器(surrealdb/surrealmcp),可让 Claude Desktop、Cursor、VS Code 中 GitHub Copilot、Zed、n8n 等 MCP 兼容宿主通过单一配置读写 SurrealDB;需从源码(cargo install --path .)或 Docker 安装,未发布到 crates.io 或 npm;二进制需 start 子命令;工具线名为 snake_case。
输出约定
技能内所有 Python 脚本采用双输出模式:stderr 输出 Rich 格式化的人类可读内容,stdout 输出机器可读 JSON,便于智能体程序化消费(2>/dev/null 可隐藏人类输出)。
版本与来源快照
该技能于 2026-06-17 刷新,上游来源包括:surrealdb/surrealdb v3.1.4(2026-06-10)、surrealdb/surrealist surrealist-v3.9.0(2026-06-16)、surrealdb/surrealdb.js v2.0.3、surrealdb/surrealdb.py v2.0.0(PyPI,main 3.0.0 未发布)、surrealdb/surrealkit v0.7.0、surrealdb/surrealmcp v0.4.0(3.1+ 内置 MCP);文档快照 surrealdb.com/docs 2026-06-17;机器可读来源信息见 SOURCES.json。
限制
SurrealML 属于预览/不稳定阶段:GitHub 有 v0.1.2 发布,但截至该快照 PyPI 上最新包仍为 surrealml 0.0.4;.surml 制品格式与 [sklearn]、[torch]、[tensorflow] extra 是稳定的已记录边界;v1.4.0 中关于 DEFINE MODEL、INFO FOR MODEL、REMOVE MODEL、ml::name<version>(...)、surreal ml import、db.upload_ml(...) 以及 SurMlFile.from_<framework>(...) 工厂方法的文档已在 v1.4.1 撤回;当前 Python 安装路径在 LOCAL_BUILD 非 TRUE 时会从 GitHub Releases 下载原生库,生产使用前需锁定版本并审计。此外,Spectron / Agent Memory Context 仅处于路线图阶段,不应作为生产 API 呈现;部分编辑器扩展的命令面板与设置仍需以各扩展 README 为准。