منصة API التي تحترم خصوصيتك وذاكرتك وسير عملك مع Git.
بدون تسجيل دخول. بدون سحابة. بدون تضخم.
Postman يستهلك 800 ميجابايت من الذاكرة. ApiArk يستهلك 60 ميجابايت.
التنزيل • الميزات • الانتقال من Postman • الأداء • المجتمع • التطوير
English • Español • Français • Deutsch • Português • 中文 • 日本語 • 한국어 • العربية
| Postman | Bruno | Hoppscotch | ApiArk | |
|---|---|---|---|---|
| إطار العمل | Electron | Electron | Tauri | Tauri v2 |
| استهلاك الذاكرة | 300-800 MB | 150-300 MB | 50-80 MB | ~60 MB |
| وقت التشغيل | 10-30s | 3-8s | <2s | <2s |
| يتطلب حسابًا | نعم | لا | اختياري | لا |
| تخزين البيانات | سحابي | نظام الملفات | IndexedDB | نظام الملفات (YAML) |
| متوافق مع Git | لا | نعم (.bru) | لا | نعم (YAML قياسي) |
| gRPC | نعم | نعم | لا | نعم |
| WebSocket | نعم | لا | نعم | نعم |
| SSE | نعم | لا | نعم | نعم |
| MQTT | لا | لا | لا | نعم |
| خوادم وهمية | سحابي فقط | لا | لا | محلي |
| المراقبة | سحابي فقط | لا | لا | محلي |
| نظام الإضافات | لا | لا | لا | JS + WASM |
| التقاط الوكيل | لا | لا | لا | نعم |
| مقارنة الاستجابات | لا | لا | لا | نعم |
| المنصة | التنزيل |
|---|---|
| Windows | مثبّت .exe • .msi |
| macOS | Apple Silicon .dmg • Intel .dmg |
| Linux | .AppImage • .deb • .rpm |
مديرو الحزم
# Homebrew (macOS/Linux) — قريبًا
brew install --cask apiark
# Chocolatey (Windows) — قريبًا
choco install apiark
# Snap (Linux) — قريبًا
sudo snap install apiark
# AUR (Arch Linux) — قريبًا
yay -S apiark-binهل أنت مهتم بصيانة حزمة؟ افتح issue وسنعمل معك.
البناء من الشيفرة المصدرية
المتطلبات الأساسية: Node.js 22+، pnpm 10+، أدوات Rust، متطلبات نظام Tauri v2
git clone https://github.com/berbicanes/apiark.git
cd apiark
pnpm install
pnpm tauri build- صدّر مجموعتك من Postman (Collection v2.1 JSON)
- افتح ApiArk
Ctrl+K> "Import Collection" > اختر ملفك- انتهى. طلباتك الآن ملفات YAML تملكها أنت.
يمكن الاستيراد أيضًا من: Insomnia، Bruno، Hoppscotch، OpenAPI 3.x، HAR، cURL.
متعدد البروتوكولات — REST، GraphQL، gRPC، WebSocket، SSE، MQTT، Socket.IO في تطبيق واحد. لا توجد أداة أخرى تغطي هذا العدد من البروتوكولات.
تخزين محلي أولًا — كل طلب هو ملف .yaml. المجموعات هي مجلدات. كل شيء متوافق مع Git diff. بدون صيغ مملوكة.
الوضع الداكن + السمات — سمات داكنة وفاتحة وسوداء/OLED مع 8 ألوان تمييز.
برمجة TypeScript — سكريبتات ما قبل/بعد الطلب مع تعريفات أنواع كاملة. ark.test()، ark.expect()، ark.env.set().
منفّذ المجموعات — شغّل مجموعات كاملة مع اختبارات مبنية على البيانات (CSV/JSON)، تكرارات قابلة للتخصيص، تقارير JUnit/HTML.
خوادم وهمية محلية — أنشئ واجهات API وهمية من مجموعاتك. بيانات Faker.js، محاكاة التأخير، حقن الأخطاء. بدون سحابة، بدون حدود استخدام.
مراقبة مجدولة — اختبارات آلية مبنية على cron مع إشعارات سطح المكتب وتنبيهات webhook. تعمل محليًا، وليس على خادم شخص آخر.
توليد وثائق API — إنشاء وثائق HTML + Markdown من مجموعاتك.
محرر OpenAPI — تحرير والتحقق من مواصفات OpenAPI مع تكامل Spectral.
مقارنة الاستجابات — قارن الاستجابات جنبًا إلى جنب عبر عمليات التشغيل المختلفة.
التقاط الوكيل — وكيل HTTP/HTTPS محلي اعتراضي لفحص حركة المرور وإعادة تشغيلها.
مساعد الذكاء الاصطناعي — من اللغة الطبيعية إلى الطلبات، توليد اختبارات تلقائيًا، API متوافق مع OpenAI.
نظام الإضافات — وسّع ApiArk بإضافات JavaScript أو WASM.
استيراد كل شيء — Postman، Insomnia، Bruno، Hoppscotch، OpenAPI، HAR، cURL. انتقال بنقرة واحدة.
مبني بتقنية Tauri v2 (واجهة خلفية Rust + webview أصلي لنظام التشغيل)، وليس Electron.
| المقياس | الهدف |
|---|---|
| حجم الملف التنفيذي | ~20 MB |
| الذاكرة في وضع الخمول | ~60 MB |
| بدء التشغيل البارد | <2s |
| تأخير إرسال الطلب | <10ms حمل إضافي |
بياناتك هي YAML بسيط. بدون تقييد بمزوّد. بدون ترميز مملوك.
# users/create-user.yaml
name: Create User
method: POST
url: "{{baseUrl}}/api/users"
headers:
Content-Type: application/json
auth:
type: bearer
token: "{{adminToken}}"
body:
type: json
content: |
{
"name": "{{userName}}",
"email": "{{userEmail}}"
}
assert:
status: 201
body.id: { type: string }
responseTime: { lt: 2000 }
tests: |
ark.test("should return created user", () => {
const body = ark.response.json();
ark.expect(body).to.have.property("id");
});# تشغيل مجموعة
apiark run ./my-collection --env production
# مع اختبارات مبنية على البيانات
apiark run ./my-collection --data users.csv --reporter junit
# استيراد مجموعة Postman
apiark import postman-export.jsonإذا قررت مغادرة ApiArk، فإن بياناتك تغادر معك. كل ملف بصيغة قياسية. كل قاعدة بيانات مفتوحة. لن نجعل الانتقال إلى أداة أخرى صعبًا أبدًا.
- Discord — محادثة، أسئلة وملاحظات
- Twitter / X — تحديثات وإعلانات
- GitHub Discussions — أفكار، أسئلة وأجوبة، شارك مشروعك
- GitHub Issues — تقارير الأخطاء وطلبات الميزات
واجهة ApiArk تدعم التدويل عبر react-i18next. متوفرة حاليًا باللغة الإنجليزية.
ساعدنا في ترجمة ApiArk إلى لغتك! راجع مجلد locales/ وأرسل PR.
# تثبيت التبعيات
pnpm install
# التشغيل في وضع التطوير
pnpm tauri dev
# فحص TypeScript
pnpm -C apps/desktop exec tsc --noEmit
# البناء للإنتاج
pnpm tauri buildapiark/
├── apps/
│ ├── desktop/ # تطبيق سطح المكتب Tauri v2
│ │ ├── src/ # واجهة React الأمامية
│ │ └── src-tauri/ # واجهة Rust الخلفية
│ ├── cli/ # أداة CLI (Rust)
│ ├── mcp-server/ # خادم MCP لمحررات الذكاء الاصطناعي
│ └── vscode-extension/ # إضافة VS Code
├── packages/
│ ├── types/ # أنواع TypeScript المشتركة
│ └── importer/ # مستوردو المجموعات
└── docs/ # Documentation
الواجهة الأمامية: React 19, TypeScript, Vite 6, Zustand, Tailwind CSS 4, Monaco Editor, Radix UI
الواجهة الخلفية: Rust, Tauri v2, reqwest, tokio, tonic (gRPC), axum (خوادم وهمية), deno_core (محرك البرمجة)
Contributions are welcome! Check out the GitHub Issues for open tasks and feature requests.
إذا ساعدك ApiArk في سير عملك، فكّر في منحه نجمة. يساعد ذلك الآخرين على اكتشاف المشروع.