ontomics

io.github.EtienneChollet由 GitHub 帳號 EtienneChollet 發布v0.3.1更新於 Nov 3, 2026

Index your codebase's domain knowledge. 20x fewer tokens, 10x faster.

概覽

AI 產生的概覽

ontomics 在本機為程式碼庫建立領域概念語意索引,讓編碼助理一次呼叫就能查詢概念、命名慣例與相似邏輯。

可以做什麼
  • 查詢與定位領域概念、列出高頻概念,並描述符號的簽章、docstring 與關聯
  • 追蹤概念或型別如何透過呼叫鏈與跨檔案流動
  • 列出偵測到的命名慣例、檢查識別字、建議命名並評估詞彙健康度
  • 比對某個 git 參照前後的領域詞彙變化,並將領域知識匯出為可攜的 YAML
  • 找出行為相似的函式實作,並為符號組裝分層脈絡
  • 描述檔案、呈現模組與概念的對應關係,並讀取工作階段簡報資源
適用情境
適合助理需要理解陌生或大型程式碼庫的領域詞彙,而不只是字串比對或符號定義時;也適合希望減少工具呼叫次數與 token 消耗,來回答某個術語含義或哪些函式行為相似這類問題。
執行需求
以本機程序執行,可透過 npm(npx 或全域安裝)、Homebrew、shell 安裝腳本或原始碼建置安裝。需要 git 儲存庫,會拒絕索引家目錄、根目錄或暫存目錄,除非強制執行。支援 Python、TypeScript、JavaScript 與 Rust。不需 API 金鑰;嵌入模型首次執行時下載並快取,索引存放在儲存庫內。
安裝前請注意
索引會在儲存庫目錄寫入索引資料庫與設定檔,首次執行還會連網下載嵌入模型。shell 安裝方式會把遠端腳本直接交給 shell 執行。索引內容來自你的原始碼,私有儲存庫中產生的產物應視為敏感資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 ontomics,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

ontomics

[Python] [Rust] [TypeScript] [JavaScript] [platform] [MCP] [MCP Registry] [Glama] [Claude Code] [Codex] [pi]

ontomics gives any coding agent instant knowledge of your codebase. One tool call instead of 19. ~20x fewer tokens.

https://github.com/user-attachments/assets/01afa8a0-1bc2-4686-94d7-965fef7610c3

Visualization for the voxelmorph project -- a library for unsupervised learning in image registration

Benchmark

Tested with Claude Sonnet — same question, with and without ontomics.

"What does 'transform' mean in this codebase?" on voxelmorph (full transcript):

With ontomicsWithout
Tool calls119
Tokens~3.7k~76k
Time5s1m 15s
Answer qualityCompleteComplete

"What are the main domain concepts in this codebase?" on ScribblePrompt (full transcript):

With ontomicsWithout
Tool calls126
Tokens~3.7k~61.6k
Time~5s56s
Answer qualityCompleteComplete

Both conditions produced complete, correct answers. ontomics got there in one call.

What it does that search can't

Search tells you where a string appears. An LSP tells you where a symbol is defined and referenced. Neither answers: what are the domain concepts in this codebase? How do they relate? What naming conventions emerged? What changed in the domain vocabulary since last release? Which functions behave similarly, regardless of what they're named?

ontomics builds a semantic index of your project's domain — clustering related symbols into concepts, detecting naming conventions from usage frequency, resolving abbreviations, grouping functions by behavioral similarity, and tracking how the vocabulary evolves over time. That index can be exported as a portable artifact to bootstrap conventions in other repos.

Behavioral similarity

Beyond naming and concepts, ontomics embeds raw function bodies using CodeRankEmbed (768-dim, contrastive code retrieval) and clusters them by behavioral similarity. This surfaces relationships that neither naming nor call graphs expose:

❯ What functions behave like spatial_transform()?
  random_transform()   nn/functional.py:352   0.80  spatial_transform()  functional.py:596      0.69  random_transform()   functional.py:1399     0.67  random_disp()        nn/functional.py:275   0.65  integrate_disp()     functional.py:764      0.65  compose()            nn/functional.py:216   0.63  disp_to_trf()        functional.py:343      0.62

