FilePulse Local HTTP API

Les développeurs API

Permet à l'IA, aux scripts, aux lanceurs et aux outils internes d'invoquer les capacités de recherche et de prévisualisation de FilePulse via l'interface Web HTTP API utilisée par l'interface Web FilePulse.

Exemple de base URLhttp://127.0.0.1:80

L'exemple utilise le port HTTP 80 par défaut dans config_default.json. Pendant le déploiement réel, veuillez vous référer au port dans le config.json local de l'utilisateur.

Commencer ici

Processus d'authentification

Premier explorez, puis connectez-vous pour obtenir le jeton, puis placez le jeton renvoyé directement dans l'en-tête d'autorisation. N'ajoutez pas le préfixe Bearer.

01
GET/api/ver

Détecter et lire la version

Retourner la version et le plan. Les versions en ligne peuvent également renvoyer uid et licence_remaining_hours. Cette interface ne nécessite pas de jeton.

Exemple de requête : /api/ver
curl http://127.0.0.1:80/api/ver
02
POST/api/login

Créer un jeton d'accès

Envoyer le nom d'utilisateur et le mot de passe en utilisant JSON. La réponse contient server_name et access_token.

Exemple de requête : /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>

Appel protégé API

Les requêtes ultérieures placent directement le jeton dans l'en-tête Authorization ou dans le paramètre de requête Authorization.

Exemple de requête : Authorization: <access_token>
curl http://127.0.0.1:80/api/search_scope_targets \
  -H "Authorization: $FILEPULSE_TOKEN"

Interfaces principales

Points de terminaison publics communs

Ces interfaces sont les mieux adaptées aux flux de travail assistés par l'IA : découvrir des étendues, rechercher, prévisualiser, télécharger et ouvrir des fichiers uniquement après confirmation de l'utilisateur.

GET/api/search_scope_targets
Token

Disques et plages consultables

Renvoie les cibles de recherche indexées. Lorsque vous devez limiter la portée de la recherche, placez l'index du lecteur renvoyé dans drive_scope.

Champs clés

  • Le numéro de disque renvoyé peut être transmis dans drive_scope.drive_indices.
  • Workflow IA Si vous souhaitez éviter les cibles de montage à distance, vous pouvez utiliser drive_scope.local_only.
Exemple de requête : /api/search_scope_targets
curl http://127.0.0.1:80/api/search_scope_targets \
  -H "Authorization: $FILEPULSE_TOKEN"
POST/api/search
Token

Recherche de nom de fichier et de chemin

Recherche par métadonnées de fichier/dossier, prise en charge des caractères génériques ou des modèles réguliers, filtrage, tri et pagination.

Champs clés

  • mode : regex ou caractère générique
  • search_by : nom ou chemin_complet
  • sort_by : nom, chemin_complet, taille, modifié ou ext
  • genre : 0 signifie fichiers et dossiers, 1 signifie dossiers, 2 signifie fichiers
  • pin_priority/use_groups contrôle la priorité des broches et le comportement de regroupement
  • l'interface de requête inline_icon.size renvoie les données de l'icône en ligne
  • start/end est l'indice de résultat incluant la limite
Exemple de recherche de fichier
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

Recherche de contenu en texte intégral

Rechercher le texte du document, le texte OCR et le contenu indexé des processeurs de contenu configurés. Il est recommandé d'activer l'extrait lorsque l'IA doit accéder au contexte.

Champs clés

  • Lorsque linéaire est faux, les modes réguliers, regex, préfixe et flou sont pris en charge
  • Lorsque linéaire est vrai, les modes de parcours joker et regex sont pris en charge
  • sort_by : aucun, fichier ou score
  • file_search_condition peut réutiliser les conditions de filtre de /api/search
  • l'extrait contrôle si le contexte d'accès est renvoyé
  • pin_priority/use_groups contrôle la priorité des broches et le comportement de regroupement
  • l'interface de requête inline_icon.size renvoie les données de l'icône en ligne
Exemple de requête : /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

État de la recherche visuelle

Renvoie si la recherche visuelle est activée, la progression de l'indexation, le nombre de fichiers consultables, le nombre de lignes vectorielles et la disponibilité de ffmpeg.

Champs clés

  • Vérifiez les fichiers activés et prêts avant d'envoyer des requêtes d'image ou de vidéo.
  • Vous pouvez utiliser indexing/current_file_count/total_file_count pour déterminer si vous devez attendre la fin de l'indexation.
