FilePulse Локально HTTP API

Разработчики API

Позволяет искусственному интеллекту, сценариям, средствам запуска и внутренним инструментам вызывать возможности поиска и предварительного просмотра FilePulse через локальный HTTP API, используемый веб-интерфейсом FilePulse.

Пример базового URLhttp://127.0.0.1:80

В примере используется порт 80 HTTP по умолчанию в config_default.json. Во время фактического развертывания обратитесь к порту в локальном файле config.json пользователя.

Начните здесь

Процесс аутентификации

Сначала изучите, затем войдите в систему, чтобы получить токен, а затем поместите возвращенный токен непосредственно в заголовок авторизации. Не добавляйте префикс Bearer.

01
GET/api/ver

Определить и прочитать версию

Вернуть версию и план. Онлайн-версии также могут возвращать uid и License_remaining_hours. Этот интерфейс не требует токена.

Пример запроса: /api/ver
curl http://127.0.0.1:80/api/ver
02
POST/api/login

Создайте токен доступа

Отправьте имя пользователя и пароль, используя JSON. Ответ содержит имя_сервера и токен_доступа.

Пример запроса: /api/login
curl -X POST http://127.0.0.1:80/api/login \
  -H "Content-Type: application/json" \
  -d '{"username":"root","password":"root"}'
03
HEADERAuthorization: <access_token>

Защищенный от вызова API

Последующие запросы напрямую помещают токен в заголовок авторизации или в параметр запроса авторизации.

Пример запроса: Authorization: <access_token>
curl http://127.0.0.1:80/api/search_scope_targets \
  -H "Authorization: $FILEPULSE_TOKEN"

Основные интерфейсы

Общие общедоступные конечные точки

Эти интерфейсы лучше всего подходят для рабочих процессов с использованием искусственного интеллекта: обнаружение областей, поиск, предварительный просмотр, загрузка и открытие файлов только после подтверждения пользователя.

GET/api/search_scope_targets
Token

Диски и диапазоны поиска

Возвращает индексированные цели поиска. Если вам нужно ограничить область поиска, поместите возвращаемый индекс диска в Drive_scope.

Ключевые поля

  • Возвращённый номер диска можно передать в Drive_scope.drive_indices.
  • Рабочий процесс AI Если вы хотите избежать целей удаленного монтирования, вы можете использовать Drive_scope.local_only.
Пример запроса: /api/search_scope_targets
curl http://127.0.0.1:80/api/search_scope_targets \
  -H "Authorization: $FILEPULSE_TOKEN"
POST/api/search
Token

Поиск по имени файла и пути

Поиск по метаданным файла/папки, поддержка подстановочных знаков или обычных шаблонов, фильтрация, сортировка и разбиение по страницам.

Ключевые поля

  • режим: регулярное выражение или подстановочный знак
  • search_by: имя или полный_путь
  • sort_by: имя, полный_путь, размер, изменение или расширение
  • вид: 0 означает файлы и папки, 1 означает папки, 2 означает файлы
  • pin_priority/use_groups управляет приоритетом выводов и поведением группировки.
  • Интерфейс запроса inline_icon.size возвращает встроенные данные значка.
  • start/end — нижний индекс результата, включая границу.
Пример поиска файлов
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
    }
  }'
POST/api/content_search
Token

Полнотекстовый поиск контента

Поиск по тексту документа, тексту OCR и индексированному содержимому настроенных обработчиков контента. Рекомендуется включать сниппет, когда ИИ нужно попасть в контекст.

Ключевые поля

  • Когда линейный имеет значение false, поддерживаются регулярные выражения, префиксы и нечеткие.
  • Когда линейный имеет значение true, поддерживаются режимы обхода с подстановочными знаками и регулярными выражениями.
  • sort_by: нет, файл или оценка
  • file_search_condition может повторно использовать условия фильтра /api/search
  • фрагмент контролирует, возвращается ли контекст попадания
  • pin_priority/use_groups управляет приоритетом выводов и поведением группировки.
  • Интерфейс запроса inline_icon.size возвращает встроенные данные значка.
Пример запроса: /api/content_search
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
    }
  }'
GET/api/visual_status
Token

Состояние визуального поиска

Возвращает, включен ли визуальный поиск, ход индексирования, количество доступных для поиска файлов, количество векторных строк и доступность ffmpeg.

Ключевые поля

  • Проверьте включенные и готовые_файлы перед отправкой запросов изображений или видео.
  • Вы можете использовать indexing/current_file_count/total_file_count, чтобы определить, нужно ли вам ждать завершения индексирования.
