一个强大的、注重隐私的日记系统,具有AI驱动的语义搜索和元数据分析功能。该系统允许您使用自然语言查询个人日记条目,并随着时间推移分析情绪、习惯和思想模式。
选择您的平台并运行设置脚本:
macOS:
./setup_mac_environment.sh
Ubuntu/Debian(包括WSL):
./setup_ubuntu_environment.sh
Arch Linux:
./setup_arch_environment.sh
这些脚本会:
如果您偏好手动设置:
安装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
在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脚本:
# 重新索引日记条目(在添加新条目后运行)
./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已弃用)
在您的日记条目中跟踪各种指标:
---
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/agents/):
journal-rag-search:当需要上下文时自动搜索您的日记journal-field-completer:帮助完成日记前置元数据字段weekly-retro-analyzer:分析每周回顾斜杠命令(.claude/commands/):
/start:初始化您的日记会话/commit:智能git提交带上下文状态行:实时令牌使用跟踪(需安装bunx ccusage)
自动时间戳:每个提示都包含当前时间戳以供上下文
.claude目录npm install -g ccusage与Claude Code一起使用:
/start开始新的会话并带有上下文/commit进行智能提交消息这些集成是可选的,但推荐以获得最佳体验。
您的日记只是markdown文件 - 可以与任何服务同步:
LanceDB索引(.tech/data/lancedb/)可以从您的日记文件随时重建。
setup_mac_environment.sh,setup_ubuntu_environment.sh,setup_arch_environment.shCLAUDE.md“命令未找到”错误:
rustc --versionls .tech/code/rust_scripts/*/target/release/索引问题:
--rebuild标志重建性能问题:
--num-results--help输出什么保持私密(始终本地):
性能提示:此Rust实现提供了比Python版本更高的搜索质量和极快的搜索速度(<20毫秒)。虽然索引速度比GPU加速的Python版本慢,但搜索结果更准确且检索几乎是即时的。
在.tech/code/python_legacy/中提供了一个Python实现,用于兼容性和教育目的。这包括:
注意:Python实现已弃用且不再积极维护。它提供给:
对于设置说明,请参阅.tech/code/python_legacy/LEGACY_README.md。
我们强烈建议所有新项目使用Rust实现。