om
om — 插件化知识库(基于 Foam 二次开发)
把超脑 v4 的 66 模块砍到只剩知识库核心,以 Foam 为底子重写,按 DeepSeek Harness 的方式插件化:
Obsidian 兼容 — 你的 vault 就是知识库:纯 markdown 文件 +
[[双链]]+#标签+ frontmatter零依赖 — 只用 Node 内置
node:sqlite(FTS5 全文检索,内置中文分词)插件化 — 核心暴露稳定接口,用户自己写插件扩展(命令 / MCP 工具 / 事件 / 索引提取器)
AI 可接入 — MCP stdio 服务器,Claude Code / Cursor 直接调用
致敬 Foam(MIT):双链解析语义与图谱模型深受其启发。本项目为独立重写(零依赖,无任何运行时依赖),不是代码 fork。
快速开始
cd ~/om
./core/cli.js init demo # 初始化(demo 已有示例笔记)
./core/cli.js scan --vault demo # 建索引
./core/cli.js search 图谱 --vault demo
./core/cli.js rename 图谱 知识图谱 --vault demo # 重命名,全库双链自动更新
./core/cli.js deadlinks --vault demo # 死链检查
./core/cli.js orphans --vault demo # 孤岛笔记
./core/cli.js daily --vault demo # 今日笔记
./core/cli.js graph 插件系统 --vault demo
./core/cli.js backlinks 记忆系统 --vault demo
./core/cli.js tags --vault demo日常使用:cd <你的库> && om search xxx(npm link 后可全局用 om 命令)。
Related MCP server: mcp-vault-reader
MCP 接入(Claude Code)
// ~/.claude.json 的 mcpServers
{
"om": {
"command": "node",
"args": ["/data/data/com.termux/files/home/om/core/cli.js", "mcp", "--vault", "/path/to/vault"]
}
}内置工具:search_notes / read_note / create_note / update_note / rename_note / delete_note / backlinks / graph_bfs / list_notes / list_tags,加上插件注册的工具。
架构
vault/ 你的 Obsidian 库(文件即真身)
.om/config.json 配置(插件开关等)
.om/index.db SQLite 索引(可随时删除重建)
.om/plugins/ 你的插件放这里
om/
core/
vault.js 解析 frontmatter / [[双链]] / ![[嵌入]] / #标签
tokenize.js 中文分词(CJK 单字+双字)+ FTS 查询构造
db.js / indexer.js SQLite 索引 + 增量扫描
graph.js 图谱查询(邻居 / backlinks / BFS)
context.js 插件上下文(全部暴露接口)
plugins.js 插件加载器(dsh 式)
cli.js / mcp.js CLI 与 MCP stdio 服务器
plugins/ 内置示例插件(recent / todos)插件编写指南(暴露接口)
插件 = 一个 JS 文件(ESM),默认导出 { name, version, description, activate(ctx) }。
放到 <vault>/.om/plugins/my-plugin.js,重启任意 om 命令即生效。config.json 里 "plugins": {"my-plugin": false} 可禁用。
两条快捷命令:
om plugin create my-plugin # 生成插件模板
om plugin install https://github.com/xxx/om-plugin-repo # 从 git 仓库安装(仓库根目录需含 index.js)activate(ctx) 拿到全部能力:
接口 | 说明 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 原生 SQLite 句柄(进阶) |
| 库路径 / 插件名 |
最小插件示例
// <vault>/.om/plugins/hello.js
export default {
name: 'hello',
activate(ctx) {
ctx.commands.register('hello', async () => `你好,库里有 ${ctx.db.prepare('SELECT COUNT(*) c FROM notes').get().c} 篇笔记`);
},
};$ om hello --vault demo
你好,库里有 5 篇笔记完整示例见 plugins/recent.js(命令+工具+存储+事件)与 plugins/todos.js(frontmatter/标签查询)。
测试
cd ~/om && node --test覆盖:分词 / vault 解析 / 索引与增量 / 图谱 / 插件全接口 / MCP 协议端到端。
与超脑 v4 的差异
超脑 v4 | om | |
模块数 | 66 | 核心 10 文件 + 插件 |
架构 | 6 通道认知神经系统 | 纯知识库 + dsh 式插件 |
存储 | 自建多套 | Obsidian 兼容 markdown(文件即真身) |
依赖 | npm + pip + 守护进程 | 零依赖(node:sqlite) |
扩展 | 不可编程 | 暴露接口,用户写插件 |
已知限制(诚实声明)
检索为字面匹配(FTS5 + 中文单双字分词),非语义检索;同义词/概念检索需靠插件或外部向量服务扩展
update_note传入正文时自动保留原 frontmatter;如需整篇覆写,请连同---头一起传重命名(
rename/rename_note)会自动更新全库指向它的双链,但不会改其他文件里的文本提及单机单进程设计,无分布式/多设备同步(vault 本身是纯文件,可自行用 git 同步)
索引为文件系统快照,外部编辑器改动后需
om scan(或om watch)刷新
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP-native notes and memory for ChatGPT, Claude, and other AI tools.
Shared Markdown notes for MCP-compatible AI tools.
- TaprootOAuthcom.taproothq
Persistent memory layer for AI tools. Save and recall notes across Claude and other MCP clients.
Markdown notes in folders, with files, that your AI assistant can read, write and organise.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables AI assistants to manage a personal markdown-based knowledge base with natural language interactions. Supports creating, searching, updating, and organizing notes across categories like people, recipes, meetings, and procedures.111-
- AlicenseAqualityDmaintenanceEnables AI assistants to search, read, and traverse Markdown note vaults (Obsidian-compatible) with full-text search, backlinks, knowledge graphs, and a persistent memory system for cross-session context.1613 npm4MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to list, search, read, and append to Markdown notes through MCP tool calls, making it easy to interact with a second brain folder.-
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to access and manage a personal markdown knowledge base stored in Cloudflare R2. Provides tools for listing, reading, writing, searching (full-text and semantic), and following backlinks between notes.1 npm3MIT