内容
**为 AI 编程代理提供真正的代码库理解。**
ministr 是一个本地的、MIT 许可的代码智能 MCP 服务器。它为 AI 编程代理提供代码库的 AST 级理解 — 跨代码和文档的语义搜索、符号级导航、真正的引用图以及跨 40 多种语言的跨语言桥接检测。它在本地运行、本地嵌入,并与任何 MCP 客户端(如 Claude Code、Cursor、VS Code / Copilot)一起工作。
## 它解决了什么问题
代理使用 `grep` 和 `read` 来探索代码。`grep` 匹配文本,而不是意义,并用近似匹配淹没窗口;为了回答一个狭窄的问题而读取整个文件,会浪费大部分返回的内容。这两种工具都不知道某个函数有三个调用者,某个特征有两种实现,或者 Rust 的 `#[pyfunction]` 是 Python 跨边界调用的内容。
ministr 用结构取代了这一点。它将代码库解析为 AST,以多种分辨率(文档、章节、声明、符号、完整源代码)进行索引,并以符号、引用和语言桥接来回答 — 返回确切的切片,而不是文件转储。
## 从源代码安装
ministr 可以通过一个命令在 macOS、Linux 和 Windows 上从源代码构建。
**先决条件**
- [Rust](https://rustup.rs)(工具链通过 `rust-toolchain.toml` 固定为 1.95.0;rustup 在首次构建时自动安装)。
- 用于原生依赖的 C 工具链:macOS 上的 Xcode 命令行工具(`xcode-select --install`),Debian/Ubuntu 上的 `build-essential`(或其他发行版上等效的 `gcc`/`clang` + `make`),以及 Windows 上的 [Visual Studio C++ 构建工具](https://visualstudio.microsoft.com/visual-cpp-build-tools/)。
**一行命令 — macOS / Linux**
```sh
cargo install --git https://github.com/OlsonSoftware/ministr --locked ministr-cli
```
**一行命令 — Windows (PowerShell)**
```powershell
cargo install --git https://github.com/OlsonSoftware/ministr --locked ministr-cli
```
这会构建工作区并将 `ministr` 二进制文件安装到 Cargo 的二进制目录(macOS/Linux 上的 `~/.cargo/bin`,Windows 上的 `%USERPROFILE%\.cargo\bin`),而 rustup 已经将其添加到您的 `PATH` 中。确认如下:
```sh
ministr --version
```
**从本地**(任何操作系统 —正在修改 ministr,这很方便):
```sh
git clonegithub.com/Olsonministr
cd ministr
cargo install --path ministr-cli --locked
```
在 Windows 上,您可以通过在任一命令中添加 `--features directml` 来选择 DirectML GPU 加速。
> 通过构建验证:`cargo install` 从源代码编译 MIT 工作区并安装一个可工作的 `ministr 0.7.0`(在 macOS / Apple Silicon 上使用固定的 Rust 1.95.0 工具链进行验证)。本地克隆形式和 `--git` 形式共享相同的编译路径。
预构建的二进制文件和桌面应用程序也附在每个 [GitHub 发布](https://github.com/OlsonSoftware/ministr/releases) 中。
### 作为 Claude Code 插件
如果您只需要 MCP 服务器,请将 ministr 安装为 Claude Code 插件 — 这会注册 MCP 服务器并添加斜杠命令(`/ministr:survey`、`/ministr:symbols`、`/ministr:references`、`/ministr:bridges`、`/ministr:impact`、`/ministr:dead`、`/ministr:route`):
```sh
claude /plugin install https://github.com/OlsonSoftware/ministr
```
您仍然需要在您的 `PATH` 上安装 `ministr` CLI(上述从源代码安装)。插件清单位于 [`.claude-plugin/plugin.json`](.claude-plugin/plugin.json)。
## 在项目中使用
```sh
cd your-project
ministr init
```
`ministr init` 一次配置所有支持的代理。它写入 `.ministr.toml` — 从项目清单(`Cargo.toml`、`package.json`、`pyproject.toml`)自动检测的语料库路径和配置 — 以及 MCP 客户端配置:`.mcp.json`(Claude Code)、`.cursor/mcp.json`(Cursor)和 `.vscode/mcp.json`(VS Code / Copilot)。
要手动配置语料库,`.ministr.toml` 只需要索引路径:
```toml
[corpus]
paths = ["src", "docs", "README.md"]
```
无需单独的构建步骤。ministr 在第一个代理连接时自动索引。
## 它能做什么
**跨语言桥接检测** — ministr 存在的最主要原因。它在 **13 种类型** 中自动链接跨语言绑定:Tauri 命令和事件、napiPyO3、wasm-bindgen、JNI、I、cgo(Go ↔ C)、Electron IPC、Flutter 平台通道、gRPC、HTTP 路由(axum / actix-web / rocket / Express / Flask / Gin)和原始 FFI。当您有一个 Rust `#[tauri::command]` 时,ministr 知道调用它的 TypeScript `invoke("…")`;当您有一个 `#[pyfunction]` 时,ministr 知道跨越 PyO3 边界的 Python 导入。
**符号导航和引用图** 通过 tree-sitter40 多种语言中查找和跟踪结构体、函数、特征及其调用者/实现者/导入者 — Rust、Python、JS/TS、Go、Java、C/C++、C#、Swift、Kotlin、Scala、Bash、Lualixir、Haskell、、Dart、RCL/Terraform、Zig、Protobuf、 等。
**语义 跨文档和代码运行,并以代理需要的粒度返回结果摘要、章节或单个代码添加了两个级别存根(签名加完整源代码。相同的于所有五种分辨率选择正确的一个,而不是获取整个文件转储。
**本地嵌入** 默认情况下,在 Apple Silicon 上使用 Metal GPU 和 Candle DirectX 12 GPU 上Embed + DirectML(directml` 功能),地方使用 FastEmbed +NX。没有任何内容离开机器。
## 适用于代理
内容放入您的项目的 `.md` / `AG` / `.cursorrules或让 `ministr 为您编写),以使用正确工具而不是 grep```markdown
## ministr — 代码智能
使用 ministr代替 grep / find-to-explore。
****
- 模糊问题ministr_survey(query自然语言问题")`
道符号名称 → `ministr_symbols(query: "名称 → `ministr_definition)`
- 知道文件 → `ministr_toc(document "路径")` →r_read(section_id)`
项目布局 → `ministr_toc(limit: 100在更改代码之前**
涉及共享代码 → 首先ministr_references(symbol_id)`
- 删除符号 → `ministr_references(symbol_id)` — 零引用意味着安全
- 更改任何 IPC / FFI / HTTP 边界 → 使用 `ministr_bridge` 查看每个跨语言调用站点
**反模式**
- 不要使用 `Read` 来探索 — 使用 `ministr_read` 或 `ministr_definition`
- 不要在修改共享代码之前跳过 `ministr_re- 不要使用 grep / find — 使用 `ministr_survey` 或r_symbols`
```
##
- [`CHANGELOGCHANGELOG.md) —
- [`CONTRIBUT`](CONTRIBUTING.md 如何构建、测试和贡献
- [`SECURITY.mdCURITY.md) —
- [`STEW.md`](STEWARDSHIP.md) — 开放和我们的承诺
-ENTS.md`](AGENTS.md) — 代理面向的
## 许可证
是开放核心的。 — 六个工作区ministr-core`r-api`、`ministemon`、`ministr`、`ministr-cli `ministr-app/src` — 是 MIT ,并使用一个完整的 `` 二进制文件构建或专有依赖`cargo build --workspace托管云服务和企业单独的付费产品 [LICENSE](LICENSE) 文本,参见EWARDSHIP.md](ARDSHIP.md) 获取分割和我们的承诺。