跳到內文
coograph 17
v1.6.0 · 開源 · MIT
17 stars MIT MCP-native

別讓你的 AI grep 整個世界。

Coograph 讓你的 AI 編程工具更聰明、更省錢:直接指向程式碼庫裡真正相關的檔案,而不是浪費 token 把所有東西都讀一遍。

Coograph 把你的程式碼庫解析成 SQLite 依賴圖。編程代理在讀取任何檔案先查詢它。在固定任務上測量。SQLite。MCP 原生。支援多工具。

面向獨立開發者、indie hacker,以及評估 AI 工具的工程負責人。

適合: 獨立開發者 · indie hacker · 評估 AI 工具的資深工程師

工具: Claude Code · Cursor · VS Code Copilot · Devin Desktop · Codex CLI · OpenCode · Aider · Cline

問題

「grep 一切」稅。

讓編程代理「給 OrderService.place_order() 加快取」,看它怎麼做。它 grep 這個類別名稱。回傳 20 個檔案。為了保險,全都讀一遍。其中大部分是測試、文件、下游呼叫端、SDK 型別 —— 跟快取該放哪裡沒有任何關係。

這個稅以 token、工具呼叫、延遲的形式支付,每個任務都付一次 —— 直接拉高你的 AI 基礎設施帳單。

 $ grep -rl "OrderService" src/
docs/architecture.md
docs/deployment.md
migrations/001_initial.sql
README.md
src/api/routes.py
src/api/schemas.py
src/audit/audit_log.py
src/billing/billing_service.py
src/billing/invoice.py
src/client/order_client.ts
src/notifications/email.py
src/orders/order_dto.py
src/orders/order_events.py
src/orders/order_service.py
src/orders/order_validator.py
src/types/index.ts
tests/conftest.py
tests/test_api.py
tests/test_billing_service.py
tests/test_order_service.py

20 個比對。代理為了保險全都讀了一遍。 
方案

圖優先上下文。

你的代理在讀取任何檔案前先呼叫 get_minimal_context(task)。圖回傳這次變更真正相關的 4 個檔案。其他一概不回傳。

試試查詢 點一個任務。這些是基準測試斷言完成它足夠的檔案。
基準任務
無圖 $ grep -rl "OrderService" src/
docs/architecture.md
docs/deployment.md
migrations/001_initial.sql
README.md
src/api/routes.py
src/api/schemas.py
src/audit/audit_log.py
src/billing/billing_service.py
src/billing/invoice.py
src/client/order_client.ts
src/notifications/email.py
src/orders/order_dto.py
src/orders/order_events.py
src/orders/order_repository.py
src/orders/order_service.py
src/orders/order_validator.py
src/types/index.ts
tests/conftest.py
tests/test_api.py
tests/test_billing_service.py
20 檔案 · 19,056 位元組
有圖 基準測試斷言的最小上下文
  1. src/orders/order_service.py 1,578b
    定義 place_order —— 變更落點
  2. src/orders/order_repository.py 1,493b
    place_order 的讀取路徑 —— 快取包在這裡
  3. src/cache/cache.py 562b
    快取抽象 —— 新增依賴
  4. src/cache/policy.py 406b
    快取策略 —— 按命名空間定義 TTL
4 檔案 · 4,039 位元組
79% 節省 token
16 更少檔案
15,017 節省位元組
原理

三步。沒有魔法。

  1. 建構圖。

    克隆儲存庫。在任何支援的工具裡執行 /coograph-init(Claude Code、Cursor、Copilot、Devin Desktop、Codex CLI、OpenCode、Aider、Cline)。tree-sitter 遍歷每個原始檔。

    $ /coograph-init
    → parsing 47 files…
    → wrote .code-graph/graph.db (1.2 MB)
  2. 先查詢,再讀取。

    代理在讀取任何檔案前先呼叫 get_minimal_context(task)。它拿回真正相關的 4 個檔案,而不是單純比對關鍵字的 20 個。

    > get_minimal_context("Add caching to OrderService.place_order()")
    → src/orders/order_service.py
    → src/orders/order_repository.py
    → src/orders/order_events.py
    → src/orders/order_validator.py
  3. 提交時自動更新。

    git 鉤子只重新解析 SHA-1 變化的檔案。更新只需毫秒級。

    $ git commit -m "fix: cache TTL"
    [main 4f3a8c1] fix: cache TTL
    → graph updated in 12ms (2 files re-parsed)
包裡還有

檢索只是四件事之一。

圖負責讓代理讀對檔案。另外三件事管的是它拿到檔案之後怎麼做。都在同一個 MIT 儲存庫裡,沒有一個是付費功能。

