Markdown期刊RAG
一个用于在本地搜索和分析Markdown日志条目的工具包。结合语义搜索、关键字搜索和前台分析——所有这些都在您的机器上运行。
特性
- 语义搜索 使用本地向量索引(USearch+SQLite元数据)覆盖Markdown
- 关键字搜索 (BM25经坦特维)
- 混合搜索 (语义+关键字与RRF融合)
- 增量索引 (仅限新/更改的文件)
--rebuild完全刷新 - Frontmatter分析 (查询字段、统计数据、标签/触发器linting、条纹助手)
- 默认情况下为本地:日志文件、嵌入和索引保留在您的计算机上
- 跨平台:macOS、Ubuntu/Debian(包括WSL)、Arch Linux
- 零配置构建:包装器脚本自动构建缺少的Rust二进制文件(包括macOS C++头文件修复)
快速开始
1.安装+构建(选择一个)
macOS:
./setup_mac_environment.shUbuntu/Debian(包括WSL):
./setup_ubuntu_environment.shArch Linux:
./setup_arch_environment.sh2.启动嵌入服务
./start-server.sh这将在第一次运行时下载嵌入模型,然后提供:
POST /embedGET /healthGET /info
3.索引和搜索
# Incremental index (fast for daily updates)
./index-journal.sh
# Full rebuild (use occasionally to compact the index)
./reindex-rag.sh
# Search
./search-rag.sh "project retrospective" -n 10
./search-rag.sh "learning rust ownership" --after 2025-06-01
./search-rag.sh "meeting notes" --files-only
# Search modes (default: hybrid)
./search-rag.sh "postgres deadlocks" --mode keyword
./search-rag.sh "what did I learn this week?" --mode semantic
# Frontmatter query
./query-frontmatter.sh --fields mood anxiety weight_kg --format table
./query-frontmatter.sh --list-tags --format json
./query-frontmatter.sh --lint --last-days 30 --format json如果缺少发布二进制文件, index-journal.sh, search-rag.sh,以及 query-frontmatter.sh 在运行之前自动构建它们。
公用事业
健康检查+快速捕捉
./mjr doctor
./mjr doctor --quick
./mjr inbox "Idea: write about that meeting"模板
template/daily.md:工作日每日模板(用于创建新的每日文件)template/weekend.md:周末模板(在周六/周日创建新的每日文件时使用)template/daily_summary.md:每日摘要的滚动每周缓存格式template/person.md:“人物笔记”的起点
YouTube文字记录->文本
./bin/yt-transcript "https://www.youtube.com/watch?v=..." > transcript.txt正面图生成器
从任何数字frontmatter字段生成进度图。船与a weight_kg 例如,根据情绪、睡眠、焦虑或其他任何你追踪的内容改编剧本。
# Generate weight graph (writes weight_progress.png at repo root)
./generate-weekly-weight-graph.sh
# Or run the Python script directly for customization:
cd .tech/code/scripts/weight-analysis
./setup_venv.sh
source .venv/bin/activate
python weight_analysis.py --output ../../../../weight_progress.png
deactivate手动设置
防锈工具
# Uses a cross-platform helper. On macOS, this also applies SDK-backed libc++ includes.
source bin/rust_build_helpers.sh
cargo_build_release .tech/code/rust_scripts/rag_search
cargo_build_release .tech/code/rust_scripts/frontmatter_query嵌入服务
cd embedding_service
python3 -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -r requirements.txt从repo根目录运行它:
./start-server.sh配置
嵌入服务
EMBEDDING_SERVICE_URL:Rust工具在此处连接(默认值:http://127.0.0.1:8000)EMBEDDING_SERVICE_HOST:嵌入服务绑定主机start-server.sh(默认值:127.0.0.1)EMBEDDING_SERVICE_PORT:为嵌入服务绑定端口start-server.sh(默认值:8000)EMBEDDING_MODEL:句子变换器型号名称(默认值:BAAI/bge-large-en-v1.5)EMBEDDING_DEVICE:cuda,mps,或cpu(默认:自动检测)
CUDA注意事项
默认情况下,安装脚本会安装一个CPU PyTorch轮。对于CUDA加速,请安装一个支持CUDA的PyTorch控制盘(请参阅PyTorch安装文档),然后使用以下命令运行该服务 EMBEDDING_DEVICE=cuda.
目录结构
markdown-journal-rust/
├── README.md
├── CLAUDE.md
├── mjr
├── bin/
│ ├── rust_build_helpers.sh
│ └── yt-transcript
├── setup_mac_environment.sh
├── setup_ubuntu_environment.sh
├── setup_arch_environment.sh
├── start-server.sh
├── stop-server.sh
├── index-journal.sh
├── reindex-rag.sh
├── search-rag.sh
├── query-frontmatter.sh
├── generate-weekly-weight-graph.sh
├── embedding_service/ # HTTP embedding server (FastAPI)
├── template/ # Journal templates
├── journal/ # Sample journal entries (safe to replace with your own)
└── .tech/
├── code/
│ ├── scripts/
│ │ └── weight-analysis/ # Weight progress graph tooling (Python)
│ └── rust_scripts/
│ ├── rag_search/ # rag-index + rag-search
│ └── frontmatter_query/ # frontmatter-query
└── data/
└── usearch/ # Generated index + metadata (not committed)隐私
- 日志文件和索引存储在本地。
- 默认情况下,不会向第三方API发送任何内容。
- 嵌入服务在本地运行
127.0.0.1除非你改变它。
Claude代码集成
此回购包括可选 克劳德代码 集成于 .claude/:
- Slash命令:
/start(上午工作流程),/commit(日终完成+推送),/complete_previous_day(弥补错过的一天) - 代理人: 每日摘要、字段填写器、RAG搜索、每周回溯分析器
这些是可选的——搜索工具、索引器和脚本可以在没有Claude Code的情况下工作。看 CLAUDE.md 了解详情。
