Skip to main content

Outils utilitaires (heure, calcul, aléatoire)

Endpoints utilitaires publics — heure serveur, calculatrice sûre, générateur de valeurs aléatoires. Aucune authentification requise.


Outils utilitaires

Les endpoints /tools sont des utilitaires publics — aucune authentification requise. Ils sont utiles pour les agents LLM qui ont besoin de l'heure côté serveur, de calculs sûrs ou de valeurs aléatoires.

GET /tools/time

Récupère l'heure actuelle du serveur, le fuseau horaire et le décalage UTC.

curl https://synapse.schaefer.zone/tools/time

Réponse :

{
  "time": "2026-06-27T14:30:00.000Z",
  "timezone": "Europe/Berlin",
  "offset": 120
}

Cas d'usage : agents LLM qui ont besoin de savoir « quelle heure est-il maintenant » pour la planification, les horodatages ou les calculs de dates relatives.

GET /tools/calc

Calculatrice sûre — arithmétique uniquement, pas d'eval(). Prend en charge +, -, *, /, %, (, ) et les nombres.

curl "https://synapse.schaefer.zone/tools/calc?expr=(10+5)*3"

Réponse :

{
  "result": 45,
  "expr": "(10+5)*3"
}
Utilisez ceci plutôt que d'essayer de faire des calculs de tête ou via l'analyse de chaînes. C'est sûr (aucune injection de code possible) et précis.

Opérateurs pris en charge

  • + addition
  • - soustraction
  • * multiplication
  • / division
  • % modulo
  • ( ) parenthèses
  • Nombres (entiers et décimaux)

Exemples

curl ".../tools/calc?expr=2+2"          # → 4
curl ".../tools/calc?expr=3.14*100"     # → 314
curl ".../tools/calc?expr=100%7"        # → 2
curl ".../tools/calc?expr=(2+3)*4-1"    # → 19

GET /tools/random

Génère des valeurs aléatoires.

# UUID v4
curl "https://synapse.schaefer.zone/tools/random?type=uuid"
# → { "value": "a1b2c3d4-...", "type": "uuid" }

# Entier (plage par défaut 0-100)
curl "https://synapse.schaefer.zone/tools/random?type=int&min=1&max=10"
# → { "value": 7, "type": "int" }

# Flottant
curl "https://synapse.schaefer.zone/tools/random?type=float&min=0&max=1"
# → { "value": 0.7234, "type": "float" }

# Chaîne hexadécimale
curl "https://synapse.schaefer.zone/tools/random?type=hex&min=8&max=16"
# → { "value": "a3f7b2c1", "type": "hex" }

# Chaîne alphabétique
curl "https://synapse.schaefer.zone/tools/random?type=alpha&min=8&max=12"
# → { "value": "kQmzPwXn", "type": "alpha" }

Paramètres par type

Type Paramètres Sortie
uuid aucun Chaîne UUID v4
int min, max (par défaut 0-100) Entier
float min, max (par défaut 0-100) Flottant
hex min, max (plage de longueur, par défaut 8-16) Chaîne hexadécimale
alpha min, max (plage de longueur, par défaut 8-16) Chaîne alphabétique

Cas d'usage pour les agents LLM

Générer des identifiants uniques

ID=$(curl -s .../tools/random?type=uuid | jq -r .value)
curl -X POST .../memory -d "{\"key\": \"task_$ID\", ...}"

Calculer des pourcentages

TOTAL=142
DONE=87
PERCENT=$(curl -s ".../tools/calc?expr=($DONE*100)/$TOTAL" | jq -r .result)
echo "Progress: $PERCENT%"

Obtenir l'horodatage courant

NOW=$(curl -s .../tools/time | jq -r .time)
curl -X POST .../var -d "{\"key\": \"last_run\", \"value\": \"$NOW\"}"

Générer des données de test

for i in {1..10}; do
  NAME=$(curl -s ".../tools/random?type=alpha&min=5&max=10" | jq -r .value)
  curl -X POST .../memory -d "{\"key\": \"test_$i\", \"content\": \"$NAME\"}"
done

Prochaines étapes