實證

基準測試。

精選任務:「Add caching to OrderService.place_order()」,夾具 bench/fixtures/sample-app/ —— 3 項已提交基準任務之一。

執行於 2026-08-06 · 測試平台 0.2.0 · 夾具 f34ca2e

67.9% 更少 token。 2.8× 更少工具呼叫。(3 項基準任務的中位數)

3 項已提交基準任務的中位數,token 數由真實分詞器統計 —— 測試平台和逐任務明細均已提交,尚未公開。

無圖 —— 20 個檔案 / 19,056 位元組

docs/architecture.md 1,409
docs/deployment.md 1,210
migrations/001_initial.sql 1,081
README.md 1,093
src/api/routes.py 1,417
src/api/schemas.py 484
src/audit/audit_log.py 679
src/billing/billing_service.py 1,051
src/billing/invoice.py 546
src/client/order_client.ts 1,245
src/notifications/email.py 720
src/orders/order_dto.py 707
src/orders/order_events.py 631
src/orders/order_service.py 1,276
src/orders/order_validator.py 734
src/types/index.ts 549
tests/conftest.py 355
tests/test_api.py 1,095
tests/test_billing_service.py 1,121
tests/test_order_service.py 1,653
合計:19,056 b · ~4,313 token

有圖 —— 4 個檔案 / 3,876 位元組

src/cache/cache.py 593
src/cache/policy.py 429
src/orders/order_repository.py 1,578
src/orders/order_service.py 1,276
合計:3,876 b · ~935 token
方法論

bench/run.py 遞歷 bench/fixtures/ 下的所有夾具,對 3 項任務中的每一項,把 grep -l 對任務關鍵字(此處為 "OrderService")回傳的檔案集與 .bench-manifest.json 裡斷言的 4 個檔案的最小上下文比對,並回報位元組數和 token 數(tiktoken/cl100k_base)。頭條數字為各任務的中位數。 圖那一側用的是每個夾具清單裡斷言「足以完成該任務」的檔案集;測試平台不跑 MCP 伺服器,所以這衡量的是檢索目標,不是端到端的工具輸出。測試平台 0.2.0,精選夾具 sha f34ca2e7ef40…。圓點 (●) 標記同時出現在兩欄的檔案。測試平台、夾具和本次執行結果均已提交,但尚未進入公開儲存庫 —— 公開這些內容記錄在 issue 29

用例

它在哪裡勝出。

重構核心服務

給某個類別加快取、限流、埋點。圖回傳讀取路徑 + 依賴檔案;測試、文件、下游呼叫端都被排除。

> get_minimal_context("Add caching to OrderService.place_order()")
→ src/orders/order_service.py
→ src/orders/order_repository.py
→ src/orders/order_events.py
→ src/orders/order_validator.py

接入一個橫切關注點

給一個往下委派的呼叫加重試、逾時或埋點。圖會順著委派關係找到傳輸層包裝和它的策略 — 正是關鍵字搜尋會漏掉的那兩個檔案,因為它們都沒提到你出發的那個函式。

> get_minimal_context("Add retry with backoff to fetchMetrics()")
→ src/api/metricsClient.ts
→ src/types/metrics.ts
→ src/api/http.ts
→ src/hooks/useMetrics.ts

擴充一個元件或型別

給面板加一欄,給 DTO 加一個欄位。圖會回傳元件、它渲染的型別,以及給它傳 props 的父層。測試和文件不會進來。

> get_minimal_context("Add a column to MetricsPanel")
→ src/components/MetricsPanel.tsx
→ src/types/metrics.ts
→ src/components/Dashboard.tsx
對比

它有何不同。

Coograph 是唯一一款 MIT 授權、MCP 原生、支援多工具的程式碼圖,把所有資料存進可攜的 SQLite 資料庫。

不同工具,不同目標。下面是 Coograph 在我們在意的維度上的對比。

開源 (MIT)

  • Coograph
  • Sourcegraph ~
    OSS Lite
  • Cursor index
  • Aider repo-map

MCP 原生

  • Coograph
  • Sourcegraph
  • Cursor index
  • Aider repo-map

可攜 SQLite 圖

  • Coograph
  • Sourcegraph
    私有索引
  • Cursor index
    封閉索引
  • Aider repo-map ~
    僅記憶體

多工具支援

  • Coograph
    Claude/Cursor/Copilot/Devin Desktop
  • Sourcegraph ~
  • Cursor index
    僅 Cursor
  • Aider repo-map ~

