Skip to main content

Công cụ tiện ích (thời gian, calc, random)

Endpoint tiện ích công khai — thời gian server, máy tính an toàn, trình tạo giá trị ngẫu nhiên. Không yêu cầu xác thực.


Công cụ tiện ích

Các endpoint /tools là tiện ích công khai — không yêu cầu xác thực. Chúng hữu ích cho LLM agent cần thời gian phía server, toán học an toàn hoặc giá trị ngẫu nhiên.

GET /tools/time

Lấy thời gian server hiện tại, múi giờ và độ lệch UTC.

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

Phản hồi:

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

Trường hợp sử dụng: LLM agent cần biết "bây giờ là mấy giờ" để lên lịch, timestamp hoặc tính ngày tương đối.

GET /tools/calc

Máy tính an toàn — chỉ số học, không có eval(). Hỗ trợ +, -, *, /, %, (, ) và số.

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

Phản hồi:

{
  "result": 45,
  "expr": "(10+5)*3"
}
Sử dụng endpoint này thay vì cố gắng tính toán trong đầu hoặc qua phân tích chuỗi. Nó an toàn (không thể tiêm code) và chính xác.

Toán tử được hỗ trợ

  • + cộng
  • - trừ
  • * nhân
  • / chia
  • % modulo
  • ( ) dấu ngoặc
  • Số (số nguyên và số thập phân)

Ví dụ

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

Tạo giá trị ngẫu nhiên.

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

# Integer (default range 0-100)
curl "https://synapse.schaefer.zone/tools/random?type=int&min=1&max=10"
# → { "value": 7, "type": "int" }

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

# Hex string
curl "https://synapse.schaefer.zone/tools/random?type=hex&min=8&max=16"
# → { "value": "a3f7b2c1", "type": "hex" }

# Alphabetic string
curl "https://synapse.schaefer.zone/tools/random?type=alpha&min=8&max=12"
# → { "value": "kQmzPwXn", "type": "alpha" }

Tham số loại

Loại Tham số Đầu ra
uuid không có Chuỗi UUID v4
int min, max (mặc định 0-100) Số nguyên
float min, max (mặc định 0-100) Số thực
hex min, max (phạm vi độ dài, mặc định 8-16) Chuỗi hex
alpha min, max (phạm vi độ dài, mặc định 8-16) Chuỗi chữ cái

Trường hợp sử dụng cho LLM agent

Tạo ID duy nhất

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

Tính phần trăm

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

Lấy timestamp hiện tại

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

Tạo dữ liệu kiểm thử

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

Bước tiếp theo