
عميل API طرفي لـ HTTP وGraphQL وgRPC وWebSocket وSSE. ملفات .http بسيطة يمكنك إجراء diff عليها وإصدار نسخ منها، مع اختبارات نصية وسير عمل ومحاكيات ومسجّل ومشغّل CLI لـ CI.
بيئة عمل API-as-code للطرفية.
resterm.app · docs
Resterm هو عميل API يعتمد على الكود أولاً ومبني حول ملفات .http/.rest العادية. الطلب هو بضعة أسطر من النص يمكنك قراءتها ومقارنتها والاحتفاظ بها في git، وينطبق الأمر ذاته على سير العمل (workflows) والـ mocks المحلية. ترسلها من واجهة الطرفية أثناء عملك، ويشغّل resterm run الملفات نفسها في CI. وإذا كان API الخاص بك خلف SSH bastion أو داخل عنقود Kubernetes، فإن Resterm يفتح لك النفق أو port-forward.
gh auth token@capture و@assert، بالإضافة إلى @poll و@retry@if و@for-each@rts test@compare لإرسال طلب واحد إلى عدة بيئات ومقارنة النتائج@profile مع إحصاءات زمن الاستجابة، ومدرّج تكراري، وP95 وP99.http الخاصة بك، وproxy للتسجيل يحوّل حركة المرور الحقيقية إلى طلبات أو mocksresterm run لـ CI، مع مخرجات نصية أو JSON أو JUnit وأكواد خروج تميّز بين فحص فاشل وخطأ TLS أو نفق$EDITOR، أو فتح جسم استجابة في التطبيق الافتراضيلا حساب ولا تتبع (telemetry).
[!NOTE] لا يمتلك Resterm خادم MCP أو ميزات ذكاء اصطناعي مدمجة. إذا أردت أن يفهم LLM الخاص بك Resterm، فوجّهه إلى وثائق Markdown في
docs/أو إلى resterm.app/docs.
التتبع والجدول الزمني
سير العمل
المُحلّل (Profiler)
الشرح (Explain)
RestermScript
macOS وLinux:
brew install resterm
# or
curl -fsSL https://raw.githubusercontent.com/unkn0wn-root/resterm/main/install.sh | bash
Windows:
iwr -useb https://raw.githubusercontent.com/unkn0wn-root/resterm/main/install.ps1 | iex
مع Go 1.25 أو أحدث:
go install github.com/unkn0wn-root/resterm/cmd/resterm@latest
تتوفر ملفات ثنائية جاهزة لنظامي macOS وLinux وWindows على صفحة الإصدارات. تحتاج ملفات macOS الثنائية إلى macOS 13 Ventura أو أحدث، وتحتاج ملفات Linux الثنائية إلى glibc 2.32 أو أحدث.
لتحديث تثبيت Homebrew، شغّل brew upgrade resterm. بالنسبة لملفات الإصدارات الثنائية أو عمليات التثبيت التي تمت باستخدام السكربتات، شغّل resterm --update. إذا قمت بالتثبيت باستخدام Go، فأعد تشغيل أمر go install أعلاه. المزيد في دليل التثبيت.
mkdir my-api && cd my-api
resterm init
resterm
resterm init ينشئ ملف requests.http يحتوي على بعض الطلبات النموذجية وعمليات محاكاة محلية للرد عليها، لذا لا تحتاج إلى واجهة برمجة تطبيقات حقيقية لتجربته. اضغط g Shift+M لبدء خادم المحاكاة، وحرّك المؤشر إلى طلب واضغط Ctrl+Enter لإرساله. اضغط ? للحصول على المساعدة في أي وقت.
لا تحتاج إلى init أيضًا. شغّل resterm، واكتب عنوان URL أو الصق أمر curl، ثم اضغط Ctrl+Enter.
يعمل الملف نفسه أيضًا دون واجهة المستخدم. ابدأ عمليات المحاكاة في طرفية واحدة وشغّل طلبًا في طرفية أخرى:
resterm mock requests.http # terminal 1
resterm run --request CreateUser requests.http # terminal 2
يقرأ Resterm تنسيق .http القياسي ويضيف توجيهات # @ فوقه للإعدادات والأتمتة:
# @setting base-url https://api.example.com/v1/
### Create users
// Send this request once for each name in the list.
# @for-each ["david", "tom"] as name
# @when env.meta.name == "dev"
# @assert response.statusCode == 201
POST users
Content-Type: application/json
{"name":"{{= name }}"}
يعمل @setting قبل الطلب الأول على الملف بأكمله. يبدأ ### طلبًا جديدًا. يمكن للتوجيهات الواقعة فوق طلب أن تكرره أو تتخطاه أو تتحقق من الاستجابة.
توجد المزيد من الأمثلة في _examples/، وكل توجيه مُدرج في مرجع ملف الطلبات.
توجد الوثائق الكاملة على resterm.app/docs. من أفضل نقاط البدء سير العمل وخوادم المحاكاة والتسجيل وواجهة سطر الأوامر وRestermScript.
داخل واجهة TUI، يفتح :help <topic> الدليل المدمج، ويفتح :docs <topic> الصفحة نفسها على الموقع الإلكتروني.
لتشغيل ملفات الطلبات من شيفرة Go الخاصة بك، راجع حزمة headless.
Resterm مجاني ومفتوح المصدر، وسيظل كذلك دائمًا. إذا أعجبك عملي، يمكنك رعايته على GitHub.