📌 本文重點
- Argyph 把你的專案變成本機「程式碼大腦」
- 三層索引:檔案、symbol graph、向量檢索完全離線
- 可接 Claude / MCP,協助 debug、refactor、大型專案導覽
你可以把 Argyph 想成「替你的 AI 助理裝一個本機程式碼大腦」,讓它在大專案裡不再只會 grep 和亂抓檔案。
Argyph GitHub 專案連結|原始 Reddit 介紹
為什麼需要一個「程式碼大腦」?
一般 AI 助理(包含 Claude、各種 MCP 代理)在大專案裡常見幾個痛點:
- 只會用關鍵字搜尋(grep),找不到真正關鍵的函式或類別
- 動不動就把整個檔案塞進 context,還是看不懂整個呼叫鏈
- 要用語義查詢,就得把程式碼丟上雲端向量庫,卡在隱私與延遲
Argyph 解決的是:在完全本機的前提下,讓 AI 可以精準定位「哪個函式、在哪個檔、被誰呼叫」,再搭配向量檢索補上語義理解。
💡 關鍵: Argyph 讓 AI 在本機就能理解整個專案結構,不必依賴雲端向量庫或大量 context 塞資料。
核心功能:三層索引的本機程式碼大腦
1. 檔案索引:先搞清楚專案長什麼樣
Argyph 的第一層是「檔案清單」,會掃描整個專案,把所有檔案路徑與基本資訊建成索引。
你可以立刻拿來做這些事:
- 問 AI:
列出這個 monorepo 裡所有包含 payment 的資料夾與檔案,幫我分類前端 / 後端 / infra - 快速導覽:請 AI 幫你列出「所有 migration 檔」、「所有含 config 的檔案」,再逐步打開看
這一層幾乎等於「強化版 tree + grep」,但 AI 不用自己亂找,它有一份完整的檔案地圖可以參考。
2. Symbol Graph:函式、類別、呼叫鏈一次串起來
第二層是重點:Argyph 用 tree-sitter 解析程式碼,建立一個 symbol graph(符號圖):
- 每個函式、類別、變數變成一個節點
- 誰呼叫誰、誰繼承誰、誰 import 誰,變成邊
這代表 AI 不再只看到「文字」,而是有:
get_user()在哪個檔、哪一行- 它被哪些 API handler 呼叫
- 這個 class 的 method 被哪些 service 用到
你可以這樣用:
- 問:
列出所有呼叫 process_payment 的函式,照檔案列出並解釋呼叫差異 - 問:
幫我畫出 UserService 相關的呼叫鏈,從 HTTP handler 到 DB 層
這對 debug / refactor / 新人 onboarding 都很實用,因為 AI 能「走呼叫鏈」,不是只看單一檔案。
💡 關鍵: 有了 symbol graph,AI 可以沿著呼叫鏈追蹤影響範圍,適合用在風險評估與大規模重構。
3. 向量索引:在本機做語義搜尋
第三層是向量索引:
- Argyph 內建向量資料庫與嵌入模型
- 完全離線,不需要任何 API key
這允許你用自然語言查詢「概念」而不是關鍵字,例如:
找出專案裡所有處理權限驗證的邏輯,依風險高低幫我摘要幫我找所有寫死 API key 或憑證的地方,並列出檔案與行號
向量搜尋是建立在 symbol graph 之上的:AI 可以先找到語義上相近的函式,再搭配呼叫鏈,給出比較完整的分析。
💡 關鍵: 語義搜尋結合 symbol graph,讓 AI 查的是「概念 + 實際呼叫點」,而不只是模糊的文字相似度。
適合誰用?三個具體場景
1. 大型專案導覽與理解舊 codebase
如果你正在接手一個幾萬行、幾百個檔的專案:
- 問 AI:
幫我整理這個專案的主要模組結構,列出每個模組的 entry point - 問 AI:
找出所有 user login 流程相關的函式與檔案,畫出流程順序
實際效果:你不用一個一個資料夾展開找,只要問問題,AI 會用 Argyph 的索引幫你拉出結構化的地圖。
2. 搭配 Claude / MCP 做 refactor 或 bug trace
Argyph 是一個 MCP server,可以直接接在支援 MCP 的代理上,例如:
- Claude Desktop / Claude for Web(啟用 MCP)
- 其他支援 MCP 的本機代理
實際操作可以是:
- 問:
這個 bug 是某個 API 回傳格式變了,幫我找出所有依賴該 API 回傳結果的地方,評估改動風險 - 問:
我要把舊的 logging library 換成新的,列出所有使用舊 library 的呼叫點,並給我一個逐步 refactor 計畫
AI 會:
- 用 symbol graph 找到所有相關函式與呼叫點
- 用向量搜尋補充語義相似的地方(例如命名不一致的 logging)
- 把結果給你看,或協助生成 patch(視你的代理能力而定)
3. 公司內部需要嚴格保護原始碼
很多團隊不願意把全專案丟上雲端向量庫(法遵 / NDA / 產業規範等):
- Argyph 是單一 binary,本機跑、不會把程式碼傳到任何外部服務
- 只做只讀索引:不會幫你修改、commit 或執行程式碼
適合:
- 金融、醫療等需嚴格控管原始碼的公司
- 只允許在內網跑工具的團隊
- 想先在個人機器上試驗「AI + codebase」的工程師
你可以放心地讓 AI 在專案裡查來查去,但知道一切都留在你自己的機器或公司網路。
和一般 AI 助理 / 雲端向量庫怎麼比?
如果你現在已經在用「AI + 專案」的工具,可以參考這個比較。
| 名稱 | 核心功能 | 免費方案 | 適合誰 |
|---|---|---|---|
| 一般 AI 助理(無) | 單純依靠上下文 + grep | 視服務而定 | 小專案、單檔問題 |
| 雲端向量檢索工具 | 把程式碼上傳雲端做語義搜尋 | 多有免費層級 | 不介意程式碼上雲端的團隊 |
| Argyph | 本機三層索引(檔案 + symbol + 向量) | 開源免費 | 想要本機、隱私保護又要強檢索的工程師 |
怎麼開始:從安裝到接上 Claude / MCP
以下是一條「最快能跑起來」的路徑,你可以照著做。
步驟 1:安裝 Argyph(Rust 單一 binary)
- 前往 GitHub Releases
- 下載對應你系統的 binary(macOS / Linux / Windows)
- 將檔案改名為
argyph(可選),並移到你的$PATH例如:
chmod +x argyph
mv argyph /usr/local/bin/
若你有 Rust 環境,也可以選擇 cargo install(以官方 README 為準)。
步驟 2:對你的專案建立索引
在專案根目錄執行:
cd /path/to/your/project
argyph index
接著會發生:
- 立即建立檔案索引(可用來問檔案結構)
- 持續建立 symbol graph(可用來問呼叫鏈)
- 背景生成向量索引(可用來做語義搜尋)
你可以邊等邊用,因為 Argyph 的設計是每一層建好就能用,不必等全部完成。
步驟 3:在 Claude / MCP 代理中啟用 Argyph
以 Claude(支援 MCP)為例,整體步驟大致如下(細節以官方文件為準):
- 打開 Claude 的 MCP 設定檔,例如
mcp.config.json - 加入一個 Argyph server 設定:
{
"servers": {
"argyph": {
"command": "argyph",
"args": ["server"],
"env": {
"ARGYPH_PROJECT_ROOT": "/path/to/your/project"
}
}
}
}
- 重新啟動 Claude 或重新載入 MCP 設定
之後在 Claude 裡,你可以直接用自然語言要求它「用 Argyph 的 context」來回答與專案相關的問題(多數 MCP 代理會自動挑選需要的工具)。
實用查詢範例:馬上能用的 prompt
你可以照抄以下查詢,稍微改一下專案名就能套用。
範例 1:找出所有調用某 API 的地方並總結風險
「請用 Argyph 的索引幫我:
1. 找出專案裡所有呼叫createPaymentSession的地方,列出檔案路徑與行數。
2. 對每個呼叫點,說明它在什麼情境被呼叫(例如:checkout、訂閱續費)。
3. 總結如果我修改這個 API 的回傳格式,可能影響的功能與風險。」
範例 2:整理某個 domain 的完整呼叫鏈
「這個專案是單一體 monolith,請用 Argyph 的 symbol graph 幫我:
1. 找出所有跟user onboarding相關的函式與 class。
2. 以『從 HTTP endpoint → service layer → DB layer』的順序,列出呼叫鏈。
3. 幫我總結每一層主要職責,方便我之後 refactor。」
總結:把 AI 當「懂專案的夥伴」,而不是「會寫程式的 autocomplete」
Argyph 的價值在於:讓 AI 真正理解你的專案結構,而不是在一堆檔案裡瞎猜。
如果你有一個中大型 codebase,又想保持程式碼只待在本機或公司內網,建議可以:
- 把 Argyph 裝起來
- 對你的主專案掃一輪索引
- 在 Claude / MCP 代理裡接上它,從「幫我畫出這個專案的主要模組」這種問題開始試
你會發現,AI 從「會寫程式」變成了「懂這個專案的同事」。
🚀 你現在可以做的事
- 去 Argyph GitHub Releases 下載並安裝
argyphbinary- 在你主要的專案根目錄執行
argyph index建立三層索引- 打開你的
mcp.config.json,加入 Argyph server 設定並在 Claude / MCP 裡實際問幾個專案問題