The result also reveals that random_transform appears at two locations with different similarity scores — a sign of implementation duplication that concept-level search would miss entirely.

Install

Install once, available in every project. No configuration needed — ontomics auto-detects the repo and indexes it on first run.

ontomics requires a git repository (.git/ directory). It will refuse to index home, root, or temp directories. To index a non-git directory, pass --force.

1. Install the binary

npm (macOS/Linux):

bash
npm install -g @ontomics/ontomics

macOS (Homebrew):

bash
brew install EtienneChollet/tap/ontomics

Shell installer (macOS/Linux):

bash
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/EtienneChollet/ontomics/releases/latest/download/ontomics-installer.sh | sh

From source:

bash
git clone https://github.com/EtienneChollet/ontomics.gitcd ontomicscargo build --release

2. Register with your harness

Claude Code:

bash
claude mcp add -s user ontomics -- ontomics

Codex:

bash
codex mcp add ontomics -- ontomics

OpenClaw:

bash
openclaw mcp set ontomics '{"command":"ontomics"}'

pi-coding-agent:

bash
pi install npm:@ontomics/ontomics

Share with your team — drop an .mcp.json in your repo root:

json
{  "mcpServers": {    "ontomics": {      "command": "npx",      "args": ["-y", "@ontomics/ontomics", "--repo", "."]    }  }}

Supported languages

Python, TypeScript, JavaScript, Rust. Auto-detected from file extensions.

Tools

Concepts and vocabulary

ToolWhat it does
query_conceptFind all variants, related concepts, and occurrences of a term
locate_conceptFind the key signatures, classes, and files for a concept
describe_symbolGet the signature, docstring, and relationships for a function or class
trace_conceptTrace how a concept flows through the codebase via call chains
list_conceptsList the top domain concepts by frequency
list_conventionsList all detected naming patterns (prefixes, suffixes, conversions)
list_entitiesList code entities (classes, functions) filtered by concept, role, or kind
check_namingCheck an identifier against project conventions; suggests the canonical form
suggest_nameGenerate an identifier name that fits the project's vocabulary
vocabulary_healthMeasure convention coverage, naming consistency, and cluster cohesion
ontology_diffShow new, changed, or removed domain concepts since a git ref
export_domain_packExport domain knowledge as portable YAML for use in other repos

Behavioral similarity

ToolWhat it does
find_similar_logicFind functions with behaviorally similar implementations, ranked by embedding similarity
describe_logicGet the behavioral description, body text, and logic cluster membership for a function
compact_contextAssemble tiered context (concepts + logic) for a symbol, optimized for LLM consumption

Codebase structure

ToolWhat it does
describe_fileOverview of a file's entities, concepts, and relationships
concept_mapShow which modules contain which domain concepts
type_flowsShow dominant types and how data flows through the codebase
trace_typeTrace how a specific type propagates across files and call sites

Resources

ResourceWhat it does
ontomics://briefingSession briefing: top conventions, abbreviations, key concepts, contrastive pairs, and vocabulary warnings. Also available via ontomics briefing CLI.

How it works

ontomics runs a multi-stage pipeline entirely on your machine — no API keys required:

  1. Parse — tree-sitter extracts every identifier, signature, and call site from your source files
  2. Analyze — TF-IDF scoring identifies domain-specific concepts and detects naming conventions
  3. Embed (concepts) — BGE-small (384-dim) clusters related concepts by semantic similarity
  4. Embed (logic) — CodeRankEmbed (768-dim) embeds raw function bodies and clusters them by behavioral similarity
  5. Centrality — PageRank scores entities by structural importance

Both embedding models are downloaded once on first run and cached locally. The index lives at <repo>/.ontomics/index.db — subsequent startups load from cache and watch for file changes.

Configuration via .ontomics/config.toml in the repo root. All fields have sensible defaults. See SPEC.md for the full design contract.

來源:README.md,提交 897a953

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.3.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分