/api/ver探活并读取版本
返回 ver 和 plan。Online 版本还可能返回 uid 与 license_remaining_hours。这个接口不需要 token。
curl http://127.0.0.1:80/api/verFilePulse 本地 HTTP API
通过 FilePulse Web 界面正在使用的本地 HTTP API,让 AI、脚本、启动器和内部工具调用 FilePulse 的搜索与预览能力。
http://127.0.0.1:80示例使用 config_default.json 中的默认 HTTP 端口 80。实际部署时请以用户本机 config.json 中的端口为准。
从这里开始
先探活,再登录获取 token,之后把返回的 token 直接放到 Authorization header。不要添加 Bearer 前缀。
/api/ver返回 ver 和 plan。Online 版本还可能返回 uid 与 license_remaining_hours。这个接口不需要 token。
curl http://127.0.0.1:80/api/ver/api/login用 JSON 发送 username 和 password。响应里包含 server_name 与 access_token。
curl -X POST http://127.0.0.1:80/api/login \
-H "Content-Type: application/json" \
-d '{"username":"root","password":"root"}'Authorization: <access_token>后续请求直接把 token 放到 Authorization header,也可以放到 Authorization 查询参数。
curl http://127.0.0.1:80/api/search_scope_targets \
-H "Authorization: $FILEPULSE_TOKEN"核心接口
这些接口最适合 AI 辅助工作流:发现范围、搜索、预览、下载,并且只在用户确认后打开文件。
/api/search_scope_targets返回已经建立索引的搜索目标。需要限制搜索范围时,把返回的 drive index 放进 drive_scope。
curl http://127.0.0.1:80/api/search_scope_targets \
-H "Authorization: $FILEPULSE_TOKEN"/api/search按文件/文件夹元数据搜索,支持通配符或正则、过滤、排序和分页。
curl -X POST 'http://127.0.0.1:80/api/search' \
-H 'Content-Type: application/json' \
-H "Authorization: $FILEPULSE_TOKEN" \
--data-raw '{
"search_content": "a",
"mode": "wildcard",
"case_sensitive": false,
"search_by": "name",
"sort_by": "modified",
"sort_asc": false,
"content_plugin": [""],
"kind": 0,
"pin_priority": false,
"use_groups": false,
"start": 0,
"end": 13,
"inline_icon": {
"size": 32
}
}'/api/content_search搜索文档文本、OCR 文本和已配置内容处理器的索引内容。AI 需要命中上下文时建议开启 snippet。
curl -X POST 'http://127.0.0.1:80/api/content_search' \
-H 'Content-Type: application/json' \
-H "Authorization: $FILEPULSE_TOKEN" \
--data-raw '{
"linear": false,
"search_content": "a",
"mode": "regular",
"fuzzy_distance": 2,
"score_top_k": 100,
"sort_by": "score",
"sort_asc": false,
"snippet": false,
"snippet_radius": 100,
"pin_priority": false,
"use_groups": false,
"start": 0,
"end": 13,
"inline_icon": {
"size": 32
}
}'/api/visual_status返回视觉搜索是否启用、索引进度、可搜索文件数、向量行数和 ffmpeg 可用性。
curl http://127.0.0.1:80/api/visual_status \
-H "Authorization: $FILEPULSE_TOKEN"/api/visual_search用 multipart form data 提交图片、截图、视频,或 FilePulse 主机上的绝对 query_path。
curl -X POST 'http://127.0.0.1:80/api/visual_search' \
-H "Authorization: $FILEPULSE_TOKEN" \
-F 'file=@query.jpg' \
-F 'top_k=20' \
-F 'drive_indices=[0]' \
-F 'fast_mode=true'/api/download/{encodedPath}流式返回本机或代理文件路径。请把完整路径 URL encode 后放进路径,并携带 Authorization。底层文件服务支持 Range 请求。
curl 'http://127.0.0.1:80/api/download/D%3A%5Cdocs%5Creport.pdf' \
-H "Authorization: $FILEPULSE_TOKEN" \
--output report.pdf/api/folder_preview返回一个小型、排序后的文件夹列表,避免一次性拉取全部子项。
curl -X POST http://127.0.0.1:80/api/folder_preview \
-H "Content-Type: application/json" \
-H "Authorization: $FILEPULSE_TOKEN" \
-d '{"path":"D:\\docs","limit":50}'/api/content_match_preview为某条内容搜索结果获取 HTML/文本上下文,方便 AI 在要求打开文件前先检查命中位置。
curl -X POST http://127.0.0.1:80/api/content_match_preview \
-H "Content-Type: application/json" \
-H "Authorization: $FILEPULSE_TOKEN" \
-d '{
"path": "D:\\docs\\report.pdf",
"modified": 1717113600,
"search_content": "invoice",
"mode": "regular",
"linear": false,
"fuzzy_distance": 2
}'/api/openfile在 FilePulse 所在机器上启动文件或可执行程序。这个操作有副作用,AI 工具应该先让用户明确确认。
curl -X POST http://127.0.0.1:80/api/openfile \
-H "Content-Type: application/json" \
-H "Authorization: $FILEPULSE_TOKEN" \
-d '{"path":"D:\\docs\\report.pdf","work_folder":"","admin":false}'/api/quick_launcher搜索可启动应用、文件夹和快捷方式,请求体基本沿用 /api/search 的结构。
curl -X POST http://127.0.0.1:80/api/quick_launcher \
-H "Content-Type: application/json" \
-H "Authorization: $FILEPULSE_TOKEN" \
-d '{
"search_content": "chrome",
"mode": "wildcard",
"case_sensitive": false,
"search_by": "full_path",
"sort_by": "modified",
"sort_asc": false,
"content_plugin": [""],
"kind": 0,
"start": 0,
"end": 9
}'AI 调用建议
让模型保持在窄路径上:鉴权、搜索、检查,然后在打开或变更文件前请求用户确认。
建议由用户或宿主程序提供短会话 token。不要把密码保存到模型记忆、长日志或可复用提示词里。
打开文件可能启动程序或暴露本地数据。AI 应该展示准确路径,并等待用户批准。
建议先用 end 9 或 end 19,检查文件名和摘要,再按需请求更多结果。
本页不覆盖
下面这些接口有意不放进公开入门页,因为它们属于内部通信、破坏性操作、管理接口,或更适合单独写高级文档。