Surveillance de page de statut par IA : n'alertez que lorsque quelque chose change
Selon une planification, un agent lit une page de statut et renvoie un verdict JSON unique que votre propre script peut exploiter.
- Web
- Planifié
- Callback
- Plafond de budget
Regardez une vraie exécution
Une vraie exécution du 7 oct. 2026, rejouée. Modèle : openai/gpt-6-luna.
{
"url": "https://ephemer.al/api/samples/status"
}- En file d'attentebudget de $0.03 réservé
- MicroVMmicroVM ready
- MicroVMworker started · shell off · web on
- Web
web_fetch https://ephemer.al/api/samples/status - Résultat
web https://ephemer.al/api/samples/status → 200 - MicroVMmicroVM destroyed
- Réussie2 appels au modèle, 2,449 jetonsSortie enregistrée (en anglais)
{ "ok": true, "http_status": 200, "summary": "The page reports all systems operational; the listed incidents are resolved." } - Worker détruit$0.003616 facturé, $0.026384 libéré
Lancez-le vous-même
Ouvrez l'exemple dans le playground avec toute la requête déjà remplie. Il s'exécute sur votre propre compte, dans le budget indiqué, sur les mêmes systèmes d'exemple en lecture seule.
Budget pour cet exemple : $0.03
Fonctionnement
Toutes les quinze minutes, une exécution planifiée récupère la page et répond {ok, http_status, summary}. L'accès web est limité à un seul domaine et la recherche est désactivée : la vérification peut lire ce site et rien d'autre. Votre script ne publie dans le chat que lorsque ok passe à false.
Ce que l'agent peut et ne peut pas faire
Les permissions font partie de la requête. Tout ce qui n'est pas listé ici n'est pas disponible pour l'exécution.
| Paramètre | Autorisé |
|---|---|
| Connexions | Aucune |
| Web | Uniquement ephemer.al |
| Shell | Désactivé |
| Fichiers | Aucune |
| Rétention zéro des données | Désactivée : l'historique est conservé 30 jours |
| Budget | $0.03, un plafond strict |
| Délai | 90 secondes |
Les identifiants n'entrent jamais dans la machine : un broker les ajoute à chaque appel et impose les méthodes ci-dessus.
Le code
Voici la requête exacte envoyée par l'exemple. Définissez EPHEMERAL_API_KEY avec une clé de membre de votre organisation.
curl -X POST $EPHEMERAL_URL/v1/runs \
-H "Authorization: Bearer $EPHEMERAL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d @request.jsonCorps complet de la requête workflow.json
Le même corps, avec les fichiers en ligne.
{
"prompt": "Fetch the page at input.url with web_fetch. Reply with one JSON object and nothing else: {\"ok\": boolean, \"http_status\": number, \"summary\": string}. Set ok to true only when the response status is 200 and the page reports no ongoing incident, outage or degraded service; resolved past incidents do not count. summary is one sentence of at most 200 characters.",
"web": {
"allow": [
"ephemer.al"
],
"search": false
},
"shell": false,
"timeout_seconds": 90
}Cet exemple s'exécute selon un calendrier : */15 * * * * dans le fuseau UTC. Une planification lance un workflow enregistré : enregistrez d'abord la requête comme workflow, puis créez la planification.