web-agent-bridge 3.4.0 → 3.8.1

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