Obsidian索引服务可监控Obsidian保险库目录,将Markdown文件的元数据和全文内容索引至SQLite数据库。此服务最初为mcp-server项目构建,之后虽转向使用Obsidian插件API实现,但作为通用的无主见索引工具或同步工具仍颇具价值,故在此发布。
该服务能够跟踪Obsidian保险库中的文件更改(创建、修改、删除),并将所有内容存储在SQLite中,可通过Docker卷进行访问。
uv和python两种方式创建虚拟环境,以及使用uv和pip两种方式安装依赖项。uv(可选,但推荐)克隆仓库:
git clone https://github.com/pmmvr/obsidian-index-service.git
cd obsidian-index-service
设置虚拟环境:
使用uv(推荐):
uv venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows
使用python(标准方法):
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows
安装依赖项:
uv(推荐):uv sync # 从uv.lock安装
uv pip install pytest pytest-bdd pytest-mock # 用于测试
pip:pip install -e .
pip install pytest pytest-bdd pytest-mock # 用于测试
pytest
通过一些重构,可将其视为一个同步工具:
sync_status和remote_id列。--sync以手动触发或持续运行。