Integration
Obsidian Llm Bridge
TypeScript MCP plugin bridging Obsidian vault to OpenClaw / LLMs for bidirectional knowledge sync
Install
npm install -g
Configuration Example
{
"mcp": {
"servers": {
"obsidian-bridge": {
"command": "npx",
"args": ["obsidian-llm-bridge"],
"env": {
"OBSIDIAN_VAULT_PATH": "D:\\Users\\michael\\MyWiki",
"OBSIDIAN_DEFAULT_FOLDER": "concepts"
}
}
}
}
}
README
# 🔗 obsidian-llm-bridge
> TypeScript MCP 插件:在 Obsidian Vault 和 OpenClaw/LLM 之间建立双向知识同步通道。
> 自动提取笔记元数据、双向链接、标签,将笔记内容流式推送给 LLM,并在 LLM 回复后自动更新 Obsidian。
## 工作原理
```
Obsidian Vault
│
▼ 读取笔记
[[obsidian-llm-bridge]]
│ MCP stdio 协议
▼
OpenClaw Gateway
│
▼ LLM 推理
回复 / 更新建议
│
▼ 写入更新
Obsidian Vault
```
## 功能
- 📖 **读取笔记**:按目录、按标签、按双向链接关系读取笔记内容
- 🔍 **搜索**:全文搜索 + 标签搜索 + 链接关系搜索
- ✍️ **写入笔记**:自动将 LLM 总结写入对应笔记
- 🔄 **双向同步**:Obsidian → LLM → Obsidian 的增量更新循环
- 🏷️ **标签提取**:自动从笔记内容提取标签
- 📊 **元数据**:返回笔记的链接关系图、修改时间、字数统计
## 安装
```bash
npm install -g obsidian-llm-bridge
# 或
npx obsidian-llm-bridge
```
## MCP 配置
在 OpenClaw `openclaw.json` 中添加:
```json
{
"mcp": {
"servers": {
"obsidian-bridge": {
"command": "npx",
"args": ["obsidian-llm-bridge"],
"env": {
"OBSIDIAN_VAULT_PATH": "D:\\Users\\michael\\MyWiki",
"OBSIDIAN_DEFAULT_FOLDER": "concepts"
}
}
}
}
}
```
## 环境变量
| 变量 | 说明 | 默认值 |
|------|------|--------|
| `OBSIDIAN_VAULT_PATH` | Obsidian vault 根目录 | _(必填)_ |
| `OBSIDIAN_DEFAULT_FOLDER` | 新笔记默认目录 | `concepts` |
| `OBSIDIAN_NOTE_EXTENSION` | 笔记文件扩展名 | `.md` |
## MCP 工具
### `obsidian_read`
读取笔记内容
```typescript
{
name: "obsidian_read",
arguments: {
path: string, // 相对于 vault 的路径,如 "daily/2026-05-27"
max_length?: number, // 最大字符数,默认 4000
}
}
```
### `obsidian_search`
全文搜索
```typescript
{
name: "obsidian_search",
arguments: {
query: string, // 搜索关键词
folder?: string, // 限制目录
limit?: number, // 返回数量,默认 10
}
}
```
### `obsidian_write`
写入或追加笔记
```typescript
{
name: "obsidian_write",
arguments: {
path: string, // 相对于 vault 的路径
content: string, // 写入内容(会覆盖或追加)
mode: "overwrite" | "append", // 写入模式
}
}
```
### `obsidian_create_note`
创建新笔记(带模板)
```typescript
{
name: "obsidian_create_note",
arguments: {
title: string,
folder?: string,
template?: string, // 自定义模板
tags?: string[], // 自动添加标签
}
}
```
### `obsidian_get_graph`
获取双向链接关系图
```typescript
{
name: "obsidian_get_graph",
arguments: {
folder?: string, // 限制目录
depth?: number, // 递归深度,默认 2
}
}
// 返回 { nodes: [], links: [] } 格式
```
### `obsidian_list_recent`
列出最近修改的笔记
```typescript
{
name: "obsidian_list_recent",
arguments: {
days?: number, // 最近几天,默认 7
limit?: number, // 最大数量,默认 20
}
}
```
## 使用示例
### OpenClaw 对话中
```
用户:总结一下我的项目笔记
→ obsidian_search("project")
→ obsidian_read("projects/psvr2-panel.md")
→ LLM 总结
→ obsidian_write("projects/psvr2-panel-summary.md", summary_content)
```
### 命令行
```bash
# 搜索
npx obsidian-llm-bridge search "PSVR2"
# 读取
npx obsidian-llm-bridge read daily/2026-05-27
# 创建笔记
npx obsidian-llm-bridge create "新项目想法" --folder projects --tags "idea,todo"
# 获取图谱
npx obsidian-llm-bridge graph
# 最近更新
npx obsidian-llm-bridge recent --days 7
```
## 目录结构
```
obsidian-llm-bridge/
├── src/
│ ├── index.ts # MCP 入口 + stdio 协议
│ ├── obsidian.ts # Obsidian vault 读写核心
│ ├── linker.ts # 双向链接解析
│ └── formatter.ts # 内容格式化
├── .github/workflows/
├── tests/
├── package.json
└── README.md
```
## 开发
```bash
git clone https://github.com/cpufreestyle/obsidian-llm-bridge.git
cd obsidian-llm-bridge
npm install
npm run build # 编译 TypeScript
npm test # 运行测试
npm run link # 全局链接(本地开发)
```
## License
MIT
integration
Comments
Sign in to leave a comment