Службові інструменти (час, калькулятор, випадкові значення)
Публічні службові кінцеві точки — час сервера, безпечний калькулятор, генератор випадкових значень. Автентифікація не потрібна.
Службові інструменти
Кінцеві точки /tools — це публічні утиліти, автентифікація не потрібна. Вони
корисні для LLM-агентів, яким потрібен серверний час, безпечні обчислення або
випадкові значення.
GET /tools/time
Отримати поточний час сервера, часовий пояс та зсув UTC.
curl https://synapse.schaefer.zone/tools/timeВідповідь:
{
"time": "2026-06-27T14:30:00.000Z",
"timezone": "Europe/Berlin",
"offset": 120
}Варіант використання: LLM-агенти, яким потрібно знати «котра година зараз» для планування, міток часу чи обчислення відносних дат.
GET /tools/calc
Безпечний калькулятор — лише арифметика, без eval(). Підтримує +, -, *,
/, %, (, ) та числа.
curl "https://synapse.schaefer.zone/tools/calc?expr=(10+5)*3"Відповідь:
{
"result": 45,
"expr": "(10+5)*3"
}Використовуйте це замість спроб рахувати в умі або через розбір рядків.
Це безпечно (неможлива ін'єкція коду) та точно.
Підтримувані оператори
+додавання-віднімання*множення/ділення%остача від ділення()дужки- Числа (цілі та десяткові)
Приклади
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
Генерування випадкових значень.
# UUID v4
curl "https://synapse.schaefer.zone/tools/random?type=uuid"
# → { "value": "a1b2c3d4-...", "type": "uuid" }
# Ціле число (діапазон за замовчуванням 0-100)
curl "https://synapse.schaefer.zone/tools/random?type=int&min=1&max=10"
# → { "value": 7, "type": "int" }
# Дробове число
curl "https://synapse.schaefer.zone/tools/random?type=float&min=0&max=1"
# → { "value": 0.7234, "type": "float" }
# Hex-рядок
curl "https://synapse.schaefer.zone/tools/random?type=hex&min=8&max=16"
# → { "value": "a3f7b2c1", "type": "hex" }
# Алфавітний рядок
curl "https://synapse.schaefer.zone/tools/random?type=alpha&min=8&max=12"
# → { "value": "kQmzPwXn", "type": "alpha" }Параметри типу
| Тип | Параметри | Виведення |
|---|---|---|
uuid |
немає | Рядок UUID v4 |
int |
min, max (за замовчуванням 0-100) |
Ціле число |
float |
min, max (за замовчуванням 0-100) |
Дробове число |
hex |
min, max (діапазон довжини, за замовчуванням 8-16) |
Hex-рядок |
alpha |
min, max (діапазон довжини, за замовчуванням 8-16) |
Алфавітний рядок |
Варіанти використання для LLM-агентів
Генерування унікальних ID
ID=$(curl -s .../tools/random?type=uuid | jq -r .value)
curl -X POST .../memory -d "{\"key\": \"task_$ID\", ...}"Обчислення відсотків
TOTAL=142
DONE=87
PERCENT=$(curl -s ".../tools/calc?expr=($DONE*100)/$TOTAL" | jq -r .result)
echo "Progress: $PERCENT%"Отримання поточної мітки часу
NOW=$(curl -s .../tools/time | jq -r .time)
curl -X POST .../var -d "{\"key\": \"last_run\", \"value\": \"$NOW\"}"Генерування тестових даних
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Наступні кроки
- Огляд API — усі групи кінцевих точок
- Помилки та обробка помилок