Skip to main content
Glama

om — плагинная база знаний (вторичная разработка на основе Foam)

Сократил 66 модулей Superbrain v4 до ядра базы знаний, переписал на основе Foam, сделал плагинным в стиле DeepSeek Harness:

  • Совместимость с Obsidian — ваш vault и есть база знаний: чистые markdown-файлы + [[двусторонние ссылки]] + #теги + frontmatter

  • Ноль зависимостей — только встроенный node:sqlite (полнотекстовый поиск FTS5, встроенная сегментация китайского текста)

  • Плагинность — ядро предоставляет стабильные интерфейсы, пользователи сами пишут плагины для расширения (команды / MCP-инструменты / события / извлекатели индексов)

  • Подключение ИИ — MCP stdio-сервер, прямой вызов из Claude Code / Cursor

С уважением к Foam (MIT): семантика разбора двусторонних ссылок и модель графа глубоко вдохновлены им. Этот проект — независимая переработка (ноль зависимостей, никаких зависимостей времени выполнения), а не форк кода.

Быстрый старт

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) даёт полный доступ к возможностям:

Интерфейс

Описание

ctx.notes

get(name) / search(q,{limit}) / create(name,{folder,content,tags}) / update(name,content) / remove(name) / list({tag})

ctx.graph

resolve(name) / neighbors(ref) / backlinks(ref) / bfs(ref,depth)

ctx.tags

list() / notes(tag)

ctx.storage

get/set/del(key) — приватное KV-хранилище плагина (изолировано по имени плагина)

ctx.events

on('note:save'|'note:delete', fn) — шина событий, общая для всех контекстов

ctx.commands

register('имя', async (args) => вывод) — добавление новой подкоманды CLI

ctx.tools

register({name,description,inputSchema}, handler) — добавление нового MCP-инструмента

ctx.index

register(({id,name,frontmatter,body,text}) => ({tags?,links?})) — извлекатель индексов, настройка извлечения знаний из заметок

ctx.health

deadlinks() неразрешённые ссылки / orphans() заметки-сироты

ctx.db

Нативный дескриптор SQLite (продвинутый уровень)

ctx.vaultRoot / ctx.plugin

Путь к библиотеке / имя плагина

Пример минимального плагина

// <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-протокола.

Отличия от Superbrain v4

Superbrain 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) для обновления

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables 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.
    11
    1
  • A
    license
    A
    quality
    C
    maintenance
    Enables 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.
    16
    9
    2
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables reading, writing, searching, and managing Obsidian vault notes through MCP tools and prompts, allowing AI agents to interact with local knowledge bases.
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.

View all related MCP servers

Related MCP Connectors

  • Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.

  • Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.

  • Token-efficient MCP memory for Markdown vaults. Tiered search, GraphRAG, AI memories.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/xuanlinAI/overmind-slim'

If you have feedback or need assistance with the MCP directory API, please join our Discord server