基於公開文件的特性對比。Sourcegraph:sourcegraph.com。Cursor:cursor.sh。Aider:aider.chat。如有錯漏,歡迎到 issue 區指出。

定價

開源永久免費。Pro 是服務。

Coograph 採用 MIT 授權、永久免費。儲存庫裡的一切都是開源的。

Coograph Pro 面向想要客製化協助的團隊:客製工作流程、為內部語言客製的解析器、與你 AI 編程工具的深度整合。提供服務,不是付費功能。

零風險首次通話。 如果我們沒辦法幫你削減 30% 以上的 AI 帳單,會在通話裡直說。

Audit · $1,500 · 一週

/pro/audit/

$20k 合作還太重?

產品化的一週交付 AI 編碼帳單快照。程式碼庫基準測試報告、三條具體改進建議、關於是否值得做 Pro 合作的直白判斷。固定價格、固定範圍,零推銷壓力。

查看 Coograph 稽核

Coograph Pro 服務

落地衝刺

約 $20k 起

2–4 週

把 Coograph 接入你的 AI 編程技術棧,端到端交付一兩個高價值工作流程。

  • 技術棧設計:Claude Code、Cursor、Copilot、Devin Desktop、內部代理
  • 對主程式碼庫的解析 + 圖建構
  • get_minimal_context() 把 接入真實任務
  • 知識傳遞,讓工程師沒有我們也能持續迭代

客製解析器與整合

依範圍

內部語言

面向有內部語言、重度框架客製或舊系統的團隊。

  • 為你的程式碼客製的 tree-sitter 解析器和轉接器
  • 涵蓋非標準或舊版元件的圖能力
  • 整合到你自己的代理和內部開發工具

持續支援與基準測試

月度

月度服務

持續讓 Coograph 健康運行,並證明長期影響。

  • 升級和圖效能的優先支援
  • 在你自己的儲存庫上定期跑基準(token、呼叫次數、延遲)
  • 下一步在哪裡用 Coograph 的建議

首次合作通常從 ~$20k 起,2–4 週首期。

對比 ~200 小時的內部工程 —— 按 $150/小時算就是 $30k 的開發時間,還沒上線一個工作流程就花掉了。

或寄信至 hello@coograph.com

FAQ

常見問題。

用白話說,Coograph 到底做什麼?

Coograph 建一張 SQLite 地圖,記錄程式碼庫裡每個檔案如何依賴其他檔案 — 誰呼叫誰、誰 import 誰、誰測試誰。你的 AI 編程工具問 Coograph「這個任務我需要哪些檔案」,拿回 3–6 個檔案,而不是為一個關鍵字 grep 出 20 多個。讀的檔案更少 = 花的 token 更少 = AI 帳單更低,變更更快也更安全。

為什麼 grep 不夠?

grep 找出所有提到某個字串的檔案。搜「OrderService」會拿到這個類別本身、每個呼叫端、每個測試、每個文件、每個 SDK 型別 —— 多數跟你要做的變更無關。AI 工具用 grep 然後為了保險全都讀,結果每個任務都為整個程式碼庫買單。圖只回傳相關依賴鄰域的檔案。

在 AI 編程帳單上到底能省多少?

在 3 項已提交基準任務上,Coograph 比直接 grep + 讀取的流程中位數約省 68% token、約 2.8 倍工具呼叫。實際節省取決於儲存庫規模和任務型態,但規律不變:儲存庫越大、變更越聚焦,節省越多。

Coograph 給誰用?

為 Claude Max、Cursor Pro 或按 token 付費的 API 買單、眼看著 AI 帳單往上爬的獨立開發者和 indie hacker。在為團隊評估 AI 工具、擔心人均成本的工程負責人。任何覺得 AI 工具動手前讀太多、太慢的人。

Coograph 是開源嗎?Pro 到底多少錢?

是 —— MIT 授權、永久免費。儲存庫裡的一切都是開源的;沒有付費功能。Coograph Pro 是服務:客製整合、內部語言的客製解析器、持續的基準測試。首次合作通常從 $20k 起,2–4 週首期。如果我們在通話裡發現幫不了你顯著降低 AI 帳單,會直接說。

安裝到底要多久?

5 分鐘,如果你已經在用支援的 AI 工具之一(Claude Code、Cursor、Copilot、Devin Desktop、Codex CLI、OpenCode、Aider、Cline)。把 Coograph 克隆為相鄰目錄,在你的工具裡執行 /coograph-init,讓它把圖建好,搞定。每次提交時 git 鉤子自動重新解析變化的檔案。