Skip to main content
Glama

om — プラグイン型ナレッジベース(Foam をベースに再実装)

超脑 v4 の 66 モジュールをナレッジベースの中核だけにまで削り込み、Foam を土台に書き直し、DeepSeek Harness の方式でプラグイン化しています:

  • Obsidian 互換 — あなたの vault がそのままナレッジベース:プレーンな markdown ファイル + [[双链]] + #标签 + frontmatter

  • ゼロ依存 — Node 組み込みの node:sqlite のみを使用(FTS5 全文検索、中国語分かち書きを内蔵)

  • プラグイン化 — コアが安定したインターフェースを公開し、ユーザーが自分でプラグインを書いて拡張(コマンド / MCP ツール / イベント / インデックス抽出器)

  • AI 連携可 — 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)

プラグイン作成ガイド(公開インターフェース)

プラグインとは 1 つの JS ファイル(ESM)で、デフォルトで { name, version, description, activate(ctx) } をエクスポートします。<vault>/.om/plugins/my-plugin.js に置けば、任意の om コマンドを再実行すると有効になります。config.json の "plugins": {"my-plugin": false} で無効化できます。

2 つのショートカットコマンド:

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 のパス / プラグイン名

最小プラグイン例

// <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/notes.js(frontmatter/タグ検索)を参照してください。

テスト

cd ~/om && node --test

カバー範囲:分かち書き / vault の解析 / インデックスと増分更新 / グラフ / プラグインの全インターフェース / MCP プロトコルの端末間。

神脑 v4 との差異

毛脑 v4

om

モジュール数

66

コア 10 ファイル + プラグイン

アーキテクチャ

6 チャネル認知神経システム

ピュアナレッジベース + dsh式プラグイン

ストレージ

自作の複数ストレージ

Obsidian 互換 markdown(ファイル自体が実体)

依存

npm + pip + デーモンプロセス

ゼロ依存(node:sqlite)

拡張

プログラム不可

インターフェースを公開し、ユーザーがプラグインを作成

既知の制限(正直な声明)

  • 検索は字面(リテラル)一致(FTS5 + 中国語の1字・2字分かち書き)であり、セマンティック検索ではありません。同義語/概念検索は、プラグインまたは外部のベクトルサービスで拡張する必要があります

  • update_note に本文を渡すと元の frontmatter を自動的に保持します。全体を上書きする場合は --- ヘッダーごと渡してください

  • リネーム(rename / rename_note)は vault 全体の双链(双方向リンク)を自動更新しますが、他ファイル内のテキスト上での言及は変更しません

  • 単一マシン・単一プロセス設計で、分散/多デバイス同期はありません(vault 自体はフレーンなファイルなので、git で自分で同期できます)

  • インデックスはファイルシステムのスナップショットであり、外部エディタでの変更後は om scan(または om watch)で更新してください

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

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
    D
    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
    13 npm
    4
    MIT
  • 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.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables 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 npm
    3
    MIT