记住
面向开发人员的具有多客户端支持的本地优先上下文存储系统
Ingat是一个基于Tauri的桌面应用程序,它在您的机器上本地存储代码片段、修复、讨论和其他开发上下文。它提供语义搜索功能,并通过模型上下文协议(MCP)与IDE集成。
🎉 新增:多客户端远程模式! 同时使用UI和多个IDE,而不会发生数据库冲突。
______________________________________________________________________
✨ 特性
- 🔒 隐私第一:所有数据都存储在本地,没有云服务
- 🧠 语义搜索:按含义查找上下文,而不仅仅是关键字
- 🚀 多客户端支持:同时使用UI+多个IDE
- 🔌 通用MCP集成:通过stdio和HTTP/SSE传输与所有主要IDE兼容
- ⚡ 多个嵌入后端:在轻量级确定性哈希或高质量FastEmbed之间进行选择
- 🎨 现代用户界面:使用React、TypeScript和Tailwind CSS构建
- 🦀 Rust后端:快速、安全、可靠
______________________________________________________________________
🚀 快速开始
选项1:使用辅助脚本(推荐)
窗户:
# Clone and navigate
git clone https://github.com/sutantodadang/Ingat.git
cd Ingat
# Install dependencies
bun install
# Start everything (service + UI)
.\start-with-service.ps1这会自动:
- ✅ 如果需要,构建后端服务
- ✅ 开始
mcp_service(持有数据库锁) - ✅ 在远程模式下启动UI
- ✅ 允许同时进行IDE连接
选项2:手动设置
# 1. Install dependencies
bun install
# 2. Build the service
cd src-tauri
cargo build --release --bin mcp_service --features mcp-server,tauri-plugin
# 3. Start the service (keep this terminal open)
./target/release/mcp_service
# 4. In a new terminal, start the UI
cd ..
bun run dev然后连接IDE -看 SETUP_GUIDE.md
推荐用于风帆(喀斯喀特)
如果你已经保持 mcp-service 作为后台进程运行,配置Windsurf以生成 mcp-stdio.
发生了什么:
mcp-stdio检测跑步mcp-service并自动使用 远程模式- 全部
ingest_context/search_contexts调用通过HTTP代理到服务 - 这避免了本地数据库锁,并在多个客户端打开时使“存储/检索上下文”可靠
看 SETUP_GUIDE.md → 多客户端模式 和 帆板运动.
______________________________________________________________________
📖 文档
🌟 从这里开始
- SETUP_GUIDE.md - 为所有用户提供完整的设置指南 ⭐
- START_HERE.md -快速故障排除和启动指南
IDE集成
- IDE_MCP_SETUP.md -VS Code、Cursor、Windsurf、Sublime、Zed、Claude的设置
- VS_CODE_MCP_SETUP.md -详细的VS代码/光标/风帆指南
多客户端使用
- QUICK_FIX.md -修复数据库锁冲突
- MULTI_CLIENT_USAGE.md -在多个IDE中使用Ingat
- UNIFIED_SERVICE_SETUP.md -生产后端服务指南
- docs/REMOTE_MODE.md -远程模式的技术细节
技术文档
- MCP_INTEGRATION.md -架构和API参考
- docs/IMPLEMENTATION_SUMMARY.md -实施细节
- docs/ARCHITECTURE_DIAGRAMS.md -视觉架构指南
______________________________________________________________________
🎯 MCP二进制
Ingat为不同的用例提供了三个MCP服务器二进制文件:
| 二进制 | 传输 | 最佳选择 | 安装指南 |
|---|---|---|---|
mcp_stdio | stdin/stdout | VS代码、光标、风帆、崇高 | IDE_MCP_SETUP.md |
mcp_bridge | HTTP/SSE | 泽德,克劳德桌面 | IDE_MCP_SETUP.md |
mcp_service 🆕 | HTTP/REST+SSE | 多客户端同时使用 | SETUP_GUIDE.md |
提示(风帆/瀑布): 跑 mcp-service 在背景中,指向Windsurf mcp-stdio.Igat将自动代理对服务的调用。
构建二进制文件
cd src-tauri
# Build all MCP binaries
cargo build --release --bin mcp_stdio --features mcp-server
cargo build --release --bin mcp_bridge --features mcp-server
cargo build --release --bin mcp_service --features mcp-server,tauri-plugin币将在: src-tauri/target/release/
______________________________________________________________________
🏗️ 建筑
单客户端模式(默认)
┌─────────────┐
│ Tauri UI │─────► Local DB ✓
└─────────────┘多客户端模式(远程模式)🆕
┌─────────────┐
│ Tauri UI │────┐
└─────────────┘ │
├───► mcp-service ───► Local DB ✓
┌─────────────┐ │ (Single lock)
│ VS Code │────┤
└─────────────┘ │
│
┌─────────────┐ │
│ Zed │────┘
└─────────────┘它是如何工作的:
mcp-service持有独占数据库锁- 所有客户端(UI、IDE)通过HTTP连接
- 无数据库锁冲突
- 启动时自动检测服务
看 docs/REMOTE_MODE.md 了解详情。
______________________________________________________________________
🎓 支持的IDE
| IDE | 状态 | 传输 | 配置 |
|---|---|---|---|
| VS Code | ✅ 完全支持 | stdio | .vscode/settings.json |
| 光标 | ✅ 完全支持 | stdio | .cursor/mcp.json |
| 帆板运动 | ✅ 完全支持 | stdio | .windsurf/mcp.json |
| 崇高文本 | ✅ 完全支持 | stdio | Codeium配置 |
| 泽德 | ✅ 全面支持 | SSE | settings.json |
| 克劳德桌面版 | ✅ 全面支持 | SSE | claude_desktop_config.json |
看 SETUP_GUIDE.md 有关完整的设置说明。
______________________________________________________________________
⚙️ 配置
环境变量
# Service configuration
export INGAT_SERVICE_HOST="127.0.0.1" # Default: 127.0.0.1
export INGAT_SERVICE_PORT="3200" # Default: 3200
export INGAT_DATA_DIR="/custom/path" # Optional: custom data directory
export INGAT_LOG="info" # Logging: trace, debug, info, warn, error注: 当跑步 mcp-service 如果检测到,Ingat将使用远程模式并将上下文操作代理到服务。在该模式下,不支持从客户端更改嵌入后端。
数据存储
默认数据位置:
- 窗户:
%APPDATA%\ingat\Ingat\data - macOS:
~/Library/Application Support/ingat/Ingat/data - Linux:
~/.config/ingat/Ingat/data
______________________________________________________________________
🔧 发展
先决条件
在开发中运行
# Install dependencies
bun install
# Run Tauri app in dev mode
bun run tauri dev
# Or with all features
bun run tauri dev --features fastembed-engine,mcp-server为生产而建
# Build installer with all binaries
bun run tauri build --features mcp-server,tauri-plugin
# Or with FastEmbed
bun run tauri build --features fastembed-engine,mcp-server,tauri-plugin安装程序将包括:
- Tauri UI应用程序
mcp-stdio.exemcp-bridge.exemcp-service.exe
______________________________________________________________________
🧪 测试
# Rust tests
cd src-tauri
cargo test
# Check compilation
cargo check --all-features
# Lint
cargo clippy --all-features
# Format
cargo fmt______________________________________________________________________
📦 功能开关
| 标志 | 默认值 | 描述 |
|---|---|---|
simple-embed | ✅ | 轻量级确定性哈希嵌入 |
fastembed-engine | ❌ | 高质量语义嵌入(ONNX) |
mcp-server | ✅ | 模型上下文协议服务器支持 |
tauri-plugin | ✅ | 要求…… mcp-service HTTP服务器 |
______________________________________________________________________
🎯 用例
个人开发者
- 存储代码片段和解决方案
- 跨知识库的语义搜索
- IDE集成,实现快速上下文访问
团队使用情况
- 跑
mcp-service在共享服务器上 - 团队成员远程连接他们的IDE
- 集中式上下文存储库
- 看 UNIFIED_SERVICE_SETUP.md
多工具工作流
- 使用UI进行浏览和管理
- 使用VS Code进行编码
- 使用Claude Desktop获得人工智能帮助
- 所有人同时访问相同的数据
______________________________________________________________________
🚨 故障排除
数据库锁定错误
症状: “无法获取锁”错误
解决方案: 使用多客户端模式 mcp-service
# Stop everything
Get-Process | Where-Object {$_.ProcessName -match "ingat|mcp"} | Stop-Process -Force
# Start in correct order
.\start-with-service.ps1看 QUICK_FIX.md 了解详细的故障排除。
服务无法启动
检查:
- 另一个实例正在运行吗?
curl http://localhost:3200/health - UI是否持有DB锁?先关闭它
- 端口3200可用吗?
netstat -an | findstr 3200
IDE连接失败
检查:
- 服务正在运行:
curl http://localhost:3200/health - IDE配置中的二进制路径正确
- 二进制文件已更新:重建
cargo build --release
看 START_HERE.md 获取完整的故障排除指南。
______________________________________________________________________
🤝 贡献
欢迎投稿!拜托:
- 遵循干净的架构原则
- 对可选依赖项使用功能标志
- 为新功能添加文档
- 跑
cargo clippy和cargo fmt在提交之前 - 更新相关文档文件
- 为新功能编写测试
项目结构
ingat/
├── src/ # Frontend (React + TypeScript)
├── src-tauri/ # Backend (Rust)
│ ├── src/
│ │ ├── application/ # Business logic
│ │ ├── domain/ # Domain models
│ │ ├── infrastructure/ # External adapters
│ │ ├── interfaces/ # MCP servers
│ │ └── bin/ # Standalone binaries
│ └── Cargo.toml
├── docs/ # Additional documentation
└── scripts/ # Helper scripts______________________________________________________________________
📄 许可证
\[您的许可证在这里\]
______________________________________________________________________
🙏 致谢
______________________________________________________________________
📞 支持与社区
- 📖 安装指南: SETUP_GUIDE.md
- 🐛 报告问题:
- 💬 讨论:
- ❓ 快速修复: QUICK_FIX.md
______________________________________________________________________
🌟 最新动态
v0.1.0-初始版本
- ✨ 远程模式,可同时使用UI+IDE
- 🔧
mcp-service统一后端 - 📖 全面的设置指南
- 🚀 帮助脚本,便于启动
- 🔍 自动服务检测
看 docs/IMPLEMENTATION_SUMMARY.md 了解技术细节。
______________________________________________________________________
推荐的 IDE 设置
______________________________________________________________________
开始: 阅读 SETUP_GUIDE.md 获取完整的设置说明! 🚀
