返回市场
远程拉格MCP服务器

远程拉格MCP服务器

作者:estevaom22 星标更新:2025-08-15

项目介绍

日记 RAG 系统

一个强大的、注重隐私的日记系统,具有AI驱动的语义搜索和元数据分析功能。该系统允许您使用自然语言查询个人日记条目,并随着时间推移分析情绪、习惯和思想模式。

✨ 特性

  • 🔍 语义搜索:使用自然语言查询日记条目,采用Rust实现高性能
  • 📊 前置元数据分析:跟踪情绪、焦虑、体重和自定义指标随时间的变化
  • 🦀 Rust 实现:使用原生Rust进行高性能索引和搜索
  • 🏠 本地处理:日记文件和搜索索引保留在您的机器上
  • ⚡ 快速嵌入:使用fastembed生成高效向量
  • 📱 跨平台:支持macOS、Linux和Windows(通过WSL)

🚀 快速开始

1. 自动设置

选择您的平台并运行设置脚本:

macOS:

./setup_mac_environment.sh

Ubuntu/Debian(包括WSL):

./setup_ubuntu_environment.sh

Arch Linux:

./setup_arch_environment.sh

这些脚本会:

  • 安装Rust(如果需要)
  • 安装系统依赖项
  • 构建所有工具
  • 设置方便脚本

2. 手动设置(可选)

如果您偏好手动设置:

安装Rust:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env

构建工具:

# 构建RAG搜索工具
cd .tech/code/rust_scripts/rag_search
cargo build --release

# 构建前置元数据查询工具
cd ../frontmatter_query
cargo build --release

3. 开始记录日记

journal/目录中使用提供的模板添加条目:

每日条目template/daily.md):

journal/2025/01/01.md
journal/2025/01/02.md

每周回顾template/weekly_retro.md):

journal/2025/week_01_retro.md

用于跟踪的前置元数据示例:

---
date: 2025-01-01
mood: 7
energy: 8
sleep_hours: 7.5
tags: ["工作", "学习", "反思"]
---

# 今天的思考
您的日记内容在这里...

模板提供在template/目录中:

  • daily.md - 每日日记模板,带有反思部分
  • weekly_retro.md - 每周回顾,用于审查进度
  • prompt.md - 配置您的AI助手个性指南

🎯 使用方法

方便的Shell脚本

项目包括用于常见操作的方便Shell脚本:

# 重新索引日记条目(在添加新条目后运行)
./reindex-rag.sh

# 搜索您的日记
./search-rag.sh "焦虑和睡眠模式"
./search-rag.sh "学习Rust之旅" -n 10
./search-rag.sh "关系见解" --after 2025-06-01
./search-rag.sh "调试专业" --files-only

# 查询前置元数据
./query-frontmatter.sh --fields 情绪 焦虑 体重kg
./query-frontmatter.sh --fields 情绪 --start-date 2025-07-01 --stats
./query-frontmatter.sh --fields 体重kg --format csv > weight_data.csv

直接命令使用

您也可以直接使用Rust二进制文件:

索引您的日记条目

# 索引所有日记文件
.tech/code/rust_scripts/rag_search/target/release/rag-index \
  --journal-dir journal \
  --lance-dir .tech/data/lancedb

# 强制重建整个索引
.tech/code/rust_scripts/rag_search/target/release/rag-index --rebuild

# 索引最近的文件(从特定日期开始)
.tech/code/rust_scripts/rag_search/target/release/rag-index --since 2025-01-01

语义搜索

# 基本搜索
.tech/code/rust_scripts/rag_search/target/release/rag-search "提高生产力的小贴士"

# 带有日期过滤器的搜索
.tech/code/rust_scripts/rag_search/target/release/rag-search "焦虑" \
  --after 2025-01-01 \
  --before 2025-01-31

# 获取更多结果
.tech/code/rust_scripts/rag_search/target/release/rag-search "冥想" --num-results 20

# 输出为JSON
.tech/code/rust_scripts/rag_search/target/release/rag-search "目标" --format json

前置元数据分析

# 查询特定字段
.tech/code/rust_scripts/frontmatter_query/target/release/frontmatter-query \
  --fields 情绪 焦虑 体重kg

# 计算统计数据
.tech/code/rust_scripts/frontmatter_query/target/release/frontmatter-query \
  --fields 情绪 焦虑 \
  --stats

# 导出为CSV
.tech/code/rust_scripts/frontmatter_query/target/release/frontmatter-query \
  --fields 情绪 体重kg \
  --format csv > mood_weight.csv

📁 目录结构