Exemple de requête : /api/visual_status
curl http://127.0.0.1:80/api/visual_status \
  -H "Authorization: $FILEPULSE_TOKEN"
POST/api/visual_search
Token

Recherche similaire d'images et de vidéos

Utilisez les données d'un formulaire en plusieurs parties pour soumettre des images, des captures d'écran, des vidéos ou FilePulse le chemin de requête absolu sur l'hôte.

Champs clés

  • Doit fournir un fichier ou un chemin de requête
  • drive_indices reçoit une chaîne de tableau JSON
  • top_k limite le nombre de retours
  • fast_mode échange la précision contre la vitesse
  • search_detail et min_match_count Vidéo réglable correspondant
Exemple de requête : /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

Télécharger ou prévisualiser les fichiers

Le streaming renvoie les chemins de fichiers natifs ou proxy. Veuillez indiquer le chemin complet dans le chemin après l'encodage de l'URL et l'autorisation. Le service de fichiers sous-jacent prend en charge les requêtes Range.

Champs clés

  • x-proxy est utilisé uniquement avec le nom du serveur distant enregistré.
  • N'accepte que les chemins de fichiers ; les dossiers renverront une erreur.
Exemple de requête : /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

Aperçu des enfants du dossier

Renvoie une petite liste triée de dossiers pour éviter d'extraire tous les enfants en même temps.

Champs clés

  • chemin requis
  • limite par défaut à 80, maximum 200
  • La réponse contient total_children et tronquée
Exemple de requête : /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

Aperçu du contexte d'accès au contenu

Obtenir le contexte HTML/texte pour un certain résultat de recherche de contenu, afin que l'IA puisse vérifier l'emplacement de l'accès avant de demander à ouvrez le fichier.

Champs clés

  • chemin, modifié, search_content, mode requis
  • linéaire et fuzzy_distance doivent être cohérents avec la demande de recherche de contenu d'origine
Exemple de requête : /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

Ouvrez le fichier sur l'hôte

Lancez le fichier ou le programme exécutable sur la machine où se trouve FilePulse. Cette opération a des effets secondaires et les outils d’IA devraient d’abord demander aux utilisateurs de confirmer explicitement.

Champs clés

  • chemin requis
  • work_folder peut être laissé vide et le répertoire parent sera automatiquement déduit
  • admin signifie essayer de démarrer avec les droits d'administrateur sur les plates-formes prises en charge
Exemple de requête : /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

Recherche rapide du lanceur

Rechercher des applications, des dossiers et des raccourcis pouvant être lancés, et le corps de la requête suit essentiellement la structure de /api/search.

Champs clés

  • Le corps de la requête suit SearchReqJson
  • Convient à l'IA pour localiser d'abord les applications ou les répertoires couramment utilisés, puis demander à l'utilisateur de confirmer s'il doit démarrer.
Exemple de requête : /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
  }'

Recommandations d'appels IA

Flux de travail IA recommandé

Gardez le modèle sur un chemin étroit : authentifiez-vous, recherchez, inspectez, puis demandez la confirmation de l'utilisateur avant d'ouvrir ou de modifier le fichier.

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

Ne donnez pas le mot de passe au modèle pendant une longue période

Il est recommandé à l'utilisateur ou au programme hôte de fournir un court jeton de session. N'enregistrez pas de mots de passe dans la mémoire de modèle, dans des journaux longs ou dans des mots d'invite réutilisables.

l'ouverture du fichier doit d'abord être confirmée

L'ouverture d'un fichier peut démarrer un programme ou exposer des données locales. L'IA doit afficher le chemin exact et attendre l'approbation de l'utilisateur.

Demandez d'abord une petite pagination

Il est recommandé d'utiliser d'abord la fin 9 ou la fin 19, de vérifier le nom du fichier et le résumé, puis de demander plus de résultats si nécessaire.

Cette page ne couvre pas

API

avancées et internes. Les interfaces suivantes ne sont intentionnellement pas incluses dans la page d'entrée publique, car elles appartiennent à la communication interne, aux opérations destructrices, aux interfaces de gestion ou sont plus adaptées à l'écriture séparée de documents avancés.

sync/**_internalÉcriture de la configurationPartager la configurationConfiguration LLMNettoyage des fichiers en doubleupload