Communitygithub.com

24601/surreal-skills

SurrealDB 3 專業技能。用於處理 SurrealDB、SurrealQL 查詢、多模型資料建模(文件、圖形、向量、時間序列、地理空間)、Schema 設計、圖形遍歷、向量搜尋、安全性與權限、部署與運維、效能調校、SDK 整合、Surrealism WASM 擴充、SurrealMCP、Surrealist IDE、Surreal-Sync 遷移、SurrealFS、SurrealKit 或生態系統整合(如 n8n 和 CodeMirror)。

surreal-skills 是什麼?

這是一個專為 GitHub Copilot 設計的 SurrealDB 3 專家技能,能夠在使用 SurrealDB 相關技術時自動啟用。它涵蓋了 SurrealQL 查詢撰寫與除錯、多模型資料庫 Schema 設計(文件、圖形、向量、時間序列、地理空間)、圖形遍歷與向量搜尋、安全性與權限設定、部署與運維(含 Docker 和 Kubernetes)、效能調校、多語言 SDK 整合(JavaScript、Python、Go、Rust、Java 等),以及 Surrealism WASM 擴充、SurrealMCP、Surrealist IDE、Surreal-Sync 遷移、SurrealFS、SurrealKit 等生態工具。該技能包含 18 個詳細規則檔案,可根據使用者的具體需求自動載入對應的領域知識,並提供快速參考代碼片段和關鍵概念說明,幫助開發者高效運用 SurrealDB 的完整功能。

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

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

SurrealDB 3 專家技能

專為 GitHub Copilot 提供的 SurrealDB 3 架構、開發與運維專家級技能。

何時 Copilot 應使用此技能

當使用者有下列行為時自動啟用:

  • 撰寫或詢問 SurrealQL 查詢
  • 處理 .surql 檔案
  • 設計 SurrealDB 的資料庫 Schema
  • 設定 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設計 Schema、選擇欄位類型、記錄 ID多模型 Schema 設計模式
graph-queries.mdRELATE、圖形遍歷、路徑表達式圖形邊與遍歷模式
vector-search.mdHNSW 索引、相似度搜尋、嵌入向量搜尋與 RAG 管線
security.md權限、認證、JWT、存取控制列層級安全性與認證流程
deployment.md安裝、設定、執行 SurrealDB儲存引擎、Docker、Kubernetes
performance.md慢查詢、索引策略、EXPLAIN效能調校與最佳化
sdks.md從應用程式程式碼使用 SurrealDBJS、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 RAGPython 向量儲存 API
ecosystem-integrations.mdn8n / 框架參考n8n、AI 框架文件、Spectron 邊界、Agent 技能
surrealist.md使用 Surrealist IDE/GUIIDE 功能與 Schema 設計器
surreal-sync.md從其他資料庫遷移從 Postgres、Mongo 等進行 CDC 同步
surrealfs.mdAI 代理檔案系統操作基於 SurrealDB 的虛擬檔案系統
surrealkit.mdSchema 同步、發佈、種子資料與宣告式測試SurrealDB 應用的期望狀態 Schema 管理

快速參考

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

# Schema 內省
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.

相關技能