Retour à Pulse
    Référence développeur

    Développeurs

    Référence technique pour les développeurs qui intègrent, étendent ou automatisent Pulse depuis l'extérieur. Chaque capacité est exposée via HTTP, WebSocket et protocoles standards d'appel d'outils.

    À qui s'adresse cette section

    Intégrateurs de solutions

    Vous automatisez Pulse depuis votre propre logiciel, scripts, backends, pipelines CI, plateformes internes.

    Auteurs d'outils externes

    Vous exposez vos services afin que les agents Pulse puissent les appeler via le protocole standard d'invocation d'outils.

    Pratique du pipeline-as-code

    Vous définissez agents et pipelines en YAML, les versionnez dans Git et les déployez via l'API.

    Auteurs de modèles

    Vous packagez des workflows réutilisables sous forme d'artéfacts JSON portables pour d'autres utilisateurs Pulse.

    Auteurs de bibliothèques client

    Vous construisez un SDK Pulse dans votre langage favori au-dessus de contrats HTTP et WebSocket stables.

    Ce que vous pouvez construire

    • Pilotez Pulse de manière programmatique, déployez des agents, déclenchez des pipelines, récupérez des événements et approuvez des actions depuis votre code.
    • Définissez les pipelines en YAML, versionnez-les dans Git et appliquez-les via l'endpoint d'import, intégré à votre CI.
    • Construisez des outils externes qui tournent partout, dans n'importe quel langage, appelables par les agents Pulse via le protocole standard d'invocation d'outils.
    • Créez des modèles : packagez un workflow réutilisable en JSON et distribuez-le à vos clients ou à la communauté.
    • Ingérez des événements externes via webhooks HTTP avec vérification HMAC, polling de boîtes mail, watchers RSS ou déclencheurs systèmes de fichiers.
    • Souscrivez à un flux WebSocket temps réel d'événements, deltas de conversation et changements de statut d'agents.

    Démarrage rapide

    Appeler l'API en 30 secondes

    Authentifiez-vous, puis appelez n'importe quelle ressource avec un jeton porteur.

    bash
    1curl -X POST http://localhost:9090/api/auth/login \
    2  -H "Content-Type: application/json" \
    3  -d '{"username":"alice","password":"your-password"}' \
    4  | jq -r '.accessToken' > /tmp/token
    5
    6curl http://localhost:9090/api/pulse/agents \
    7  -H "Authorization: Bearer $(cat /tmp/token)" \
    8  | jq '.agents[].name'

    Déployer un agent depuis un YAML

    Décrivez votre agent de manière déclarative et envoyez-le sur l'endpoint des agents.

    yaml
    1# agent.yaml
    2name: url-shortener-watcher
    3engine: llm
    4inputTopic: urls.inbound
    5outputTopic: urls.shortened
    6systemPrompt: |
    7  Extract every URL from the event payload. For each one,
    8  call the short_url tool. Return a JSON array of
    9  { original, shortened } pairs.
    10externalTools: [url-shortener.shorten]
    bash
    1curl -X POST http://localhost:9090/api/pulse/agents \
    2  -H "Authorization: Bearer $(cat /tmp/token)" \
    3  -H "Content-Type: application/json" \
    4  --data-binary @<(yq -o=json agent.yaml)

    Exposer un outil externe

    Implémentez un petit serveur qui parle le protocole standard d'invocation d'outils, Pulse l'enregistre et n'importe quel agent peut l'utiliser.

    python
    1# my_tool.py, minimal external tool server
    2from tool_server import Server
    3
    4srv = Server("my-custom-tool")
    5
    6@srv.tool()
    7async def greet(name: str) -> str:
    8    """Greet someone by name."""
    9    return f"Hello, {name}!"
    10
    11srv.run_stdio()

    Surface API en un coup d'œil

    Pulse expose une surface REST unifiée. L'URL de base par défaut est http://localhost:9090, placez du TLS en frontal pour un accès distant.

    RessourcePréfixe RESTRôle
    Auth/api/auth/*Connexion, rafraîchissement, 2FA, bascule d'organisation
    Agents/api/pulse/agents/*Déploiement, démarrage, arrêt et liste des agents
    Pipelines/api/pulse/pipelines/*Workflows nommés, import / export YAML
    Modèles/api/pulse/templates/*Catalogue de pipelines prêts à l'emploi
    Chat/api/pulse/chat/*Interface conversationnelle avec réponses en streaming
    Événements/api/pulse/events/*Requêtes et flux SSE
    Topics/api/pulse/topicsMétadonnées des canaux d'événements
    Approbations/api/pulse/approvals/*Points de décision humain dans la boucle
    Sauvegardes/api/pulse/backups/*Snapshots et restauration
    Licence/api/pulse/license/*Statut et activation de licence
    Consensus/api/pulse/pvsc/*Comité de validateurs, file de messages morts, ledger
    Paramètres/api/pulse/settings/*Configuration administrative
    Statistiques/api/pulse/statsMétriques du tableau de bord
    Public/health, /metricsSonde de vie et métriques Prometheus

    Cinq SDKs, une API

    Mêmes capacités en Python, JavaScript/TypeScript, Go, Rust et Java. Déclarez le flux une fois avec le DSL streams — Pulse le compile et l'exécute côté serveur. Le client reste léger ; votre laptop ne devient jamais le goulot.

    Même recette dans chaque onglet : lire un topic Kafka, compter les commandes par client sur une fenêtre d'1 minute, pousser vers une tuile live Power BI.

    python
    1from pulse_client import PulseClient, StreamBuilder, windows, aggs
    2
    3flow = (
    4    StreamBuilder("orders-per-customer")
    5    .from_topic("orders", source_engine="kafka")
    6    .key_by("customer_id")
    7    .window(windows.tumbling("1m"), aggregations={"orders": aggs.count()})
    8    .to_connector("powerbi", {"powerbi.push.url": "<your-push-url>"})
    9)
    10
    11with PulseClient(base_url="https://pulse.example.com", token="…") as client:
    12    client.streams.deploy(flow)

    Garanties de stabilité

    API REST

    Stable selon semver. Les changements cassants exigent un saut de version majeure et un préavis de dépréciation de six mois sur les endpoints concernés.

    Événements WebSocket

    De nouveaux types d'événements peuvent apparaître à tout moment ; les types existants restent stables. Les clients doivent ignorer les types inconnus.

    Protocole d'invocation d'outils

    Pulse suit le standard ouvert amont. Les ajouts non cassants arrivent rapidement ; les ruptures suivent le rythme amont.

    Schémas de modèles et d'agents

    Les ajouts sont autorisés à tout moment ; les retraits exigent un saut de version majeure.

    Guides approfondis

    Essai Entreprise 30 jours

    Évaluez la version Entreprise pendant 30 jours

    Débloquez le cluster distant, la HA et le SSO. Licence envoyée par email — à coller dans Pulse → Paramètres → Licence. Pas de carte bancaire.

    Démarrer l'essai gratuit

    Besoin d'un accès plus poussé ?

    Les contributions au code source, les serveurs de licences en environnement isolé et les intégrations en marque blanche sont traités directement par notre équipe.

    Nous contacter