Update nexus: fix conflicts and sync local changes
This commit is contained in:
@@ -1,55 +1,55 @@
|
||||
---
|
||||
title: "File Watcher (Auto-Reindex)"
|
||||
type: concept
|
||||
tags: [automation, file-system, indexing, realtime]
|
||||
sources: [semantic-memory-search]
|
||||
last_updated: 2026-04-22
|
||||
---
|
||||
|
||||
## Aliases
|
||||
- File Watcher
|
||||
- 文件监视器
|
||||
- 文件监听
|
||||
- Auto-Reindex
|
||||
- 自动重建索引
|
||||
|
||||
## Definition
|
||||
|
||||
文件监视器是一种实时监控指定目录文件变化的机制,当文件被创建、修改或删除时,自动触发相应的索引更新操作。在语义搜索场景中,这意味着记忆文件的变更会即时反映到向量索引中,保持索引与源文档的同步,无需手动重新运行索引命令。
|
||||
|
||||
## How It Works
|
||||
|
||||
```
|
||||
文件系统事件 → 检测到变更 → 触发回调:
|
||||
- 文件创建 → 计算哈希,Embedding,存入向量数据库
|
||||
- 文件修改 → 重新计算哈希,更新向量数据库记录
|
||||
- 文件删除 → 从向量数据库移除对应记录
|
||||
```
|
||||
|
||||
## Implementation Patterns
|
||||
|
||||
| 方式 | 工具 | 说明 |
|
||||
|------|------|------|
|
||||
| 轮询 | `watchdog` (Python) | 跨平台,跨语言,通用 |
|
||||
| 系统事件 | inotify (Linux) / FSEvents (macOS) / ReadDirectoryChangesW (Windows) | 高效,仅 Linux/macOS/Windows 原生 |
|
||||
| cron 批处理 | `*/5 * * * *` | 简单,不实时,适合低频场景 |
|
||||
| Webhook | Git post-commit hook | 适合 Git 管理的文档 |
|
||||
|
||||
## Use Case in memsearch
|
||||
|
||||
memsearch 的 `memsearch watch` 命令使用文件监视器自动追踪记忆目录变化:
|
||||
```bash
|
||||
memsearch watch ~/path/to/your/memory/
|
||||
# 持续监控,新增/修改文件自动触发增量索引
|
||||
```
|
||||
|
||||
## Benefits
|
||||
|
||||
- **实时同步**:索引始终反映最新文档状态
|
||||
- **零手动操作**:无需人工干预,忘记索引更新也不怕
|
||||
- **节省成本**:基于 [[Content Hashing]] 的增量机制,仅处理实际变化部分
|
||||
|
||||
## Connections
|
||||
- [[semantic-memory-search]] — 文件监视器是 memsearch 保持索引实时的核心功能
|
||||
- [[memsearch]] — memsearch 内置文件监视器实现
|
||||
- [[Content Hashing]] — 文件监视器的增量触发依赖内容哈希比对
|
||||
---
|
||||
title: "File Watcher (Auto-Reindex)"
|
||||
type: concept
|
||||
tags: [automation, file-system, indexing, realtime]
|
||||
sources: [semantic-memory-search]
|
||||
last_updated: 2026-04-22
|
||||
---
|
||||
|
||||
## Aliases
|
||||
- File Watcher
|
||||
- 文件监视器
|
||||
- 文件监听
|
||||
- Auto-Reindex
|
||||
- 自动重建索引
|
||||
|
||||
## Definition
|
||||
|
||||
文件监视器是一种实时监控指定目录文件变化的机制,当文件被创建、修改或删除时,自动触发相应的索引更新操作。在语义搜索场景中,这意味着记忆文件的变更会即时反映到向量索引中,保持索引与源文档的同步,无需手动重新运行索引命令。
|
||||
|
||||
## How It Works
|
||||
|
||||
```
|
||||
文件系统事件 → 检测到变更 → 触发回调:
|
||||
- 文件创建 → 计算哈希,Embedding,存入向量数据库
|
||||
- 文件修改 → 重新计算哈希,更新向量数据库记录
|
||||
- 文件删除 → 从向量数据库移除对应记录
|
||||
```
|
||||
|
||||
## Implementation Patterns
|
||||
|
||||
| 方式 | 工具 | 说明 |
|
||||
|------|------|------|
|
||||
| 轮询 | `watchdog` (Python) | 跨平台,跨语言,通用 |
|
||||
| 系统事件 | inotify (Linux) / FSEvents (macOS) / ReadDirectoryChangesW (Windows) | 高效,仅 Linux/macOS/Windows 原生 |
|
||||
| cron 批处理 | `*/5 * * * *` | 简单,不实时,适合低频场景 |
|
||||
| Webhook | Git post-commit hook | 适合 Git 管理的文档 |
|
||||
|
||||
## Use Case in memsearch
|
||||
|
||||
memsearch 的 `memsearch watch` 命令使用文件监视器自动追踪记忆目录变化:
|
||||
```bash
|
||||
memsearch watch ~/path/to/your/memory/
|
||||
# 持续监控,新增/修改文件自动触发增量索引
|
||||
```
|
||||
|
||||
## Benefits
|
||||
|
||||
- **实时同步**:索引始终反映最新文档状态
|
||||
- **零手动操作**:无需人工干预,忘记索引更新也不怕
|
||||
- **节省成本**:基于 [[Content Hashing]] 的增量机制,仅处理实际变化部分
|
||||
|
||||
## Connections
|
||||
- [[semantic-memory-search]] — 文件监视器是 memsearch 保持索引实时的核心功能
|
||||
- [[memsearch]] — memsearch 内置文件监视器实现
|
||||
- [[Content Hashing]] — 文件监视器的增量触发依赖内容哈希比对
|
||||
|
||||
Reference in New Issue
Block a user