markdown-journal-rust/
├── README.md                           # 本文件
├── CLAUDE.md                          # Claude Code指令
├── setup_mac_environment.sh           # macOS设置脚本
├── setup_ubuntu_environment.sh        # Ubuntu/Debian设置脚本
├── setup_arch_environment.sh          # Arch Linux设置脚本
├── search-rag.sh                      # 方便搜索脚本
├── reindex-rag.sh                     # 重新索引日记脚本
├── query-frontmatter.sh               # 查询元数据脚本
├── .claude/                           # Claude Code集成
│   ├── agents/                        # 自定义AI代理
│   ├── commands/                      # 斜杠命令
│   └── settings.json                  # Claude Code设置
├── template/                          # 日记模板
│   ├── daily.md                      # 每日条目模板
│   ├── weekly_retro.md               # 每周回顾模板
│   └── prompt.md                     # AI助手配置
├── journal/                           # 您的日记条目
│   ├── 2025/01/01.md                 # 每日条目
│   └── topics/                       # 基于主题的条目
└── .tech/                            # 技术组件
    ├── code/
    │   ├── rust_scripts/             # Rust实现(主要)
    │   │   ├── rag_search/           # RAG搜索工作区
    │   │   │   ├── rag-index/        # 索引工具
    │   │   │   └── rag-search/       # 搜索工具
    │   │   └── frontmatter_query/    # 元数据分析工具
    │   └── python_legacy/            # Python实现(已弃用)
    │       ├── mcp/                  # MCP服务器
    │       ├── scripts/              # Python脚本
    │       └── LEGACY_README.md      # 过时文档
    └── data/                         # 生成的数据
        ├── lancedb/                  # 向量数据库(Rust)
        └── chroma_db/                # 向量数据库(Python已弃用)

🔧 系统需求

最低需求

  • Rust 1.70+(通过rustup安装)
  • 4GB 内存
  • 2GB 空闲磁盘空间

推荐

  • 8GB+ 内存以获得更好的性能
  • SSD 存储以加快索引速度

📊 前置元数据字段

在您的日记条目中跟踪各种指标:

---
date: 2025-01-01          # 条目日期(必需)
mood: 7                   # 1-10分
anxiety: 3                # 1-10分  
energy: 8                 # 1-10分
sleep_hours: 7.5          # 睡眠小时数
weight_kg: 70             # 体重(公斤)
exercise_minutes: 30      # 锻炼时长
weather: "晴朗"          # 天气描述
tags: ["工作", "家庭"]  # 自定义标签
---

您可以根据要跟踪的内容自定义这些字段。

🤖 Claude Code 集成

该项目包括增强的Claude Code集成,以获得更佳的开发体验:

功能

  • 自定义代理.claude/agents/):

    • journal-rag-search:当需要上下文时自动搜索您的日记
    • journal-field-completer:帮助完成日记前置元数据字段
    • weekly-retro-analyzer:分析每周回顾
  • 斜杠命令.claude/commands/):

    • /start:初始化您的日记会话
    • /commit:智能git提交带上下文
  • 状态行:实时令牌使用跟踪(需安装bunx ccusage

  • 自动时间戳:每个提示都包含当前时间戳以供上下文

设置(可选)

  1. Claude Code会自动检测.claude目录
  2. 对于状态行,安装ccusage:npm install -g ccusage
  3. 代理和命令立即可用

使用示例

与Claude Code一起使用:

  • 查询过去事件 - RAG代理会自动搜索
  • 使用/start开始新的会话并带有上下文
  • 使用/commit进行智能提交消息

这些集成是可选的,但推荐以获得最佳体验。

🔍 高级功能

备份和同步

您的日记只是markdown文件 - 可以与任何服务同步:

  • Git仓库
  • 云存储(Dropbox、iCloud等)
  • 网络驱动器

LanceDB索引(.tech/data/lancedb/)可以从您的日记文件随时重建。

📚 文档

  • 设置脚本setup_mac_environment.shsetup_ubuntu_environment.shsetup_arch_environment.sh
  • Claude Code指南CLAUDE.md

🆘 支持

常见问题

“命令未找到”错误:

  • 确保已安装Rust:rustc --version
  • 检查是否已构建工具:ls .tech/code/rust_scripts/*/target/release/
  • 使用完整路径或创建别名

索引问题:

  • 确保日记目录存在且包含.md文件
  • 检查文件权限
  • 尝试使用--rebuild标志重建

性能问题:

  • 第一次索引可能较慢,因为模型正在下载
  • 后续运行使用缓存模型,速度更快
  • 考虑使用较少的结果数--num-results

获取帮助

  1. 查看文档文件
  2. 查看每个工具的--help输出
  3. 在GitHub上打开问题,附上系统详情

🔒 隐私及数据考虑

什么保持私密(始终本地):

  • 您的日记文件和内容
  • 向量嵌入和搜索索引
  • 前置元数据分析和统计
  • 所有文件处理和存储

性能提示:此Rust实现提供了比Python版本更高的搜索质量和极快的搜索速度(<20毫秒)。虽然索引速度比GPU加速的Python版本慢,但搜索结果更准确且检索几乎是即时的。


📦 已弃用的Python实现

.tech/code/python_legacy/中提供了一个Python实现,用于兼容性和教育目的。这包括:

  • 原始的MCP服务器用于AI代理集成
  • 基于ChromaDB的语义搜索
  • 基于Python的前置元数据分析

注意:Python实现已弃用且不再积极维护。它提供给:

  • 需要MCP协议兼容性的用户
  • 教育比较不同实现
  • 如果Rust设置有问题时作为备用方案

对于设置说明,请参阅.tech/code/python_legacy/LEGACY_README.md

我们强烈建议所有新项目使用Rust实现。