Skip to main content
Glama

om — Plugin-Wissensbasis (Weiterentwicklung auf Basis von Foam)

Die 66 Module von 超脑 v4 wurden auf den Wissensbasis-Kern reduziert, mit Foam als Fundament neu geschrieben und nach dem Vorbild von DeepSeek Harness pluginisiert:

  • Obsidian-kompatibel — Dein Vault ist die Wissensbasis: reine Markdown-Dateien + [[双链]] + #标签 + Frontmatter

  • Null Abhängigkeiten — nutzt nur das in Node integrierte node:sqlite (FTS5-Volltextsuche, integrierte chinesische Wortsegmentierung)

  • Plugin-basiert — Der Kern stellt stabile Schnittstellen bereit, Benutzer schreiben eigene Plugins zur Erweiterung (Befehle / MCP-Tools / Ereignisse / Index-Extraktoren)

  • KI-integrierbar — MCP-stdio-Server, direkt von Claude Code / Cursor aufrufbar

Hommage an Foam (MIT): Die Semantik der Doppellink-Auflösung und das Graphmodell sind stark von ihm inspiriert. Dieses Projekt ist eine unabhängige Neufassung (Null Abhängigkeiten, keinerlei Laufzeitabhängigkeiten), kein Code-Fork.

Schnellstart

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

Tägliche Nutzung: cd <你的库> && om search xxx (nach npm link kann der Befehl om global verwendet werden).

Related MCP server: mcp-vault-reader

MCP-Anbindung (Claude Code)

// ~/.claude.json 的 mcpServers
{
  "om": {
    "command": "node",
    "args": ["/data/data/com.termux/files/home/om/core/cli.js", "mcp", "--vault", "/path/to/vault"]
  }
}

Integrierte Werkzeuge: search_notes / read_note / create_note / update_note / rename_note / delete_note / backlinks / graph_bfs / list_notes / list_tags, sowie die über Plugins registrierten Werkzeuge.

Architektur

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)

Leitfaden zur Plugin-Entwicklung (öffentliche Schnittstellen)

Ein Plugin ist eine JS-Datei (ESM), die standardmäßig { name, version, description, activate(ctx) } exportiert. Lege sie unter <vault>/.om/plugins/my-plugin.js ab; sie tritt nach einem Neustart eines beliebigen om-Befehls in Kraft. In config.json kann sie mit "plugins": {"my-plugin": false} deaktiviert werden.

Zwei Schnellbefehle:

om plugin create my-plugin    # 生成插件模板
om plugin install https://github.com/xxx/om-plugin-repo   # 从 git 仓库安装(仓库根目录需含 index.js)

activate(ctx) erhält Zugriff auf alle Fähigkeiten:

Schnittstelle

Beschreibung

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) — privates KV des Plugins (nach Pluginname isoliert)

ctx.events

on('note:save'|'note:delete', fn) — über Kontexte hinweg geteilter Ereignisbus

ctx.commands

register('名字', async (args) => 输出) — fügt einen neuen CLI-Unterbefehl hinzu

ctx.tools

register({name,description,inputSchema}, handler) — fügt ein neues MCP-Tool hinzu

ctx.index

register(({id,name,frontmatter,body,text}) => ({tags?,links?})) — Index-Extraktor zur benutzerdefinierten Extraktion von Wissen aus Notizen

ctx.health

deadlinks() unaufgelöste Links / orphans() verwaiste Notizen

ctx.db

natives SQLite-Handle (fortgeschritten)

ctx.vaultRoot / ctx.plugin

Vault-Pfad / Pluginname

Minimales Plugin-Beispiel

// <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 篇笔记

Vollständige Beispiele findest du in plugins/recent.js (Befehle + Tools + Speicher + Ereignisse) und plugins/todos.js (Frontmatter/Tag-Abfragen).

Tests

cd ~/om && node --test

Abgedeckt: Wortsegmentierung / Vault-Parsing / Index & inkrementelle Aktualisierung / Graph / alle Plugin-Schnittstellen / MCP-Protokoll Ende-zu-Ende.

Unterschiede zu 超脑 v4

超脑 v4

om

Modulanzahl

66

Kern 10 Dateien + Plugins

Architektur

6-Kanal-kognitives Nervensystem

Reine Wissensbasis + dsh-artige Plugins

Speicher

Mehrere eigene Systeme

Obsidian-kompatibles Markdown (Datei ist die Quelle der Wahrheit)

Abhängigkeiten

npm + pip + Daemon

Null Abhängigkeiten (node:sqlite)

Erweiterbarkeit

Nicht programmierbar

Offene Schnittstellen, Benutzer schreiben Plugins

Bekannte Einschränkungen (ehrliche Angaben)

  • Die Suche ist wörtliche Übereinstimmung (FTS5 + chinesische Einzel-/Doppelzeichen-Wortsegmentierung), keine semantische Suche; Synonyme/Konzeptsuche müssen über Plugins oder externe Vektordienste erweitert werden

  • Bei update_note wird beim Übergeben des Texts das ursprüngliche Frontmatter automatisch beibehalten; für eine vollständige Überschreibung übergib bitte den gesamten Inhalt einschließlich des ----Kopfs

  • Umbenennen (rename / rename_note) aktualisiert automatisch alle Doppellinks im gesamten Vault, die auf die Notiz verweisen, aber nicht Text-Erwähnungen in anderen Dateien

  • Design für Einzelrechner und Einzelprozess, keine verteilte/Multi-Gerät-Synchronisierung (da der Vault selbst aus reinen Dateien besteht, kann er selbst per git synchronisiert werden)

  • Der Index ist ein Dateisystem-Snapshot; nach Änderungen durch externe Editoren muss er mit om scan (oder om watch) aktualisiert werden

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