web-agent-bridge 3.2.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/LICENSE +84 -72
  2. package/README.ar.md +1304 -1152
  3. package/README.md +298 -1635
  4. package/bin/agent-runner.js +474 -474
  5. package/bin/cli.js +237 -138
  6. package/bin/wab-init.js +223 -0
  7. package/bin/wab.js +80 -80
  8. package/examples/azure-dns-wab.js +83 -0
  9. package/examples/bidi-agent.js +119 -119
  10. package/examples/cloudflare-wab-dns.js +121 -0
  11. package/examples/cpanel-wab-dns.js +114 -0
  12. package/examples/cross-site-agent.js +91 -91
  13. package/examples/dns-discovery-agent.js +166 -0
  14. package/examples/gcp-dns-wab.js +76 -0
  15. package/examples/governance-agent.js +169 -0
  16. package/examples/mcp-agent.js +94 -94
  17. package/examples/next-app-router/README.md +44 -44
  18. package/examples/plesk-wab-dns.js +103 -0
  19. package/examples/puppeteer-agent.js +108 -108
  20. package/examples/route53-wab-dns.js +144 -0
  21. package/examples/saas-dashboard/README.md +55 -55
  22. package/examples/safe-mode-agent.js +96 -0
  23. package/examples/shopify-hydrogen/README.md +74 -74
  24. package/examples/vision-agent.js +171 -171
  25. package/examples/wab-sign.js +74 -0
  26. package/examples/wab-verify.js +60 -0
  27. package/examples/wordpress-elementor/README.md +77 -77
  28. package/package.json +19 -6
  29. package/public/.well-known/agent-tools.json +180 -180
  30. package/public/.well-known/ai-assets.json +59 -59
  31. package/public/.well-known/security.txt +8 -0
  32. package/public/.well-known/wab.json +28 -0
  33. package/public/activate.html +368 -0
  34. package/public/adoption-metrics.html +188 -0
  35. package/public/agent-workspace.html +349 -349
  36. package/public/ai.html +198 -198
  37. package/public/api.html +413 -412
  38. package/public/azure-dns-integration.html +289 -0
  39. package/public/browser.html +486 -486
  40. package/public/cloudflare-integration.html +380 -0
  41. package/public/commander-dashboard.html +243 -243
  42. package/public/cookies.html +210 -210
  43. package/public/cpanel-integration.html +398 -0
  44. package/public/css/agent-workspace.css +1713 -1713
  45. package/public/css/premium.css +317 -317
  46. package/public/css/styles.css +1263 -1235
  47. package/public/dashboard.html +707 -706
  48. package/public/dns.html +436 -0
  49. package/public/docs.html +588 -587
  50. package/public/feed.xml +89 -89
  51. package/public/gcp-dns-integration.html +318 -0
  52. package/public/growth.html +465 -463
  53. package/public/index.html +1266 -982
  54. package/public/integrations.html +556 -0
  55. package/public/js/activate.js +145 -0
  56. package/public/js/agent-workspace.js +1740 -1740
  57. package/public/js/auth-nav.js +65 -31
  58. package/public/js/auth-redirect.js +12 -12
  59. package/public/js/cookie-consent.js +56 -56
  60. package/public/js/dns.js +438 -0
  61. package/public/js/wab-demo-page.js +721 -721
  62. package/public/js/ws-client.js +74 -74
  63. package/public/llms-full.txt +360 -360
  64. package/public/llms.txt +125 -125
  65. package/public/login.html +85 -85
  66. package/public/mesh-dashboard.html +328 -328
  67. package/public/openapi.json +669 -580
  68. package/public/phone-shield.html +281 -0
  69. package/public/plesk-integration.html +375 -0
  70. package/public/premium-dashboard.html +2489 -2489
  71. package/public/premium.html +793 -793
  72. package/public/privacy.html +297 -297
  73. package/public/provider-onboarding.html +172 -0
  74. package/public/provider-sandbox.html +134 -0
  75. package/public/providers.html +359 -0
  76. package/public/register.html +105 -105
  77. package/public/registrar-integrations.html +141 -0
  78. package/public/robots.txt +99 -87
  79. package/public/route53-integration.html +531 -0
  80. package/public/script/wab-consent.d.ts +36 -36
  81. package/public/script/wab-consent.js +104 -104
  82. package/public/script/wab-schema.js +131 -131
  83. package/public/script/wab.d.ts +108 -108
  84. package/public/script/wab.min.js +580 -580
  85. package/public/security.txt +8 -0
  86. package/public/shieldqr.html +231 -0
  87. package/public/sitemap.xml +6 -0
  88. package/public/terms.html +256 -256
  89. package/public/wab-trust.html +200 -0
  90. package/public/wab-vs-protocols.html +210 -0
  91. package/public/whitepaper.html +449 -0
  92. package/script/ai-agent-bridge.js +1754 -1754
  93. package/sdk/README.md +99 -99
  94. package/sdk/agent-mesh.js +449 -449
  95. package/sdk/auto-discovery.js +288 -0
  96. package/sdk/commander.js +262 -262
  97. package/sdk/governance.js +262 -0
  98. package/sdk/index.d.ts +464 -464
  99. package/sdk/index.js +25 -1
  100. package/sdk/multi-agent.js +318 -318
  101. package/sdk/package.json +2 -2
  102. package/sdk/safe-mode.js +221 -0
  103. package/sdk/safety-shield.js +219 -0
  104. package/sdk/schema-discovery.js +83 -83
  105. package/server/adapters/index.js +520 -520
  106. package/server/config/plans.js +367 -367
  107. package/server/config/secrets.js +102 -102
  108. package/server/control-plane/index.js +301 -301
  109. package/server/data-plane/index.js +354 -354
  110. package/server/index.js +670 -427
  111. package/server/llm/index.js +404 -404
  112. package/server/middleware/adminAuth.js +35 -35
  113. package/server/middleware/auth.js +50 -50
  114. package/server/middleware/featureGate.js +88 -88
  115. package/server/middleware/rateLimits.js +100 -100
  116. package/server/middleware/sensitiveAction.js +157 -0
  117. package/server/migrations/001_add_analytics_indexes.sql +7 -7
  118. package/server/migrations/002_premium_features.sql +418 -418
  119. package/server/migrations/003_ads_integer_cents.sql +33 -33
  120. package/server/migrations/004_agent_os.sql +158 -158
  121. package/server/migrations/005_marketplace_metering.sql +126 -126
  122. package/server/migrations/007_governance.sql +106 -0
  123. package/server/migrations/008_plans.sql +144 -0
  124. package/server/migrations/009_shieldqr.sql +30 -0
  125. package/server/migrations/010_extended_trust.sql +33 -0
  126. package/server/models/adapters/index.js +33 -33
  127. package/server/models/adapters/mysql.js +183 -183
  128. package/server/models/adapters/postgresql.js +172 -172
  129. package/server/models/adapters/sqlite.js +7 -7
  130. package/server/models/db.js +740 -681
  131. package/server/observability/failure-analysis.js +337 -337
  132. package/server/observability/index.js +394 -394
  133. package/server/protocol/capabilities.js +223 -223
  134. package/server/protocol/index.js +243 -243
  135. package/server/protocol/schema.js +584 -584
  136. package/server/registry/certification.js +271 -271
  137. package/server/registry/index.js +326 -326
  138. package/server/routes/admin-plans.js +76 -0
  139. package/server/routes/admin-premium.js +673 -671
  140. package/server/routes/admin-shieldqr.js +90 -0
  141. package/server/routes/admin-trust-monitor.js +83 -0
  142. package/server/routes/admin.js +549 -261
  143. package/server/routes/ads.js +130 -130
  144. package/server/routes/agent-workspace.js +540 -540
  145. package/server/routes/api.js +150 -150
  146. package/server/routes/auth.js +71 -71
  147. package/server/routes/billing.js +57 -45
  148. package/server/routes/commander.js +316 -316
  149. package/server/routes/demo-showcase.js +332 -332
  150. package/server/routes/demo-store.js +154 -0
  151. package/server/routes/discovery.js +2348 -417
  152. package/server/routes/gateway.js +173 -157
  153. package/server/routes/governance.js +208 -0
  154. package/server/routes/license.js +251 -240
  155. package/server/routes/mesh.js +469 -469
  156. package/server/routes/noscript.js +543 -543
  157. package/server/routes/plans.js +33 -0
  158. package/server/routes/premium-v2.js +686 -686
  159. package/server/routes/premium.js +724 -724
  160. package/server/routes/providers.js +650 -0
  161. package/server/routes/runtime.js +2148 -2147
  162. package/server/routes/shieldqr.js +88 -0
  163. package/server/routes/sovereign.js +465 -385
  164. package/server/routes/universal.js +200 -185
  165. package/server/routes/wab-api.js +850 -501
  166. package/server/runtime/container-worker.js +111 -111
  167. package/server/runtime/container.js +448 -448
  168. package/server/runtime/distributed-worker.js +362 -362
  169. package/server/runtime/event-bus.js +210 -210
  170. package/server/runtime/index.js +253 -253
  171. package/server/runtime/queue.js +599 -599
  172. package/server/runtime/replay.js +666 -666
  173. package/server/runtime/sandbox.js +266 -266
  174. package/server/runtime/scheduler.js +534 -534
  175. package/server/runtime/session-engine.js +293 -293
  176. package/server/runtime/state-manager.js +188 -188
  177. package/server/security/cross-site-redactor.js +196 -0
  178. package/server/security/dry-run.js +180 -0
  179. package/server/security/human-gate-rate-limit.js +147 -0
  180. package/server/security/human-gate-transports.js +178 -0
  181. package/server/security/human-gate.js +281 -0
  182. package/server/security/index.js +368 -368
  183. package/server/security/intent-engine.js +245 -0
  184. package/server/security/reward-guard.js +171 -0
  185. package/server/security/rollback-store.js +239 -0
  186. package/server/security/token-scope.js +404 -0
  187. package/server/security/url-policy.js +139 -0
  188. package/server/services/agent-chat.js +506 -506
  189. package/server/services/agent-learning.js +601 -575
  190. package/server/services/agent-memory.js +625 -625
  191. package/server/services/agent-mesh.js +555 -539
  192. package/server/services/agent-symphony.js +717 -717
  193. package/server/services/agent-tasks.js +1807 -1807
  194. package/server/services/api-key-engine.js +292 -261
  195. package/server/services/cluster.js +894 -894
  196. package/server/services/commander.js +738 -738
  197. package/server/services/edge-compute.js +440 -440
  198. package/server/services/email.js +233 -204
  199. package/server/services/governance.js +466 -0
  200. package/server/services/hosted-runtime.js +205 -205
  201. package/server/services/lfd.js +635 -635
  202. package/server/services/local-ai.js +389 -389
  203. package/server/services/marketplace.js +270 -270
  204. package/server/services/metering.js +182 -182
  205. package/server/services/modules/affiliate-intelligence.js +93 -93
  206. package/server/services/modules/agent-firewall.js +90 -90
  207. package/server/services/modules/bounty.js +89 -89
  208. package/server/services/modules/collective-bargaining.js +92 -92
  209. package/server/services/modules/dark-pattern.js +66 -66
  210. package/server/services/modules/gov-intelligence.js +45 -45
  211. package/server/services/modules/neural.js +55 -55
  212. package/server/services/modules/notary.js +49 -49
  213. package/server/services/modules/price-time-machine.js +86 -86
  214. package/server/services/modules/protocol.js +104 -104
  215. package/server/services/negotiation.js +439 -439
  216. package/server/services/plans.js +214 -0
  217. package/server/services/plugins.js +771 -771
  218. package/server/services/premium.js +1 -1
  219. package/server/services/price-intelligence.js +566 -566
  220. package/server/services/price-shield.js +1137 -1137
  221. package/server/services/provider-clients.js +740 -0
  222. package/server/services/reputation.js +465 -465
  223. package/server/services/search-engine.js +357 -357
  224. package/server/services/security.js +513 -513
  225. package/server/services/self-healing.js +843 -843
  226. package/server/services/shieldqr.js +322 -0
  227. package/server/services/sovereign-shield.js +542 -0
  228. package/server/services/ssl-inspector.js +42 -0
  229. package/server/services/ssl-monitor.js +167 -0
  230. package/server/services/stripe.js +205 -192
  231. package/server/services/swarm.js +788 -788
  232. package/server/services/universal-scraper.js +662 -661
  233. package/server/services/verification.js +481 -481
  234. package/server/services/vision.js +1163 -1163
  235. package/server/services/wab-crypto.js +178 -0
  236. package/server/utils/cache.js +125 -125
  237. package/server/utils/migrate.js +81 -81
  238. package/server/utils/safe-fetch.js +228 -0
  239. package/server/utils/secureFields.js +50 -50
  240. package/server/ws.js +161 -161
  241. package/templates/artisan-marketplace.yaml +104 -104
  242. package/templates/book-price-scout.yaml +98 -98
  243. package/templates/electronics-price-tracker.yaml +108 -108
  244. package/templates/flight-deal-hunter.yaml +113 -113
  245. package/templates/freelancer-direct.yaml +116 -116
  246. package/templates/grocery-price-compare.yaml +93 -93
  247. package/templates/hotel-direct-booking.yaml +113 -113
  248. package/templates/local-services.yaml +98 -98
  249. package/templates/olive-oil-tunisia.yaml +88 -88
  250. package/templates/organic-farm-fresh.yaml +101 -101
  251. package/templates/restaurant-direct.yaml +97 -97
  252. package/public/score.html +0 -263
  253. package/server/migrations/006_growth_suite.sql +0 -138
  254. package/server/routes/growth.js +0 -962
  255. package/server/services/fairness-engine.js +0 -409
  256. package/server/services/fairness.js +0 -420
