Communitygithub.com

24601/surreal-skills

SurrealDB 3 专家技能。用于处理 SurrealDB、SurrealQL 查询、多模型数据建模(文档、图、向量、时间序列、地理空间)、模式设计、图遍历、向量搜索、安全与权限、部署与运维、性能调优、SDK 集成、Surrealism WASM 扩展、SurrealMCP、Surrealist IDE、Surreal-Sync 迁移、SurrealFS、SurrealKit 以及 n8n 和 CodeMirror 等生态集成。

surreal-skills 是什么?

这是一项为 GitHub Copilot 设计的专家级技能,专门用于 SurrealDB 3 架构、开发与运维。当用户编写 SurrealQL 查询、设计 SurrealDB 模式、配置部署或使用该数据库的多模型功能时,该技能会自动激活。它涵盖了 18 个详细规则文件,涵盖 SurrealQL 语法、图查询、向量搜索、安全策略、SDK 模式、部署策略、性能优化以及 Surrealism WASM 扩展或 SurrealMCP 等高级集成。该技能通过结构化规则文件系统将丰富的文档和代码示例直接带入 Copilot 环境,无需离开编辑器即可实现 SurrealDB 特定帮助。支持 JavaScript、Python、Go、Rust、Java、Kotlin、.NET、C、PHP、Swift、Ruby 等 SDK,并提供针对 n8n、LangChain 和自定义编辑器工具的专用规则。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/24601/surreal-skills/tree/main/.github/skills/surrealdb

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

SurrealDB 3 Expert 技能

适用于 GitHub Copilot 的 SurrealDB 3 专家级架构、开发与运维技能。

当 Copilot 应使用此技能

当用户出现以下情况时自动激活:

  • 编写或询问 SurrealQL 查询
  • 处理 .surql 文件
  • 为 SurrealDB 设计数据库模式
  • 配置 SurrealDB 部署或 Docker
  • 使用 SurrealDB SDK(JavaScript、Python、Go、Rust、Java、Kotlin、.NET、C、PHP、Swift、Ruby)
  • 处理图关系(RELATE、遍历)
  • 实现向量搜索或 RAG 模式
  • 配置安全、权限或访问控制
  • 构建 Surrealism WASM 扩展
  • 从其他数据库迁移数据到 SurrealDB
  • 将 SurrealDB 连接到 MCP 主机、n8n、AI 框架或自定义编辑器

规则参考

此技能包含 18 个详细的规则文件。当用户的请求匹配其领域时,请读取相关规则文件:

规则文件何时加载领域
surrealql.md编写或调试 SurrealQL 查询时完整的 SurrealQL 语言参考
data-modeling.md设计模式、选择字段类型、记录 ID 时多模型模式设计模式
graph-queries.mdRELATE、图遍历、路径表达式时图边和遍历模式
vector-search.mdHNSW 索引、相似性搜索、嵌入时向量搜索和 RAG 管道
security.md权限、认证、JWT、访问控制时行级安全和认证流程
deployment.md安装、配置、运行 SurrealDB 时存储引擎、Docker、Kubernetes
performance.md慢查询、索引策略、EXPLAIN 时性能调优与优化
sdks.md从应用程序代码使用 SurrealDB 时JS、Python、Go、Rust、Java、Kotlin、.NET、C、PHP、Swift、Ruby 模式
surrealism.md编写 WASM 扩展时Rust 到 WASM 扩展开发
surrealml.md在 SurrealML 附近工作时预览 .surml 边界和原生依赖警告
surrealmcp.md连接 AI 主机时MCP 工具目录与部署
editor-tooling.md编辑器 / IDE 支持时LSP、tree-sitter、CodeMirror、编辑器扩展
langchain.mdlangChain RAG 时Python 向量存储 API
ecosystem-integrations.mdn8n / 框架指向时n8n、AI 框架文档、Spectron 边界、Agent 技能
surrealist.md使用 Surrealist IDE/GUI 时IDE 功能和模式设计器
surreal-sync.md从其他数据库迁移时从 Postgres、Mongo 等 CDC 同步
surrealfs.mdAI 代理文件系统操作时由 SurrealDB 支持的虚拟文件系统
surrealkit.md模式同步、发布、种子数据和声明式测试时SurrealDB 应用的期望状态模式管理

快速参考

SurrealQL 要点

-- 创建记录
CREATE person:alice SET name = 'Alice', age = 30;

-- 图边
RELATE person:alice->follows->person:bob SET since = time::now();

-- 遍历图
SELECT ->follows->person.name AS following FROM person:alice;

-- 向量搜索(HNSW)
DEFINE INDEX idx_embed ON document FIELDS embedding HNSW DIMENSION 1536 DIST COSINE;
SELECT * FROM document WHERE embedding <|10,40|> $query_vector;

-- 行级权限
DEFINE TABLE post SCHEMALESS PERMISSIONS
  FOR select WHERE published = true OR user = $auth.id
  FOR create, update WHERE user = $auth.id;

-- 实时查询
LIVE SELECT * FROM person WHERE age > 25;

关键概念

  • 记录 ID:table:id(例如 person:alice)—— 一等公民,无需 JOIN
  • 多模型:文档 + 图 + 向量 + 时间序列 + 地理空间,一个数据库搞定
  • 图运算符:->(出边)、<-(入边)、<->(双向)
  • KNN 运算符:<|K,EF|> 其中 K=邻居数,EF=搜索参数(非距离度量)
  • 存储引擎:memory、RocksDB、SurrealKV(时间旅行)、TiKV(分布式)
  • WASM 扩展:v3 新增 —— 编写 Rust,编译为 WASM,使用 DEFINE MODULE 注册

脚本

# 健康检查
uv run scripts/doctor.py

# 模式自省
uv run scripts/schema.py introspect

# 检查上游更新
uv run scripts/check_upstream.py

安全说明

  • 示例中仅本地开发使用 root/root。生产环境请使用作用域凭据。
  • 脚本仅连接到用户指定的端点。无第三方网络调用。
  • 在查询插值前,表名会通过 [a-zA-Z_][a-zA-Z0-9_]* 验证。
  • 优先使用包管理器或容器安装,而不是远程 shell 安装程序。

Individual skills in this repo

This repo contains 5 individual skills — each has its own dedicated page.

相关技能