
Codeintel
io.github.phuongddx由 GitHub 帳號 phuongddx 發布v0.4.0更新於 Oct 24, 2026
Local-first SCIP code navigation and Zoekt search over your own indexed repositories
概覽
本機優先的程式碼智慧服務,讓助理以精確的符號參照、定義、呼叫階層與詞法程式碼搜尋來瀏覽已索引的程式碼庫。
- 可以做什麼
- jarvis 會為已索引的程式碼庫預先建立本機程式碼智慧層,讓助理查詢符號而不是用 grep 搜尋。它提供十個 MCP 工具,包括用於精確定位的 findReferences、用於定義範圍的 goToDefinition、用於呼叫與型別關係的 callHierarchy 和 typeHierarchy、用於檔案符號大綱的 documentSymbols、用於 Zoekt 詞法或正規表示式搜尋的 searchCode、用於跨儲存庫套件依賴分析的 blastRadius、用於索引新鮮度的 getIndexStatus,以及用於建立索引的 indexRepo(R4、R46-R56)。索引是明確執行的,查詢路徑為唯讀(R64、R70)。
- 適用情境
- 當編碼助理反覆用 grep 搜尋程式碼庫,並因過濾註解、測試與同名符號而耗用上下文時適合使用(R1-R3、R6)。它適合回答某個符號在哪裡被使用、在哪裡定義、被誰呼叫等問題,答案來自預先計算的索引,而不是逐一開啟每個符合的檔案(R7、R18)。它只做檢索,不負責重新命名或重構(R63)。
- 執行需求
- 僅支援 macOS arm64/x86_64 與 Linux arm64/x86_64,不支援 Windows(R60)。安裝獨立的 Homebrew 二進位套件,其中已內嵌 Python 3.12 與所需工具,因此不需要 Python、uv、pip 或 PyPI 安裝(R12、R14);Linux 需先安裝 Homebrew/Linuxbrew(R11)。註冊本機 stdio 伺服器,例如 jarvis-server;若用戶端在 PATH 中找不到它,請使用絕對路徑(R17、R19、R20)。選用的語言索引器需要 Node.js/npm、JDK、Xcode 或較新的 Bash(R28-R31)。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Codeintel,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
jarvis
[CI] [Platforms] [License: MIT] [MCP]
Your coding agent should not spend its context window on grep.
When your agent asks "where is AuthService used?", grep returns comments,
markdown, test fixtures, and similarly named symbols in one noisy pile. The
agent burns context re-reading files to filter signal from noise — and still
misses call sites.
jarvis precomputes a local code-intelligence layer so your agent calls
findReferences for exact occurrences, goToDefinition for the defining
range, callHierarchy for call paths, and searchCode for precise lexical
search — ten MCP tools for Claude Code, Cursor, or any MCP client.
Your code and indexes never leave your machine.
[grep returns noisy results vs jarvis findReferences returning 10 exact file:line:col occurrences]
Quick start · MCP tools · Dashboard · Limits · Details · Docs
Quick start
1. Install the standalone binary:
Linux users need Homebrew/Linuxbrew
installed first. The formula supports macOS arm64/x86_64 and Linux
arm64/x86_64, installs both jarvis and jarvis-server, and embeds Python
3.12, dashboard assets, tree-sitter libraries, watch, scip,
zoekt-git-index, and zoekt-webserver. Homebrew supplies
universal-ctags. No Python, uv, pip, or PyPI installation is required.
Upgrade with brew upgrade jarvis; recover a damaged installation with
brew reinstall jarvis.
2. Index a repo (slug defaults to the directory name):
3. Register the MCP server:
Ask your agent "find all references to AuthService" — it calls
findReferences instead of grepping.
Other MCP clients (Cursor, Claude Desktop, any stdio client)
If your client can't find jarvis-server on PATH (GUI apps often don't
inherit your shell's), use the absolute path from which jarvis-server.
Claude Code plugin (registers MCP + ships agent skills)
Install the Homebrew binary first. The plugin adds jarvis skills and can
register the already-installed jarvis-server.
Optional language indexers
The standalone package includes the SCIP converter and both Zoekt binaries.
The Homebrew formula does not install setup.sh; from a jarvis source
checkout, install the optional per-language indexer for your repo:
For Maven-built Java repositories on macOS, also install a modern Bash with
brew install bash, then run sh setup.sh --only bash-shim from that same
source checkout. Reindex after adding an indexer. Without the matching
indexer, documentSymbols and goToDefinition still work via Tree-sitter
where coverage exists;
findReferences, callHierarchy, and typeHierarchy return recovery
guidance.
Not included
semanticSearch is registered for MCP compatibility but is excluded from the
standalone distribution. It returns a Homebrew-specific unavailability error
that points to the source-build steps below; lexical search and symbol search
remain available.
Source-build semantic search
The standalone Homebrew package excludes semantic dependencies. In a source checkout, install them with:
Then index explicitly:
install-semantic also pre-downloads the embedding model (BAAI/bge-m3,
~4.3 GB, one time) into the shared Hugging Face cache
(~/.cache/huggingface/); every indexed repo reuses it. If the download is
interrupted, the next jarvis index retries it automatically.
MCP tools
Dashboard
A localhost web console over the same ~/.jarvis data the CLI and MCP server read:
[Repositories view] [Tool playground]
Requirements and limits
- macOS arm64/x86_64 and Linux arm64/x86_64 only. Windows is not supported.
- Semantic search is unavailable in the Homebrew distribution.
- One language per repo — detected by extension plurality across git-tracked files; override with
--language. - jarvis never edits code. It is the retrieval half — Serena complements it for renames/refactors.
- Indexing is explicit — run
jarvis index(orjarvis watch) before querying.
Details
How it works
One indexing CLI writes precomputed indexes into ~/.jarvis; one stdio
runtime reads them down. The two share no other contract.
- Publishing is atomic — a reindex writes a new snapshot, then flips the
currentpointer viaos.replace. A query reading the old snapshot keeps working; no downtime window. - The runtime path never writes — every query opens the published snapshot read-only (
mode=ro&immutable=1). - The package graph is rebuilt, not accumulated — each reindex clears that repo's outgoing edges before recomputing.
Full detail: docs/system-architecture.md
Indexing CLI reference
Known upstream limitations
scip-javacan't index Android/Gradle repos — its Gradle plugin keys off standard source sets that AGP replaces (scip-java#177). Detected automatically; degrades to search-only.- Kotlin indexing requires an exact Kotlin version match —
scip-kotlincis compiled against one pinned release (currently2.2.0). Detected automatically. - Maven-built Java repos need bash ≥ 4.4 on macOS —
brew install bashfixes it. - Swift indexing requires
scip >= v0.9.0— older converters silently drop occurrence ranges.jarvis indexrefuses an oldersciprather than publishing a broken index.
Configuration
The source-development semantic path has additional model-prefix overrides; they have no effect in the standalone distribution.
Documentation
docs/project-overview-pdr.md— scope, value prop, out-of-scope itemsdocs/system-architecture.md— architectural guarantees, storage layout, query pathsdocs/codebase-summary.md— module map, test coveragedocs/code-standards.md— code patterns and conventionsdocs/dashboard.md— dashboard views, actions, security model
License
來源:README.md,提交 4cf9176
工具
0版本歷史
1- v0.4.0最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分