文件智能
wescraft 的文件智能引擎(FileIntelligence)在不移动本地文件的前提下,对文件建立索引和语义理解。
核心原则
文件原地不动(FI-1)
wescraft 不会复制或搬移你的文件:
| 做什么 | 不做什么 |
|---|---|
| 在原地建立索引 | 不复制文件 |
| 建立语义理解 | 不移动文件 |
| 提供检索能力 | 不修改文件 |
永远只读(FI-5)
wescraft 永远不会修改用户的本地文件。
关注目录
添加关注目录
将本地目录加入关注列表,wescraft 会自动索引其中的文件:
| 操作 | 说明 |
|---|---|
| 添加目录 | 选择需要索引的文件夹 |
| 移除目录 | 取消关注某个文件夹 |
| 查看列表 | 查看当前关注的目录 |
索引方式
关注目录的文件会进入渐进式索引管线:
| 阶段 | 内容 |
|---|---|
| 元数据 | 文件名、大小、修改时间 |
| 全文索引 | FTS5 全文检索 |
| 向量索引 | 语义向量(规划中) |
| 理解 | AI 分析文件内容 |
检索能力
AI 工具
| 工具 | 功能 |
|---|---|
search_files | 搜索文件 |
read_local_file | 读取文件内容 |
find_related_files | 查找相关文件 |
file_overview | 文件概览 |
assemble_from_files | 从文件组装内容 |
使用示例
"在我的文件中搜索关于预算的内容"
"找到上周修改的 Excel 文件"
"读取那份项目报告"
"把相关文件的内容整理成一页"
AgenticRAG(FI-AP-09)
主动检索
wescraft 使用 AgenticRAG 模式,AI 主动调用工具检索文件:
用户提问 → AI 判断需要查什么 → 调用 search_files → 获取结果 → 回答
而不是预先把所有文件内容塞进上下文。
优势
| 特性 | 说明 |
|---|---|
| 精准 | 只检索相关内容 |
| 高效 | 不浪费 token |
| 灵活 | AI 可以多次检索 |
后台索引(FI-AP-08)
自动更新
文件变更会自动触发重新索引:
- fsnotify:实时监听文件变更
- 定期扫描:补充检查未捕获的变更
- 渐进触发:变更只更新受影响的索引
性能
| 指标 | 说明 |
|---|---|
| 初次索引 | 取决于文件数量 |
| 增量更新 | 毫秒级 |
| 大文件 | 分块处理 |
安全
路径校验(FI-AP-07)
| 防护 | 说明 |
|---|---|
| 前缀校验 | 确保在关注目录内 |
| 符号链接检测 | 防止路径逃逸 |
| 权限检查 | 尊重操作系统权限 |
per-Cell 隔离
个人版
索引数据存储在个人 Cell 目录下:
$DATA_DIR/cells/personal/fileintel/
团队版
索引数据存储在团队 Cell 目录下:
{shared-storage}/wescraft/cells/team-{id}/fileintel/
团队 Cell 不会索引个人的私有文件。
注意事项
- 只读:永不修改本地文件
- 原地索引:不复制文件
- per-Cell 隔离:不同 Cell 索引独立
- 后台自动索引:无需手动触发
- 大文件(>1MB)分块处理
- 关注目录列表归当前 Cell 所有