内容
<div align="center">
# 超快速本地内存层,用于 AI 编程代理
### 为 AI 编程代理提供超快速的本地内存层
[](https://crates.io/crates/aikd)
[](https://github.com/gelutjari/aikd/releases)
[](https://github.com/gelutjari/aikd/actions)
[](LICENSE)
[](https://www.rust-lang.org)
[](https://github.com/gelutjari/aikd/releases)
**为 Claude、Cursor 和 Cline 提供整个代码库的即时记忆。**
*用 Rust 编写。零云依赖。0.21毫秒内搜索 10,000 个代码块。*
[安装](#-installation) • [快速开始](#-quick-start-3-minutes) • [演示](#-see-it-in-action) • [文档](docs/)
</div>
---
## 为什么选择 AIKD?
**问题:** AI 编程代理功能强大,但容易忘记。每次新的对话都从零开始 —— 没有代码库的记忆,没有模式的记忆,没有架构的记忆。
| 痛点 | 没有 AIKD | 有 AIKD |
|------------|--------------|-----------|
| 😵 **上下文健忘症** | 代理每次会话都问“这个文件是做什么的?” | 整个代码库的即时回忆 |
| 🐌 **缓慢搜索** | 基于 Python 的 RAG 需要 500ms+ 每次查询 | Rust 驱动的 BM25+Vector 在 0.21ms 内 |
| ☁️ **云依赖** | 您的代码发送到外部服务器 | 100% 本地,零数据离开您的机器 |
| 🔧 **复杂设置** | 安装 Python、pip、CUDA、模型... | 单个二进制文件,一键安装 |
### AIKD 如何比较
| 功能 | `grep` | LlamaIndex | ai-devkit | **AIKD** |
|---------|--------|------------|-----------|----------|
| 速度 | 快 | 慢 | 中等 | **⚡ 0.21ms** |
| 语义搜索 | ❌ | ✅ | ✅ | **✅ 混合** |
| 仅限本地 | ✅ | ❌ | ❌ | **✅ 100%** |
| MCP 原生 | ❌ | ❌ | ❌ | **✅ 内置** |
| 内存使用 | 低 | 高 (Python) | 高 | **📊 27% RAM** |
| 设置时间 | 0s | ~10min | ~5min | **⏱️ 30s** |
---
## 主要功能
### 🔍 搜索引擎
- **混合搜索**:BM25 (Tantivy) + 向量 (ONNX all-MiniLM-L6-v2, 384d)
- **互惠排名融合**:智能组合关键词和语义结果
- **增量索引**:Blake3 哈希实现零冗余扫描
- **资源自适应**:自动检测 CPU/GPU 并调整批次大小
### 🤖 AI 集成
- **MCP 协议**:原生支持模型上下文协议
- **7 个内置工具**:`scan`、`query`、`embed`、`stats`、`remember`、`recall`、`status`
- **自动注册**:与 Claude Code、Cursor、Cline、Continue、Windsurf、MiMoCode 合作
- **会话内存**:跨会话的持久对话上下文
### 🛠️ 开发人员体验
- **单个二进制文件**:无需 Python、无需 Node、无需依赖
- **文件监视器**:文件更改时自动重新索引
- **REST API**:9090 端口的 HTTP 端点,用于自定义集成
- **CLI 优先**:从终端完全控制
---
## 🎬 看看它是如何工作的

```
$ aikd init
✅ AIKD 初始化为项目
$ aikd scan
📊 索引 847 个文件,12,453 个代码块,耗时 1.2s
$ aikd query "身份验证流程"
1. src/auth/login.rs (第 45-89 行,分数:0.923)
实现带有刷新令牌的基于 JWT 的身份验证...
2. src/middleware/auth.rs (第 12-34 行,分数:0.871)
验证受保护路由上的 Bearer 令牌...
3. docs/architecture/auth.md (第 1-25 行,分数:0.845)
身份验证流程图和安全注意事项...
```
---
## 📦 安装
### 推荐(单行)
**Linux / macOS:**
```bash
curl -sSf https://raw.githubusercontent.com/gelutjari/aikd/main/install.sh | bash
```
**Windows (PowerShell):**
```powershell
irm https://raw.githubusercontent.com/gelutjari/aikd/main/install.ps1 | iex
```
### 替代方案
<details>
<summary><b>📦 从 crates.io(如果您有 Rust)</b></summary>
```bash
cargo install aikd
```
</details>
<details>
<summary><b>🍺 Homebrew(macOS/Linux)</b></summary>
```bash
brew install gelutjari/tap/aikd
```
</details>
<details>
<summary><b>🔧 从源代码构建</b></summary>
```bash
git clone https://github.com/gelutjari/aikd.git
cd aikd
cargo build --release
cp target/release/aikd ~/.local/bin/
```
</details>
<details>
<summary><b>🐳 Docker</b></summary>
```bash
docker run -v $(pwd):/workspace -p 9090:9090 ghcr.io/gelutjari/aikd:latest
```
</details>
---
## ⚡ 快速开始(3 分钟)
### 步骤 1:初始化
```bash
cd your-project
aikd init
```
<details>
<summary><code>aikd init</code> 是什么?</summary>
根据项目类型(Rust、Node、Python、Go)创建具有智能默认值的 `~/.aikd/config.yaml`。它检测 `.git`、`Cargo.toml`、`package.json` 等并设置适当的文件过滤器。
</details>
### 步骤 2:扫描代码库
```bash
aikd scan
```
<details>
<summary>扫描期间发生了什么?</summary>
1. 遍历目录树(跳过 `node_modules`、`.git`、`target` 等)
2. 按语义边界分割文件(函数、标题)
3. 生成 BM25 索引(Tantivy)和向量嵌入(ONNX)
4. 将所有内容存储在本地 SQLite 数据库中
</details>
### 步骤 3:搜索
```bash
# 关键词搜索(快速)
aikd query "错误处理"
# 语义搜索(智能)
aikd query "登录如何工作" --hybrid
# 获取 JSON 输出用于脚本编写
aikd query "数据库连接" --json
```
### 步骤 4:连接到您的 AI 代理
<details>
<summary><b>Claude Code / Cursor / Cline</b></summary>
AIKD 通过 MCP 自动注册。只需在运行 `aikd scan` 后重启您的 AI 代理。
MCP 配置文件位于 `~/.aikd/mcp.json`:
```json
{
"mcpServers": {
"aikd": {
"command": "aikd",
"args": ["serve"]
}
}
}
```
</details>
<details>
<summary><b>REST API</b></summary>
```bash
# 启动守护进程
aikd daemon
# 通过 HTTP 查询
curl "http://localhost:9090/api/query?q=authentication&limit=5"
```
</details>
---
## 🎛️ 使用模式
```
┌─────────────────┐
│ 如何使用 │
│ AIKD? │
└────────┬────────┘
│
┌────────────────┼────────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ CLI │ │ MCP │ │ REST API │
│ 模式 │ │ 服务器 │ │ 守护进程 │
└──────────┘ └──────────┘ └──────────┘
最适合: 最适合: 最适合:
• 快速搜索 • AI 代理 • Web 应用程序
• 脚本 • Claude Code • 自定义 UI
• CI/CD • Cursor • 团队共享
```
**CLI 模式**(默认):
```bash
aikd query "rust 错误处理" --limit 5
aikd stats
aikd status
```
**MCP 服务器**(用于 AI 代理):
```bash
aikd serve # 启动 stdio MCP 服务器
```
**REST 守护进程**(后台服务):
```bash
aikd daemon # 在后台启动
aikd daemon foreground # 在前台启动
aikd daemon-stop # 停止守护进程
```
---
## 📊 基准测试结果

**硬件:** AMD EPYC 7B13,7.8GB RAM,NVMe SSD
| 操作 | 时间 | 吞吐量 |
|-----------|------|------------|
| 索引 1,000 个文件 | 144ms | 6,934 文件/秒 |
| BM25 搜索 | 0.21ms | 4,762 查询/秒 |
| 混合搜索 | 0.35ms | 2,857 查询/秒 |
| 并发(500) | 28ms | 17,669 查询/秒 |
| 嵌入(批次) | 12ms/批次 | ~800 代码块/秒 |
**资源使用情况:**
```
CPU: ████████░░░░░░░░░░░░ 22.9%
RAM: █████░░░░░░░░░░░░░░░ 27.4%
```
> 💡 **现实上下文:** 人眼眨眼约 300ms。在这段时间内,AIKD 可以完成 **857 次混合搜索**,涵盖整个代码库。
---
## ⚙️ 配置
**默认配置** (`~/.aikd/config.yaml`):
```yaml
version: 2.0.0
scan:
include_paths: ["."]
exclude_paths: ["node_modules", ".git", "target"]
include_extensions: ["rs", "ts", "py", "md", "json"]
follow_symlinks: false
chunk:
max_tokens: 1000
min_tokens: 100
embedding:
enabled: true
model: all-MiniLM-L6-v2
batch_size: auto
server:
rest_port: 9090
auth_token: null
cors_origins: ["*"]
```
<details>
<summary><b>🐌 慢速机器(4GB RAM,2 个核心)</b></summary>
```yaml
embedding:
enabled: true
batch_size: 8
device: cpu
resource:
mode: Low
```
</details>
<details>
<summary><b>💪 强劲机器(32GB RAM,16 个核心,GPU)</b></summary>
```yaml
embedding:
enabled: true
batch_size: 64
device: gpu
resource:
mode: Max
```
</details>
<details>
<summary><b>📝 文档项目</b></summary>
```yaml
scan:
include_extensions: ["md", "txt", "rst"]
exclude_paths: [".git"]
filter:
max_file_size: 524288 # 512KB
```
</details>
<details>
<summary><b>👥 团队共享</b></summary>
```yaml
server:
rest_port: 9090
auth_token: "your-secret-token"
cors_origins:
- "https://your-team-app.com"
```
</details>
---
## 🏗️ 架构

```
┌─────────────────────────────────────────────────────────────┐
│ AIKD v2.0.0 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────────┐ │
│ │ CLI │ │ MCP │ │ REST │ │ 文件监视器│ │
│ │ (clap)│ │ (rmcp)│ │ (axum)│ │ (notify)│ │
│ └────┬────┘ └────┬────┘ └────┬────┘ └──────┬──────┘ │
│ │ │ │ │ │
│ └────────────┴────────────┴───────────────┘ │
│ │ │
│ ┌─────────────────────────┴──────────────────────────┐ │
│ │ 核心引擎 │ │
│ ├─────────────┬─────────────┬─────────────────────────┤ │
│ │ 扫描器 │ 分块器 │ 会话管理器 │ │
│ │ (walkdir)│(pulldown- │ (对话数据库) │ │
│ │ │ cmark) │ │ │
│ └──────┬──────┴──────┬──────┴─────────────────────────┘ │
│ │ │ │
│ ┌──────┴──────┐ ┌────┴─────┐ ┌──────────────────────┐ │
│ │ 索引器 │ │ 嵌入器 │ │ 存储 │ │
│ │ (Tantivy)│ │ (ONNX)│ │ (SQLite + WAL) │ │
│ │ BM25 + │ │ 384d │ │ + r2d2 池 │ │
│ │ HNSW ANN │ │ MiniLM │ │ + blake3 哈希 │ │
│ └─────────────┘ └──────────┘ └──────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
```
查看 [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) 以获取详细分解。
---
## 🆘 故障排除
**诊断命令:**
```bash
aikd status --json # 系统信息
aikd stats # 索引统计
aikd daemon-pid # 检查守护进程是否运行
```
<details>
<summary><b>"未找到结果"</b></summary>
1. 运行 `aikd scan`
2. 检查 `aikd stats` 以验证索引文件
3. 尝试更广泛的搜索词
4. 检查 `include_extensions` 配置
</details>
<details>
<summary><b>"模型未下载"</b></summary>
```bash
aikd model download
```
这将下载 ~90MB ONNX 模型到 `~/.local/share/aikd/model/`。
</details>
<details>
<summary><b>"端口 9090 已被占用"</b></summary>
```bash
# 在配置中更改端口
# ~/.aikd/config.yaml
server:
rest_port: 9091
```
或停止现有进程:`aikd daemon-stop`
</details>
<details>
<summary><b>高内存使用率</b></summary>
将资源模式设置为低:
```yaml
resource:
mode: Low
max_memory_mb: 512
```
</details>
<details>
<summary><b>MCP 未连接到 Claude/Cursor</b></summary>
1. 检查 `~/.aikd/mcp.json` 是否存在
2. 重启您的 AI 代理
3. 验证 `aikd serve` 是否有效:`echo '{"jsonrpc":"2.0","method":"initialize","id":1}' | aikd serve`
</details>
<details>
<summary><b>Windows: "vcruntime140.dll 未找到"</b></summary>
安装 [Visual C++ Redistributable](https://aka.ms/vs/17/release/vc_redist.x64.exe)。
</details>
---
## 🤝 社区
**获取帮助:**
- 💬 [GitHub 讨论](https://github.com/gelutjari/aikd/discussions) — 提问
- 🐛 [问题](https://github.com/gelutjari/aikd/issues) — 报告错误
- 📧 电子邮件:gelutjari@github.com
**贡献者:**
| 贡献 | 谁 |
|--------------|-----|
| 🏗️ 架构和核心 | [@gelutjari](https://github.com/gelutjari) |
| 🔒 安全审计 | AI 辅助(MiMo) |
| ⚡ 性能优化 | 社区 |
| 📖 文档 | 社区 |
查看 [CONTRIBUTING.md](CONTRIBUTING.md) 以了解如何贡献。
---
## 📄 许可证
MIT 许可证 — 查看 [LICENSE](LICENSE) 以获取详细信息。
---
<div align="center">
**⭐ 如果 AIKD 帮助您的 AI 代理记住,请给此仓库加星!**
[](https://star-history.com/#gelutjari/aikd&Date)
</div>
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器