josiah-nelson/eidos · 上手攻略

  • 仓库:josiah-nelson/eidos
  • 链接:https://github.com/josiah-nelson/eidos
  • 分类:developer-tools · search · windows
  • 作者:Jay
  • 更新:2026-08-25

这是什么

Eidos 是一个私有的、自托管的跨机器文件搜索系统,让你用"记忆"而非"路径"来搜索文件。它能同时索引工作站、笔记本、服务器、虚拟机(VM)、网络存储和压缩档案,从一个统一入口返回跨所有设备的搜索结果——无需记住"文件在哪台机器上"。

与普通桌面搜索(只能搜本机)、云盘搜索(只能搜云端内容)、向量搜索(丢失文件身份与位置)不同,Eidos 的核心思路是:先问你想找什么,而不是先问东西存在哪

⚠️ 重要说明:当前版本为 v0.5(Windows 优先),README 明确标注"部分功能仍在规划中",尚无打包发布版,API 和查询语法可能变更。建议关注 roadmap 了解当前进度。

解决什么问题

常见搜索工具都要求你先回答"在哪"的问题:哪台机器?在线吗?在宿主机还是 VM 里?Eidos 把这个问题推迟到搜索之后——你只需描述"我记得有个关于 X 的文件",Eidos 帮你从所有设备上找出它。

典型场景:

  • 找去年冬天改过的项目笔记,不记得文件名和机器名
  • 定位某个提到媒体服务器的配置文件(不管它在哪台机器)
  • 在压缩包里直接搜索内容,无需解压
  • 搜索已关机的虚拟机文件系统(无需启动 VM)
  • 确认重要文件是否在多台物理机上都有副本

快速安装

⚠️ 当前无打包发布,直接从源码构建:

# 克隆仓库
git clone https://github.com/josiah-nelson/eidos.git
cd eidos

# 查看 roadmap 了解当前支持情况
cat docs/roadmap.md

# 查看构建说明(README 未给出标准安装命令,以下为典型 Rust 项目流程)
cargo build --release

# 运行(具体命令请参考项目文档)
./target/release/eidos

系统要求:Windows 10/11(x64),当前版本以 Windows 为首发平台。

核心用法

搜索命令

# 精确搜索文件名
eidos search "report.pdf"

# 全文内容搜索
eidos search --content "媒体服务器"

# 搜索特定文件类型
eidos search --type pdf --content "configuration"

# 按时间范围过滤
eidos search --after 2025-01-01 --before 2025-12-31 "project notes"

# 正则表达式搜索
eidos search --regex "doc[0-9]+\.txt"

# 布尔组合(内容+元数据)
eidos search --content "invoice" --size ">1MB"

# 查看目录树(子目录属性搜索)
eidos tree --max-depth 3 "/path/to/root"

# 查看扫描状态和来源覆盖情况
eidos status

架构说明(三层)

L1 Rust 壳(主进程管理)
    ↓ 暂不支持
L2 规划中:跨设备协调层
    ↓ 暂不支持
L3 现有:本地 NTFS 扫描 + SMB 网络存储枚举

当前 v0.5 仅实现了 L1(本地 NTFS + SMB),真正的多设备联邦搜索在 roadmap 中。

索引管理

# 触发全量扫描
eidos scan --source ntfs

# 增量更新(USN journal 监控)
eidos scan --incremental

# 查看索引状态
eidos index --stats

# 查看哪些源处于离线/待扫描状态
eidos status

当前实现情况(v0.5)

功能 状态
NTFS 本地枚举 ✅ 可用
USN journal 增量更新 ✅ 可用
SMB 网络存储(只读) ✅ 可用
搜索(名称/路径/元数据/全文/regex/布尔) ✅ 可用
目录作为一等公民(子目录谓词搜索) ✅ 可用
压缩档案内搜索(无需解压) ⚠️ 规划中
VHDX 虚拟机磁盘内搜索 ⚠️ 规划中
多设备联邦搜索 ⚠️ 规划中
打包发布(exe/msi) ❌ 暂无
语义检索(Embedding) ⚠️ 可选信号,规划中

典型适用场景

  1. 多机器开发者/研究者:代码、笔记、数据分散在多台工作站+NAS+VM,Eidos 帮你跨所有设备搜。
  2. 归档爱好者:大量压缩档案(zip/tar/7z),需要在不解压的情况下直接搜内容。
  3. 运维/基础设施人员:配置文件散落在多台服务器,网络存储 SMB 枚举可以直接跑。
  4. 隐私敏感用户:所有数据留在自己基础设施,不需要上传到任何云端。

坑与注意

⚠️ 版本极早期:v0.5 意味着很多功能尚不可用,安装前务必读 roadmap

⚠️ Windows 优先:Linux/macOS 支持未提及,跨平台用户需要注意。

⚠️ 无打包发布:没有 pip installbrew install,需要从源码构建,有 Rust 工具链门槛。

⚠️ SMB 为只读:网络存储当前为只读枚举,不支持写入操作。

⚠️ 多设备尚未实现:README 强调的"跨所有机器搜索"是未来愿景,当前 v0.5 是单设备本地索引,roadmap 包含多设备联邦架构。

与同类对比

工具 跨设备 档案内搜索 VM 内搜索 自托管 状态
Eidos 规划中 规划中 规划中 v0.5
Everything(voidtools) ❌ 单机 成熟
DocFetcher ❌ 单机 维护
Recoll ✅(需配置) 成熟
doppler(Doppler 热词同名)
grep + ssh 无 UI

Eidos 的核心差异化在于:以"你记得什么"为起点,而非"文件在哪";且规划中将支持压缩档案和关机 VM 的原生搜索,这在此类工具中较为罕见。

一句话结论

Eidos 是一个雄心勃勃的私有跨设备文件搜索引擎,愿景清晰(用记忆而非路径搜索),但当前 v0.5 仅实现了本地 NTFS + SMB 索引,多设备、档案搜索、VM 内搜索等核心特性仍在 roadmap 中——适合有 Rust 背景、想跟进早期开发的技术用户,生产环境暂不推荐。