关于 stellavault
stellavault 是面向本地笔记与 Obsidian vault 的知识管理工具,提供桌面应用、命令行、Obsidian 插件和 MCP 服务。它结合混合搜索、自编译 wiki 与记忆衰减分析,让 Claude 等客户端能够检索、提问和起草内容。
主要功能
- 01多格式内容导入并编译 wiki
- 02融合语义、关键词和链接的搜索
- 03检测知识缺口、矛盾和重复
- 04FSRS 记忆衰减与复习建议
- 053D 知识图谱可视化
- 06原始文件保持不变
适用场景
- 01让 Claude 搜索并问答本地笔记
- 02从 vault 内容生成草稿
- 03检查笔记之间的缺口、矛盾和重复
- 04通过记忆衰减发现需要复习的笔记
MCP 相关
MCP 服务提供 21 个工具,可让客户端搜索、问答、起草、检查和分析 vault 内容,并支持知识节点创建及跨 vault 搜索。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
16收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tags | array | 否 | 标签筛选 |
| limit | number | 否 | 返回的结果数(默认:5) |
| query | string | 是 | 搜索查询(自然语言或关键词) |
详细介绍
Claude 记得的本地优先第二大脑。
Karpathy 的自编译 wiki × Zettelkasten — 完全本地化、保障知识库安全,并原生支持 MCP。
只需一条命令,就能让 Claude 读取你的知识库:
npx -y stellavault setup # 将 MCP 服务接入 Claude Code / Desktop、Cursor、Windsurf 或 VS CodeClaude Code 用户? 也可以改为安装插件 — 只需两条命令,即可使用 MCP 服务以及
/vault-ask、/vault-review、/vault-decision技能:/plugin marketplace add Evanciel/stellavault /plugin install stellavault@stellavault
会自我编译的第二大脑。 Stellavault 融合了两种关于知识应如何存储和发展的理念:
- 🧠 Karpathy 的自编译 wiki — 添加任何内容(一份 PDF、一个 YouTube 链接、一个突然闪现的想法),它就会自动提取到
raw/,然后编译成由概念和反向链接构成的整洁_wiki/。知识会随着积累而自行重新编译,而不是在文件夹里逐渐腐朽。 - 🕸️ Zettelkasten — 原子笔记、
[[wikilinks]]和自然涌现的关联,让思想之网(而非文件夹树)成为你思维方式的真正结构。
最终,你将获得一款本地优先的知识工具 — 包含完整的 Markdown 编辑器、3D 神经网络图、混合 AI 搜索和间隔重复记忆衰减机制,并以桌面应用、命令行、Obsidian 插件和能让 Claude 读取整个知识库的 MCP 服务形式提供。无需云端,无需 API 密钥,原始文件也绝不会被修改。
将你的知识库呈现为神经网络。本地优先,无需云端。
目录
亮点 · 为什么选择 Stellavault? · 安装 · 编辑器 · 处理流程 · 智能功能 · 搜索与排序 · MCP 集成 · 3D 可视化 · 配置 · 性能 · 技术栈 · 安全 · 故障排除
亮点
- 🧠 它会自行编译。 放入 PDF、YouTube 链接或尚未成形的想法——Stellavault 会将其提取到
raw/,然后编译出包含概念和反向链接的整洁_wiki/。知识会随着增长自行整理。 - 🔍 真正能找到内容的搜索。 混合检索通过 加权 RRF 融合语义、精确关键词(BM25)以及你自己的
[[wikilinks]]/#tags,然后根据 FSRS 记忆模型重新排序,让你实际使用的内容重新浮现。支持 50 多种语言,完全本地运行,无需 API 密钥。 - 🌌 将你的思维呈现在 3D 中。 实时神经图谱(React Three Fiber)——支持按文件夹深入查看的聚类视图、单条笔记的本地图谱、标签叠加,以及两类边线,让你自己的 wikilinks 在视觉上区别于 AI 推断出的相似关系。可扩展至包含 17k 条笔记的完整知识库。让你看见自己所知的脉络。
- 🤖 Claude 可以读取你的整个知识库。 一流的 MCP 服务(21 个工具):Claude 可通过 Claude Code、Claude Desktop、Cursor、Windsurf 或 VS Code 搜索、提问、起草、检查和分析你的知识。
- ⏳ 它绝不会悄悄遗忘。 FSRS 记忆衰减会提醒你那些即将遗忘的真实笔记,还能检测整个知识库中的知识缺口、矛盾和重复内容。
- 🔒 本地优先,保护知识库,无需密钥。 本地嵌入、设备端向量存储,并且绝不修改你的原始文件。除非你选择共享,否则任何内容都不会离开你的设备。
为什么选择 Stellavault?
大多数工具都让你在写作、搜索和记忆之间做选择。Stellavault 三者兼顾——完全本地运行,并且 Claude 可以读取。
| Stellavault | Obsidian | Notion | 纯 RAG 脚本 | |
|---|---|---|---|---|
| 本地优先,支持离线使用 | ✅ | ✅ | ☁️ 云端 | ⚠️ 通常在云端 |
| 无需 API 密钥的语义搜索 | ✅ | ⚠️ 插件 + 密钥 | 💰 付费 AI | ⚠️ 需要密钥 |
| 绝不修改原始文件 | ✅ | ✅ | ❌ 专有格式 | ➖ |
| 自行编译(摄取 → wiki) | ✅ | ❌ | ❌ | ❌ |
| 3D 知识图谱 | ✅ | 2D / 插件 | ❌ | ❌ |
| 间隔重复衰减(FSRS) | ✅ | ⚠️ 插件 | ❌ | ❌ |
| 检测知识缺口 / 矛盾 / 重复内容 | ✅ | ❌ | ❌ | ❌ |
| 原生支持 MCP(Claude 读取你的知识库) | ✅ | ➖ 社区支持 | ☁️ 云端 | ➖ |
说明
两者并非非此即彼——Stellavault 甚至可以作为插件在 Obsidian 内部运行。保留你的编辑器,添一个大脑。
安装
桌面应用(推荐——一键安装)
⬇ 下载 Windows 版 x64 · 258 MB · ZIP | ⬇ 下载 Linux 版 x64 · 237 MB · ZIP | macOS 即将推出 |
提示
下载 → 解压 → 运行
stellavault.exe(Windows)或stellavault(Linux)→ 选择笔记文件夹 → 完成。
CLI(面向开发者)
npm install -g stellavault # or: npx stellavault
stellavault init # Interactive setup (3 min): index vault + connect AI clients
stellavault setup # Connect to Claude Code/Desktop, Cursor, Windsurf, VS Code (one command)
stellavault graph # Launch 3D graph in browser
需要 Node.js 20+。运行
stellavault doctor可诊断问题。
Obsidian 插件
- 从 stellavault-obsidian 发布页下载
main.js+manifest.json+styles.css - 放入
.obsidian/plugins/stellavault/ - 在“设置” → “社区插件”中启用
- 在知识库文件夹中运行
npx stellavault graph,启动 API
编辑器
功能齐全的 Markdown 编辑器——媲美 Obsidian。
完整的格式与块支持 — 表格、代码、KaTeX、斜杠命令、维基链接、分屏视图…… (点击展开)
| 功能 | 状态 |
|---|---|
| 粗体、斜体、下划线、删除线 | ✅ |
| 标题 1–6 | ✅ |
| 项目符号列表、编号列表、任务列表(嵌套复选框) | ✅ |
| 表格(创建、调整列宽、添加/删除行和列) | ✅ |
| 代码块语法高亮(40 多种语言) | ✅ |
| 图片(URL、粘贴剪贴板内容、拖放) | ✅ |
KaTeX 数学公式渲染(行内公式 $E=mc^2$,块级公式 $$...$$) | ✅ |
/Slash commands(12 种块类型,模糊搜索) | ✅ |
[[Wikilink]] 自动补全 | ✅ |
| 分屏视图(垂直 + 水平,Ctrl+\) | ✅ |
| 文本对齐(左对齐 / 居中 / 右对齐) | ✅ |
| 高亮、上标、下标 | ✅ |
| 智能排版(弯引号、长破折号/短破折号) | ✅ |
| 水平线 | ✅ |
工作流
Capture ──→ Organize ──→ Distill ──→ Express
Drop anything → auto-extract → raw/ → compile → _wiki/ → draft
灵感来自 Karpathy 的自编译知识架构。
导入 14 种格式
| 输入 | 操作方式 |
|---|---|
| PDF、DOCX、PPTX、XLSX | stellavault ingest report.pdf |
| JSON、CSV、XML、YAML、HTML、RTF | stellavault ingest data.json |
| YouTube | stellavault ingest https://youtu.be/... — 字幕稿 + 时间戳 |
| URL | stellavault ingest https://... — HTML → Markdown |
| 文本 | stellavault ingest "quick thought" |
| 文件夹 | stellavault ingest ./papers/ — 批量处理所有文件 |
| 桌面端 / Web 界面 | 直接拖放文件 |
Express:获取知识
stellavault draft "AI" --format blog # Blog post from your vault
stellavault draft "AI" --format outline # Structured outline
stellavault draft "AI" --ai # Claude API enhanced ($0.03)
或者使用桌面应用中的 Express 标签页——输入主题、选择格式,即可生成以知识库内容为依据的草稿。保存到 _drafts/ 并直接编辑。
智能功能(Stellavault 的独特之处)
这些功能在 Obsidian 中不存在——即使安装插件也不行。
| 功能 | 命令 / 桌面端 | 说明 |
|---|---|---|
| 记忆衰退 | stellavault decay / 记忆标签页 | 基于 FSRS——显示你正在遗忘的真实笔记 |
| 知识缺口 | stellavault gaps | 检测主题集群之间薄弱的关联 |
| 矛盾检测 | stellavault contradictions | 查找知识库中相互冲突的陈述 |
| 重复项 | stellavault duplicates | 查找近乎相同的笔记,并显示相似度评分 |
| 健康检查 | stellavault lint | 汇总知识库健康评分(0–100) |
| 学习路径 | stellavault learn | AI 个性化复习建议 |
| 每日简报 | 桌面应用主屏幕 | 推送类型:打开应用时显示最容易衰退的笔记 + 统计数据 |
| 自动打标签 | 导入时自动执行 | 基于内容提取关键词 + 分类规则 |
| 自编译 | stellavault compile | raw/ → _wiki/,并提取概念 + 添加反向链接 |
搜索与排名
混合检索通过**加权倒数排名融合(RRF)**结合多种信号——专为个人知识库设计,完全本地运行,无需 API 密钥:
| 信号 | 捕捉内容 | 默认权重 |
|---|---|---|
| 语义(稠密) | 含义;支持多语言(50 多种语言) | 1.0 |
| BM25(关键词) | 精确术语、代码、名称 | 1.0 |
| 实体链接 | 你的 [[wikilinks]]、#tags、标题和名称——精心整理的知识图谱 | 1.5 |
| FSRS 时效性 | 温和地呈现你正在使用或即将遗忘的笔记 | ±10% |
- 实体匹配通过模糊子串匹配和标点规范化匹配来解析自然语言查询(适用于韩语/中日韩文字),并设有单文档多样性上限,避免一篇大型笔记占满顶部结果。
- 时效性复用与衰减引擎相同的 FSRS 记忆模型(而非原始文件修改时间)——你即将遗忘的笔记会重新浮现;掌握牢固的常青笔记不会仅仅因为时间久远而被埋没。
- 自适应重排(长期运行的 MCP 服务)会根据当前会话上下文(近期标签/路径)进一步提升结果排名。
- 每项权重都可按知识库或通过环境变量调整——请参阅配置。
MCP 集成(21 个工具)
stellavault setup # one command → Claude Code, Claude Desktop, Cursor, Windsurf, VS Code
# or, for Claude Code only:
claude mcp add stellavault -- stellavault serve
手动配置(适用于任何 MCP 客户端)——复制粘贴 JSON
{
"mcpServers": {
"stellavault": {
"command": "npx",
"args": ["-y", "stellavault", "serve"]
}
}
}
已在 MCP 注册表中列出,名称为 io.github.Evanciel/stellavault(也可通过 Glama、Smithery 和 mcp.so 查找)。
Claude 可以直接搜索、提问、起草、检查和分析你的知识库。搜索会运行 完整的混合检索流程——对语义 + BM25 + 实体链接进行加权 RRF, 再结合 FSRS 时效性和会话自适应重排(请参阅搜索与排名)。
| 工具 | 功能 |
|---|---|
search | 加权 RRF(语义 + BM25 + 实体)+ FSRS 时效性 + 自适应重排 |
ask | 基于知识库内容的问答 |
generate-draft | 根据你的知识生成 AI 草稿 |
get-decay-status | 记忆衰减报告(FSRS) |
detect-gaps | 知识缺口分析 |
create-knowledge-node | AI 创建符合 Wiki 质量标准的笔记 |
federated-search | 跨知识库 P2P 搜索 |
| + 14 个更多工具 | 文档、主题、决策、快照、导出 |
3D 可视化
- 带簇颜色的神经网络图(React Three Fiber)
- 簇视图(默认)——大型知识库会折叠为一个由带标签的簇超节点组成的小型星系;查看器内的
[Cluster | All nodes]切换控件可在无需重新加载的情况下切换至密集的原始视图,点击超节点可深入查看该簇的成员 - 星座视图(最小生成树星形模式)
- 热力图叠加层 + 时间轴滑块 + 衰减叠加层
- 多重宇宙视图——将你的知识库显示为 P2P 网络中的一个宇宙
- 深色/浅色主题
图谱查看器缩放
3D 图谱渲染器受两个环境变量限制(启动 stellavault graph 之前在环境中设置):
| 环境变量 | 默认值 | 适用范围 | 限制内容 |
|---|---|---|---|
GRAPH_NODE_CAP | 1500 | **原始 / “所有节点”**视图 | 以独立节点形式渲染的(最新)笔记数量。 |
GRAPH_CLUSTER_CAP | 3000 | 聚类视图(默认) | 聚类前折叠到星系中的笔记数量。 |
为什么这些上限很重要。 边的构建会在内联循环中执行 O(n²) 全量两两余弦计算 —
n·(n-1)/2 对,每对计算 384 个维度(参见 packages/core/src/api/graph-data.ts 中的
neighbors 循环)。在 cap=3000 时约有 450 万对(构建需要数秒,由 5 分钟的服务端缓存吸收);提高到 13000 左右则会达到约 8400 万对,构建需要数分钟,还会产生数 GB 的中间数组,导致单线程 Express 处理程序冻结(没有工作线程)。原始“所有节点”路径的开销更大(会跑满整个上限),因此服务端会按视图限制请求的 ?cap(原始视图 ≤ 4000,聚类视图 ≤ 6000,并向下取整),以控制构建成本和缓存基数。
默认聚类视图只是渲染开销低,构建开销并不低。 首次获取任一尚未缓存的视图时,都会在单个线程上执行限定范围的嵌入加载 + O(n²) 余弦计算 + k-means + 力导向稳定过程,导致处理程序停顿数秒。切换视图时,查看器会显示加载状态,避免冷启动构建期间点击操作被悄然忽略。
![]() 热力图 — 各聚类的连接密度 | ![]() 时间线 — 查看知识库随时间增长 |
![]() 搜索 — 在图谱中高亮显示语义匹配结果 | ![]() Multiverse — 将联邦知识库显示为环绕运行的宇宙 |
立即试用(演示知识库)
npx stellavault index --vault ./examples/demo-vault # Index 10 sample notes
npx stellavault search "vector database" # Semantic search
npx stellavault graph # 3D graph visualization
演示知识库包含关于向量数据库、知识图谱、间隔重复、RAG、MCP 等主题的互相关联笔记,可让你立即探索所有功能。
入门指南
桌面应用
- 下载 → 解压 → 运行
- 首次启动时,系统会提示你选择笔记文件夹
- 笔记会显示在侧边栏中 — 点击即可打开
- 按
Ctrl+P可快速切换文件 - 点击标题栏中的 ✦ 打开 AI 面板(语义搜索、统计、草稿)
- 点击 ◉ 查看 3D 图谱
命令行界面
npm install -g stellavault
stellavault init # Setup wizard
stellavault search "machine learning" # Semantic search
stellavault ingest paper.pdf # Add knowledge
stellavault graph # 3D graph in browser
stellavault brief # Morning briefing
stellavault decay # What are you forgetting?
键盘快捷键(桌面应用)
| 快捷键 | 操作 |
|---|---|
Ctrl+P | 快速切换器(模糊文件搜索) |
Ctrl+Shift+P | 命令面板(所有操作) |
Ctrl+S | 保存当前笔记 |
Ctrl+\ | 切换分屏视图 |
Ctrl+B | 加粗 |
Ctrl+I | 斜体 |
Ctrl+U | 下划线 |
Ctrl+E | 行内代码 |
/ | 斜杠命令(位于行首时) |
[[ | Wikilink 自动补全 |
快速参考
| 操作 | 桌面应用 | 命令行界面 |
|---|---|---|
| 搜索笔记 | Ctrl+P 或 AI 面板 | stellavault search "query" |
| 添加笔记 | + 笔记按钮或拖放 | stellavault ingest "text" |
| 查看 3D 图谱 | ◉ 按钮 | stellavault graph |
| 记忆衰减 | AI 面板 → 记忆 | stellavault decay |
| 生成草稿 | AI 面板 → 草稿 | stellavault draft "topic" |
| 健康检查 | AI 面板 → 统计 | stellavault lint |
配置
Stellavault 会读取 ./.stellavault.json(或 ~/.stellavault.json)。搜索排名完全可调,默认值经过合理配置,开箱即用:
{
"search": {
"rrfK": 60,
"weights": { "semantic": 1.0, "bm25": 1.0, "entity": 1.5 },
"recencyWeight": 0.2, // FSRS recency strength; 0 = off
"entityAliases": { "k8s": ["kubernetes"] } // synonym / cross-lingual groups (exact-only)
}
}
环境变量会覆盖配置(并进行安全解析):
| 环境变量 | 作用 |
|---|---|
STELLAVAULT_W_SEMANTIC / _BM25 / _ENTITY | 每种信号的 RRF 权重(例如,设置 STELLAVAULT_W_ENTITY=2.0,可显著提高实体的显示优先级) |
STELLAVAULT_RECENCY_WEIGHT | 时效性权重 0–1(0 表示禁用) |
STELLAVAULT_DB_PATH | 覆盖索引数据库的位置 |
STELLAVAULT_WATCH | 设为 0 可在 serve 运行期间禁用自动重新索引文件监视器 |
注意:跨语言召回(例如,使用韩语查询找到英文笔记)由多语言嵌入模型自动处理;
entityAliases是针对经过整理的实体图谱(标签 / 双链)和缩写的可选精度增强项。
性能
在合成知识库上测试,典型用例中的所有操作均在 1 秒内完成:
| 操作 | 100 个文档 | 500 个文档 | 1000 个文档 |
|---|---|---|---|
| 存储初始化 | 15ms | 15ms | 16ms |
| 批量插入 | 12ms | 102ms | ~200ms |
| 搜索(BM25) | <1ms | <1ms | <1ms |
| 获取所有文档 | <1ms | 2ms | ~4ms |
| 124K 次点积 | — | 36ms | — |
运行自己的基准测试:
node tests/stress.mjs 500 # Test with 500 synthetic documents
关键优化:
- 构建 HNSW 图 — 对 200 个以上文档使用 sqlite-vec KNN(O(n·K·log n),而非 O(n²))
- 预归一化向量:将余弦相似度计算转换为单次点积
- 批量加载嵌入(每批 500 个,防止 RAM 溢出)
- 对小型知识库(< 200 个文档)采用上三角暴力计算
- 使用类型化数组,以 O(n) 时间更新 K-Means 质心
技术栈
| 层 | 技术 |
|---|---|
| 桌面端 | Electron + React + TipTap(15 个扩展)+ Zustand |
| 运行时 | Node.js 20+(ESM、TypeScript) |
| 向量存储 | SQLite-vec(本地、零配置) |
| 嵌入 | MiniLM-L12-v2(本地、50 多种语言、批处理) |
| 搜索 | 加权 RRF(语义 + BM25 + 实体)+ FSRS 时效性 |
| 数学 | KaTeX(行内 + 独立显示) |
| 代码 | lowlight / highlight.js(40 多种语言) |
| 3D | React Three Fiber + Three.js |
| AI | MCP(21 个工具)+ Anthropic SDK |
| P2P | Hyperswarm(可选,差分隐私) |
| CI | GitHub Actions(Node 20 + 22) |
安全
- 本地优先 — 除非使用
--ai,否则数据不会离开你的设备 - 知识库文件绝不修改 — 索引写入 SQLite,原文件保持不变
- 启用 Electron 沙箱 — 渲染进程以受限的操作系统权限运行
- IPC 路径验证 — 所有文件操作均限制在知识库根目录内
- API 身份验证令牌 — 每个会话独立,仅通过请求头传递(
X-Stellavault-Token)。令牌端点仅允许同源访问 - CORS 允许列表 — 默认仅允许
localhost/127.0.0.1;MCP HTTP 传输需选择启用 - SSRF 防护 — URL 导入时会屏蔽私有 IP
- 端到端加密 — 云同步使用 AES-256-GCM
联邦(实验性,默认关闭)
点对点语义搜索作为一项选择启用的实验性功能提供。默认安装不会加入任何集群,也绝不会共享数据。
显式启用:
# PowerShell
$env:STELLAVAULT_FEDERATION_EXPERIMENTAL = "1"
# bash / zsh
export STELLAVAULT_FEDERATION_EXPERIMENTAL=1
stellavault federate join
启用后,联邦功能会使用 Ed25519 身份和签名信封、相互质询-响应握手、每个信封的重放随机数、握手超时、对等节点速率限制,以及默认仅接收的共享设置(myNodeLevel=0)。在联邦提示词中运行 set-level 1+,即可实际与对等节点共享标题和摘要片段。
警告
升级提示(v0.7.4) — 联邦线路格式从 v2.0 升级到 v2.1(信封级随机数)。v0.7.3 联邦节点不兼容。现有的
~/.stellavault/federation/sharing.json文件不会自动降级为更安全的默认值;如果你之前选择启用,请检查myNodeLevel。
完整详情请参阅 SECURITY.md。
故障排查
stellavault doctor # Check config, vault, DB, model, Node version
常见问题:
- “找不到命令” →
npm i -g stellavault@latest - “找不到 API 服务器” →
npx stellavault graph - 图谱为空 →
stellavault index - 首次运行缓慢 → AI 模型仅需下载一次,约 30MB
贡献
欢迎提交问题和拉取请求。请参阅 CONTRIBUTING.md 了解如何开始,并参阅 SECURITY.md 负责任地报告漏洞。
许可证
MIT — 提供完整源代码供审计。
链接
觉得有用吗? ⭐ 为 Stellavault 点星 —— 这确实能帮助项目触达更多以关联笔记进行思考的人。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。