Пример запроса: /api/visual_status
curl http://127.0.0.1:80/api/visual_status \
  -H "Authorization: $FILEPULSE_TOKEN"
POST/api/visual_search
Token

Поиск похожих изображений и видео

Используйте данные из составных форм для отправки изображений, снимков экрана, видео или FilePulse абсолютного query_path на хосте.

Ключевые поля

  • Необходимо предоставить файл или путь_запроса.
  • drive_indices получает строку массива JSON.
  • top_k ограничивает количество возвратов.
  • fast_mode меняет точность на скорость.
  • search_detail и min_match_count Регулируемое сопоставление видео
Пример запроса: /api/visual_search
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'
GET/api/download/{encodedPath}
Token

Загрузка или просмотр файлов

Потоковая передача возвращает собственные пути к файлам или прокси-файлы. Пожалуйста, укажите полный путь после кодирования URL и выполните авторизацию. Базовая файловая служба поддерживает запросы диапазона.

Ключевые поля

  • x-proxy используется только с зарегистрированным именем удаленного сервера.
  • Принимаются только пути к файлам; папки вернут ошибку.
Пример запроса: /api/download/{encodedPath}
curl 'http://127.0.0.1:80/api/download/D%3A%5Cdocs%5Creport.pdf' \
  -H "Authorization: $FILEPULSE_TOKEN" \
  --output report.pdf
POST/api/folder_preview
Token

Просмотр дочерних папок

Возвращает небольшой отсортированный список папок, чтобы избежать одновременного извлечения всех дочерних папок.

Ключевые поля

  • требуется путь
  • ограничение по умолчанию 80, максимум 200
  • Ответ содержит total_children и усеченное значение
Пример запроса: /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}'
POST/api/content_match_preview
Token

Предварительный просмотр контекста попадания содержимого

Получить HTML/текстовый контекст для определенного результата поиска контента, чтобы ИИ мог проверить местоположение попадания, прежде чем просить открыть файл.

Ключевые поля

  • путь, измененный, search_content, требуется режим
  • linear и fuzzy_distance должны соответствовать исходному запросу поиска контента
Пример запроса: /api/content_match_preview
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
  }'
POST/api/openfile
Token

Откройте файл на хосте

Запустите файл или исполняемую программу на компьютере, где находится FilePulse. Эта операция имеет побочные эффекты, и инструменты искусственного интеллекта должны сначала попросить пользователей дать явное подтверждение.

Ключевые поля

  • требуется путь
  • work_folder можно оставить пустым, и родительский каталог будет автоматически определен.
  • admin означает попытку начать с правами администратора на поддерживаемых платформах.
Пример запроса: /api/openfile
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}'
POST/api/quick_launcher
Token

Быстрый поиск в панели запуска

Поиск запускаемых приложений, папок и ярлыков, а тело запроса в основном соответствует структуре /api/search.

Ключевые поля

  • Тело запроса следует за SearchReqJson.
  • Подходит для ИИ, чтобы сначала найти приложения или часто используемые каталоги, а затем попросить пользователя подтвердить, стоит ли запускать.
Пример запроса: /api/quick_launcher
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
  }'

Рекомендации по вызову ИИ

Рекомендуемый рабочий процесс ИИ

Держите модель на узком пути: аутентифицируйте, ищите, проверяйте, а затем запрашивайте подтверждение пользователя перед открытием или изменением файла.

ver
login
search / content_search / visual_search
preview / download
user-confirmed openfile

Не сообщайте модели пароль в течение длительного времени

Рекомендуется, чтобы пользователь или хост-программа предоставили короткий токен сеанса. Не сохраняйте пароли в памяти модели, в длинных журналах или в многоразовых словах-подсказках.

Сначала необходимо подтвердить открытие файла.

Открытие файла может запустить программу или открыть локальные данные. ИИ должен показать точный путь и дождаться одобрения пользователя.

Сначала запросите небольшое разбиение на страницы

Рекомендуется сначала использовать конец 9 или конец 19, проверить имя файла и сводку, а затем при необходимости запросить дополнительные результаты.

На этой странице не рассматриваются

расширенные и внутренние API

Следующие интерфейсы намеренно не включены в общедоступную страницу входа, поскольку они относятся к внутренней связи, деструктивным операциям, интерфейсам управления или больше подходят для написания расширенных документов отдельно.

sync/**_internalНаписание конфигурацииОбщий доступ к конфигурацииКонфигурация LLMОчистка повторяющихся файловupload