package/README.ar.md CHANGED
@@ -1,1152 +1,1304 @@
1
- <div dir="rtl" align="right">
2
-
3
- # Web Agent Bridge (WAB) — جسر الوكيل الذكي
4
-
5
- [![CI](https://github.com/abokenan444/web-agent-bridge/actions/workflows/ci.yml/badge.svg)](https://github.com/abokenan444/web-agent-bridge/actions/workflows/ci.yml)
6
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
- [![Node.js](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](https://nodejs.org/)
8
- [![Docker](https://img.shields.io/badge/docker-ready-blue.svg)](https://hub.docker.com/)
9
-
10
- **برمجية وسيطة مفتوحة المصدر تربط وكلاء الذكاء الاصطناعي بالمواقع الإلكترونية — توفر واجهة أوامر موحدة للأتمتة الذكية.**
11
-
12
- 🌐 **الموقع الرسمي:** [https://webagentbridge.com](https://webagentbridge.com)جرّب مساحة عمل الوكيل الذكي ولوحات التحكم والعديد من الميزات الأخرى مباشرة.
13
-
14
- يتيح WAB لأصحاب المواقع إضافة سكريبت يكشف واجهة `window.AICommands` لوكلاء الذكاء الاصطناعي. بدلاً من تحليل شيفرة HTML المعقدة، يقرأ الوكيل قائمة الإجراءات المتاحة وينفذها بدقة وأمان.
15
-
16
- **[English Documentation](README.md)** | **العربية**
17
-
18
- ---
19
-
20
- ## ✨ المميزات
21
-
22
- - **اكتشاف تلقائي** يكتشف الأزرار والنماذج وروابط التنقل تلقائياً
23
- - **نظام صلاحيات** — تحكم دقيق بما يمكن لوكلاء الذكاء الاصطناعي فعله
24
- - **واجهة موحدة** كائن `window.AICommands` موحد يستخدمه أي وكيل
25
- - **تحديد معدل الاستخدام** — حماية مدمجة ضد الإساءة
26
- - **لوحة تحليلات** تتبع تفاعل وكلاء الذكاء الاصطناعي مع موقعك
27
- - **إجراءات مخصصة** — سجّل إجراءاتك الخاصة مع معالجات مخصصة
28
- - **تحليلات فورية** — عبر WebSocket لمراقبة النشاط لحظياً
29
- - **توافق WebDriver BiDi** دعم البروتوكولات المعيارية للمتصفحات
30
- - **مستويات اشتراك** نواة مجانية + ميزات متقدمة مدفوعة
31
- - **نظام أحداث** اشترك في أحداث الجسر للمراقبة
32
- - **صندوق حماية أمني** — عزل كامل مع توكنات جلسة، تحقق من الأصل، تأمين تلقائي
33
- - **محددات ذاتية الإصلاح** مقاومة لتغييرات DOM في المواقع الديناميكية (SPA)
34
- - **وضع التخفي** — محاكاة سلوك بشري (حركة فأرة، كتابة طبيعية، تمرير تدريجي)
35
- - **قواعد بيانات متعددة** — SQLite + PostgreSQL + MySQL عبر محوّلات قابلة للتبديل
36
- - **SDK للوكلاء** — حزمة أدوات جاهزة لبناء وكلاء ذكاء اصطناعي
37
- - **بنية الإضافات** — نظام إضافات ديناميكي مع تنفيذ قائم على الخطافات، تثبيت لكل موقع، ترتيب أولويات، تقييمات، وتدقيق
38
- - **خدمة الرؤية** — تحليل لقطات شاشة متعدد الموفرين (Moondream محلي، OpenAI، Anthropic، Ollama) مع كشف العناصر التفاعلية وتشفير AES-256-GCM
39
- - **محرك العدالة** — طبقة حياد تضمن فرصة متساوية للمواقع الصغيرة والكبيرة مع بحث مرجح بالعدالة وتتبع شفافية العمولات
40
- - **ذاكرة الوكيل**ذاكرة سلوكية دائمة مع ٤ أنواع ذاكرة، ٥ فئات، ارتباطات دلالية، تقييم الأهمية، وانتهاء صلاحية مؤقت
41
- - **تحليل حركة المرور المتقدم** كشف أكثر من ٣٠ نوع بوت، تحليل سلوكي، كشف شذوذ، كشف استغلالات أمنية (SQL injection، XSS)
42
- - **خدمة البريد الإلكتروني** بريد SMTP (ترحيب، تسجيل، إعادة تعيين كلمة المرور) مع قوالب HTML
43
- - **تتبع بدون JavaScript**نقطة بكسل تتبع ١×١ لجمع التحليلات عند عدم توفر JavaScript
44
- - **محول WAB-MCP**كشف قدرات مواقع WAB كأدوات MCP لـ Claude وGPT وGemini والوكلاء المتوافقة
45
- - **إضافة WordPress**إضافة WordPress أصلية مع صفحة إعدادات، صناديق وصف لكل صفحة، توليد مستند اكتشاف، وعنصر لوحة تحكم
46
- - **متصفح WAB (سطح المكتب)** متصفح Electron مستقل مع حاجب إعلانات مدمج (٨٠+ نطاق)، درع الاحتيال، تصنيف عدالة، دردشة وكيل، إشارات، سجل
47
- - **متصفح PWA (الهاتف)** — تطبيق ويب تقدمي لـ Android/iOS مع حجب إعلانات، بحث DuckDuckGo، كشف احتيال، تصفية شركات التقنية الكبرى
48
- - **SDK اكتشاف المخططات** استخراج JSON-LD schema.org من جانب الخادم مع توليد تلميحات إجراءات WAB تلقائياً
49
-
50
- ### الإصدار 2.0ميزات الحصن الرقمي
51
-
52
- - **محرك التفاوض اللحظي** يتفاوض وكيل الذكاء الاصطناعي على الأسعار مباشرة مع المواقع عبر جلسات متعددة الجولات. ٨ أنواع شروط (كميات، ولاء، وقت، أول شراء، قيمة سلة، موسمية، عضوية، إحالة) و٤ أنواع خصومات (نسبة، مبلغ ثابت، شحن مجاني، هدية). يشمل حدود يومية وقيم حد أدنى وسجل كامل
53
- - **درع مقاومة التزييف**محرك تحقق متقاطع يقارن DOM مع لقطات الشاشة، يتحقق من الأسعار مقابل المعايير السوقية، يفحص الاتساق الزمني، ويقيس تشابه النصوص. ٤ مستويات خطورة (بسيط ← احتيال) و٥ إجراءات استجابة (تحذير، إيقاف، تأكيد بشري، تصحيح تلقائي، حظر)
54
- - **نظام السمعة اللامركزي** شهادات ثقة موقعة بـ HMAC من شبكة الوكلاء تغطي ٦ أنواع شهادات (شراء، حجز، استعلام، نموذج، تنقل، تحقق). ٧ مستويات ثقة (مجهول ← محظور)، اضمحلال زمني، مقاومة Sybil، لوحة متصدرين عالمية، ونظام طعن/نزاع
55
- - **لوحة السيادة**مركز قيادة لحظي يعرض رادار العدالة، درع الخصوصية، سجل التفاوض، فحوصات التحقق، ومبدّل نماذج الذكاء الاصطناعي. يكشف نقطة `/api/sovereign/dashboard/sovereign` للبيانات المجمعة
56
- - **متجر قوالب الوكلاء** ١١ قالب YAML جاهز (حجز فنادق، مقارنة بقالة، سوق حرفيين، صفقات طيران، إلخ) مع تشغيل من سطر الأوامر: `npx wab-agent run template.yaml`
57
- - **تبديل عقل الوكيل** نظام تشغيل AI محلي يكتشف Ollama وllama.cpp تلقائياً مع دعم APIs متوافقة مع OpenAI. تتبع قدرات النماذج (نص/رؤية)، إدارة نوافذ السياق، توجيه حسب زمن الاستجابة، وتسجيل الاستدلال
58
- - **تنسيق الوكيل عبر المواقع** وكيل واحد يدير عدة مواقع WAB في نفس الوقت عبر `WABMultiAgent`. قارن الأسعار بين المتاجر، اجمع البيانات، نفّذ إجراءات متوازية، واعثر على أفضل صفقة تلقائياً
59
-
60
- ### الإصدار 2.3شبكة الوكلاء الخاصة (العقل الموزّع)
61
-
62
- - **بروتوكول التواصل بين الوكلاء** الوكلاء يتواصلون عبر شبكة خاصة مع ٥ قنوات مدمجة (تنبيهات، اكتشافات، تكتيكات، مفاوضات، تصويت). ٦ أنواع رسائل مع تقييم الثقة، إزالة الوكلاء الخاملين تلقائياً عبر نبضات القلب، تحقق الأقران من المعرفة المشتركة. كل الاتصال يبقى محلياً
63
- - **التعلم المعزز المحلي** الوكلاء يتعلمون من كل قرار للمستخدم باستخدام خوارزمية UCB1 متعددة الأذرع، تحديث السياسات بالنزول التدريجي مع تنشيط sigmoid، تخفيض زمني، واستخراج الأنماط المتسلسلة. بدون أي مكالمات API خارجية — التعلم بالكامل محلي
64
- - **منسق السيمفونية** — أربعة وكلاء متخصصين (باحث، محلل، مفاوض، حارس) يتعاونون ذاتياً عبر محركات قائمة على القواعد. ٥ قوالب، خط أنابيب من ٦ مراحل (تحليل ← بحث ← تفاوض ← حراسة ← تركيب ← قرارحق نقض الحارس للأمان، إجماع مرجح. تسجيل كامل للمراحل مع تتبع المدة. بدون أي اعتماد على LLM خارجية
65
- - **لوحة شبكة الوكلاء**عرض مباشر لشبكة الوكلاء: الوكلاء النشطون، قنوات الاتصال، قاعدة المعرفة المشتركة، تركيبات السيمفونية، ومقاييس أداء التعلم
66
-
67
- ### الإصدار 2.4 — القائد والذكاء على الحافة
68
-
69
- - **نظام القائد (Commander)** — محرك تنسيق مهام محلي يفكك الأهداف العليا إلى رسوم بيانية مهام (DAG). سجل وكلاء مع تتبع القدرات، محرك تنفيذ متوازٍ، تكامل تعلم لتغذية راجعة من النتائج، وتنسيق حوسبة طرفية
70
- - **نظام الحوسبة الطرفية (Edge Compute)** يحول كل جهاز مستخدم إلى عقدة AI سيادية. تحليل المعدات (CPU, RAM, GPU)، تشفير AES-256-GCM بين العقد، موازنة حمل مرجحة، مراقبة صحة بنبضات القلب مع تجاوز فشل تلقائي، وتشكيل أسراب حسب القدرات
71
- - **محرك التنفيذ بالسرب**إطلاق عدة وكلاء بالتوازي لحل مهمة واحدة. استراتيجيات قابلة للتكوين (متوازي، متسلسل، هجين)، دمج النتائج بأفضل درجة، تخصص بالأدوار، تجميع مرجح بالعدالة، وتقييم ثقة لكل وكيل
72
-
73
- ### الإصدار 3.0نظام تشغيل الوكلاء (طبقة التنفيذ للويب)
74
-
75
- الإصدار 3.0 يحوّل WAB من أداة أتمتة متقدمة إلى **نظام تشغيل حقيقي للوكلاء** طبقة تنفيذ كاملة لوكلاء الذكاء الاصطناعي على الويب، منافس لـ MCP لكنه مصمم خصيصاً للتفاعل مع المتصفح.
76
-
77
- - **بروتوكول WAB (WABP) v1.0.0** — بروتوكول رسمي مع سجل أوامر JSON Schema، رسائل مُنمطة، التحقق من المدخلات/المخرجات، وتعريفات أوامر مُنسّخة. ١٠ أوامر مدمجة (اكتشاف، تنفيذ، تنفيذ دلالي، تسجيل وكيل، إرسال مهمة، حالة مهمة، مقارنة تجارية، تفاوض تجاري، إرسال شبكة، استدلال AI). كل أمر يعلن عن القدرات المطلوبة ومستوى الخطر وصلاحيات الوصول
78
- - **تفاوض القدرات**منح قدرات ديناميكي بين الوكلاء والمواقع. موافقة تلقائية حسب مستوى الخطر (منخفض = موافقة تلقائية، عالي = يتطلب سياسة)، تحديد معدل لكل قدرة، منح قابلة للانتهاء مع تتبع الاستخدام، ودعم إبطال كامل
79
- - **محرك تشغيل الوكلاء** — نظام تشغيل مهام بمستوى إنتاجي مع جدولة بقائمة أولويات، حل التبعيات، إعادة المحاولة بتراجع أسي، إيقاف/استئناف/إلغاء، حدود تزامن، وانتقالات حالة. ناقل أحداث غير متزامن مع وسيط، أحرف بدل مساحات الأسماء، ذاكرة إعادة (١٠ آلاف حدث)، وقائمة الرسائل الميتة
80
- - **صندوق حماية التنفيذ**عزل لكل مهمة مع حدود موارد (مهلة، ذاكرة قصوى، حد استدعاءات الشبكة، حد عمليات DOM)، قوائم نطاقات مسموحة، حظر محددات CSS، فحوصات قدرات وقت التنفيذ، وسجل تدقيق كامل لكل عملية
81
- - **مدير الحالة**حفظ حالة الوكيل بنقاط تفتيش مُسمّاة، تراجع لأي نقطة تفتيش، انتقالات حالة بالتحقق، عمليات دمج، وتنظيف بانتهاء الصلاحية
82
- - **حزمة المراقبة**مسجل JSON هيكلي مع مسجلات فرعية ومخارج قابلة للتوصيل، متتبع موزع بفترات أب-ابن (متوافق مع OpenTelemetryومجمع مقاييس بعدادات ومقاييس ورسوم بيانية (مئينات p50/p90/p95/p99) وسلاسل زمنية للوحات التحكم
83
- - **نموذج الأمان**هوية الوكيل (تسجيل، مصادقة بمفتاح API مشفر، إدارة جلسات بمدة صلاحية، قوائم IP المسموحة، إبطال)، توقيع الأوامر (HMAC-SHA256 مع رمز فريد + طابع زمني، مقارنة آمنة زمنياً)، وعزل المواقع (تحكم وصول لكل موقع، وكلاء مسموحون/محظورون، حد تزامن أقصى، حظر محددات، تصنيف بيانات)
84
- - **مستوى التحكم** — مدير الوكلاء لدورة حياة النشر (نشر، تعيين لمواقع، فحوصات صحة، إلغاء نشر) ومحرك السياسات بقواعد مُنمّطة، تقييم شروط (يساوي، يحتوي، نمط، حد أدنى، حد أقصى، ضمن)، ربط سياسات بأولوية، وتطبيق على مستوى الكيان
85
- - **مستوى البيانات**محلل الإجراءات الدلالية يربط صيغة `domain.action` (مثل `checkout.addItem`) بالتنفيذ الفعلي لكل موقع. المنفّذ يوجّه المهام عبر التتبع + المقاييس، يدعم أوضاع التنفيذ الدلالي/الخط الأنبوبي/المتوازي، مع ٨ إجراءات دلالية مدمجة للسلة والبحث والمصادقة والتنقل والمحتوى
86
- - **تجريد LLM متعدد النماذج** — واجهة موحدة لـ OpenAI (محادثة + تضمينات)، Anthropic (API الرسائل)، وOllama (نماذج محلية مع اكتشاف تلقائي). مدير LLM يوفر سلسلة احتياطية تلقائية عبر جميع الموفرين، تخزين مؤقت للاستجابات (٥ دقائق)، تتبع التكاليف عبر عدد الرموز، وقائمة نماذج
87
- - **السجل والنظام البيئي**سجل الأوامر (كـ npm لأوامر WAB تسجيل، اكتشاف، بحث حسب الفئة/الوسم/القدرة، تتبع الاستخدام)، سجل المواقع (دليل مواقع WAB مع التحقق، قائمة القدرات، تتبع الزيارات)، وسجل القوالب (قوالب سير عمل قابلة لإعادة الاستخدام مع عدد التنزيلات والتقييمات)
88
- - **واجهة API الموحدة لنظام التشغيل**جميع طبقات نظام التشغيل مكشوفة عبر نقاط REST على `/api/os/*`: اكتشاف البروتوكول، هوية/مصادقة الوكيل، CRUD المهام، التنفيذ الدلالي، النشر، السياسات، العزل، المراقبة (مقاييس/آثار/سجلات)، السجل (أوامر/مواقع/قوالب)، عمليات LLM، توقيع الأوامر، وأحداث Server-Sent Events للبث المباشر
89
- - **عميل WABAgentOS في SDK** فئة `WABAgentOS` جديدة في SDK مع كتابة TypeScript كاملة لجميع عمليات نظام التشغيل: تسجيل مصادقة تفاوض قدرات إرسال مهام تنفيذ دلالي ← استعلام المراقبة ← الاشتراك في الأحداث
90
-
91
- ### الإصدار 3.2بوابة API والوحدات المتقدمة
92
-
93
- يقدم الإصدار 3.2 **بوابة API موحدة** على `/api/v1` مع 10 وحدات متقدمة لحماية وكلاء الذكاء الاصطناعي وحقوق المستهلك وتتبع الأسعار والامتثال التنظيمي. جميع الوحدات تستخدم مصادقة مركزية بمفتاح API مع تحكم وصول حسب الخطة.
94
-
95
- 🌐 **توثيق API المباشر:** [webagentbridge.com/api](https://webagentbridge.com/api) (English / العربية)
96
-
97
- #### خطط API والأسعار
98
-
99
- | الخطة | السعر | الطلبات/يوم | الطلبات/دقيقة | الوحدات |
100
- |-------|-------|-------------|---------------|---------|
101
- | **مجانية** | $0/شهر | 100 | 10 | البروتوكول، آلة الزمن السعرية، الأنماط المظلمة، المكافآت |
102
- | **احترافية** | $29/شهر | 10,000 | 100 | كل المجاني + الجدار الناري، العصبي، التفاوض، التسويق |
103
- | **أعمال** | $149/شهر | 100,000 | 500 | جميع الوحدات العشر (شاملة كاتب العدل والاستخبارات الحكومية) |
104
- | **مؤسسات** | مخصص | غير محدود | مخصص | جميع الوحدات + SLA + خيار التشغيل المحلي |
105
-
106
- **احصل على مفتاح API:** `POST /api/v1/keys/generate` مع `{"plan": "FREE", "owner": "اسمك", "email": "you@example.com"}`
107
-
108
- #### الوحدات العشر
109
-
110
- | # | الوحدة | المسار | النوع | الخطة الأدنى | الوصف |
111
- |---|--------|--------|-------|-------------|-------|
112
- | 01 | **جدار حماية الوكلاء** | `/api/v1/firewall` | 🟡 API مفتوح · المحرك مغلق | احترافية | يفحص الروابط والمحتوى للكشف عن حقن الأوامر والتصيد والنطاقات الخبيثة |
113
- | 02 | **كاتب العدل التشفيري** | `/api/v1/notary` | 🔴 مغلق بالكامل | أعمال | يصدر شهادات تشفيرية مقبولة قانونياً لإثبات التمييز السعري |
114
- | 03 | **كاشف الأنماط المظلمة** | `/api/v1/dark-pattern` | 🔴 مغلق بالكامل | مجانية | يكشف جميع الأنماط المظلمة الـ 17 المصنفة من OECD مع تقارير EU DSA/DMA |
115
- | 04 | **التفاوض الجماعي** | `/api/v1/bargaining` | 🟡 الانضمام مفتوح · المحرك مغلق | احترافية | تجميع مشترين مجهولين للتفاوض على خصومات جماعية |
116
- | 05 | **الاستخبارات الحكومية** | `/api/v1/gov` | 🔴 مغلق بالكامل | أعمال | قاعدة بيانات الامتثال التنظيمي وفحص امتثال النطاقات |
117
- | 06 | **آلة الزمن السعرية** | `/api/v1/price` | 🟡 API مفتوح · قاعدة البيانات مغلقة | مجانية | تتبع الأسعار التاريخية وكشف التخفيضات الوهمية |
118
- | 07 | **المحرك العصبي** | `/api/v1/neural` | 🔴 مغلق بالكامل | احترافية | محرك AI محلي لتحليل الروابط وتصنيف المحتوى والتضمينات |
119
- | 08 | **بروتوكول WAB** | `/api/v1/protocol` | 🟢 مفتوح المصدر بالكامل | مجانية | مدقق بروتوكول الثقة wab.json المفتوح ونقطة المخطط |
120
- | 09 | **شبكة المكافآت** | `/api/v1/bounty` | 🟡 الإبلاغ مفتوح · القواعد مغلقة | مجانية | شبكة بلاغات وتهديدات مدعومة من المجتمع مع لوحة متصدرين |
121
- | 10 | **استخبارات التسويق بالعمولة** | `/api/v1/affiliate` | 🟡 API مفتوح · قاعدة البيانات مغلقة | احترافية | يكشف التلاعب بروابط التسويق وحشو ملفات تعريف الارتباط |
122
-
123
- **مفتاح الأنواع:** 🟢 مفتوح المصدر بالكامل · 🟡 واجهة API عامة مع محرك خاص · 🔴 مغلق بالكامل (يعيد 503 بدون المحرك)
124
-
125
- #### المصادقة
126
-
127
- جميع نقاط النهاية تتطلب مفتاح API عبر إحدى ثلاث طرق:
128
-
129
- ```bash
130
- # الخيار 1: ترويسة التفويض (موصى بها)
131
- curl -X POST https://www.webagentbridge.com/api/v1/firewall/scan \
132
- -H "Authorization: Bearer wab_live_pro_YOUR_KEY" \
133
- -H "Content-Type: application/json" \
134
- -d '{"url": "https://example.com", "content": "محتوى الصفحة..."}'
135
-
136
- # الخيار 2: ترويسة X-WAB-Key
137
- curl -H "X-WAB-Key: wab_live_pro_YOUR_KEY" \
138
- https://www.webagentbridge.com/api/v1/protocol/check/example.com
139
-
140
- # الخيار 3: معامل الاستعلام
141
- curl https://www.webagentbridge.com/api/v1/bounty/stats?api_key=wab_live_fre_YOUR_KEY
142
- ```
143
-
144
- #### إدارة المفاتيح
145
-
146
- | نقطة النهاية | الطريقة | الوصف |
147
- |-------------|---------|-------|
148
- | `/api/v1/keys/generate` | POST | إنشاء مفتاح API جديد |
149
- | `/api/v1/keys/validate` | POST | التحقق من صلاحية مفتاح |
150
- | `/api/v1/keys/usage` | GET | التحقق من الاستخدام والحصص |
151
- | `/api/v1/keys/revoke` | POST | إلغاء مفتاح |
152
- | `/api/v1/keys/rotate` | POST | تدوير مفتاح (إلغاء القديم وإصدار جديد) |
153
-
154
- #### نقاط البوابة العامة
155
-
156
- | نقطة النهاية | الطريقة | الوصف |
157
- |-------------|---------|-------|
158
- | `/api/v1/health` | GET | فحص صحة البوابة (عام) |
159
- | `/api/v1/plans` | GET | قائمة الخطط والأسعار (عام) |
160
- | `/api/v1/modules` | GET | قائمة الوحدات المتاحة (عام) |
161
-
162
- #### كيفية الاشتراك
163
-
164
- 1. زُر [webagentbridge.com/api](https://webagentbridge.com/api) لاستكشاف الوحدات المتاحة
165
- 2. أنشئ مفتاح API **مجاني**: `POST /api/v1/keys/generate` مع اسمك وبريدك
166
- 3. ابدأ الطلبات فوراً لأي وحدة مجانية
167
- 4. ارتقِ إلى **احترافية** ($29/شهر) أو **أعمال** ($149/شهر) للوصول للوحدات المتقدمة
168
- 5. أدِر مفاتيحك عبر نقاط `/api/v1/keys/*`
169
-
170
- ---
171
-
172
- ## 🚀 البدء السريع
173
-
174
- ### ١. التثبيت والتشغيل
175
-
176
- ```bash
177
- # الطريقة أ: استنساخ وتشغيل
178
- git clone https://github.com/abokenan444/web-agent-bridge.git
179
- cd web-agent-bridge
180
- npm install
181
- cp .env.example .env
182
- npm start
183
-
184
- # الطريقة ب: npx (أمر واحد)
185
- npx web-agent-bridge start
186
-
187
- # الطريقة ج: Docker
188
- docker compose up -d
189
- ```
190
-
191
- ### ٢. إنشاء حساب
192
-
193
- زُر `http://localhost:3000/register` وأنشئ حساباً، ثم أضف موقعك من لوحة التحكم.
194
-
195
- ### ٣. إضافة السكريبت لموقعك
196
-
197
- ```html
198
- <script>
199
- window.AIBridgeConfig = {
200
- licenseKey: "WAB-XXXXX-XXXXX-XXXXX-XXXXX",
201
- agentPermissions: {
202
- readContent: true,
203
- click: true,
204
- fillForms: true,
205
- scroll: true
206
- }
207
- };
208
- </script>
209
- <script src="http://localhost:3000/script/ai-agent-bridge.js"></script>
210
- ```
211
-
212
- ### ٤. الآن يمكن لوكلاء الذكاء الاصطناعي التفاعل
213
-
214
- ```javascript
215
- // من جانب وكيل الذكاء الاصطناعي
216
- const bridge = window.AICommands;
217
- const actions = bridge.getActions(); // اكتشاف الإجراءات
218
- await bridge.execute("signup"); // تنفيذ إجراء
219
- const info = bridge.getPageInfo(); // معلومات الصفحة
220
- ```
221
-
222
- ---
223
-
224
- ## 📁 هيكل المشروع
225
-
226
- ```
227
- web-agent-bridge/
228
- ├── server/ # خادم Express.js
229
- │ ├── index.js # نقطة البداية
230
- │ ├── ws.js # WebSocket للتحليلات الفورية
231
- │ ├── routes/
232
- │ │ ├── auth.js # المصادقة (تسجيل/دخول)
233
- │ │ ├── api.js # واجهة المواقع والتحليلات
234
- │ │ ├── license.js # التحقق من التراخيص والتتبع
235
- │ │ ├── admin.js # واجهة الإدارة
236
- │ │ ├── admin-premium.js # تحليلات الإدارة المتقدمة
237
- │ │ ├── billing.js # تكامل Stripe للمدفوعات
238
- │ │ ├── sovereign.js # الإصدار 2.0: تفاوض، سمعة، تحقق، لوحة سيادة
239
- │ │ ├── mesh.js # الإصدار 2.3: مسارات شبكة الوكلاء
240
- │ │ ├── commander.js # الإصدار 2.4: مسارات تنسيق المهام
241
- │ │ ├── premium.js # الميزات المتقدمة
242
- │ │ ├── premium-v2.js # ذاكرة، رؤية، إصلاح، سرب، إضافات
243
- │ │ ├── discovery.js # اكتشاف WAB + بحث مرجح بالعدالة
244
- │ │ ├── wab-api.js # نقل WAB عبر HTTP
245
- │ │ └── noscript.js # بكسل تتبع بدون JavaScript
246
- ├── services/
247
- ├── negotiation.js # محرك التفاوض اللحظي
248
- ├── verification.js # درع مقاومة التزييف
249
- ├── reputation.js # نظام السمعة اللامركزي
250
- │ │ ├── agent-mesh.js # بروتوكول التواصل بين الوكلاء
251
- │ │ ├── agent-learning.js # التعلم المعزز المحلي (UCB1)
252
- │ │ ├── agent-symphony.js # منسق السيمفونية أدوار، ٦ مراحل)
253
- │ │ ├── agent-memory.js # ذاكرة الوكيل مع ارتباطات
254
- │ │ ├── commander.js # تنسيق المهام ورسوم المهام (DAG)
255
- │ │ ├── edge-compute.js # حوسبة طرفية / عقد AI سيادية
256
- │ │ ├── swarm.js # محرك التنفيذ بالسرب
257
- │ │ ├── fairness.js # محرك العدالة والحياد
258
- │ │ ├── vision.js # تحليل الرؤية (متعدد الموفرين)
259
- │ │ ├── self-healing.js # تصحيحات المحددات ذاتية الإصلاح
260
- │ │ ├── local-ai.js # نظام تشغيل AI المحلي
261
- │ │ ├── plugins.js # بنية الإضافات (خطافات، سجل)
262
- │ │ ├── premium.js # تحليل حركة المرور وكشف البوتات
263
- │ │ ├── email.js # خدمة البريد SMTP
264
- │ └── stripe.js # تكامل مدفوعات Stripe
265
- │ ├── middleware/
266
- │ │ ├── auth.js # وسيط JWT
267
- │ │ ├── adminAuth.js # مصادقة الإدارة
268
- │ │ └── rateLimits.js # تحديد معدل الطلبات متعدد الطبقات
269
- │ ├── models/
270
- │ │ ├── db.js # عمليات قاعدة البيانات
271
- │ │ └── adapters/ # محولات SQLite, PostgreSQL, MySQL
272
- │ ├── migrations/ # ترحيلات SQL مرقمة
273
- └── utils/
274
- ├── cache.js # ذاكرة مؤقتة TTL + طابور تحليلات
275
- ├── migrate.js # مشغل الترحيلات
276
- └── secureFields.js # أدوات تشفير الحقول
277
- ├── public/ # الواجهة الأمامية
278
- │ ├── index.html # الصفحة الرئيسية
279
- │ ├── dashboard.html # لوحة التحكم
280
- │ ├── premium-dashboard.html # لوحة التحليلات المتقدمة
281
- │ ├── docs.html # التوثيق
282
- ├── login.html / register.html # صفحات المصادقة
283
- │ ├── admin/ # لوحة الإدارة
284
- │ ├── pwa/ # تطبيق الويب التقدمي (متصفح الهاتف)
285
- │ │ ├── manifest.json # بيان PWA
286
- │ │ ├── sw.js # عامل الخدمة (أولوية غير متصل)
287
- ├── index.html # واجهة المتصفح للهاتف
288
- │ │ ├── app.js # حاجب إعلانات، درع احتيال، عدالة
289
- │ │ ├── app.css # سمة داكنة محسنة للهاتف
290
- │ └── icons/ # أيقونات PWA
291
- ├── script/
292
- ├── wab.min.js # مكتبة WAB المصغرة
293
- ├── wab-consent.js # لافتة موافقة GDPR/CCPA
294
- │ ├── wab-schema.js # اكتشاف schema.org
295
- │ │ ├── wab.d.ts # تعريفات TypeScript
296
- │ └── wab-consent.d.ts # تعريفات TypeScript للموافقة
297
- │ ├── js/ # JavaScript الواجهة
298
- └── css/ # أوراق الأنماط
299
- ├── script/
300
- └── ai-agent-bridge.js # سكريبت الجسر (ضعه في موقعك)
301
- ├── examples/ # أمثلة الوكلاء
302
- │ ├── puppeteer-agent.js # Puppeteer + window.AICommands
303
- │ ├── bidi-agent.js # بروتوكول WebDriver BiDi
304
- │ ├── vision-agent.js # تحليل رؤية/لغة طبيعية
305
- │ ├── mcp-agent.js # محول MCP لـ Claude/GPT
306
- │ ├── cross-site-agent.js # تنسيق متعدد النطاقات
307
- │ ├── next-app-router/ # تكامل Next.js App Router
308
- ├── shopify-hydrogen/ # واجهة Shopify Hydrogen
309
- │ ├── wordpress-elementor/ # WordPress + Elementor
310
- └── saas-dashboard/ # إجراءات لوحة SaaS
311
- ├── packages/ # أغلفة أطر العمل
312
- │ ├── react/ # @web-agent-bridge/react
313
- │ ├── vue/ # @web-agent-bridge/vue
314
- ├── svelte/ # @web-agent-bridge/svelte
315
- └── langchain/ # @web-agent-bridge/langchain
316
- ├── sdk/ # SDK الوكيل
317
- ├── index.js # WABAgent لـ Puppeteer/Playwright
318
- │ └── schema-discovery.js # استخراج schema.org من الخادم
319
- ├── wab-mcp-adapter/ # محول MCP لـ Claude/GPT/Gemini
320
- │ ├── index.js # تعريفات أدوات MCP
321
- └── package.json
322
- ├── wab-browser/ # متصفح Electron لسطح المكتب
323
- │ ├── main.js # العملية الرئيسية لـ Electron
324
- │ ├── preload.js # التحميل المسبق
325
- └── package.json
326
- ├── web-agent-bridge-wordpress/ # إضافة WordPress
327
- │ ├── web-agent-bridge.php # نقطة دخول الإضافة
328
- ├── includes/ # فئات PHP (API, Actions, Dashboard)
329
- │ └── assets/ # CSS/JS الإضافة
330
- ├── bin/
331
- │ ├── cli.js # نقطة دخول CLI (wab-agent)
332
- └── wab.js # مشغل الوكلاء
333
- ├── templates/ # ١١ قالب YAML لمتجر الوكلاء
334
- ├── docs/
335
- │ ├── SPEC.md # مواصفة بروتوكول WAB
336
- │ └── DEPLOY.md # دليل النشر
337
- ├── demo-store/ # متجر تجريبي للاختبار
338
- ├── deploy/ # إعدادات Nginx
339
- ├── tests/ # اختبارات Jest + Supertest
340
- ├── .env # متغيرات البيئة
341
- └── package.json
342
- ```
343
-
344
- ---
345
-
346
- ## 🔌 واجهات API
347
-
348
- ### المصادقة
349
- | النقطة | الطريقة | الوصف |
350
- |---|---|---|
351
- | `/api/auth/register` | POST | إنشاء حساب |
352
- | `/api/auth/login` | POST | تسجيل الدخول |
353
- | `/api/auth/me` | GET | بيانات المستخدم الحالي |
354
-
355
- ### المواقع
356
- | النقطة | الطريقة | الوصف |
357
- |---|---|---|
358
- | `/api/sites` | GET | قائمة مواقعك |
359
- | `/api/sites` | POST | إضافة موقع جديد |
360
- | `/api/sites/:id` | GET | تفاصيل الموقع |
361
- | `/api/sites/:id/config` | PUT | تحديث الإعدادات |
362
- | `/api/sites/:id/tier` | PUT | تغيير مستوى الاشتراك |
363
- | `/api/sites/:id` | DELETE | حذف الموقع |
364
- | `/api/sites/:id/snippet` | GET | كود التضمين |
365
- | `/api/sites/:id/analytics` | GET | بيانات التحليلات |
366
-
367
- ### التراخيص (عامة)
368
- | النقطة | الطريقة | الوصف |
369
- |---|---|---|
370
- | `/api/license/verify` | POST | التحقق من مفتاح الترخيص |
371
- | `/api/license/token` | POST | تبادل `siteId` مقابل توكن جلسة |
372
- | `/api/license/session` | POST | التحقق من توكن الجلسة |
373
- | `/api/license/track` | POST | تسجيل حدث تحليلي |
374
-
375
- ### واجهات السيادة (الإصدار 2.0)
376
- | النقطة | الطريقة | الوصف |
377
- |---|---|---|
378
- | `/api/sovereign/reputation/agents` | POST | تسجيل وكيل جديد |
379
- | `/api/sovereign/reputation/attestations` | POST | إرسال شهادة ثقة |
380
- | `/api/sovereign/reputation/sites/:siteId` | GET | سمعة الموقع |
381
- | `/api/sovereign/reputation/leaderboard` | GET | لوحة المتصدرين |
382
- | `/api/sovereign/negotiation/rules` | POST | إنشاء قاعدة تفاوض |
383
- | `/api/sovereign/negotiation/sessions` | POST | فتح جلسة تفاوض |
384
- | `/api/sovereign/negotiation/sessions/:id/propose` | POST | تقديم عرض مضاد |
385
- | `/api/sovereign/negotiation/sessions/:id/confirm` | POST | تأكيد الصفقة |
386
- | `/api/sovereign/verify/price` | POST | التحقق من السعر |
387
- | `/api/sovereign/verify/text` | POST | التحقق من النص |
388
- | `/api/sovereign/verify/page` | POST | التحقق الشامل للصفحة |
389
- | `/api/sovereign/dashboard/sovereign` | GET | بيانات لوحة السيادة |
390
-
391
- ### شبكة الوكلاء (الإصدار 2.3)
392
- | النقطة | الطريقة | الوصف |
393
- |---|---|---|
394
- | `/api/mesh/agents` | POST | تسجيل وكيل في الشبكة |
395
- | `/api/mesh/agents` | GET | عرض وكلاء الشبكة |
396
- | `/api/mesh/channels` | GET | عرض قنوات الاتصال |
397
- | `/api/mesh/messages` | POST | نشر رسالة في قناة |
398
- | `/api/mesh/messages/:channel` | GET | قراءة رسائل القناة |
399
- | `/api/mesh/knowledge` | POST | مشاركة معرفة |
400
- | `/api/mesh/knowledge` | GET | استعلام قاعدة المعرفة |
401
- | `/api/mesh/votes` | POST | بدء تصويت |
402
- | `/api/mesh/votes/:id/cast` | POST | الإدلاء بصوت |
403
- | `/api/mesh/votes/:id/tally` | GET | نتائج التصويت |
404
-
405
- ### القائد (الإصدار 2.4)
406
- | النقطة | الطريقة | الوصف |
407
- |---|---|---|
408
- | `/api/commander/missions` | POST | إنشاء مهمة جديدة |
409
- | `/api/commander/missions/:id/launch` | POST | إطلاق المهمة |
410
- | `/api/commander/missions/:id` | GET | حالة المهمة |
411
- | `/api/commander/missions` | GET | عرض جميع المهام |
412
- | `/api/commander/agents` | POST | تسجيل وكيل |
413
- | `/api/commander/agents` | GET | عرض الوكلاء |
414
- | `/api/commander/edge/nodes` | POST | تسجيل عقدة حوسبة طرفية |
415
- | `/api/commander/edge/nodes` | GET | عرض العقد |
416
- | `/api/commander/ai/models` | GET | اكتشاف نماذج AI المحلية |
417
- | `/api/commander/ai/infer` | POST | تشغيل استدلال AI محلي |
418
- | `/api/commander/stats` | GET | إحصائيات المنصة الموحدة |
419
-
420
- ### الميزات المتقدمة (الإصدار 2)
421
- | النقطة | الطريقة | الوصف |
422
- |---|---|---|
423
- | `/api/premium/v2/memory` | POST | تخزين ذاكرة الوكيل |
424
- | `/api/premium/v2/memory/:agentId` | GET | استرجاع ذكريات الوكيل |
425
- | `/api/premium/v2/memory/associate` | POST | إنشاء ارتباط بين ذكريات |
426
- | `/api/premium/v2/vision/analyze` | POST | تحليل لقطة شاشة |
427
- | `/api/premium/v2/vision/elements` | POST | استخراج عناصر تفاعلية |
428
- | `/api/premium/v2/healing/corrections` | POST | تسجيل تصحيح محدد |
429
- | `/api/premium/v2/healing/resolve` | POST | حل محدد معطل |
430
- | `/api/premium/v2/swarm/execute` | POST | إطلاق مهمة سرب |
431
- | `/api/premium/v2/swarm/:id` | GET | نتائج السرب |
432
- | `/api/premium/v2/plugins` | GET | عرض الإضافات المتاحة |
433
- | `/api/premium/v2/plugins/:id/install` | POST | تثبيت إضافة |
434
- | `/api/premium/v2/plugins/:id/hooks` | POST | تنفيذ خطاف إضافة |
435
-
436
- ### الاكتشاف والعدالة
437
- | النقطة | الطريقة | الوصف |
438
- |---|---|---|
439
- | `/api/discovery` | GET | مستند اكتشاف WAB |
440
- | `/api/discovery/search` | GET | بحث مرجح بالعدالة |
441
- | `/api/discovery/register` | POST | تسجيل موقع في دليل WAB |
442
-
443
- ### بروتوكول WAB (نقل HTTP)
444
- | النقطة | الطريقة | الوصف |
445
- |---|---|---|
446
- | `/api/wab/session` | POST | تبادل توكن جلسة |
447
- | `/api/wab/actions` | GET | الإجراءات المتاحة |
448
- | `/api/wab/execute` | POST | تنفيذ إجراء عبر HTTP |
449
-
450
- ### WebSocket
451
- | النقطة | الوصف |
452
- |---|---|
453
- | `ws://localhost:3000/ws/analytics` | تحليلات فورية لحظية |
454
-
455
- ---
456
-
457
- ## ⚙️ واجهة سكريبت الجسر
458
-
459
- عند التحميل، يكشف `window.AICommands` الطرق التالية:
460
-
461
- | الطريقة | الوصف |
462
- |---|---|
463
- | `getActions(category?)` | قائمة الإجراءات المتاحة |
464
- | `getAction(name)` | الحصول على إجراء محدد |
465
- | `execute(name, params?)` | تنفيذ إجراء |
466
- | `readContent(selector)` | قراءة محتوى عنصر |
467
- | `getPageInfo()` | معلومات الصفحة والجسر |
468
- | `waitForElement(selector, timeout?)` | انتظار ظهور عنصر DOM |
469
- | `waitForNavigation(timeout?)` | انتظار تغيير العنوان |
470
- | `registerAction(def)` | تسجيل إجراء مخصص |
471
- | `authenticate(key, meta?)` | مصادقة الوكيل |
472
- | `refresh()` | إعادة مسح الصفحة |
473
- | `toBiDi()` | الحصول على سياق WebDriver BiDi |
474
- | `executeBiDi(command)` | تنفيذ أمر بصيغة BiDi |
475
-
476
- ---
477
-
478
- ## 🔧 الإعدادات
479
-
480
- ```javascript
481
- window.AIBridgeConfig = {
482
- licenseKey: "WAB-XXXXX-XXXXX-XXXXX-XXXXX",
483
- agentPermissions: {
484
- readContent: true, // قراءة النص
485
- click: true, // النقر على العناصر
486
- fillForms: false, // ملء/إرسال النماذج
487
- scroll: true, // تمرير الصفحة
488
- navigate: false, // التنقل بين الصفحات
489
- apiAccess: false, // استدعاء API داخلي (Pro+)
490
- automatedLogin: false, // تسجيل دخول تلقائي (Starter+)
491
- extractData: false // استخراج البيانات (Pro+)
492
- },
493
- restrictions: {
494
- allowedSelectors: [],
495
- blockedSelectors: [".private", "[data-private]"],
496
- requireLoginForActions: ["apiAccess"],
497
- rateLimit: { maxCallsPerMinute: 60 }
498
- },
499
- logging: { enabled: false, level: "basic" }
500
- };
501
- ```
502
-
503
- ---
504
-
505
- ## 🔄 توافق WebDriver BiDi
506
-
507
- يدعم السكريبت بروتوكول WebDriver BiDi للتواصل مع الوكلاء عبر معايير موحدة:
508
-
509
- ```javascript
510
- // الحصول على سياق BiDi
511
- const context = window.__wab_bidi.getContext();
512
-
513
- // إرسال أمر BiDi
514
- const result = await window.__wab_bidi.send({
515
- id: 1,
516
- method: 'wab.executeAction',
517
- params: { name: 'signup', data: {} }
518
- });
519
-
520
- // الأوامر المدعومة:
521
- // wab.getContext — سياق الصفحة والقدرات
522
- // wab.getActions — قائمة الإجراءات
523
- // wab.executeAction تنفيذ إجراء
524
- // wab.readContent — قراءة محتوى
525
- // wab.getPageInfo — معلومات الصفحة
526
- ```
527
-
528
- ---
529
-
530
- ## 📊 التحليلات الفورية (WebSocket)
531
-
532
- اتصل بنقطة WebSocket لتلقي إشعارات فورية:
533
-
534
- ```javascript
535
- const ws = new WebSocket('ws://localhost:3000/ws/analytics');
536
-
537
- // المصادقة
538
- ws.onopen = () => {
539
- ws.send(JSON.stringify({
540
- type: 'auth',
541
- token: 'your-jwt-token',
542
- siteId: 'your-site-id'
543
- }));
544
- };
545
-
546
- // تلقي الأحداث
547
- ws.onmessage = (event) => {
548
- const data = JSON.parse(event.data);
549
- console.log('حدث جديد:', data);
550
- // { type: 'analytic', actionName: '...', agentId: '...', success: true }
551
- };
552
- ```
553
-
554
- ---
555
-
556
- ## 💰 مستويات الاشتراك
557
-
558
- | الميزة | مجاني | Starter | Pro | Enterprise |
559
- |---|:---:|:---:|:---:|:---:|
560
- | اكتشاف تلقائي | ✓ | ✓ | ✓ | ✓ |
561
- | نقر/تمرير | ✓ | ✓ | ✓ | ✓ |
562
- | ملء النماذج | ✓ | ✓ | ✓ | ✓ |
563
- | تسجيل أساسي | ✓ | ✓ | ✓ | ✓ |
564
- | تسجيل دخول تلقائي | ✗ | ✓ | ✓ | ✓ |
565
- | لوحة تحليلات | ✗ | ✓ | ✓ | ✓ |
566
- | وصول API | ✗ | ✗ | ✓ | ✓ |
567
- | استخراج البيانات | ✗ | ✗ | ✓ | ✓ |
568
- | تحديد معدل مخصص | | | | ✓ |
569
- | Webhooks | ✗ | ✗ | ✗ | ✓ |
570
-
571
- ---
572
-
573
- ## 🐳 تشغيل باستخدام Docker
574
-
575
- ```bash
576
- # بناء وتشغيل
577
- docker compose up -d
578
-
579
- # أو البناء يدوياً
580
- docker build -t web-agent-bridge .
581
- docker run -p 3000:3000 -e JWT_SECRET=your-secret -e JWT_SECRET_ADMIN=your-admin-secret web-agent-bridge
582
- ```
583
-
584
- ---
585
-
586
- ## 🧪 الاختبارات
587
-
588
- ```bash
589
- npm test
590
- ```
591
-
592
- تشمل الاختبارات:
593
- - واجهات المصادقة (تسجيل، دخول، التحقق من التوكن)
594
- - واجهات إدارة المواقع (CRUD، الإعدادات، المستويات)
595
- - واجهات التراخيص (التحقق، التتبع)
596
- - خدمة الصفحات الثابتة
597
-
598
- ---
599
-
600
- ## 🤖 Agent SDK — حزمة أدوات الوكيل
601
-
602
- يضم WAB حزمة SDK جاهزة لبناء وكلاء ذكاء اصطناعي. راجع [`sdk/README.md`](sdk/README.md) للتوثيق الكامل.
603
-
604
- ```javascript
605
- const puppeteer = require('puppeteer');
606
- const { WABAgent } = require('web-agent-bridge/sdk');
607
-
608
- const browser = await puppeteer.launch();
609
- const page = await browser.newPage();
610
- const agent = new WABAgent(page);
611
-
612
- await agent.navigateAndWait('https://example.com');
613
- const actions = await agent.getActions();
614
- await agent.execute('signup', { email: 'user@test.com' });
615
- await browser.close();
616
- ```
617
-
618
- ---
619
-
620
- ## 📚 أمثلة الوكلاء
621
-
622
- أمثلة جاهزة للتشغيل في مجلد [`examples/`](examples/):
623
-
624
- | الملف | الوصف |
625
- |---|---|
626
- | `puppeteer-agent.js` | وكيل أساسي باستخدام Puppeteer و `window.AICommands` |
627
- | `bidi-agent.js` | وكيل يستخدم بروتوكول WebDriver BiDi عبر `window.__wab_bidi` |
628
- | `vision-agent.js` | وكيل رؤية — يحل أوصاف اللغة الطبيعية إلى إجراءات WAB |
629
- | `mcp-agent.js` | استخدام محول MCP لـ Claude وGPT مع اكتشاف الأدوات |
630
- | `cross-site-agent.js` | تنسيق متعدد النطاقات — مقارنة أسعار، تجميع بيانات، أفضل الصفقات |
631
-
632
- ### أمثلة التكامل مع أطر العمل
633
-
634
- | المسار | الوصف |
635
- |---|---|
636
- | `examples/next-app-router/` | تكامل Next.js App Router مع `@web-agent-bridge/react` |
637
- | `examples/shopify-hydrogen/` | واجهة Shopify Hydrogen مع إجراءات سلة عملية |
638
- | `examples/wordpress-elementor/` | إعداد WordPress + Elementor مع إجراءات مدعومة بالمخطط |
639
- | `examples/saas-dashboard/` | لوحة SaaS بنمط Notion مع مؤشرات أداء وتشغيل سير عمل |
640
-
641
- ```bash
642
- node examples/puppeteer-agent.js http://localhost:3000
643
- node examples/bidi-agent.js http://localhost:3000
644
- node examples/vision-agent.js http://localhost:3000
645
- ```
646
-
647
- ---
648
-
649
- ## 🗄️ دعم قواعد بيانات متعددة
650
-
651
- يستخدم WAB قاعدة SQLite افتراضياً ويدعم PostgreSQL و MySQL عبر محوّلات قاعدة البيانات.
652
-
653
- ```bash
654
- # SQLite (افتراضي لا حاجة لإعداد)
655
- npm start
656
-
657
- # PostgreSQL
658
- npm install pg
659
- DB_ADAPTER=postgresql DATABASE_URL=postgres://user:pass@localhost:5432/wab npm start
660
-
661
- # MySQL
662
- npm install mysql2
663
- DB_ADAPTER=mysql DATABASE_URL=mysql://user:pass@localhost:3306/wab npm start
664
- ```
665
-
666
- ---
667
-
668
- ## 💻 واجهة سطر الأوامر (CLI)
669
-
670
- ```bash
671
- # تشغيل الخادم
672
- npx web-agent-bridge start
673
- npx web-agent-bridge start --port 8080
674
-
675
- # تهيئة مشروع جديد
676
- npx web-agent-bridge init
677
- ```
678
-
679
- ---
680
-
681
- ## 🔒 الأمان
682
-
683
- ### صندوق الحماية الأمني (Security Sandbox)
684
-
685
- كل نسخة من الجسر تعمل داخل صندوق حماية يوفر:
686
-
687
- - **توكنات جلسة** — توكن تشفيري فريد لكل جلسة يمنع هجمات الإعادة (Replay Attacks)
688
- - **التحقق من الأصل** — فقط الأصول المصرح بها يمكنها التفاعل مع الجسر
689
- - **تحقق من الأوامر** — كل أمر يُفحص من حيث الصيغة والطول وقائمة الحظر
690
- - **سجل تدقيق** — كل إجراء يُسجّل بالتوقيت وبصمة الوكيل والحالة
691
- - **حماية التصعيد** — محاولات الوصول لميزات أعلى تؤدي لتأمين تلقائي بعد 5 مخالفات
692
- - **القفل التلقائي** — الجسر يصبح للقراءة فقط عند اكتشاف انتهاكات أمنية
693
-
694
- ### حماية الخادم
695
-
696
- - **CSP (سياسة أمان المحتوى)** — حماية ضد XSS وحقن السكريبت
697
- - **حماية iframe** — `frame-ancestors: 'none'` يمنع تحميل الموقع في إطارات غير موثوقة
698
- - **تشفير كلمات المرور** — bcrypt بتكلفة 12
699
- - **JWT** — توكن مؤقت ينتهي بعد 7 أيام
700
- - **Rate Limiting** — تحديد معدل الطلبات
701
- - **Helmet** حماية رؤوس HTTP
702
- - **حظر المحددات** — تقييد وصول الوكيل لعناصر محددة
703
-
704
- ---
705
-
706
- ## 🔄 المحددات ذاتية الإصلاح (Self-Healing Selectors)
707
-
708
- المواقع الحديثة (SPAs) تتغير باستمرار. نظام الإصلاح الذاتي يضمن استمرار عمل المحددات:
709
-
710
- 1. **البصمات**عند اكتشاف الإجراءات، يُخزن WAB بصمة غنية لكل عنصر
711
- 2. **7 استراتيجيات** — عند تعطل محدد، يجرب WAB: `data-wab-id`، `data-testid`، ID، `aria-label`، `name`، مطابقة نصية ضبابية، موضع + دور
712
- 3. **مراقب SPA** — `MutationObserver` يرصد تغييرات DOM ويعيد اكتشاف الإجراءات تلقائياً
713
-
714
- ```javascript
715
- // أضف هذا للاستقرار الأقصى
716
- <button data-wab-id="signup-btn">إنشاء حساب</button>
717
- ```
718
-
719
- ---
720
-
721
- ## 🥷 وضع التخفي (Stealth Mode)
722
-
723
- لمواجهة أنظمة الحماية من البوتات:
724
-
725
- ```javascript
726
- window.AIBridgeConfig = { stealth: { enabled: true } };
727
- ```
728
-
729
- | الميزة | الوصف |
730
- |---|---|
731
- | سلسلة أحداث الفأرة | `mouseover → mouseenter → mousemove → mousedown → mouseup → click` |
732
- | محاكاة الكتابة | حرف بحرف مع تأخير 30-120 مللي ثانية |
733
- | تمرير تدريجي | خطوات متعددة بسرعة متغيرة |
734
- | تأخيرات عشوائية | 50-400 مللي ثانية بين الإجراءات |
735
-
736
- ---
737
-
738
- ## 🛠️ التقنيات
739
-
740
- - **الخلفية**: Node.js + Express + WebSocket (ws)
741
- - **قاعدة البيانات**: SQLite (عبر better-sqlite3) مع مشغل ترحيلات
742
- - **المصادقة**: JWT + bcrypt + توكنات جلسة (مقفلة بالنطاق)
743
- - **التخزين المؤقت**: ذاكرة مؤقتة TTL + طابور تحليلات مجمع
744
- - **المدفوعات**: تكامل Stripe مع بوابة الفوترة
745
- - **الواجهة**: HTML/CSS/JS بدون أطر عمل
746
- - **أغلفة أطر العمل**: React, Vue 3, Svelte (اختيارية)
747
- - **تكامل LLM**: محول LangChain، محول MCP
748
- - **الأمان**: Helmet, CORS, CSP, Rate Limiting متعدد الطبقات
749
- - **الحاويات**: Docker + Docker Compose
750
- - **CI/CD**: GitHub Actions (اختبار + نشر تلقائي في npm)
751
- - **الاختبارات**: Jest + Supertest
752
-
753
- ---
754
-
755
- ## 💰 محرك التفاوض اللحظي
756
-
757
- يحدد أصحاب المواقع قواعد التفاوض. يتفاوض وكيل الذكاء الاصطناعي على الأسعار في جلسات متعددة الجولات:
758
-
759
- ```javascript
760
- // فتح جلسة تفاوض
761
- const session = await fetch('/api/sovereign/negotiation/sessions', {
762
- method: 'POST',
763
- headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
764
- body: JSON.stringify({
765
- siteId: 'site-uuid',
766
- agentId: 'agent-id',
767
- originalPrice: 49.99,
768
- itemId: 'product-123',
769
- itemName: 'زيت زيتون ١ لتر'
770
- })
771
- }).then(r => r.json());
772
-
773
- // تقديم عرض مضاد
774
- const counter = await fetch(`/api/sovereign/negotiation/sessions/${session.sessionId}/propose`, {
775
- method: 'POST',
776
- headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
777
- body: JSON.stringify({ agentId: 'agent-id', proposedPrice: 39.99 })
778
- }).then(r => r.json());
779
- // { status: 'accepted', finalPrice: 42.49, message: 'صفقة! ...' }
780
- ```
781
-
782
- ### أنواع الشروط
783
- | الشرط | الوصف |
784
- |---|---|
785
- | `bulk_quantity` | خصم على الكميات الكبيرة |
786
- | `loyalty` | مكافأة للعملاء المتكررين |
787
- | `time_based` | عروض الساعة السعيدة |
788
- | `first_purchase` | خصم ترحيبي للمشترين الجدد |
789
- | `cart_value` | حد أدنى لقيمة السلة |
790
- | `seasonal` | عروض موسمية بتواريخ محددة |
791
- | `membership` | أسعار خاصة للأعضاء |
792
- | `referral` | خصومات الإحالة |
793
-
794
- ---
795
-
796
- ## 🛡️ درع مقاومة التزييف (Anti-Hallucination Shield)
797
-
798
- محرك تحقق متقاطع يكتشف أكاذيب الذكاء الاصطناعي قبل وصولها للمستخدم:
799
-
800
- ```javascript
801
- // التحقق من سعر
802
- const result = await fetch('/api/sovereign/verify/price', {
803
- method: 'POST',
804
- headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
805
- body: JSON.stringify({
806
- siteId: 'site-uuid',
807
- domValue: 29.99,
808
- visionValue: 29.99,
809
- category: 'electronics',
810
- itemName: 'كابل USB'
811
- })
812
- }).then(r => r.json());
813
- // → { verified: true, confidence: 0.98, severity: 'none' }
814
- ```
815
-
816
- ### طبقات التحقق
817
- ١. **DOM مقابل الرؤية** — يقارن السعر المستخرج من DOM مع قراءة لقطة الشاشة
818
- ٢. **المعيار السوقي** — يتحقق من السعر مقابل البيانات التاريخية للفئة
819
- ٣. **الاتساق الزمني** — يفحص هل تغير السعر بشكل مريب منذ آخر تحقق
820
- ٤. **النتيجة المركبة** مزيج مرجح من جميع الطبقات مع تصنيف الخطورة
821
-
822
- ---
823
-
824
- ## 📦 متجر قوالب الوكلاء (Community Agent Hub)
825
-
826
- قوالب YAML جاهزة لحالات الاستخدام الشائعة. شغّل أي قالب من سطر الأوامر:
827
-
828
- ```bash
829
- # عرض القوالب المتاحة
830
- npx wab-agent templates
831
-
832
- # تشغيل قالب
833
- npx wab-agent run olive-oil-tunisia --budget 50 --region tunis
834
-
835
- # تشغيل مع خادم مخصص
836
- npx wab-agent run hotel-direct-booking --server https://yourserver.com
837
- ```
838
-
839
- ### القوالب المتاحة
840
- | القالب | الوصف |
841
- |---|---|
842
- | `olive-oil-tunisia` | زيت زيتون من مزارع تونسية صغيرة |
843
- | `hotel-direct-booking` | حجز فنادق مباشر بدون وسطاء |
844
- | `artisan-marketplace` | منتجات يدوية من حرفيين مستقلين |
845
- | `grocery-price-compare` | مقارنة أسعار البقالة بين المتاجر المحلية |
846
- | `freelancer-direct` | مستقلون بدون رسوم منصات |
847
- | `restaurant-direct` | مطاعم بدون تطبيقات توصيل |
848
- | `book-price-scout` | كتب من مكتبات مستقلة |
849
- | `flight-deal-hunter` | رحلات مباشرة من شركات الطيران |
850
- | `electronics-price-tracker` | تتبع أسعار الإلكترونيات |
851
- | `local-services` | مزودي خدمات محليين |
852
- | `organic-farm-fresh` | منتجات عضوية مباشرة من المزارع |
853
-
854
- ---
855
-
856
- ## 🎯 نظام القائد (Commander)
857
-
858
- محرك تنسيق مهام محلي يفكك الأهداف العليا إلى مهام مترابطة ويوزعها على وكلاء متخصصين:
859
-
860
- ```javascript
861
- // إنشاء مهمة
862
- const mission = await fetch('/api/commander/missions', {
863
- method: 'POST',
864
- headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
865
- body: JSON.stringify({
866
- goal: 'إيجاد أرخص زيت زيتون في ٥ متاجر',
867
- strategy: 'parallel',
868
- agents: ['researcher-1', 'analyst-1', 'negotiator-1']
869
- })
870
- }).then(r => r.json());
871
-
872
- // إطلاق المهمة
873
- await fetch(`/api/commander/missions/${mission.id}/launch`, {
874
- method: 'POST', headers: { 'Authorization': 'Bearer ' + token }
875
- });
876
- ```
877
-
878
- | القدرة | الوصف |
879
- |---|---|
880
- | **تفكيك المهام** | تحويل الأهداف إلى رسوم بيانية مهام (DAG) مع تتبع التبعيات |
881
- | **سجل الوكلاء** | تتبع قدرات وأداء الوكلاء المسجلين |
882
- | **تنفيذ متوازٍ** | تشغيل المهام المستقلة بالتوازي عبر عدة وكلاء |
883
- | **تعلم من النتائج** | تسجيل النتائج لتغذية راجعة في التعلم المعزز |
884
- | **تنسيق حوسبة طرفية** | توزيع المهام الثقيلة على عقد الحافة |
885
-
886
- ---
887
-
888
- ## 🖥️ نظام الحوسبة الطرفية (Edge Compute)
889
-
890
- حوّل كل جهاز إلى عقدة AI سيادية — بدون سحابة مركزية:
891
-
892
- ```javascript
893
- // تسجيل جهاز كعقدة حوسبة طرفية
894
- await fetch('/api/commander/edge/nodes', {
895
- method: 'POST',
896
- headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
897
- body: JSON.stringify({
898
- name: 'حاسوبي',
899
- capabilities: { cpu: 8, ram: 16384, gpu: true },
900
- supportedTasks: ['text-inference', 'vision-analysis', 'price-comparison']
901
- })
902
- }).then(r => r.json());
903
- ```
904
-
905
- | القدرة | الوصف |
906
- |---|---|
907
- | **تحليل المعدات** | كشف إمكانيات CPU, RAM, GPU لكل عقدة |
908
- | **تشفير AES-256-GCM** | كل البيانات بين العقد مشفرة من الطرف للطرف |
909
- | **موازنة حمل مرجحة** | توجيه المهام حسب المعدات والتوفر |
910
- | **مراقبة بنبضات القلب** | تجاوز فشل تلقائي عند عدم استجابة العقد |
911
- | **تشكيل أسراب** | تجميع العقد حسب القدرات |
912
-
913
- ---
914
-
915
- ## 🐝 محرك التنفيذ بالسرب (Swarm)
916
-
917
- أطلق عدة وكلاء بالتوازي لحل مهمة واحدة ثم ادمج نتائجهم بذكاء:
918
-
919
- ```javascript
920
- const swarm = await fetch('/api/premium/v2/swarm/execute', {
921
- method: 'POST',
922
- headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
923
- body: JSON.stringify({
924
- task: 'أفضل عروض لاب توب تحت ١٠٠٠ دولار',
925
- strategy: 'parallel', // parallel | sequential | hybrid
926
- agentCount: 4,
927
- roles: ['researcher', 'analyst', 'price-checker', 'reviewer'],
928
- mergeStrategy: 'best-score' // best-score | fairness-weighted | consensus
929
- })
930
- }).then(r => r.json());
931
- ```
932
-
933
- ---
934
-
935
- ## ⚖️ محرك العدالة (Fairness Engine)
936
-
937
- طبقة حياد تضمن فرصة متساوية للمواقع الصغيرة والكبيرة:
938
-
939
- ```javascript
940
- // بحث مرجح بالعدالة (بدلاً من ترتيب الصلة فقط)
941
- const results = await fetch('/api/discovery/search?q=زيت+زيتون&fairness=true', {
942
- headers: { 'Authorization': 'Bearer ' + token }
943
- }).then(r => r.json());
944
- // المزارع الصغيرة تُرتّب بجانب أمازون — مرجحة بدرجة الحياد لا بـ SEO فقط
945
- ```
946
-
947
- ### كيف يعمل تقييم الحياد
948
- | العامل | الوزن | الوصف |
949
- |---|---|---|
950
- | **اكتمال الإعداد** | ٢٥٪ | مدى جودة إعداد WAB في الموقع |
951
- | **درجة الثقة** | ٢٥٪ | شهادات السمعة من شبكة الوكلاء |
952
- | **الشفافية** | ٢٥٪ | إفصاح العمولة، وضوح التسعير |
953
- | **الاستجابة** | ٢٥٪ | زمن استجابة API، وقت التشغيل، نجاح الإجراءات |
954
-
955
- ---
956
-
957
- ## 🧠 ذاكرة الوكيل (Agent Memory)
958
-
959
- ذاكرة سلوكية دائمة تسمح للوكلاء بتذكر تفضيلات المستخدم وبناء ارتباطات:
960
-
961
- ```javascript
962
- // تخزين ذاكرة
963
- await fetch('/api/premium/v2/memory', {
964
- method: 'POST',
965
- headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
966
- body: JSON.stringify({
967
- agentId: 'agent-1',
968
- type: 'preference', // preference | interaction | correction | pattern
969
- category: 'purchase', // navigation | purchase | search | form | custom
970
- key: 'العلامة-المفضلة',
971
- value: 'عضوي-فقط',
972
- importance: 0.9
973
- })
974
- }).then(r => r.json());
975
-
976
- // إنشاء ارتباطات بين الذكريات
977
- await fetch('/api/premium/v2/memory/associate', {
978
- method: 'POST',
979
- headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
980
- body: JSON.stringify({
981
- sourceId: 'memory-1',
982
- targetId: 'memory-2',
983
- relationship: 'leads_to' // leads_to | similar_to | replaces | depends_on
984
- })
985
- }).then(r => r.json());
986
- ```
987
-
988
- ---
989
-
990
- ## 👁️ خدمة الرؤية (Vision Analysis)
991
-
992
- تحليل لقطات شاشة متعدد الموفرين لكشف العناصر التفاعلية واستخراج البيانات:
993
-
994
- | الموفر | محلي؟ | الوصف |
995
- |---|---|---|
996
- | **Moondream** | ✅ | نموذج رؤية محلي خفيف |
997
- | **Ollama** | | نماذج محلية عبر Ollama (llava, bakllava) |
998
- | **OpenAI** | ❌ | GPT-4 Vision |
999
- | **Anthropic** | ❌ | Claude Vision |
1000
-
1001
- ---
1002
-
1003
- ## 🔌 بنية الإضافات (Plugin Architecture)
1004
-
1005
- نظام إضافات ديناميكي يسمح بامتدادات من أطراف ثالثة:
1006
-
1007
- ```javascript
1008
- // عرض الإضافات المتاحة
1009
- const plugins = await fetch('/api/premium/v2/plugins', {
1010
- headers: { 'Authorization': 'Bearer ' + token }
1011
- }).then(r => r.json());
1012
-
1013
- // تثبيت إضافة لموقعك
1014
- await fetch('/api/premium/v2/plugins/price-alert/install', {
1015
- method: 'POST',
1016
- headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
1017
- body: JSON.stringify({ siteId: 'site-uuid', config: { threshold: 10 } })
1018
- }).then(r => r.json());
1019
- ```
1020
-
1021
- ---
1022
-
1023
- ## 🔍 تحليل حركة المرور المتقدم (Traffic Intelligence)
1024
-
1025
- | القدرة | الوصف |
1026
- |---|---|
1027
- | **٣٠+ نوع بوت** | كشف Google, Bing, ChatGPT, Claude, Perplexity وغيرها |
1028
- | **تحليل سلوكي** | تصنيف سلوك الوكلاء حسب البصمة والمنصة والنوع |
1029
- | **كشف شذوذ** | كشف الارتفاعات المفاجئة وتحليل أنماط غير عادية |
1030
- | **كشف استغلالات أمنية** | رصد أنماط SQL injection, XSS, Rate anomalies |
1031
- | **تنبيهات Webhook** | إطلاق webhooks عند نشاط مشبوه |
1032
- | **تدقيق للامتثال** | سجل تدقيق كامل للتوافق التنظيمي |
1033
-
1034
- ---
1035
-
1036
- ## 🔗 محول WAB-MCP
1037
-
1038
- كشف قدرات مواقع WAB كأدوات [MCP](https://modelcontextprotocol.io/) لـ Claude وGPT وGemini:
1039
-
1040
- ```javascript
1041
- const { WABMCPAdapter } = require('wab-mcp-adapter');
1042
-
1043
- const adapter = new WABMCPAdapter({
1044
- siteUrl: 'https://shop.example.com',
1045
- transport: 'http' // http | websocket | direct
1046
- });
1047
-
1048
- const tools = await adapter.getTools();
1049
- const result = await adapter.executeTool('execute_action', {
1050
- name: 'addToCart', params: { sku: 'ABC123' }
1051
- });
1052
- ```
1053
-
1054
- ### أدوات MCP المدمجة
1055
- | الأداة | الوصف |
1056
- |---|---|
1057
- | `discover` | اكتشاف الإجراءات المتاحة تلقائياً |
1058
- | `get_actions` | قائمة كل الإجراءات مع المعاملات |
1059
- | `execute_action` | تنفيذ إجراء محدد |
1060
- | `read_content` | قراءة محتوى من الصفحة |
1061
- | `get_page_info` | معلومات وصفية عن الصفحة |
1062
- | `fairness_search` | بحث في دليل WAB مرجح بالعدالة |
1063
- | `authenticate` | مصادقة وكيل مع الموقع |
1064
-
1065
- ---
1066
-
1067
- ## 🖥️ متصفح WAB (سطح المكتب)
1068
-
1069
- متصفح Electron مستقل مع ميزات خصوصية وعدالة مدمجة:
1070
-
1071
- - **حاجب الإعلانات** — ٨٠+ نطاق محظور + مطابقة أنماط URL + قواعد CSS تجميلية
1072
- - **درع الاحتيال** — كشف نطاقات TLD مشبوهة وانتحال أسماء العلامات التجارية
1073
- - **تصنيف العدالة** أولوية للمواقع المستقلة، تنبيه عن تركز الشركات الكبرى
1074
- - **دردشة الوكيل** — مساعد AI مدمج للتصفح
1075
- - **الإشعارات** تحليل الصفحة مع تنبيهات أمان وعدالة
1076
- - **وضع الشبح** تصفح بخصوصية بدون تتبع
1077
- - **بحث ذكي** تكامل DuckDuckGo للبحث الخاص
1078
-
1079
- ```bash
1080
- # تشغيل متصفح WAB
1081
- cd wab-browser
1082
- npm install
1083
- npx electron .
1084
-
1085
- # بناء المثبت (Windows NSIS)
1086
- npm run build:win
1087
- ```
1088
-
1089
- ---
1090
-
1091
- ## 📱 متصفح PWA (الهاتف)
1092
-
1093
- تطبيق ويب تقدمي لـ Android وiOS قابل للتثبيت من أي متصفح هاتف:
1094
-
1095
- - **حاجب إعلانات**٤٥+ نطاق إعلاني محظور + مطابقة أنماط URL
1096
- - **كشف الاحتيال** — تنبيهات TLD مشبوهة وفحوصات انتحال العلامات
1097
- - **وضع العدالة** — تصفية مواقع التقنية الكبرى لتعزيز البدائل المستقلة
1098
- - **أولوية غير متصل** — عامل الخدمة يخزن أصول الواجهة مؤقتاً للتشغيل بدون إنترنت
1099
- - **بحث خاص** — تكامل DuckDuckGo (بدون تتبع Google)
1100
- - **دردشة وكيل** — مساعد AI مع احتياطي محلي
1101
-
1102
- ثبّته من: `https://yourserver.com/pwa/`
1103
-
1104
- ---
1105
-
1106
- ## 📦 إضافة WordPress
1107
-
1108
- إضافة WordPress أصلية لإضافة دعم WAB لأي موقع WordPress:
1109
-
1110
- | القدرة | الوصف |
1111
- |---|---|
1112
- | **صفحة إعدادات** | إعداد عنوان API، معرف الموقع، الصلاحيات |
1113
- | **إجراءات لكل صفحة** | صندوق وصف لإضافة إجراءات WAB مخصصة لكل صفحة/مقال |
1114
- | **مستند اكتشاف** | توليد تلقائي لنقطة اكتشاف WAB |
1115
- | **عنصر لوحة تحكم** | عرض حالة WAB وإحصائيات تفاعل الوكلاء |
1116
- | **كود قصير** | `[wab_bridge]` لتضمين WAB في صفحات محددة |
1117
- | **خطافات** | `wab_before_action` / `wab_after_action` لمنطق مخصص |
1118
-
1119
- راجع [`web-agent-bridge-wordpress/README.md`](web-agent-bridge-wordpress/README.md) للتوثيق الكامل.
1120
-
1121
- ---
1122
-
1123
- ## 📋 مواصفة بروتوكول WAB
1124
-
1125
- المواصفة المعيارية الكاملة متاحة في [`docs/SPEC.md`](docs/SPEC.md):
1126
-
1127
- | الطبقة | الوصف |
1128
- |---|---|
1129
- | **طبقة البروتوكول** | صيغة مستند الاكتشاف، بروتوكول الأوامر، بروتوكول العدالة |
1130
- | **طبقة التشغيل** | واجهة `window.AICommands`، محرك الاكتشاف التلقائي، صندوق الأمان |
1131
- | **طبقة النقل** | متغير JavaScript عام، WebSocket, HTTP, WebDriver BiDi, MCP |
1132
-
1133
- ### دورة الحياة من ٥ مراحل
1134
- ١. **اكتشاف** الوكيل يجد مستند اكتشاف WAB (`.well-known/wab.json` أو وسم سكريبت)
1135
- ٢. **مصادقة** الوكيل يستبدل `siteId` بتوكن جلسة
1136
- ٣. **تخطيط** — الوكيل يقرأ الإجراءات المتاحة ومعلومات الصفحة
1137
- ٤. **تنفيذ** الوكيل يشغل الإجراءات عبر الجسر
1138
- ٥. **تأكيد** — النتائج تُتحقق عبر درع مقاومة التزييف
1139
-
1140
- ---
1141
-
1142
- ## 🤝 المساهمة
1143
-
1144
- نرحب بالمساهمات! اقرأ [دليل المساهمة](CONTRIBUTING.md) للبدء.
1145
-
1146
- ---
1147
-
1148
- ## 📄 الرخصة
1149
-
1150
- MIT مجاني للاستخدام والتعديل والتوزيع.
1151
-
1152
- </div>
1
+ <div dir="rtl" align="right">
2
+
3
+ # Web Agent Bridge (WAB) — جسر الوكيل الذكي
4
+
5
+ [![CI](https://github.com/abokenan444/web-agent-bridge/actions/workflows/ci.yml/badge.svg)](https://github.com/abokenan444/web-agent-bridge/actions/workflows/ci.yml)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](https://nodejs.org/)
8
+ [![Docker](https://img.shields.io/badge/docker-ready-blue.svg)](https://hub.docker.com/)
9
+ [![One-Click DNS Discovery](https://img.shields.io/badge/DNS%20Discovery-One--Click-6366f1?style=flat-square&logo=dns&logoColor=white)](https://webagentbridge.com/activate)
10
+ [![Discord](https://img.shields.io/badge/Discord-%D8%A7%D9%86%D8%B6%D9%85%20%D9%84%D9%84%D9%85%D8%AC%D8%AA%D9%85%D8%B9-5865F2?logo=discord&logoColor=white)](https://discord.gg/NnbpJYEF)
11
+
12
+ **البروتوكول والمنصة المفتوحة للتفاعل بين الذكاء الاصطناعي والويب واجهة أوامر موحّدة، متصفح سيادي، درع هاتف، اكتشاف عبر DNS، شبكة وكلاء، وبوابة API موحّدة لتفاعل آمن بين الذكاء الاصطناعي والمواقع.**
13
+
14
+ 🌐 **الموقع الرسمي:** [https://webagentbridge.com](https://webagentbridge.com) جرّب مساحة عمل الوكيل الذكي ولوحات التحكم والعديد من الميزات الأخرى مباشرة.
15
+
16
+ يتيح WAB لأصحاب المواقع إضافة سكريبت يكشف واجهة `window.AICommands` لوكلاء الذكاء الاصطناعي. بدلاً من تحليل شيفرة HTML المعقدة، يقرأ الوكيل قائمة الإجراءات المتاحة وينفذها بدقة وأمان.
17
+
18
+ **[English Documentation](README.md)** | **العربية**
19
+
20
+ ---
21
+
22
+ ## 🌍 اكتشاف DNS بنقرة واحدة
23
+
24
+ اجعل موقعك قابلاً للاكتشاف فوراً من قِبَل وكلاء الذكاء الاصطناعي دون لمس سطر واحد من الكود. يستخدم WAB DNS Discovery سجل DNS TXT قياسياً لبث قدرات موقعك بشكل آمن عبر DNS over HTTPS (DoH).
25
+
26
+ **[فعّل اكتشاف WAB بنقرة واحدة](https://webagentbridge.com/activate)**
27
+
28
+ ### كيف يعمل:
29
+ 1. **أضف سجل TXT** إلى نطاقك (`_wab.yourdomain.com`)
30
+ 2. **وجهه** إلى ملف قدراتك (`v=wab1; endpoint=https://yourdomain.com/.well-known/wab.json`)
31
+ 3. **وكلاء الذكاء الاصطناعي** يستعلمون عن نطاقك عبر DoH ويعرفون فوراً ما يمكن لموقعك القيام به.
32
+
33
+ شاهد [فيديو الإعداد في 40 ثانية](https://webagentbridge.com/activate) أو استخدم [المدقق المباشر](https://webagentbridge.com/dns) لفحص نطاقك.
34
+
35
+ ---
36
+
37
+
38
+ ## المميزات
39
+
40
+ - **اكتشاف تلقائي**يكتشف الأزرار والنماذج وروابط التنقل تلقائياً
41
+ - **نظام صلاحيات**تحكم دقيق بما يمكن لوكلاء الذكاء الاصطناعي فعله
42
+ - **واجهة موحدة**كائن `window.AICommands` موحد يستخدمه أي وكيل
43
+ - **تحديد معدل الاستخدام**حماية مدمجة ضد الإساءة
44
+ - **لوحة تحليلات**تتبع تفاعل وكلاء الذكاء الاصطناعي مع موقعك
45
+ - **إجراءات مخصصة**سجّل إجراءاتك الخاصة مع معالجات مخصصة
46
+ - **تحليلات فورية**عبر WebSocket لمراقبة النشاط لحظياً
47
+ - **توافق WebDriver BiDi** — دعم البروتوكولات المعيارية للمتصفحات
48
+ - **مستويات اشتراك**نواة مجانية + ميزات متقدمة مدفوعة
49
+ - **نظام أحداث** — اشترك في أحداث الجسر للمراقبة
50
+ - **صندوق حماية أمني** عزل كامل مع توكنات جلسة، تحقق من الأصل، تأمين تلقائي
51
+ - **محددات ذاتية الإصلاح** — مقاومة لتغييرات DOM في المواقع الديناميكية (SPA)
52
+ - **وضع التخفي**محاكاة سلوك بشري (حركة فأرة، كتابة طبيعية، تمرير تدريجي)
53
+ - **قواعد بيانات متعددة**SQLite + PostgreSQL + MySQL عبر محوّلات قابلة للتبديل
54
+ - **SDK للوكلاء**حزمة أدوات جاهزة لبناء وكلاء ذكاء اصطناعي
55
+ - **بنية الإضافات**نظام إضافات ديناميكي مع تنفيذ قائم على الخطافات، تثبيت لكل موقع، ترتيب أولويات، تقييمات، وتدقيق
56
+ - **خدمة الرؤية**تحليل لقطات شاشة متعدد الموفرين (Moondream محلي، OpenAI، Anthropic، Ollama) مع كشف العناصر التفاعلية وتشفير AES-256-GCM
57
+ - **محرك العدالة**طبقة حياد تضمن فرصة متساوية للمواقع الصغيرة والكبيرة مع بحث مرجح بالعدالة وتتبع شفافية العمولات
58
+ - **ذاكرة الوكيل**ذاكرة سلوكية دائمة مع ٤ أنواع ذاكرة، ٥ فئات، ارتباطات دلالية، تقييم الأهمية، وانتهاء صلاحية مؤقت
59
+ - **تحليل حركة المرور المتقدم** — كشف أكثر من ٣٠ نوع بوت، تحليل سلوكي، كشف شذوذ، كشف استغلالات أمنية (SQL injection، XSS)
60
+ - **خدمة البريد الإلكتروني** بريد SMTP (ترحيب، تسجيل، إعادة تعيين كلمة المرور) مع قوالب HTML
61
+ - **تتبع بدون JavaScript** — نقطة بكسل تتبع ١×١ لجمع التحليلات عند عدم توفر JavaScript
62
+ - **محول WAB-MCP**كشف قدرات مواقع WAB كأدوات MCP لـ Claude وGPT وGemini والوكلاء المتوافقة
63
+ - **إضافة WordPress**إضافة WordPress أصلية مع صفحة إعدادات، صناديق وصف لكل صفحة، توليد مستند اكتشاف، وعنصر لوحة تحكم
64
+ - **متصفح WAB (سطح المكتب)** متصفح Electron مستقل مع حاجب إعلانات مدمج (٨٠+ نطاقدرع الاحتيال، تصنيف عدالة، دردشة وكيل، إشارات، سجل
65
+ - **متصفح PWA (الهاتف)**تطبيق ويب تقدمي لـ Android/iOS مع حجب إعلانات، بحث DuckDuckGo، كشف احتيال، تصفية شركات التقنية الكبرى
66
+ - **SDK اكتشاف المخططات** — استخراج JSON-LD schema.org من جانب الخادم مع توليد تلميحات إجراءات WAB تلقائياً
67
+
68
+ ### الإصدار 2.0 — ميزات الحصن الرقمي
69
+
70
+ - **محرك التفاوض اللحظي** يتفاوض وكيل الذكاء الاصطناعي على الأسعار مباشرة مع المواقع عبر جلسات متعددة الجولات. ٨ أنواع شروط (كميات، ولاء، وقت، أول شراء، قيمة سلة، موسمية، عضوية، إحالة) و٤ أنواع خصومات (نسبة، مبلغ ثابت، شحن مجاني، هدية). يشمل حدود يومية وقيم حد أدنى وسجل كامل
71
+ - **درع مقاومة التزييف**محرك تحقق متقاطع يقارن DOM مع لقطات الشاشة، يتحقق من الأسعار مقابل المعايير السوقية، يفحص الاتساق الزمني، ويقيس تشابه النصوص. ٤ مستويات خطورة (بسيط احتيال) و٥ إجراءات استجابة (تحذير، إيقاف، تأكيد بشري، تصحيح تلقائي، حظر)
72
+ - **نظام السمعة اللامركزي** — شهادات ثقة موقعة بـ HMAC من شبكة الوكلاء تغطي ٦ أنواع شهادات (شراء، حجز، استعلام، نموذج، تنقل، تحقق). ٧ مستويات ثقة (مجهول ← محظور)، اضمحلال زمني، مقاومة Sybil، لوحة متصدرين عالمية، ونظام طعن/نزاع
73
+ - **لوحة السيادة**مركز قيادة لحظي يعرض رادار العدالة، درع الخصوصية، سجل التفاوض، فحوصات التحقق، ومبدّل نماذج الذكاء الاصطناعي. يكشف نقطة `/api/sovereign/dashboard/sovereign` للبيانات المجمعة
74
+ - **متجر قوالب الوكلاء** — ١١ قالب YAML جاهز (حجز فنادق، مقارنة بقالة، سوق حرفيين، صفقات طيران، إلخ) مع تشغيل من سطر الأوامر: `npx wab-agent run template.yaml`
75
+ - **تبديل عقل الوكيل** نظام تشغيل AI محلي يكتشف Ollama وllama.cpp تلقائياً مع دعم APIs متوافقة مع OpenAI. تتبع قدرات النماذج (نص/رؤية)، إدارة نوافذ السياق، توجيه حسب زمن الاستجابة، وتسجيل الاستدلال
76
+ - **تنسيق الوكيل عبر المواقع** — وكيل واحد يدير عدة مواقع WAB في نفس الوقت عبر `WABMultiAgent`. قارن الأسعار بين المتاجر، اجمع البيانات، نفّذ إجراءات متوازية، واعثر على أفضل صفقة تلقائياً
77
+
78
+ ### الإصدار 2.3شبكة الوكلاء الخاصة (العقل الموزّع)
79
+
80
+ - **بروتوكول التواصل بين الوكلاء** الوكلاء يتواصلون عبر شبكة خاصة مع ٥ قنوات مدمجة (تنبيهات، اكتشافات، تكتيكات، مفاوضات، تصويت). ٦ أنواع رسائل مع تقييم الثقة، إزالة الوكلاء الخاملين تلقائياً عبر نبضات القلب، تحقق الأقران من المعرفة المشتركة. كل الاتصال يبقى محلياً
81
+ - **التعلم المعزز المحلي** الوكلاء يتعلمون من كل قرار للمستخدم باستخدام خوارزمية UCB1 متعددة الأذرع، تحديث السياسات بالنزول التدريجي مع تنشيط sigmoid، تخفيض زمني، واستخراج الأنماط المتسلسلة. بدون أي مكالمات API خارجية — التعلم بالكامل محلي
82
+ - **منسق السيمفونية**أربعة وكلاء متخصصين (باحث، محلل، مفاوض، حارس) يتعاونون ذاتياً عبر محركات قائمة على القواعد. ٥ قوالب، خط أنابيب من ٦ مراحل (تحليل بحث ← تفاوض ← حراسة ← تركيب ← قرارحق نقض الحارس للأمان، إجماع مرجح. تسجيل كامل للمراحل مع تتبع المدة. بدون أي اعتماد على LLM خارجية
83
+ - **لوحة شبكة الوكلاء** عرض مباشر لشبكة الوكلاء: الوكلاء النشطون، قنوات الاتصال، قاعدة المعرفة المشتركة، تركيبات السيمفونية، ومقاييس أداء التعلم
84
+
85
+ ### الإصدار 2.4القائد والذكاء على الحافة
86
+
87
+ - **نظام القائد (Commander)**محرك تنسيق مهام محلي يفكك الأهداف العليا إلى رسوم بيانية مهام (DAG). سجل وكلاء مع تتبع القدرات، محرك تنفيذ متوازٍ، تكامل تعلم لتغذية راجعة من النتائج، وتنسيق حوسبة طرفية
88
+ - **نظام الحوسبة الطرفية (Edge Compute)**يحول كل جهاز مستخدم إلى عقدة AI سيادية. تحليل المعدات (CPU, RAM, GPU)، تشفير AES-256-GCM بين العقد، موازنة حمل مرجحة، مراقبة صحة بنبضات القلب مع تجاوز فشل تلقائي، وتشكيل أسراب حسب القدرات
89
+ - **محرك التنفيذ بالسرب**إطلاق عدة وكلاء بالتوازي لحل مهمة واحدة. استراتيجيات قابلة للتكوين (متوازي، متسلسل، هجين)، دمج النتائج بأفضل درجة، تخصص بالأدوار، تجميع مرجح بالعدالة، وتقييم ثقة لكل وكيل
90
+
91
+ ### الإصدار 3.0نظام تشغيل الوكلاء (طبقة التنفيذ للويب)
92
+
93
+ الإصدار 3.0 يحوّل WAB من أداة أتمتة متقدمة إلى **نظام تشغيل حقيقي للوكلاء** طبقة تنفيذ كاملة لوكلاء الذكاء الاصطناعي على الويب، منافس لـ MCP لكنه مصمم خصيصاً للتفاعل مع المتصفح.
94
+
95
+ - **بروتوكول WAB (WABP) v1.0.0** — بروتوكول رسمي مع سجل أوامر JSON Schema، رسائل مُنمطة، التحقق من المدخلات/المخرجات، وتعريفات أوامر مُنسّخة. ١٠ أوامر مدمجة (اكتشاف، تنفيذ، تنفيذ دلالي، تسجيل وكيل، إرسال مهمة، حالة مهمة، مقارنة تجارية، تفاوض تجاري، إرسال شبكة، استدلال AI). كل أمر يعلن عن القدرات المطلوبة ومستوى الخطر وصلاحيات الوصول
96
+ - **تفاوض القدرات** — منح قدرات ديناميكي بين الوكلاء والمواقع. موافقة تلقائية حسب مستوى الخطر (منخفض = موافقة تلقائية، عالي = يتطلب سياسة)، تحديد معدل لكل قدرة، منح قابلة للانتهاء مع تتبع الاستخدام، ودعم إبطال كامل
97
+ - **محرك تشغيل الوكلاء** — نظام تشغيل مهام بمستوى إنتاجي مع جدولة بقائمة أولويات، حل التبعيات، إعادة المحاولة بتراجع أسي، إيقاف/استئناف/إلغاء، حدود تزامن، وانتقالات حالة. ناقل أحداث غير متزامن مع وسيط، أحرف بدل مساحات الأسماء، ذاكرة إعادة (١٠ آلاف حدث)، وقائمة الرسائل الميتة
98
+ - **صندوق حماية التنفيذ** — عزل لكل مهمة مع حدود موارد (مهلة، ذاكرة قصوى، حد استدعاءات الشبكة، حد عمليات DOM)، قوائم نطاقات مسموحة، حظر محددات CSS، فحوصات قدرات وقت التنفيذ، وسجل تدقيق كامل لكل عملية
99
+ - **مدير الحالة** حفظ حالة الوكيل بنقاط تفتيش مُسمّاة، تراجع لأي نقطة تفتيش، انتقالات حالة بالتحقق، عمليات دمج، وتنظيف بانتهاء الصلاحية
100
+ - **حزمة المراقبة** — مسجل JSON هيكلي مع مسجلات فرعية ومخارج قابلة للتوصيل، متتبع موزع بفترات أب-ابن (متوافق مع OpenTelemetry)، ومجمع مقاييس بعدادات ومقاييس ورسوم بيانية (مئينات p50/p90/p95/p99) وسلاسل زمنية للوحات التحكم
101
+ - **نموذج الأمان** هوية الوكيل (تسجيل، مصادقة بمفتاح API مشفر، إدارة جلسات بمدة صلاحية، قوائم IP المسموحة، إبطال)، توقيع الأوامر (HMAC-SHA256 مع رمز فريد + طابع زمني، مقارنة آمنة زمنياً)، وعزل المواقع (تحكم وصول لكل موقع، وكلاء مسموحون/محظورون، حد تزامن أقصى، حظر محددات، تصنيف بيانات)
102
+ - **مستوى التحكم** مدير الوكلاء لدورة حياة النشر (نشر، تعيين لمواقع، فحوصات صحة، إلغاء نشر) ومحرك السياسات بقواعد مُنمّطة، تقييم شروط (يساوي، يحتوي، نمط، حد أدنى، حد أقصى، ضمن)، ربط سياسات بأولوية، وتطبيق على مستوى الكيان
103
+ - **مستوى البيانات** محلل الإجراءات الدلالية يربط صيغة `domain.action` (مثل `checkout.addItem`) بالتنفيذ الفعلي لكل موقع. المنفّذ يوجّه المهام عبر التتبع + المقاييس، يدعم أوضاع التنفيذ الدلالي/الخط الأنبوبي/المتوازي، مع ٨ إجراءات دلالية مدمجة للسلة والبحث والمصادقة والتنقل والمحتوى
104
+ - **تجريد LLM متعدد النماذج** واجهة موحدة لـ OpenAI (محادثة + تضمينات)، Anthropic (API الرسائل)، وOllama (نماذج محلية مع اكتشاف تلقائي). مدير LLM يوفر سلسلة احتياطية تلقائية عبر جميع الموفرين، تخزين مؤقت للاستجابات دقائق)، تتبع التكاليف عبر عدد الرموز، وقائمة نماذج
105
+ - **السجل والنظام البيئي** — سجل الأوامر (كـ npm لأوامر WAB — تسجيل، اكتشاف، بحث حسب الفئة/الوسم/القدرة، تتبع الاستخدام)، سجل المواقع (دليل مواقع WAB مع التحقق، قائمة القدرات، تتبع الزيارات)، وسجل القوالب (قوالب سير عمل قابلة لإعادة الاستخدام مع عدد التنزيلات والتقييمات)
106
+ - **واجهة API الموحدة لنظام التشغيل** — جميع طبقات نظام التشغيل مكشوفة عبر نقاط REST على `/api/os/*`: اكتشاف البروتوكول، هوية/مصادقة الوكيل، CRUD المهام، التنفيذ الدلالي، النشر، السياسات، العزل، المراقبة (مقاييس/آثار/سجلات)، السجل (أوامر/مواقع/قوالب)، عمليات LLM، توقيع الأوامر، وأحداث Server-Sent Events للبث المباشر
107
+ - **عميل WABAgentOS في SDK** — فئة `WABAgentOS` جديدة في SDK مع كتابة TypeScript كاملة لجميع عمليات نظام التشغيل: تسجيل ← مصادقة ← تفاوض قدرات ← إرسال مهام ← تنفيذ دلالي ← استعلام المراقبة ← الاشتراك في الأحداث
108
+
109
+ ### الإصدار 3.2 — بوابة API والوحدات المتقدمة
110
+
111
+ يقدم الإصدار 3.2 **بوابة API موحدة** على `/api/v1` مع 10 وحدات متقدمة لحماية وكلاء الذكاء الاصطناعي وحقوق المستهلك وتتبع الأسعار والامتثال التنظيمي. جميع الوحدات تستخدم مصادقة مركزية بمفتاح API مع تحكم وصول حسب الخطة.
112
+
113
+ 🌐 **توثيق API المباشر:** [webagentbridge.com/api](https://webagentbridge.com/api) (English / العربية)
114
+
115
+ #### خطط API والأسعار
116
+
117
+ | الخطة | السعر | الطلبات/يوم | الطلبات/دقيقة | الوحدات |
118
+ |-------|-------|-------------|---------------|---------|
119
+ | **مجانية** | $0/شهر | 100 | 10 | البروتوكول، آلة الزمن السعرية، الأنماط المظلمة، المكافآت |
120
+ | **احترافية** | $29/شهر | 10,000 | 100 | كل المجاني + الجدار الناري، العصبي، التفاوض، التسويق |
121
+ | **أعمال** | $149/شهر | 100,000 | 500 | جميع الوحدات العشر (شاملة كاتب العدل والاستخبارات الحكومية) |
122
+ | **مؤسسات** | مخصص | غير محدود | مخصص | جميع الوحدات + SLA + خيار التشغيل المحلي |
123
+
124
+ **احصل على مفتاح API:** `POST /api/v1/keys/generate` مع `{"plan": "FREE", "owner": "اسمك", "email": "you@example.com"}`
125
+
126
+ #### الوحدات العشر
127
+
128
+ | # | الوحدة | المسار | النوع | الخطة الأدنى | الوصف |
129
+ |---|--------|--------|-------|-------------|-------|
130
+ | 01 | **جدار حماية الوكلاء** | `/api/v1/firewall` | 🟡 API مفتوح · المحرك مغلق | احترافية | يفحص الروابط والمحتوى للكشف عن حقن الأوامر والتصيد والنطاقات الخبيثة |
131
+ | 02 | **كاتب العدل التشفيري** | `/api/v1/notary` | 🔴 مغلق بالكامل | أعمال | يصدر شهادات تشفيرية مقبولة قانونياً لإثبات التمييز السعري |
132
+ | 03 | **كاشف الأنماط المظلمة** | `/api/v1/dark-pattern` | 🔴 مغلق بالكامل | مجانية | يكشف جميع الأنماط المظلمة الـ 17 المصنفة من OECD مع تقارير EU DSA/DMA |
133
+ | 04 | **التفاوض الجماعي** | `/api/v1/bargaining` | 🟡 الانضمام مفتوح · المحرك مغلق | احترافية | تجميع مشترين مجهولين للتفاوض على خصومات جماعية |
134
+ | 05 | **الاستخبارات الحكومية** | `/api/v1/gov` | 🔴 مغلق بالكامل | أعمال | قاعدة بيانات الامتثال التنظيمي وفحص امتثال النطاقات |
135
+ | 06 | **آلة الزمن السعرية** | `/api/v1/price` | 🟡 API مفتوح · قاعدة البيانات مغلقة | مجانية | تتبع الأسعار التاريخية وكشف التخفيضات الوهمية |
136
+ | 07 | **المحرك العصبي** | `/api/v1/neural` | 🔴 مغلق بالكامل | احترافية | محرك AI محلي لتحليل الروابط وتصنيف المحتوى والتضمينات |
137
+ | 08 | **بروتوكول WAB** | `/api/v1/protocol` | 🟢 مفتوح المصدر بالكامل | مجانية | مدقق بروتوكول الثقة wab.json المفتوح ونقطة المخطط |
138
+ | 09 | **شبكة المكافآت** | `/api/v1/bounty` | 🟡 الإبلاغ مفتوح · القواعد مغلقة | مجانية | شبكة بلاغات وتهديدات مدعومة من المجتمع مع لوحة متصدرين |
139
+ | 10 | **استخبارات التسويق بالعمولة** | `/api/v1/affiliate` | 🟡 API مفتوح · قاعدة البيانات مغلقة | احترافية | يكشف التلاعب بروابط التسويق وحشو ملفات تعريف الارتباط |
140
+
141
+ **مفتاح الأنواع:** 🟢 مفتوح المصدر بالكامل · 🟡 واجهة API عامة مع محرك خاص · 🔴 مغلق بالكامل (يعيد 503 بدون المحرك)
142
+
143
+ #### المصادقة
144
+
145
+ جميع نقاط النهاية تتطلب مفتاح API عبر إحدى ثلاث طرق:
146
+
147
+ ```bash
148
+ # الخيار 1: ترويسة التفويض (موصى بها)
149
+ curl -X POST https://www.webagentbridge.com/api/v1/firewall/scan \
150
+ -H "Authorization: Bearer wab_live_pro_YOUR_KEY" \
151
+ -H "Content-Type: application/json" \
152
+ -d '{"url": "https://example.com", "content": "محتوى الصفحة..."}'
153
+
154
+ # الخيار 2: ترويسة X-WAB-Key
155
+ curl -H "X-WAB-Key: wab_live_pro_YOUR_KEY" \
156
+ https://www.webagentbridge.com/api/v1/protocol/check/example.com
157
+
158
+ # الخيار 3: معامل الاستعلام
159
+ curl https://www.webagentbridge.com/api/v1/bounty/stats?api_key=wab_live_fre_YOUR_KEY
160
+ ```
161
+
162
+ #### إدارة المفاتيح
163
+
164
+ | نقطة النهاية | الطريقة | الوصف |
165
+ |-------------|---------|-------|
166
+ | `/api/v1/keys/generate` | POST | إنشاء مفتاح API جديد |
167
+ | `/api/v1/keys/validate` | POST | التحقق من صلاحية مفتاح |
168
+ | `/api/v1/keys/usage` | GET | التحقق من الاستخدام والحصص |
169
+ | `/api/v1/keys/revoke` | POST | إلغاء مفتاح |
170
+ | `/api/v1/keys/rotate` | POST | تدوير مفتاح (إلغاء القديم وإصدار جديد) |
171
+
172
+ #### نقاط البوابة العامة
173
+
174
+ | نقطة النهاية | الطريقة | الوصف |
175
+ |-------------|---------|-------|
176
+ | `/api/v1/health` | GET | فحص صحة البوابة (عام) |
177
+ | `/api/v1/plans` | GET | قائمة الخطط والأسعار (عام) |
178
+ | `/api/v1/modules` | GET | قائمة الوحدات المتاحة (عام) |
179
+
180
+ #### كيفية الاشتراك
181
+
182
+ 1. زُر [webagentbridge.com/api](https://webagentbridge.com/api) لاستكشاف الوحدات المتاحة
183
+ 2. أنشئ مفتاح API **مجاني**: `POST /api/v1/keys/generate` مع اسمك وبريدك
184
+ 3. ابدأ الطلبات فوراً لأي وحدة مجانية
185
+ 4. ارتقِ إلى **احترافية** ($29/شهر) أو **أعمال** ($149/شهر) للوصول للوحدات المتقدمة
186
+ 5. أدِر مفاتيحك عبر نقاط `/api/v1/keys/*`
187
+
188
+ ---
189
+
190
+ ## 🚀 البدء السريع
191
+
192
+ ### ١. التثبيت والتشغيل
193
+
194
+ ```bash
195
+ # الطريقة أ: استنساخ وتشغيل
196
+ git clone https://github.com/abokenan444/web-agent-bridge.git
197
+ cd web-agent-bridge
198
+ npm install
199
+ cp .env.example .env
200
+ npm start
201
+
202
+ # الطريقة ب: npx (أمر واحد)
203
+ npx web-agent-bridge start
204
+
205
+ # الطريقة ج: Docker
206
+ docker compose up -d
207
+ ```
208
+
209
+ ### ٢. إنشاء حساب
210
+
211
+ زُر `http://localhost:3000/register` وأنشئ حساباً، ثم أضف موقعك من لوحة التحكم.
212
+
213
+ ### ٣. إضافة السكريبت لموقعك
214
+
215
+ ```html
216
+ <script>
217
+ window.AIBridgeConfig = {
218
+ licenseKey: "WAB-XXXXX-XXXXX-XXXXX-XXXXX",
219
+ agentPermissions: {
220
+ readContent: true,
221
+ click: true,
222
+ fillForms: true,
223
+ scroll: true
224
+ }
225
+ };
226
+ </script>
227
+ <script src="http://localhost:3000/script/ai-agent-bridge.js"></script>
228
+ ```
229
+
230
+ ### ٤. الآن يمكن لوكلاء الذكاء الاصطناعي التفاعل
231
+
232
+ ```javascript
233
+ // من جانب وكيل الذكاء الاصطناعي
234
+ const bridge = window.AICommands;
235
+ const actions = bridge.getActions(); // اكتشاف الإجراءات
236
+ await bridge.execute("signup"); // تنفيذ إجراء
237
+ const info = bridge.getPageInfo(); // معلومات الصفحة
238
+ ```
239
+
240
+ ---
241
+
242
+ ## 📁 هيكل المشروع
243
+
244
+ ```
245
+ web-agent-bridge/
246
+ ├── server/ # خادم Express.js
247
+ │ ├── index.js # نقطة البداية
248
+ │ ├── ws.js # WebSocket للتحليلات الفورية
249
+ │ ├── routes/
250
+ │ │ ├── auth.js # المصادقة (تسجيل/دخول)
251
+ │ │ ├── api.js # واجهة المواقع والتحليلات
252
+ │ │ ├── license.js # التحقق من التراخيص والتتبع
253
+ │ │ ├── admin.js # واجهة الإدارة
254
+ │ │ ├── admin-premium.js # تحليلات الإدارة المتقدمة
255
+ │ │ ├── billing.js # تكامل Stripe للمدفوعات
256
+ │ │ ├── sovereign.js # الإصدار 2.0: تفاوض، سمعة، تحقق، لوحة سيادة
257
+ │ │ ├── mesh.js # الإصدار 2.3: مسارات شبكة الوكلاء
258
+ │ │ ├── commander.js # الإصدار 2.4: مسارات تنسيق المهام
259
+ │ │ ├── premium.js # الميزات المتقدمة
260
+ │ │ ├── premium-v2.js # ذاكرة، رؤية، إصلاح، سرب، إضافات
261
+ │ │ ├── discovery.js # اكتشاف WAB + بحث مرجح بالعدالة
262
+ │ │ ├── wab-api.js # نقل WAB عبر HTTP
263
+ │ │ └── noscript.js # بكسل تتبع بدون JavaScript
264
+ ├── services/
265
+ ├── negotiation.js # محرك التفاوض اللحظي
266
+ │ │ ├── verification.js # درع مقاومة التزييف
267
+ │ │ ├── reputation.js # نظام السمعة اللامركزي
268
+ │ │ ├── agent-mesh.js # بروتوكول التواصل بين الوكلاء
269
+ ├── agent-learning.js # التعلم المعزز المحلي (UCB1)
270
+ │ │ ├── agent-symphony.js # منسق السيمفونية (٤ أدوار، ٦ مراحل)
271
+ │ │ ├── agent-memory.js # ذاكرة الوكيل مع ارتباطات
272
+ ├── commander.js # تنسيق المهام ورسوم المهام (DAG)
273
+ │ ├── edge-compute.js # حوسبة طرفية / عقد AI سيادية
274
+ ├── swarm.js # محرك التنفيذ بالسرب
275
+ ├── fairness.js # محرك العدالة والحياد
276
+ │ ├── vision.js # تحليل الرؤية (متعدد الموفرين)
277
+ │ │ ├── self-healing.js # تصحيحات المحددات ذاتية الإصلاح
278
+ ├── local-ai.js # نظام تشغيل AI المحلي
279
+ ├── plugins.js # بنية الإضافات (خطافات، سجل)
280
+ ├── premium.js # تحليل حركة المرور وكشف البوتات
281
+ ├── email.js # خدمة البريد SMTP
282
+ │ └── stripe.js # تكامل مدفوعات Stripe
283
+ │ ├── middleware/
284
+ ├── auth.js # وسيط JWT
285
+ │ │ ├── adminAuth.js # مصادقة الإدارة
286
+ │ │ └── rateLimits.js # تحديد معدل الطلبات متعدد الطبقات
287
+ │ ├── models/
288
+ │ │ ├── db.js # عمليات قاعدة البيانات
289
+ │ │ └── adapters/ # محولات SQLite, PostgreSQL, MySQL
290
+ ├── migrations/ # ترحيلات SQL مرقمة
291
+ └── utils/
292
+ ├── cache.js # ذاكرة مؤقتة TTL + طابور تحليلات
293
+ ├── migrate.js # مشغل الترحيلات
294
+ └── secureFields.js # أدوات تشفير الحقول
295
+ ├── public/ # الواجهة الأمامية
296
+ ├── index.html # الصفحة الرئيسية
297
+ │ ├── dashboard.html # لوحة التحكم
298
+ ├── premium-dashboard.html # لوحة التحليلات المتقدمة
299
+ ├── docs.html # التوثيق
300
+ ├── login.html / register.html # صفحات المصادقة
301
+ ├── admin/ # لوحة الإدارة
302
+ │ ├── pwa/ # تطبيق الويب التقدمي (متصفح الهاتف)
303
+ ├── manifest.json # بيان PWA
304
+ ├── sw.js # عامل الخدمة (أولوية غير متصل)
305
+ ├── index.html # واجهة المتصفح للهاتف
306
+ ├── app.js # حاجب إعلانات، درع احتيال، عدالة
307
+ ├── app.css # سمة داكنة محسنة للهاتف
308
+ │ └── icons/ # أيقونات PWA
309
+ │ ├── script/
310
+ │ ├── wab.min.js # مكتبة WAB المصغرة
311
+ │ │ ├── wab-consent.js # لافتة موافقة GDPR/CCPA
312
+ ├── wab-schema.js # اكتشاف schema.org
313
+ ├── wab.d.ts # تعريفات TypeScript
314
+ │ └── wab-consent.d.ts # تعريفات TypeScript للموافقة
315
+ ├── js/ # JavaScript الواجهة
316
+ │ └── css/ # أوراق الأنماط
317
+ ├── script/
318
+ │ └── ai-agent-bridge.js # سكريبت الجسر (ضعه في موقعك)
319
+ ├── examples/ # أمثلة الوكلاء
320
+ │ ├── puppeteer-agent.js # Puppeteer + window.AICommands
321
+ ├── bidi-agent.js # بروتوكول WebDriver BiDi
322
+ ├── vision-agent.js # تحليل رؤية/لغة طبيعية
323
+ │ ├── mcp-agent.js # محول MCP لـ Claude/GPT
324
+ │ ├── cross-site-agent.js # تنسيق متعدد النطاقات
325
+ ├── next-app-router/ # تكامل Next.js App Router
326
+ ├── shopify-hydrogen/ # واجهة Shopify Hydrogen
327
+ │ ├── wordpress-elementor/ # WordPress + Elementor
328
+ └── saas-dashboard/ # إجراءات لوحة SaaS
329
+ ├── packages/ # أغلفة أطر العمل
330
+ ├── react/ # @web-agent-bridge/react
331
+ │ ├── vue/ # @web-agent-bridge/vue
332
+ ├── svelte/ # @web-agent-bridge/svelte
333
+ │ └── langchain/ # @web-agent-bridge/langchain
334
+ ├── sdk/ # SDK الوكيل
335
+ │ ├── index.js # WABAgent لـ Puppeteer/Playwright
336
+ │ └── schema-discovery.js # استخراج schema.org من الخادم
337
+ ├── wab-mcp-adapter/ # محول MCP لـ Claude/GPT/Gemini
338
+ ├── index.js # تعريفات أدوات MCP
339
+ │ └── package.json
340
+ ├── wab-browser/ # متصفح Electron لسطح المكتب
341
+ │ ├── main.js # العملية الرئيسية لـ Electron
342
+ │ ├── preload.js # التحميل المسبق
343
+ │ └── package.json
344
+ ├── web-agent-bridge-wordpress/ # إضافة WordPress
345
+ │ ├── web-agent-bridge.php # نقطة دخول الإضافة
346
+ │ ├── includes/ # فئات PHP (API, Actions, Dashboard)
347
+ │ └── assets/ # CSS/JS الإضافة
348
+ ├── bin/
349
+ │ ├── cli.js # نقطة دخول CLI (wab-agent)
350
+ │ └── wab.js # مشغل الوكلاء
351
+ ├── templates/ # ١١ قالب YAML لمتجر الوكلاء
352
+ ├── docs/
353
+ │ ├── SPEC.md # مواصفة بروتوكول WAB
354
+ │ └── DEPLOY.md # دليل النشر
355
+ ├── demo-store/ # متجر تجريبي للاختبار
356
+ ├── deploy/ # إعدادات Nginx
357
+ ├── tests/ # اختبارات Jest + Supertest
358
+ ├── .env # متغيرات البيئة
359
+ └── package.json
360
+ ```
361
+
362
+ ---
363
+
364
+ ## 🔌 واجهات API
365
+
366
+ ### المصادقة
367
+ | النقطة | الطريقة | الوصف |
368
+ |---|---|---|
369
+ | `/api/auth/register` | POST | إنشاء حساب |
370
+ | `/api/auth/login` | POST | تسجيل الدخول |
371
+ | `/api/auth/me` | GET | بيانات المستخدم الحالي |
372
+
373
+ ### المواقع
374
+ | النقطة | الطريقة | الوصف |
375
+ |---|---|---|
376
+ | `/api/sites` | GET | قائمة مواقعك |
377
+ | `/api/sites` | POST | إضافة موقع جديد |
378
+ | `/api/sites/:id` | GET | تفاصيل الموقع |
379
+ | `/api/sites/:id/config` | PUT | تحديث الإعدادات |
380
+ | `/api/sites/:id/tier` | PUT | تغيير مستوى الاشتراك |
381
+ | `/api/sites/:id` | DELETE | حذف الموقع |
382
+ | `/api/sites/:id/snippet` | GET | كود التضمين |
383
+ | `/api/sites/:id/analytics` | GET | بيانات التحليلات |
384
+
385
+ ### التراخيص (عامة)
386
+ | النقطة | الطريقة | الوصف |
387
+ |---|---|---|
388
+ | `/api/license/verify` | POST | التحقق من مفتاح الترخيص |
389
+ | `/api/license/token` | POST | تبادل `siteId` مقابل توكن جلسة |
390
+ | `/api/license/session` | POST | التحقق من توكن الجلسة |
391
+ | `/api/license/track` | POST | تسجيل حدث تحليلي |
392
+
393
+ ### واجهات السيادة (الإصدار 2.0)
394
+ | النقطة | الطريقة | الوصف |
395
+ |---|---|---|
396
+ | `/api/sovereign/reputation/agents` | POST | تسجيل وكيل جديد |
397
+ | `/api/sovereign/reputation/attestations` | POST | إرسال شهادة ثقة |
398
+ | `/api/sovereign/reputation/sites/:siteId` | GET | سمعة الموقع |
399
+ | `/api/sovereign/reputation/leaderboard` | GET | لوحة المتصدرين |
400
+ | `/api/sovereign/negotiation/rules` | POST | إنشاء قاعدة تفاوض |
401
+ | `/api/sovereign/negotiation/sessions` | POST | فتح جلسة تفاوض |
402
+ | `/api/sovereign/negotiation/sessions/:id/propose` | POST | تقديم عرض مضاد |
403
+ | `/api/sovereign/negotiation/sessions/:id/confirm` | POST | تأكيد الصفقة |
404
+ | `/api/sovereign/verify/price` | POST | التحقق من السعر |
405
+ | `/api/sovereign/verify/text` | POST | التحقق من النص |
406
+ | `/api/sovereign/verify/page` | POST | التحقق الشامل للصفحة |
407
+ | `/api/sovereign/dashboard/sovereign` | GET | بيانات لوحة السيادة |
408
+
409
+ ### شبكة الوكلاء (الإصدار 2.3)
410
+ | النقطة | الطريقة | الوصف |
411
+ |---|---|---|
412
+ | `/api/mesh/agents` | POST | تسجيل وكيل في الشبكة |
413
+ | `/api/mesh/agents` | GET | عرض وكلاء الشبكة |
414
+ | `/api/mesh/channels` | GET | عرض قنوات الاتصال |
415
+ | `/api/mesh/messages` | POST | نشر رسالة في قناة |
416
+ | `/api/mesh/messages/:channel` | GET | قراءة رسائل القناة |
417
+ | `/api/mesh/knowledge` | POST | مشاركة معرفة |
418
+ | `/api/mesh/knowledge` | GET | استعلام قاعدة المعرفة |
419
+ | `/api/mesh/votes` | POST | بدء تصويت |
420
+ | `/api/mesh/votes/:id/cast` | POST | الإدلاء بصوت |
421
+ | `/api/mesh/votes/:id/tally` | GET | نتائج التصويت |
422
+
423
+ ### القائد (الإصدار 2.4)
424
+ | النقطة | الطريقة | الوصف |
425
+ |---|---|---|
426
+ | `/api/commander/missions` | POST | إنشاء مهمة جديدة |
427
+ | `/api/commander/missions/:id/launch` | POST | إطلاق المهمة |
428
+ | `/api/commander/missions/:id` | GET | حالة المهمة |
429
+ | `/api/commander/missions` | GET | عرض جميع المهام |
430
+ | `/api/commander/agents` | POST | تسجيل وكيل |
431
+ | `/api/commander/agents` | GET | عرض الوكلاء |
432
+ | `/api/commander/edge/nodes` | POST | تسجيل عقدة حوسبة طرفية |
433
+ | `/api/commander/edge/nodes` | GET | عرض العقد |
434
+ | `/api/commander/ai/models` | GET | اكتشاف نماذج AI المحلية |
435
+ | `/api/commander/ai/infer` | POST | تشغيل استدلال AI محلي |
436
+ | `/api/commander/stats` | GET | إحصائيات المنصة الموحدة |
437
+
438
+ ### الميزات المتقدمة (الإصدار 2)
439
+ | النقطة | الطريقة | الوصف |
440
+ |---|---|---|
441
+ | `/api/premium/v2/memory` | POST | تخزين ذاكرة الوكيل |
442
+ | `/api/premium/v2/memory/:agentId` | GET | استرجاع ذكريات الوكيل |
443
+ | `/api/premium/v2/memory/associate` | POST | إنشاء ارتباط بين ذكريات |
444
+ | `/api/premium/v2/vision/analyze` | POST | تحليل لقطة شاشة |
445
+ | `/api/premium/v2/vision/elements` | POST | استخراج عناصر تفاعلية |
446
+ | `/api/premium/v2/healing/corrections` | POST | تسجيل تصحيح محدد |
447
+ | `/api/premium/v2/healing/resolve` | POST | حل محدد معطل |
448
+ | `/api/premium/v2/swarm/execute` | POST | إطلاق مهمة سرب |
449
+ | `/api/premium/v2/swarm/:id` | GET | نتائج السرب |
450
+ | `/api/premium/v2/plugins` | GET | عرض الإضافات المتاحة |
451
+ | `/api/premium/v2/plugins/:id/install` | POST | تثبيت إضافة |
452
+ | `/api/premium/v2/plugins/:id/hooks` | POST | تنفيذ خطاف إضافة |
453
+
454
+ ### الاكتشاف والعدالة
455
+ | النقطة | الطريقة | الوصف |
456
+ |---|---|---|
457
+ | `/api/discovery` | GET | مستند اكتشاف WAB |
458
+ | `/api/discovery/search` | GET | بحث مرجح بالعدالة |
459
+ | `/api/discovery/register` | POST | تسجيل موقع في دليل WAB |
460
+
461
+ ### بروتوكول WAB (نقل HTTP)
462
+ | النقطة | الطريقة | الوصف |
463
+ |---|---|---|
464
+ | `/api/wab/session` | POST | تبادل توكن جلسة |
465
+ | `/api/wab/actions` | GET | الإجراءات المتاحة |
466
+ | `/api/wab/execute` | POST | تنفيذ إجراء عبر HTTP |
467
+
468
+ ### WebSocket
469
+ | النقطة | الوصف |
470
+ |---|---|
471
+ | `ws://localhost:3000/ws/analytics` | تحليلات فورية لحظية |
472
+
473
+ ---
474
+
475
+ ## ⚙️ واجهة سكريبت الجسر
476
+
477
+ عند التحميل، يكشف `window.AICommands` الطرق التالية:
478
+
479
+ | الطريقة | الوصف |
480
+ |---|---|
481
+ | `getActions(category?)` | قائمة الإجراءات المتاحة |
482
+ | `getAction(name)` | الحصول على إجراء محدد |
483
+ | `execute(name, params?)` | تنفيذ إجراء |
484
+ | `readContent(selector)` | قراءة محتوى عنصر |
485
+ | `getPageInfo()` | معلومات الصفحة والجسر |
486
+ | `waitForElement(selector, timeout?)` | انتظار ظهور عنصر DOM |
487
+ | `waitForNavigation(timeout?)` | انتظار تغيير العنوان |
488
+ | `registerAction(def)` | تسجيل إجراء مخصص |
489
+ | `authenticate(key, meta?)` | مصادقة الوكيل |
490
+ | `refresh()` | إعادة مسح الصفحة |
491
+ | `toBiDi()` | الحصول على سياق WebDriver BiDi |
492
+ | `executeBiDi(command)` | تنفيذ أمر بصيغة BiDi |
493
+
494
+ ---
495
+
496
+ ## 🔧 الإعدادات
497
+
498
+ ```javascript
499
+ window.AIBridgeConfig = {
500
+ licenseKey: "WAB-XXXXX-XXXXX-XXXXX-XXXXX",
501
+ agentPermissions: {
502
+ readContent: true, // قراءة النص
503
+ click: true, // النقر على العناصر
504
+ fillForms: false, // ملء/إرسال النماذج
505
+ scroll: true, // تمرير الصفحة
506
+ navigate: false, // التنقل بين الصفحات
507
+ apiAccess: false, // استدعاء API داخلي (Pro+)
508
+ automatedLogin: false, // تسجيل دخول تلقائي (Starter+)
509
+ extractData: false // استخراج البيانات (Pro+)
510
+ },
511
+ restrictions: {
512
+ allowedSelectors: [],
513
+ blockedSelectors: [".private", "[data-private]"],
514
+ requireLoginForActions: ["apiAccess"],
515
+ rateLimit: { maxCallsPerMinute: 60 }
516
+ },
517
+ logging: { enabled: false, level: "basic" }
518
+ };
519
+ ```
520
+
521
+ ---
522
+
523
+ ## 🔄 توافق WebDriver BiDi
524
+
525
+ يدعم السكريبت بروتوكول WebDriver BiDi للتواصل مع الوكلاء عبر معايير موحدة:
526
+
527
+ ```javascript
528
+ // الحصول على سياق BiDi
529
+ const context = window.__wab_bidi.getContext();
530
+
531
+ // إرسال أمر BiDi
532
+ const result = await window.__wab_bidi.send({
533
+ id: 1,
534
+ method: 'wab.executeAction',
535
+ params: { name: 'signup', data: {} }
536
+ });
537
+
538
+ // الأوامر المدعومة:
539
+ // wab.getContext — سياق الصفحة والقدرات
540
+ // wab.getActions قائمة الإجراءات
541
+ // wab.executeAction — تنفيذ إجراء
542
+ // wab.readContent — قراءة محتوى
543
+ // wab.getPageInfo — معلومات الصفحة
544
+ ```
545
+
546
+ ---
547
+
548
+ ## 📊 التحليلات الفورية (WebSocket)
549
+
550
+ اتصل بنقطة WebSocket لتلقي إشعارات فورية:
551
+
552
+ ```javascript
553
+ const ws = new WebSocket('ws://localhost:3000/ws/analytics');
554
+
555
+ // المصادقة
556
+ ws.onopen = () => {
557
+ ws.send(JSON.stringify({
558
+ type: 'auth',
559
+ token: 'your-jwt-token',
560
+ siteId: 'your-site-id'
561
+ }));
562
+ };
563
+
564
+ // تلقي الأحداث
565
+ ws.onmessage = (event) => {
566
+ const data = JSON.parse(event.data);
567
+ console.log('حدث جديد:', data);
568
+ // { type: 'analytic', actionName: '...', agentId: '...', success: true }
569
+ };
570
+ ```
571
+
572
+ ---
573
+
574
+ ## 💰 مستويات الاشتراك
575
+
576
+ | الميزة | مجاني | Starter | Pro | Enterprise |
577
+ |---|:---:|:---:|:---:|:---:|
578
+ | اكتشاف تلقائي | ✓ | ✓ | ✓ | ✓ |
579
+ | نقر/تمرير | ✓ | ✓ | ✓ | ✓ |
580
+ | ملء النماذج | ✓ | ✓ | ✓ | ✓ |
581
+ | تسجيل أساسي | | | ✓ | ✓ |
582
+ | تسجيل دخول تلقائي | ✗ | ✓ | ✓ | ✓ |
583
+ | لوحة تحليلات | ✗ | ✓ | ✓ | ✓ |
584
+ | وصول API | ✗ | ✗ | ✓ | ✓ |
585
+ | استخراج البيانات | ✗ | ✗ | ✓ | ✓ |
586
+ | تحديد معدل مخصص | ✗ | ✗ | ✗ | ✓ |
587
+ | Webhooks | ✗ | ✗ | ✗ | ✓ |
588
+
589
+ ---
590
+
591
+ ## 🐳 تشغيل باستخدام Docker
592
+
593
+ ```bash
594
+ # بناء وتشغيل
595
+ docker compose up -d
596
+
597
+ # أو البناء يدوياً
598
+ docker build -t web-agent-bridge .
599
+ docker run -p 3000:3000 -e JWT_SECRET=your-secret -e JWT_SECRET_ADMIN=your-admin-secret web-agent-bridge
600
+ ```
601
+
602
+ ---
603
+
604
+ ## 🧪 الاختبارات
605
+
606
+ ```bash
607
+ npm test
608
+ ```
609
+
610
+ تشمل الاختبارات:
611
+ - واجهات المصادقة (تسجيل، دخول، التحقق من التوكن)
612
+ - واجهات إدارة المواقع (CRUD، الإعدادات، المستويات)
613
+ - واجهات التراخيص (التحقق، التتبع)
614
+ - خدمة الصفحات الثابتة
615
+
616
+ ---
617
+
618
+ ## 🤖 Agent SDK — حزمة أدوات الوكيل
619
+
620
+ يضم WAB حزمة SDK جاهزة لبناء وكلاء ذكاء اصطناعي. راجع [`sdk/README.md`](sdk/README.md) للتوثيق الكامل.
621
+
622
+ ```javascript
623
+ const puppeteer = require('puppeteer');
624
+ const { WABAgent } = require('web-agent-bridge/sdk');
625
+
626
+ const browser = await puppeteer.launch();
627
+ const page = await browser.newPage();
628
+ const agent = new WABAgent(page);
629
+
630
+ await agent.navigateAndWait('https://example.com');
631
+ const actions = await agent.getActions();
632
+ await agent.execute('signup', { email: 'user@test.com' });
633
+ await browser.close();
634
+ ```
635
+
636
+ ---
637
+
638
+ ## 📚 أمثلة الوكلاء
639
+
640
+ أمثلة جاهزة للتشغيل في مجلد [`examples/`](examples/):
641
+
642
+ | الملف | الوصف |
643
+ |---|---|
644
+ | `puppeteer-agent.js` | وكيل أساسي باستخدام Puppeteer و `window.AICommands` |
645
+ | `bidi-agent.js` | وكيل يستخدم بروتوكول WebDriver BiDi عبر `window.__wab_bidi` |
646
+ | `vision-agent.js` | وكيل رؤية — يحل أوصاف اللغة الطبيعية إلى إجراءات WAB |
647
+ | `mcp-agent.js` | استخدام محول MCP لـ Claude وGPT مع اكتشاف الأدوات |
648
+ | `cross-site-agent.js` | تنسيق متعدد النطاقات — مقارنة أسعار، تجميع بيانات، أفضل الصفقات |
649
+
650
+ ### أمثلة التكامل مع أطر العمل
651
+
652
+ | المسار | الوصف |
653
+ |---|---|
654
+ | `examples/next-app-router/` | تكامل Next.js App Router مع `@web-agent-bridge/react` |
655
+ | `examples/shopify-hydrogen/` | واجهة Shopify Hydrogen مع إجراءات سلة عملية |
656
+ | `examples/wordpress-elementor/` | إعداد WordPress + Elementor مع إجراءات مدعومة بالمخطط |
657
+ | `examples/saas-dashboard/` | لوحة SaaS بنمط Notion مع مؤشرات أداء وتشغيل سير عمل |
658
+
659
+ ```bash
660
+ node examples/puppeteer-agent.js http://localhost:3000
661
+ node examples/bidi-agent.js http://localhost:3000
662
+ node examples/vision-agent.js http://localhost:3000
663
+ ```
664
+
665
+ ---
666
+
667
+ ## 🗄️ دعم قواعد بيانات متعددة
668
+
669
+ يستخدم WAB قاعدة SQLite افتراضياً ويدعم PostgreSQL و MySQL عبر محوّلات قاعدة البيانات.
670
+
671
+ ```bash
672
+ # SQLite (افتراضي — لا حاجة لإعداد)
673
+ npm start
674
+
675
+ # PostgreSQL
676
+ npm install pg
677
+ DB_ADAPTER=postgresql DATABASE_URL=postgres://user:pass@localhost:5432/wab npm start
678
+
679
+ # MySQL
680
+ npm install mysql2
681
+ DB_ADAPTER=mysql DATABASE_URL=mysql://user:pass@localhost:3306/wab npm start
682
+ ```
683
+
684
+ ---
685
+
686
+ ## 💻 واجهة سطر الأوامر (CLI)
687
+
688
+ ```bash
689
+ # تشغيل الخادم
690
+ npx web-agent-bridge start
691
+ npx web-agent-bridge start --port 8080
692
+
693
+ # تهيئة مشروع جديد
694
+ npx web-agent-bridge init
695
+ ```
696
+
697
+ ---
698
+
699
+ ## 🔒 الأمان
700
+
701
+ ### صندوق الحماية الأمني (Security Sandbox)
702
+
703
+ كل نسخة من الجسر تعمل داخل صندوق حماية يوفر:
704
+
705
+ - **توكنات جلسة** — توكن تشفيري فريد لكل جلسة يمنع هجمات الإعادة (Replay Attacks)
706
+ - **التحقق من الأصل** فقط الأصول المصرح بها يمكنها التفاعل مع الجسر
707
+ - **تحقق من الأوامر** — كل أمر يُفحص من حيث الصيغة والطول وقائمة الحظر
708
+ - **سجل تدقيق** كل إجراء يُسجّل بالتوقيت وبصمة الوكيل والحالة
709
+ - **حماية التصعيد** — محاولات الوصول لميزات أعلى تؤدي لتأمين تلقائي بعد 5 مخالفات
710
+ - **القفل التلقائي** الجسر يصبح للقراءة فقط عند اكتشاف انتهاكات أمنية
711
+
712
+ ### حماية الخادم
713
+
714
+ - **CSP (سياسة أمان المحتوى)** — حماية ضد XSS وحقن السكريبت
715
+ - **حماية iframe** `frame-ancestors: 'none'` يمنع تحميل الموقع في إطارات غير موثوقة
716
+ - **تشفير كلمات المرور** — bcrypt بتكلفة 12
717
+ - **JWT** — توكن مؤقت ينتهي بعد 7 أيام
718
+ - **Rate Limiting** — تحديد معدل الطلبات
719
+ - **Helmet** — حماية رؤوس HTTP
720
+ - **حظر المحددات** — تقييد وصول الوكيل لعناصر محددة
721
+
722
+ ---
723
+
724
+ ## 🔄 المحددات ذاتية الإصلاح (Self-Healing Selectors)
725
+
726
+ المواقع الحديثة (SPAs) تتغير باستمرار. نظام الإصلاح الذاتي يضمن استمرار عمل المحددات:
727
+
728
+ 1. **البصمات** — عند اكتشاف الإجراءات، يُخزن WAB بصمة غنية لكل عنصر
729
+ 2. **7 استراتيجيات** عند تعطل محدد، يجرب WAB: `data-wab-id`، `data-testid`، ID، `aria-label`، `name`، مطابقة نصية ضبابية، موضع + دور
730
+ 3. **مراقب SPA** — `MutationObserver` يرصد تغييرات DOM ويعيد اكتشاف الإجراءات تلقائياً
731
+
732
+ ```javascript
733
+ // أضف هذا للاستقرار الأقصى
734
+ <button data-wab-id="signup-btn">إنشاء حساب</button>
735
+ ```
736
+
737
+ ---
738
+
739
+ ## 🥷 وضع التخفي (Stealth Mode)
740
+
741
+ لمواجهة أنظمة الحماية من البوتات:
742
+
743
+ ```javascript
744
+ window.AIBridgeConfig = { stealth: { enabled: true } };
745
+ ```
746
+
747
+ | الميزة | الوصف |
748
+ |---|---|
749
+ | سلسلة أحداث الفأرة | `mouseover → mouseenter → mousemove → mousedown → mouseup → click` |
750
+ | محاكاة الكتابة | حرف بحرف مع تأخير 30-120 مللي ثانية |
751
+ | تمرير تدريجي | خطوات متعددة بسرعة متغيرة |
752
+ | تأخيرات عشوائية | 50-400 مللي ثانية بين الإجراءات |
753
+
754
+ ---
755
+
756
+ ## 🛠️ التقنيات
757
+
758
+ - **الخلفية**: Node.js + Express + WebSocket (ws)
759
+ - **قاعدة البيانات**: SQLite (عبر better-sqlite3) مع مشغل ترحيلات
760
+ - **المصادقة**: JWT + bcrypt + توكنات جلسة (مقفلة بالنطاق)
761
+ - **التخزين المؤقت**: ذاكرة مؤقتة TTL + طابور تحليلات مجمع
762
+ - **المدفوعات**: تكامل Stripe مع بوابة الفوترة
763
+ - **الواجهة**: HTML/CSS/JS بدون أطر عمل
764
+ - **أغلفة أطر العمل**: React, Vue 3, Svelte (اختيارية)
765
+ - **تكامل LLM**: محول LangChain، محول MCP
766
+ - **الأمان**: Helmet, CORS, CSP, Rate Limiting متعدد الطبقات
767
+ - **الحاويات**: Docker + Docker Compose
768
+ - **CI/CD**: GitHub Actions (اختبار + نشر تلقائي في npm)
769
+ - **الاختبارات**: Jest + Supertest
770
+
771
+ ---
772
+
773
+ ## 💰 محرك التفاوض اللحظي
774
+
775
+ يحدد أصحاب المواقع قواعد التفاوض. يتفاوض وكيل الذكاء الاصطناعي على الأسعار في جلسات متعددة الجولات:
776
+
777
+ ```javascript
778
+ // فتح جلسة تفاوض
779
+ const session = await fetch('/api/sovereign/negotiation/sessions', {
780
+ method: 'POST',
781
+ headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
782
+ body: JSON.stringify({
783
+ siteId: 'site-uuid',
784
+ agentId: 'agent-id',
785
+ originalPrice: 49.99,
786
+ itemId: 'product-123',
787
+ itemName: 'زيت زيتون ١ لتر'
788
+ })
789
+ }).then(r => r.json());
790
+
791
+ // تقديم عرض مضاد
792
+ const counter = await fetch(`/api/sovereign/negotiation/sessions/${session.sessionId}/propose`, {
793
+ method: 'POST',
794
+ headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
795
+ body: JSON.stringify({ agentId: 'agent-id', proposedPrice: 39.99 })
796
+ }).then(r => r.json());
797
+ // → { status: 'accepted', finalPrice: 42.49, message: 'صفقة! ...' }
798
+ ```
799
+
800
+ ### أنواع الشروط
801
+ | الشرط | الوصف |
802
+ |---|---|
803
+ | `bulk_quantity` | خصم على الكميات الكبيرة |
804
+ | `loyalty` | مكافأة للعملاء المتكررين |
805
+ | `time_based` | عروض الساعة السعيدة |
806
+ | `first_purchase` | خصم ترحيبي للمشترين الجدد |
807
+ | `cart_value` | حد أدنى لقيمة السلة |
808
+ | `seasonal` | عروض موسمية بتواريخ محددة |
809
+ | `membership` | أسعار خاصة للأعضاء |
810
+ | `referral` | خصومات الإحالة |
811
+
812
+ ---
813
+
814
+ ## 🛡️ درع مقاومة التزييف (Anti-Hallucination Shield)
815
+
816
+ محرك تحقق متقاطع يكتشف أكاذيب الذكاء الاصطناعي قبل وصولها للمستخدم:
817
+
818
+ ```javascript
819
+ // التحقق من سعر
820
+ const result = await fetch('/api/sovereign/verify/price', {
821
+ method: 'POST',
822
+ headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
823
+ body: JSON.stringify({
824
+ siteId: 'site-uuid',
825
+ domValue: 29.99,
826
+ visionValue: 29.99,
827
+ category: 'electronics',
828
+ itemName: 'كابل USB'
829
+ })
830
+ }).then(r => r.json());
831
+ // → { verified: true, confidence: 0.98, severity: 'none' }
832
+ ```
833
+
834
+ ### طبقات التحقق
835
+ ١. **DOM مقابل الرؤية** — يقارن السعر المستخرج من DOM مع قراءة لقطة الشاشة
836
+ ٢. **المعيار السوقي** يتحقق من السعر مقابل البيانات التاريخية للفئة
837
+ ٣. **الاتساق الزمني** — يفحص هل تغير السعر بشكل مريب منذ آخر تحقق
838
+ ٤. **النتيجة المركبة** — مزيج مرجح من جميع الطبقات مع تصنيف الخطورة
839
+
840
+ ---
841
+
842
+ ## 📦 متجر قوالب الوكلاء (Community Agent Hub)
843
+
844
+ قوالب YAML جاهزة لحالات الاستخدام الشائعة. شغّل أي قالب من سطر الأوامر:
845
+
846
+ ```bash
847
+ # عرض القوالب المتاحة
848
+ npx wab-agent templates
849
+
850
+ # تشغيل قالب
851
+ npx wab-agent run olive-oil-tunisia --budget 50 --region tunis
852
+
853
+ # تشغيل مع خادم مخصص
854
+ npx wab-agent run hotel-direct-booking --server https://yourserver.com
855
+ ```
856
+
857
+ ### القوالب المتاحة
858
+ | القالب | الوصف |
859
+ |---|---|
860
+ | `olive-oil-tunisia` | زيت زيتون من مزارع تونسية صغيرة |
861
+ | `hotel-direct-booking` | حجز فنادق مباشر بدون وسطاء |
862
+ | `artisan-marketplace` | منتجات يدوية من حرفيين مستقلين |
863
+ | `grocery-price-compare` | مقارنة أسعار البقالة بين المتاجر المحلية |
864
+ | `freelancer-direct` | مستقلون بدون رسوم منصات |
865
+ | `restaurant-direct` | مطاعم بدون تطبيقات توصيل |
866
+ | `book-price-scout` | كتب من مكتبات مستقلة |
867
+ | `flight-deal-hunter` | رحلات مباشرة من شركات الطيران |
868
+ | `electronics-price-tracker` | تتبع أسعار الإلكترونيات |
869
+ | `local-services` | مزودي خدمات محليين |
870
+ | `organic-farm-fresh` | منتجات عضوية مباشرة من المزارع |
871
+
872
+ ---
873
+
874
+ ## 🎯 نظام القائد (Commander)
875
+
876
+ محرك تنسيق مهام محلي يفكك الأهداف العليا إلى مهام مترابطة ويوزعها على وكلاء متخصصين:
877
+
878
+ ```javascript
879
+ // إنشاء مهمة
880
+ const mission = await fetch('/api/commander/missions', {
881
+ method: 'POST',
882
+ headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
883
+ body: JSON.stringify({
884
+ goal: 'إيجاد أرخص زيت زيتون في ٥ متاجر',
885
+ strategy: 'parallel',
886
+ agents: ['researcher-1', 'analyst-1', 'negotiator-1']
887
+ })
888
+ }).then(r => r.json());
889
+
890
+ // إطلاق المهمة
891
+ await fetch(`/api/commander/missions/${mission.id}/launch`, {
892
+ method: 'POST', headers: { 'Authorization': 'Bearer ' + token }
893
+ });
894
+ ```
895
+
896
+ | القدرة | الوصف |
897
+ |---|---|
898
+ | **تفكيك المهام** | تحويل الأهداف إلى رسوم بيانية مهام (DAG) مع تتبع التبعيات |
899
+ | **سجل الوكلاء** | تتبع قدرات وأداء الوكلاء المسجلين |
900
+ | **تنفيذ متوازٍ** | تشغيل المهام المستقلة بالتوازي عبر عدة وكلاء |
901
+ | **تعلم من النتائج** | تسجيل النتائج لتغذية راجعة في التعلم المعزز |
902
+ | **تنسيق حوسبة طرفية** | توزيع المهام الثقيلة على عقد الحافة |
903
+
904
+ ---
905
+
906
+ ## 🖥️ نظام الحوسبة الطرفية (Edge Compute)
907
+
908
+ حوّل كل جهاز إلى عقدة AI سيادية بدون سحابة مركزية:
909
+
910
+ ```javascript
911
+ // تسجيل جهاز كعقدة حوسبة طرفية
912
+ await fetch('/api/commander/edge/nodes', {
913
+ method: 'POST',
914
+ headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
915
+ body: JSON.stringify({
916
+ name: 'حاسوبي',
917
+ capabilities: { cpu: 8, ram: 16384, gpu: true },
918
+ supportedTasks: ['text-inference', 'vision-analysis', 'price-comparison']
919
+ })
920
+ }).then(r => r.json());
921
+ ```
922
+
923
+ | القدرة | الوصف |
924
+ |---|---|
925
+ | **تحليل المعدات** | كشف إمكانيات CPU, RAM, GPU لكل عقدة |
926
+ | **تشفير AES-256-GCM** | كل البيانات بين العقد مشفرة من الطرف للطرف |
927
+ | **موازنة حمل مرجحة** | توجيه المهام حسب المعدات والتوفر |
928
+ | **مراقبة بنبضات القلب** | تجاوز فشل تلقائي عند عدم استجابة العقد |
929
+ | **تشكيل أسراب** | تجميع العقد حسب القدرات |
930
+
931
+ ---
932
+
933
+ ## 🐝 محرك التنفيذ بالسرب (Swarm)
934
+
935
+ أطلق عدة وكلاء بالتوازي لحل مهمة واحدة ثم ادمج نتائجهم بذكاء:
936
+
937
+ ```javascript
938
+ const swarm = await fetch('/api/premium/v2/swarm/execute', {
939
+ method: 'POST',
940
+ headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
941
+ body: JSON.stringify({
942
+ task: 'أفضل عروض لاب توب تحت ١٠٠٠ دولار',
943
+ strategy: 'parallel', // parallel | sequential | hybrid
944
+ agentCount: 4,
945
+ roles: ['researcher', 'analyst', 'price-checker', 'reviewer'],
946
+ mergeStrategy: 'best-score' // best-score | fairness-weighted | consensus
947
+ })
948
+ }).then(r => r.json());
949
+ ```
950
+
951
+ ---
952
+
953
+ ## ⚖️ محرك العدالة (Fairness Engine)
954
+
955
+ طبقة حياد تضمن فرصة متساوية للمواقع الصغيرة والكبيرة:
956
+
957
+ ```javascript
958
+ // بحث مرجح بالعدالة (بدلاً من ترتيب الصلة فقط)
959
+ const results = await fetch('/api/discovery/search?q=زيت+زيتون&fairness=true', {
960
+ headers: { 'Authorization': 'Bearer ' + token }
961
+ }).then(r => r.json());
962
+ // المزارع الصغيرة تُرتّب بجانب أمازون — مرجحة بدرجة الحياد لا بـ SEO فقط
963
+ ```
964
+
965
+ ### كيف يعمل تقييم الحياد
966
+ | العامل | الوزن | الوصف |
967
+ |---|---|---|
968
+ | **اكتمال الإعداد** | ٢٥٪ | مدى جودة إعداد WAB في الموقع |
969
+ | **درجة الثقة** | ٢٥٪ | شهادات السمعة من شبكة الوكلاء |
970
+ | **الشفافية** | ٢٥٪ | إفصاح العمولة، وضوح التسعير |
971
+ | **الاستجابة** | ٢٥٪ | زمن استجابة API، وقت التشغيل، نجاح الإجراءات |
972
+
973
+ ---
974
+
975
+ ## 🧠 ذاكرة الوكيل (Agent Memory)
976
+
977
+ ذاكرة سلوكية دائمة تسمح للوكلاء بتذكر تفضيلات المستخدم وبناء ارتباطات:
978
+
979
+ ```javascript
980
+ // تخزين ذاكرة
981
+ await fetch('/api/premium/v2/memory', {
982
+ method: 'POST',
983
+ headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
984
+ body: JSON.stringify({
985
+ agentId: 'agent-1',
986
+ type: 'preference', // preference | interaction | correction | pattern
987
+ category: 'purchase', // navigation | purchase | search | form | custom
988
+ key: 'العلامة-المفضلة',
989
+ value: 'عضوي-فقط',
990
+ importance: 0.9
991
+ })
992
+ }).then(r => r.json());
993
+
994
+ // إنشاء ارتباطات بين الذكريات
995
+ await fetch('/api/premium/v2/memory/associate', {
996
+ method: 'POST',
997
+ headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
998
+ body: JSON.stringify({
999
+ sourceId: 'memory-1',
1000
+ targetId: 'memory-2',
1001
+ relationship: 'leads_to' // leads_to | similar_to | replaces | depends_on
1002
+ })
1003
+ }).then(r => r.json());
1004
+ ```
1005
+
1006
+ ---
1007
+
1008
+ ## 👁️ خدمة الرؤية (Vision Analysis)
1009
+
1010
+ تحليل لقطات شاشة متعدد الموفرين لكشف العناصر التفاعلية واستخراج البيانات:
1011
+
1012
+ | الموفر | محلي؟ | الوصف |
1013
+ |---|---|---|
1014
+ | **Moondream** | ✅ | نموذج رؤية محلي خفيف |
1015
+ | **Ollama** | ✅ | نماذج محلية عبر Ollama (llava, bakllava) |
1016
+ | **OpenAI** | | GPT-4 Vision |
1017
+ | **Anthropic** | | Claude Vision |
1018
+
1019
+ ---
1020
+
1021
+ ## 🔌 بنية الإضافات (Plugin Architecture)
1022
+
1023
+ نظام إضافات ديناميكي يسمح بامتدادات من أطراف ثالثة:
1024
+
1025
+ ```javascript
1026
+ // عرض الإضافات المتاحة
1027
+ const plugins = await fetch('/api/premium/v2/plugins', {
1028
+ headers: { 'Authorization': 'Bearer ' + token }
1029
+ }).then(r => r.json());
1030
+
1031
+ // تثبيت إضافة لموقعك
1032
+ await fetch('/api/premium/v2/plugins/price-alert/install', {
1033
+ method: 'POST',
1034
+ headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' },
1035
+ body: JSON.stringify({ siteId: 'site-uuid', config: { threshold: 10 } })
1036
+ }).then(r => r.json());
1037
+ ```
1038
+
1039
+ ---
1040
+
1041
+ ## 🔍 تحليل حركة المرور المتقدم (Traffic Intelligence)
1042
+
1043
+ | القدرة | الوصف |
1044
+ |---|---|
1045
+ | **٣٠+ نوع بوت** | كشف Google, Bing, ChatGPT, Claude, Perplexity وغيرها |
1046
+ | **تحليل سلوكي** | تصنيف سلوك الوكلاء حسب البصمة والمنصة والنوع |
1047
+ | **كشف شذوذ** | كشف الارتفاعات المفاجئة وتحليل أنماط غير عادية |
1048
+ | **كشف استغلالات أمنية** | رصد أنماط SQL injection, XSS, Rate anomalies |
1049
+ | **تنبيهات Webhook** | إطلاق webhooks عند نشاط مشبوه |
1050
+ | **تدقيق للامتثال** | سجل تدقيق كامل للتوافق التنظيمي |
1051
+
1052
+ ---
1053
+
1054
+ ## 🔗 محول WAB-MCP
1055
+
1056
+ كشف قدرات مواقع WAB كأدوات [MCP](https://modelcontextprotocol.io/) لـ Claude وGPT وGemini:
1057
+
1058
+ ```javascript
1059
+ const { WABMCPAdapter } = require('wab-mcp-adapter');
1060
+
1061
+ const adapter = new WABMCPAdapter({
1062
+ siteUrl: 'https://shop.example.com',
1063
+ transport: 'http' // http | websocket | direct
1064
+ });
1065
+
1066
+ const tools = await adapter.getTools();
1067
+ const result = await adapter.executeTool('execute_action', {
1068
+ name: 'addToCart', params: { sku: 'ABC123' }
1069
+ });
1070
+ ```
1071
+
1072
+ ### أدوات MCP المدمجة
1073
+ | الأداة | الوصف |
1074
+ |---|---|
1075
+ | `discover` | اكتشاف الإجراءات المتاحة تلقائياً |
1076
+ | `get_actions` | قائمة كل الإجراءات مع المعاملات |
1077
+ | `execute_action` | تنفيذ إجراء محدد |
1078
+ | `read_content` | قراءة محتوى من الصفحة |
1079
+ | `get_page_info` | معلومات وصفية عن الصفحة |
1080
+ | `fairness_search` | بحث في دليل WAB مرجح بالعدالة |
1081
+ | `authenticate` | مصادقة وكيل مع الموقع |
1082
+
1083
+ ---
1084
+
1085
+ ## 🖥️ متصفح WAB (سطح المكتب)
1086
+
1087
+ متصفح Electron مستقل مع ميزات خصوصية وعدالة مدمجة:
1088
+
1089
+ - **حاجب الإعلانات** — ٨٠+ نطاق محظور + مطابقة أنماط URL + قواعد CSS تجميلية
1090
+ - **درع الاحتيال** — كشف نطاقات TLD مشبوهة وانتحال أسماء العلامات التجارية
1091
+ - **تصنيف العدالة** أولوية للمواقع المستقلة، تنبيه عن تركز الشركات الكبرى
1092
+ - **دردشة الوكيل** — مساعد AI مدمج للتصفح
1093
+ - **الإشعارات**تحليل الصفحة مع تنبيهات أمان وعدالة
1094
+ - **وضع الشبح** — تصفح بخصوصية بدون تتبع
1095
+ - **بحث ذكي**تكامل DuckDuckGo للبحث الخاص
1096
+
1097
+ ```bash
1098
+ # تشغيل متصفح WAB
1099
+ cd wab-browser
1100
+ npm install
1101
+ npx electron .
1102
+
1103
+ # بناء المثبت (Windows NSIS)
1104
+ npm run build:win
1105
+ ```
1106
+
1107
+ ---
1108
+
1109
+ ## 📱 متصفح PWA (الهاتف)
1110
+
1111
+ تطبيق ويب تقدمي لـ Android وiOS — قابل للتثبيت من أي متصفح هاتف:
1112
+
1113
+ - **حاجب إعلانات** ٤٥+ نطاق إعلاني محظور + مطابقة أنماط URL
1114
+ - **كشف الاحتيال** تنبيهات TLD مشبوهة وفحوصات انتحال العلامات
1115
+ - **وضع العدالة** تصفية مواقع التقنية الكبرى لتعزيز البدائل المستقلة
1116
+ - **أولوية غير متصل** عامل الخدمة يخزن أصول الواجهة مؤقتاً للتشغيل بدون إنترنت
1117
+ - **بحث خاص** تكامل DuckDuckGo (بدون تتبع Google)
1118
+ - **دردشة وكيل** — مساعد AI مع احتياطي محلي
1119
+
1120
+ ثبّته من: `https://yourserver.com/pwa/`
1121
+
1122
+ ---
1123
+
1124
+ ## 📦 إضافة WordPress
1125
+
1126
+ إضافة WordPress أصلية لإضافة دعم WAB لأي موقع WordPress:
1127
+
1128
+ | القدرة | الوصف |
1129
+ |---|---|
1130
+ | **صفحة إعدادات** | إعداد عنوان API، معرف الموقع، الصلاحيات |
1131
+ | **إجراءات لكل صفحة** | صندوق وصف لإضافة إجراءات WAB مخصصة لكل صفحة/مقال |
1132
+ | **مستند اكتشاف** | توليد تلقائي لنقطة اكتشاف WAB |
1133
+ | **عنصر لوحة تحكم** | عرض حالة WAB وإحصائيات تفاعل الوكلاء |
1134
+ | **كود قصير** | `[wab_bridge]` لتضمين WAB في صفحات محددة |
1135
+ | **خطافات** | `wab_before_action` / `wab_after_action` لمنطق مخصص |
1136
+
1137
+ راجع [`web-agent-bridge-wordpress/README.md`](web-agent-bridge-wordpress/README.md) للتوثيق الكامل.
1138
+
1139
+ ---
1140
+
1141
+ ## �️ درع الأمان — حماية متعددة الطبقات (SPEC §8.10–§8.13)
1142
+
1143
+ مستوحى من حادثة PocketOS الشهيرة حيث حذف وكيل ذكاء اصطناعي ٢٠ ألف مستخدم بأمر واحد، يضيف WAB خمس طبقات حماية متراكمة لا تستبدل بعضها بل تتكامل معاً. كل طبقة فعّالة من خطة معينة فما فوق.
1144
+
1145
+ ### §8.9 — رموز الجلسة المُحدَّدة النطاق (Scoped Session Tokens) — كل الخطط
1146
+
1147
+ كل توكن جلسة يحمل **نطاقًا** صريحًا: `read` أو `write` أو `delete` أو `admin`. الإجراءات المُصنّفة "هدّامة" (تحتوي على فعل مثل `delete` أو `drop` أو `purge` أو `wipe` أو `truncate`) تتطلب نطاق `delete` أو أعلى. الموقع يستطيع توسيع التصنيف عبر `siteConfig.destructiveActions[]`.
1148
+
1149
+ ```js
1150
+ // الموقع يحدد البيئة والإجراءات الهدّامة
1151
+ {
1152
+ "environment": "production",
1153
+ "destructiveActions": ["bulkUnsubscribe"],
1154
+ "nonDestructiveActions": ["softArchive"]
1155
+ }
1156
+ ```
1157
+
1158
+ عند الرفض → `403 SCOPE_DENIED` مع تفاصيل السبب في سجل التدقيق.
1159
+
1160
+ ### §8.10 — التشغيل التجريبي الإلزامي (Mandatory Dry-Run) — كل الخطط (MIT)
1161
+
1162
+ للإجراءات الهدّامة، **لا يمكن** للوكيل التنفيذ في خطوة واحدة. يجب أن يمرّ بمرحلتين:
1163
+
1164
+ **المرحلة ١ — طلب خطة:**
1165
+ ```http
1166
+ POST /api/wab/actions/deleteUser
1167
+ { "params": {"id": 42}, "dry_run": true }
1168
+ ```
1169
+ الاستجابة:
1170
+ ```json
1171
+ { "result": { "plan_id": "wabp_…", "simulation": {
1172
+ "would_affect": ["site:abc", "action:deleteUser"],
1173
+ "side_effects": ["deleteUser"], "reversible": false,
1174
+ "summary": "سيقوم بحذف المستخدم #42 — لم يتم تنفيذ أي تغيير فعلي."
1175
+ }, "expires_at": "…" }}
1176
+ ```
1177
+
1178
+ **المرحلة ٢ — التأكيد:**
1179
+ ```http
1180
+ POST /api/wab/actions/deleteUser
1181
+ { "params": {"id": 42}, "dry_run": false, "plan_id": "wabp_…" }
1182
+ ```
1183
+
1184
+ التحقق رباعي الأبعاد: `(sessionFingerprint, siteId, actionName, paramsHash)`. أي انحراف ولو حرف واحد في المعاملات → `412 DRY_RUN_PLAN_MISMATCH`. مهلة افتراضية ٥ دقائق (حد أقصى ٦٠).
1185
+
1186
+ ### §8.11 — البوابة البشرية خارج النطاق (Out-of-Band Human Gate) — Pro فما فوق
1187
+
1188
+ للمواقع الحساسة، الإجراءات الهدّامة تُجمَّد ويُرسَل **رمز من ٦ أرقام** عبر قناة لا يراها الوكيل (Webhook موقَّع، بريد إلكتروني، Telegram، Slack...). فقط بعد موافقة بشرية حقيقية يُسمح بالتنفيذ بحمل `confirmation_id`.
1189
+
1190
+ **القنوات الجاهزة:**
1191
+ - `webhook` — `POST` JSON موقَّع بـ HMAC-SHA256 (header: `X-WAB-Signature: sha256=…`)
1192
+ - `email` — SMTP عبر `nodemailer` (يدعم متغيرات البيئة `SMTP_HOST/PORT/USER/PASS`)
1193
+ - `console` — للتطوير فقط (يكتب على stderr)
1194
+ - `null` — لا شيء (للاختبارات والوضع المعزول)
1195
+
1196
+ **الحماية من الهجوم العنيف:**
1197
+ - قفل ٥ محاولات لكل تحدي (داخل الموديول).
1198
+ - **حد معدل بحسب IP**: ٣٠ محاولة / ١٠ دقائق + ٥ موافقات ناجحة / ١٠ دقائق. عند التجاوز → `429 RATE_LIMIT_TOO_MANY_ATTEMPTS` مع `Retry-After`.
1199
+
1200
+ ### §8.12 — محرك تحليل النية (Intent Analysis Engine) — Premium فما فوق
1201
+
1202
+ نقاط مخاطرة حتمية (٠–١٠٠) تُحسب من إشارات يمكن تفسيرها — لا توجد عشوائية ولا نموذج لغوي. الإشارات:
1203
+
1204
+ | الإشارة | الوزن |
1205
+ |---|---|
1206
+ | فعل هدّام (delete, drop, purge…) | +50 |
1207
+ | فعل كتابة عادي | +10 |
1208
+ | البيئة `production` | +30 |
1209
+ | كلمات خطر (`*`, `all`, `cascade`, `force`) | +15 لكل واحدة (سقف +30) |
1210
+ | محددات شاملة في المعاملات | +15 |
1211
+ | مصفوفة كبيرة (>50 عنصرًا) | +10 |
1212
+ | نوبة طلبات (>10/دقيقة) | +15 |
1213
+ | سرعة تنفيذ مرتفعة | +10 |
1214
+
1215
+ العتبات الافتراضية: `low:30, medium:70, high:90`. النتيجة العالية يمكن أن:
1216
+ 1. تُجبر التشغيل التجريبي (`required_gate: "dry_run"`)
1217
+ 2. تُجبر البوابة البشرية (`required_gate: "human_gate"`)
1218
+ 3. تحجب نهائيًا بـ `403 INTENT_BLOCKED`
1219
+
1220
+ ### §8.13 — اللقطات والتراجع (Snapshot & Rollback) — Enterprise
1221
+
1222
+ قبل تنفيذ أي إجراء هدّام، WAB يأخذ لقطة قابلة للاسترجاع تلقائيًا (إذا سجّل الموقع `restorer`). البيانات تُحفَظ في جدول `wab_snapshots` (sqlite) لمدة ٣٠ يومًا.
1223
+
1224
+ **نقاط الإدارة (X-WAB-Site-Id + X-WAB-Api-Key):**
1225
+ ```http
1226
+ GET /api/wab/admin/snapshots # قائمة آخر اللقطات
1227
+ GET /api/wab/admin/snapshots/:id # تفاصيل لقطة
1228
+ POST /api/wab/admin/rollback/:id # تنفيذ التراجع
1229
+ ```
1230
+
1231
+ **واجهة إدارة جاهزة:** انتقل إلى [`/admin/snapshots`](https://webagentbridge.com/admin/snapshots) وأدخل `Site ID` + `API Key` للتصفح والاسترجاع بزر واحد.
1232
+
1233
+ **حالات اللقطة:** `recorded → restored | failed | expired`.
1234
+
1235
+ ### كيف تستخدمها من SDK
1236
+
1237
+ ```js
1238
+ const { SafetyShieldClient } = require('@webagentbridge/sdk');
1239
+
1240
+ const shield = new SafetyShieldClient({
1241
+ baseUrl: 'https://webagentbridge.com',
1242
+ sessionToken: 'Bearer-token-from-/sessions',
1243
+ });
1244
+
1245
+ // الطريقة الموصى بها: تشغيل تجريبي ثم تأكيد
1246
+ const plan = await shield.dryRun('deleteUser', { id: 42 });
1247
+ console.log(plan.simulation.summary); // اعرضها للمستخدم البشري
1248
+ const result = await shield.confirmAction(plan, { code: '123456' });
1249
+ // أو في خطوة واحدة (ترجع envelope من نوع pending_human_gate إذا لزم):
1250
+ const out = await shield.safeExecute('deleteUser', { id: 42 });
1251
+ ```
1252
+
1253
+ ### جدول الأخطاء الموحَّدة
1254
+
1255
+ | الكود | HTTP | المعنى |
1256
+ |---|---|---|
1257
+ | `SCOPE_DENIED` | 403 | نطاق التوكن غير كافٍ |
1258
+ | `DRY_RUN_REQUIRED` | 412 | يجب تشغيل تجريبي أولاً |
1259
+ | `DRY_RUN_PLAN_MISMATCH` | 412 | المعاملات تغيّرت بين المرحلتين |
1260
+ | `DRY_RUN_PLAN_EXPIRED` | 412 | انقضت مهلة الخطة |
1261
+ | `HUMAN_GATE_REQUIRED` | 202 | تم إصدار تحدٍّ — انتظر الموافقة البشرية |
1262
+ | `HUMAN_GATE_PENDING` | 425 | الموافقة لم تحدث بعد |
1263
+ | `HUMAN_GATE_BAD_CODE` | 401 | رمز خاطئ |
1264
+ | `HUMAN_GATE_LOCKED` | 429 | استُنفدت ٥ محاولات لهذا التحدي |
1265
+ | `RATE_LIMIT_TOO_MANY_ATTEMPTS` | 429 | تجاوز حد الـ IP |
1266
+ | `INTENT_BLOCKED` | 403 | نتيجة محرك النية ≥90 |
1267
+ | `SNAPSHOT_NOT_FOUND` | 404 | لقطة غير موجودة |
1268
+ | `NO_RESTORER` | 503 | الموقع لم يسجّل `restorer` |
1269
+
1270
+ التفاصيل الكاملة (جداول الإشارات، صيغ التواصل، مرجع التطبيق) في [`docs/SPEC.md`](docs/SPEC.md) §8.9–§8.13.
1271
+
1272
+ ---
1273
+
1274
+ ## �📋 مواصفة بروتوكول WAB
1275
+
1276
+ المواصفة المعيارية الكاملة متاحة في [`docs/SPEC.md`](docs/SPEC.md):
1277
+
1278
+ | الطبقة | الوصف |
1279
+ |---|---|
1280
+ | **طبقة البروتوكول** | صيغة مستند الاكتشاف، بروتوكول الأوامر، بروتوكول العدالة |
1281
+ | **طبقة التشغيل** | واجهة `window.AICommands`، محرك الاكتشاف التلقائي، صندوق الأمان |
1282
+ | **طبقة النقل** | متغير JavaScript عام، WebSocket, HTTP, WebDriver BiDi, MCP |
1283
+
1284
+ ### دورة الحياة من ٥ مراحل
1285
+ ١. **اكتشاف** — الوكيل يجد مستند اكتشاف WAB (`.well-known/wab.json` أو وسم سكريبت)
1286
+ ٢. **مصادقة** — الوكيل يستبدل `siteId` بتوكن جلسة
1287
+ ٣. **تخطيط** — الوكيل يقرأ الإجراءات المتاحة ومعلومات الصفحة
1288
+ ٤. **تنفيذ** — الوكيل يشغل الإجراءات عبر الجسر
1289
+ ٥. **تأكيد** — النتائج تُتحقق عبر درع مقاومة التزييف
1290
+
1291
+ ---
1292
+
1293
+ ## 🤝 المساهمة
1294
+
1295
+ نرحب بالمساهمات! اقرأ [دليل المساهمة](CONTRIBUTING.md) للبدء.
1296
+
1297
+ ---
1298
+
1299
+ ## 📄 الرخصة
1300
+
1301
+ MIT — مجاني للاستخدام والتعديل والتوزيع.
1302
+
1303
+ </div>
1304
+