
Jarvis
io.github.phuongddx由 GitHub 账号 phuongddx 发布v0.10.0更新于 Nov 3, 2026
Local-first SCIP code navigation and Zoekt search over your own indexed repositories
概览
本地优先的代码智能服务器,让助手在你自己已索引的仓库中做精确的符号导航与词法搜索。
- 可以做什么
- 符号导航:解析定义位置、查找符号的全部引用、追踪调用层级与类型层级。
- 文件大纲:列出单个文件中定义的所有符号。
- 代码搜索:词法或正则搜索,可限定在某个仓库内。
- 影响面分析:查看其他已索引仓库对某个包的依赖,最多两跳。
- 索引管理:查看索引状态与新鲜度,并为指定路径的仓库建立索引。
- 适用场景
- 适合编码助手在 grep 式搜索上耗费大量上下文、需要关于符号定义、使用和调用位置的精确文件与范围答案时使用。面向在本地一个或多个 git 仓库上工作、希望检索完全留在本机的开发者。
- 运行要求
- 作为本地 stdio 进程由客户端启动。README 的快速开始使用独立的 Homebrew 二进制(仅支持 macOS arm64/x86_64 与 Linux arm64/x86_64,不支持 Windows),其中已内置 Python 及 Zoekt/SCIP 工具。查询前必须先用命令行显式索引仓库。可选的分语言索引器按语言需要 Node.js/npm、JDK 或 Xcode。可用 JARVIS_DATA_DIR 覆盖默认数据目录。
安装
在 SourceWeft 中
- 打开 控制台中的 Jarvis,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
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.10.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分