FilePulse 一款高效搜索工具。支持中文搜索,拼音搜索,拼音首字母搜索。文件夹的大小将自动实时计算,支持 HTTP2/HTTP3。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
hkhk366
V2EX    分享创造

FilePulse 一款高效搜索工具。支持中文搜索,拼音搜索,拼音首字母搜索。文件夹的大小将自动实时计算,支持 HTTP2/HTTP3。

  •  
  •   hkhk366 250 天前 2629 次点击
    这是一个创建于 250 天前的主题,其中的信息可能已经有所发展或是发生改变。

    FilePulse 简介

    FilePulse 是一款高效的对象信息搜索工具,对象包括 文件名文件夹,支持 中文搜索拼音搜索拼音首字母搜索
    文件夹大小将 实时计算,文件修改也会 自动同步 到本系统。
    系统支持 HTTP2/HTTP3 协议。

    7900x + DDR5 (未超频)Windows 11 系统下,FilePulse 可以实现:

    • 2.8 秒 全硬盘扫描 220 万个对象
    • 单次查询 性能 25 毫秒

    未来计划增加 毫秒级文件内信息搜索 功能。

    本软件的初衷在于主在研究高效的搜索算法,现在是一个 DEMO 版本,功能还有一些 BUG ,前端也很丑,后续会慢慢完善。

    下载地址

    打赏,有你的支持是我前进的动力

    wechat

    启动说明

    1. 修改 hosts 文件,添加:127.0.0.1 test.com
    2. **编辑 config.json**,在 drive_list 中添加要搜索的盘符。
    3. **以管理员权限运行 FilePulse.exe**。
    4. 打开浏览器,输入https://test.com然后输入默认用户名和密码都是root即可进入搜索页面

    使用说明

    搜索参数

    参数 说明
    Search Content (搜索内容) 关键字,每个条目以 \| 分割
    Mode (搜索模式) 正则通配符
    Search By (搜索项目) name(对象名)或 full path(完整路径)
    Case Sensitive (大小写敏感) 是/否
    Sort By (排序方式) name / full path / size / modified
    Sort Ascending (排序顺序) Ascending(升序) / Descending(降序)
    Content Plugin (内容插件) pinyin(拼音搜索) / pinyin_first_letter(拼音首字母搜索)
    Modified From (修改时间左边界) 为空表示所有过去的修改时间
    Modified To (修改时间右边界) 为空表示所有到现在的修改时间
    Size From (对象大小左边界) 单位 MB,可为空
    Size To (对象大小右边界) 单位 MB,可为空

    搜索结果

    在搜索结果条目上 右键 可进行:

    • 复制对象名
    • 复制对象路径
    • 在系统管理器中定位文件
    • 远程下载文件

    界面信息:

    • 左下角:显示当前搜索匹配的总条目数
    • 右下角:分页数量与当前页号

    快捷键

    快捷键 说明
    Alt + 1 / Alt + 2 / Alt + 3 切换 Content Plugin
    Alt + Page Up / Alt + Page Down 切换分页

    高级使用

    信任证书

    可手动将自带的 开发证书 添加为 受信任证书

    更换证书

    自带证书为 开发证书,如需更换真实证书:

    1. 替换 certs 目录下的文件。
    2. 修改 static 目录下的前端 test.com 为你的域名。

    开启 HTTP3

    默认同时开启 HTTP2 / HTTP3,但由于开发证书问题,可能会自动降级为 HTTP2
    更换为 真实证书 后,即可正常使用 HTTP3


    相对于其他同类产品的优势

    1. 核心算法自主可控,未套壳任何搜索系统。
    2. 支持 高性能拼音搜索拼音首字母搜索中文搜索
    3. 支持 HTTP2 / HTTP3 协议,可 远程操作远程复杂查询,未来将支持 远程播放
    4. 文件夹大小实时计算,所有数据 实时同步
    5. 内存动态增减,当大量文件删除时,内存会 自动回收
    6. 支持暗色模式

    未来计划

    • 毫秒级文件内信息搜索 功能。
    • 优化启动时瞬时内存占用(涉及架构重构)。
    • 进一步优化启动时间和搜索时间
    • 支持远程文件播放、远程编辑、远程差异同步

    动画教程

    录像会消耗性能,所以录像中显示的性能会略低于实际性能。

    how_to_use.gif

    界面截图

    screenshot2.png screenshot3.png screenshot1.png

    26 条回复    2025-02-13 11:39:20 +08:00
    moioooo
        1
    moioooo  
       250 天前
    看起来很牛啊!
    misaka19000
        2
    misaka19000  
       250 天前   2
    闭源的
    busuzhike
        3
    busuzhike  
       250 天前   5
    比 everything 有什么优点?
    Tink
        4
    Tink  
    PRO
       250 天前
    有点厉害啊
    moioooo
        5
    moioooo  
       250 天前
    只有文件名么,可以实现 anytxt 那种文本内容检索?
    cat9life
        6
    cat9life  
       250 天前
    如果可以提供和竞品的对比就好了
    hkhk366
        7
    hkhk366  
    OP
       250 天前
    @cat9life 早就有详细对比在 github ,主要优势未来计划都在里面,v2ex 没法写这么全,内容越长 V2EX 扣费越多

    https://github.com/FilePulseSoft/FilePulse
    hkhk366
        8
    hkhk366  
    OP
       250 天前
    @moioooo https://github.com/FilePulseSoft/FilePulse 在未来计划有提到,这个是第一步,未来会支持毫秒级文件内容搜索,将会成为一个既可以搜索文件名又可以搜索内容的实时搜索系统。
    moioooo
        9
    moioooo  
       250 天前
    @hkhk366 是我没仔细看。目前使用上麻烦,不好推荐给朋友。而且开了 clash 会导致登录不了,估计是 hosts 的原因。
    速度和准确度看着挺好。
    hkhk366
        10
    hkhk366  
    OP
       250 天前
    @moioooo 没关系,目前是 demo 版本主要研究的是搜索核心算法的性能。其他这些问题我会后续解决。因为只有先解决了文件名搜索下一步才能解决文件内容搜索。

    顺便说一句,如果不想用 hosts ,也可以采用 https://github.com/FilePulseSoft/FilePulse 里面提到的“方案一:极简启动”,如果只希望在本地运行的话,可以直接输入 https://127.0.0.1 ,这样就不需要改 hosts 了。

    我做这个工具的初衷是由于我需要远程对机器上的文件进行搜索,下载等操作,所以我才选用的 http2/http3 ,而 everything 的 http 服务是 http1.0 ,这个实在太老了,无法支持未来我的远程办公,远程协作,远程差异化存储等操作。所以我才下定决心做一个自己的。
    dranfree
        11
    dranfree  
       250 天前 via Android
    没开源啊
    llsquaer
        12
    llsquaer  
       250 天前
    管得以后用不用,先 star 一个
    wheat0r
        13
    wheat0r  
       250 天前
    适合卖给做 nas 和云存储的品牌
    NoOneNoBody
        14
    NoOneNoBody  
       250 天前
    @hkhk366 #10
    everything 有 sdk ,可以写入自己的 web 或其他项目代码,不一定用它的 http
    hkhk366
        15
    hkhk366  
    OP
       250 天前
    @NoOneNoBody 你说的这些问题我当然都研究过,他自己的 SDK 功能很不全,和他自己的搜索差很多。而且只有自己写出来核心算法才能真的学到东西,成天调 SDK 就只能永远只做个一个调包侠。
    NoOneNoBody
        16
    NoOneNoBody  
       250 天前
    @hkhk366 #15
    立场不同
    对于不打算深入研究的人,用 sdk 二次开发做个“调包侠”很正常,又不是打算自己重写一个(而你的立场就是自己写一个)
    而一般用户甚至听到 sdk 就懒得继续听下去

    我自己弄了个媒体管理,但网上一大堆成品或半成品,就是满足不了我的需求才去研究的,这种情况我也是不想做调包侠;但其中简易搜索部分就用了 everything sdk
    但对其他人来说,根本就没那么大的动力去研究核心算法,快捷、方便,能用就行,有现成的为何自己写?

    推广不要只站在自己立场,对一般用户的推广,重点应是实用 featured ,技术优势最好通过可视化数据体现


    我说一下 everything sdk 几个满足不了我的需求,需要我二次开发的,你这项目里我也没见到,不妨参考一下:
    0. 自然排序、拼音排序,这个是强需求
    1. 对于 symblink(软链、硬链、junction)的一个 folder ,无法统计总字节数
    2. 按媒体 meta 搜索
    3. hash 比较,扩展为重复文件搜索,例如提供一个文件路径,在指定范围搜索重复文件(当然实现这个就复杂了,且缓存 hash 索引也很耗资源)
    4. 搜索空目录或 0 字节文件
    5. 搜索自定义类别 tag ,如没什么实际作用的缓存文件,thumbs.db, xxx.url 这些
    6. 乱码问题(涉及中日韩非 unicode 编码)
    7. 短路径 8.3 格式
    8. 结果导出

    你这个还有一些最基本的功能缺失:
    1. 搜索过滤:基于文件类型,还有类型排序,例如搜“庆余年”,用户需求不是搜文件,而是目录名
    PS: 我过亿图片,搜目录远比搜文件频繁
    2. 对 symblink 显示源路径,最好还能复制源路径,everything GUI 能显示,右键可复制

    暂时想到这些
    hkhk366
        17
    hkhk366  
    OP
       250 天前
    @NoOneNoBody everything 开放的 sdk 功能很有限,这是理所当然,如果开放的功能超过其本身就会功高盖主。对于那些只需要短暂用一下的项目,sdk 是可行的,因为这种项目出发点就仅仅是能用而已。但是我的出发点是做一个大系统,我认为为了支持更多的功能,自研算法是唯一出路。我喜欢研究底层原理,不管做什么,我喜欢了解底层原理。在研制核心搜索算法的过程中我也提高了很多,这些技术积累将用于我其他的工作上,我认为非常有益。

    至于你说的这些 everything sdk 无法满足的这些,因为我算法是自研的,我全都可以做到,无非是花时间的问题了,如果一开始用了受限的 sdk 再去想加一些功能甚至比自研还要麻烦。
    humbass
        18
    humbass  
       250 天前   3
    最烦这种闭源的还放 github 的,直接建一个网站卖授权不就行了。
    NoOneNoBody
        19
    NoOneNoBody  
       250 天前
    @hkhk366 #17
    你没有理解我说什么

    我不是否定你对这个项目以及开发过程的热爱

    就这样说吧,我要搜“庆余年”的目录,你这项目能把目录结果排在第一么?
    我这用 everything 搜这个有上千条结果,一堆图片和两季几个版本的视频,但目录只有不到 10 个,我用 filter:folder 搜就这几条,快速达到目的;贵项目没见到这方面说明

    如果你这项目做不到,everything 能做到,你觉得我会为了快一秒选贵项目么?
    你跟用户说,“装了吧,等我研究以后就有了”?
    那我现在是不是应该放弃 everything sdk ,停工,然后耐心等你完成这些功能后,我的代码才继续写呢?

    在市场,用户不在乎你有多快,只要在可接受范围内,不慢就行,“能”比“快”更重要
    如果你觉得算法更重要,那应该到技术杂志发算法论文更合适
    hkhk366
        20
    hkhk366  
    OP
       249 天前
    @NoOneNoBody 我也没逼着你用啊,你说的一切无非是加个功能而已,everything 做了 20 年,都没满足你的全部需求,让我上来满足一切?
    CouleurVVEX
        21
    CouleurVVEX  
       249 天前
    @humbass 就是就是
    hkhk366
        22
    hkhk366  
    OP
       249 天前
    @humbass 上来动不动就最烦,我可以翻过来说,我最烦你这种不认真审题的,我哪里写我必须开源的,github 使用条例哪一条说必须完全开源才能创建 repo ,没人逼你用,你既不是投资人也不是赞助者,你的意见压根不重要,不要像个领导一样发号施令。
    dianso
        23
    dianso  
       248 天前
    难道支持非 NTFS ?
    肯定是 ONLY NTFS
    bronyakaka
        24
    bronyakaka  
       248 天前
    闭源的,然后打开压缩包还提示木马,难绷
    hkhk366
        25
    hkhk366  
    OP
       247 天前
    @bronyakaka 禁止造谣,闭源怎么了,其他类似能达到这个效率的软件哪个不闭源,想白嫖别人核心算法?还木马,笑话,看看 https://habo.qq.com/file/showdetail?pk=ADEGZF1lB2UIMVs6U2oHYA%3D%3D
    jejwe
        26
    jejwe  
       247 天前
    记得 13 年还是什么时候,有一个产品就是能索引本机所有内容。包括各种文件、网站浏览记录及浏览的内容等等。起了一个本地的 web 服务,然后浏览器中访问是一个类似 google 本地搜索的搜索引擎界面。觉得很好用。这个团队还拿到融资了。结果 BETA 版发布后,后来就没下文了。现在想想如果结合 AI ,就更有用了。这个可以商业化推往企业内部使用。个人用也方便,经常搜索本地文件内容找不到
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2857 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 08:29 PVG 16:29 LAX 01:29 JFK 04:29
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86