Narzędzia pomocnicze (czas, kalkulator, losowość)
Publiczne endpointy narzędziowe — czas serwera, bezpieczny kalkulator, generator wartości losowych. Bez autoryzacji.
Narzędzia pomocnicze
Endpointy /tools to publiczne narzędzia — nie wymagają autoryzacji. Są
przydatne dla agentów LLM, które potrzebują czasu po stronie serwera,
bezpiecznych obliczeń matematycznych lub wartości losowych.
GET /tools/time
Zwraca aktualny czas serwera, strefę czasową i przesunięcie UTC.
curl https://synapse.schaefer.zone/tools/timeOdpowiedź:
{
"time": "2026-06-27T14:30:00.000Z",
"timezone": "Europe/Berlin",
"offset": 120
}Przypadek użycia: agenty LLM, które muszą wiedzieć „która jest teraz godzina" do planowania, znaczników czasu lub obliczeń dat względnych.
GET /tools/calc
Bezpieczny kalkulator — wyłącznie arytmetyka, bez eval(). Obsługuje +, -,
*, /, %, (, ) oraz liczby.
curl "https://synapse.schaefer.zone/tools/calc?expr=(10+5)*3"Odpowiedź:
{
"result": 45,
"expr": "(10+5)*3"
}Należy używać tego zamiast liczenia w pamięci lub parsowania ciągów. Jest
bezpieczne (bez możliwości wstrzykiwania kodu) i dokładne.
Obsługiwane operatory
+dodawanie-odejmowanie*mnożenie/dzielenie%modulo()nawiasy- Liczby (całkowite i dziesiętne)
Przykłady
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" # → 19GET /tools/random
Generuje wartości losowe.
# UUID v4
curl "https://synapse.schaefer.zone/tools/random?type=uuid"
# → { "value": "a1b2c3d4-...", "type": "uuid" }
# Liczba całkowita (domyślny zakres 0-100)
curl "https://synapse.schaefer.zone/tools/random?type=int&min=1&max=10"
# → { "value": 7, "type": "int" }
# Liczba zmiennoprzecinkowa
curl "https://synapse.schaefer.zone/tools/random?type=float&min=0&max=1"
# → { "value": 0.7234, "type": "float" }
# Ciąg szesnastkowy
curl "https://synapse.schaefer.zone/tools/random?type=hex&min=8&max=16"
# → { "value": "a3f7b2c1", "type": "hex" }
# Ciąg alfabetyczny
curl "https://synapse.schaefer.zone/tools/random?type=alpha&min=8&max=12"
# → { "value": "kQmzPwXn", "type": "alpha" }Parametry typu
| Typ | Parametry | Wynik |
|---|---|---|
uuid |
brak | Ciąg UUID v4 |
int |
min, max (domyślnie 0-100) |
Liczba całkowita |
float |
min, max (domyślnie 0-100) |
Liczba zmiennoprzecinkowa |
hex |
min, max (zakres długości, domyślnie 8-16) |
Ciąg szesnastkowy |
alpha |
min, max (zakres długości, domyślnie 8-16) |
Ciąg alfabetyczny |
Przypadki użycia dla agentów LLM
Generowanie unikalnych ID
ID=$(curl -s .../tools/random?type=uuid | jq -r .value)
curl -X POST .../memory -d "{\"key\": \"task_$ID\", ...}"Obliczanie procentów
TOTAL=142
DONE=87
PERCENT=$(curl -s ".../tools/calc?expr=($DONE*100)/$TOTAL" | jq -r .result)
echo "Progress: $PERCENT%"Pobieranie aktualnego znacznika czasu
NOW=$(curl -s .../tools/time | jq -r .time)
curl -X POST .../var -d "{\"key\": \"last_run\", \"value\": \"$NOW\"}"Generowanie danych testowych
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\"}"
doneNastępne kroki
- Przegląd API — wszystkie grupy endpointów
- Błędy i ich obsługa