Skip to content

文件索引

Glean 通过扫描你授权的目录建立本地索引。所有数据存储在 SQLite。

工作流程

扫描目录 → 遍历文件 → 提取元数据 → 文本分块 → 嵌入向量(可选)

每个步骤都可暂停/恢复。

支持的文件类型

类型提取方式
文本(txt/md/json/csv 等)直接读取
代码(rs/ts/py/go 等)直接读取 + 语法识别
PDF文本层 + Vision OCR(扫描型 PDF)
图片(jpg/png/heic 等)EXIF + Vision(暂未启用内容识别)
Office(docx/xlsx/pptx)提取内嵌文本
HTML / XML提取文本

自动忽略

内置忽略规则(不可关闭):

.git/  node_modules/  .Trash/  .DS_Store
.npm/  .pnpm-store/  .cache/  target/  dist/  build/
.next/  .nuxt/  .svelte-kit/  .turbo/  .vercel/  .parcel-cache/
Coverage/  __pycache__/  .pytest_cache/  .mypy_cache/
.venv/  venv/  .idea/  .vscode/  .history/
Library/  .Trash-0/

文件大小上限 100MB

自定义忽略规则

设置 → 忽略规则,每行一个模式:

*.log
*.tmp
tmp/
*.cache
~/Projects/experimental/

支持 glob 通配符(* ?)。

文件监听

索引完成后,Glean 通过 notify(FSEvents)监听文件变化:

  • 新建文件 → 自动加入索引
  • 修改文件 → 重新提取内容
  • 删除文件 → 标记 deleted_at(不立即删除,便于撤销)

性能

指标数值
首次扫描速度约 5000 文件/分钟(SSD)
增量扫描仅扫描变化,秒级完成
内存占用< 200MB
索引大小约原文本大小的 1.5 倍

暂停/恢复

索引会消耗 CPU 和磁盘 IO。如需暂停:

设置 → 索引管理 → 暂停 或工具栏暂停按钮

也可在终端关闭后台 IO 限制:

bash
# 提升后台任务优先级(仅高级用户)
sudo taskpolicy -c utility

Released under the MIT License.