البحث على الويب
البحث على الويب
Section titled “البحث على الويب”تستطيع كاظمة البحث في الويب، جلب الصفحات، تصفّح الوثائق الطويلة نوافذ، زحف موقع بحدود، وهضم المستخلصات المحفوظة — كل ذلك من المحادثة العادية (أو /swarm). لا يوجد أمر slash اسمه /research.
الاسم العربي: Kazma / كاظمه (أو كاظمة). لا تُستخدم كازما.
كيف تستخدمها
Section titled “كيف تستخدمها”| الهدف | ماذا تفعل |
|---|---|
| بحث سريع بمصادر | دردشة: «ابحث عن X واستخدم الويب واذكر الروابط» |
| بحث عميق متعدد الصفحات | «ازحف https://docs… وهضم الصفحات» |
| بحث متوازٍ بعدة عمال | /swarm research … أو «استخدم السرب للبحث عن X» |
| فرض مسار أدوات | سمِّ الأدوات: «web_search ثم read_url_to_file ثم digest_research_file» |
المُشرف يختار الأدوات؛ لا يلزم تسميتها إلا للتحكم.
خريطة الأدوات
Section titled “خريطة الأدوات”| الأداة | الدور |
|---|---|
web_search | بحث (SearXNG → DuckDuckGo → Bing HTML). يُفضَّل KAZMA_SEARXNG_URL. |
read_url | رابط واحد، نافذة مُصفَّحة (offset, max_chars). الترويسة تُظهر الطول الكلي والـ offset التالي. |
read_url_to_file | مستخلص كامل داخل مساحة العمل (المجلد الافتراضي KAZMA_RESEARCH_DIR، عادة research/). |
crawl_page | اسم بديل أصلي لـ read_url (مهارة advanced-web-crawler). |
crawl_site | زحف محدود متعدد الصفحات لنفس النطاق؛ يحفظ الصفحات ويعيد فهرسًا. |
list_research_chunks | فهرس المقاطع + معاينات لملف محفوظ. |
read_research_chunk | مقطع واحد بالفهرس. |
summarize_research_file | مخطط استخلاصي خفيف. |
digest_research_file | يمر على كل المقاطع داخل الأداة؛ يعيد هضمًا محدودًا (آمن للسياق). |
المهارة الأصلية advanced-web-crawler تسجّل أيضًا web_search_duckduckgo وcrawl_page وparse_document (تُحمَّل تلقائيًا).
انظر كتالوج الأدوات.
الحدود (مهمة للصفحات الطويلة)
Section titled “الحدود (مهمة للصفحات الطويلة)”| المرحلة | الافتراضي | متغير البيئة |
|---|---|---|
نافذة read_url | 16 000 حرفًا | KAZMA_READ_URL_MAX_CHARS |
| اقتطاع الرسم (أدوات عادية) | 4 000 | KAZMA_TOOL_RESULT_MAX_CHARS |
| اقتطاع الرسم (أدوات البحث) | 16 000 | KAZMA_TOOL_RESULT_RESEARCH_MAX_CHARS |
| مخرجات الهضم | 12 000 | KAZMA_RESEARCH_DIGEST_MAX |
حد مزدوج قديمًا: إصدارات أقدم قصّت الكشط عند 8k والرسم عند 4k. أدوات البحث تستخدم الآن سقف البحث الأعلى لتكون التصفّح مفيدة.
مثال تصفّح:
read_url(url, offset=0)read_url(url, offset=16000) # النافذة التالية؛ النص الكامل يُخزَّن مؤقتًا ~15 دقيقةبحث صفحة كاملة:
read_url_to_file(url) → digest_research_file(path) → read_research_chunk للتفاصيلزحف متعدد الصفحات (crawl_site)
Section titled “زحف متعدد الصفحات (crawl_site)”| التحكم | الافتراضي | السقف الصلب |
|---|---|---|
max_pages | 8 | 50 (KAZMA_CRAWL_MAX_PAGES) |
max_depth | 2 | 5 (KAZMA_CRAWL_MAX_DEPTH) |
same_domain_only | true | مُستحسن |
delay_ms | 300 | أدب الشبكة |
| SSRF | كل رابط | يحجب الخاص/metadata |
يُحفظ تحت مساحة العمل (مجلد research الافتراضي) ويعيد فهرس Markdown.
بحث أقوى (SearXNG)
Section titled “بحث أقوى (SearXNG)”web_search يجرّب SearXNG أولًا، ثم DuckDuckGo → Bing → Wikipedia.
| الإعداد | الأمر / البيئة |
|---|---|
| ملف Compose | docker compose --profile search up -d searxng |
| منفذ المضيف | http://127.0.0.1:8088 (يُطابق الحاوية 8080) |
| Env | KAZMA_SEARXNG_URL=http://127.0.0.1:8088 |
| ConfigStore | المفتاح search.searxng_url |
| الإعدادات | deploy/searxng/settings.yml يفعّل تنسيق JSON (مطلوب) |
تكتشف كاظمة أيضًا localhost:8088 وhost.docker.internal:8088 وsearxng:8080.
خلفيات جلب أقوى (اختيارية)
Section titled “خلفيات جلب أقوى (اختيارية)”| Env | الغرض |
|---|---|
KAZMA_FETCH_BACKEND | auto | httpx | jina | firecrawl |
KAZMA_FIRECRAWL_API_KEY | مفتاح Firecrawl (أفضل جودة على المواقع الصعبة) |
KAZMA_FIRECRAWL_URL | قاعدة Firecrawl ذاتية الاستضافة (اختياري) |
KAZMA_JINA_READER | 1 = دائمًا أولًا؛ غير معيّن = استرداد فقط؛ 0 = أبدًا |
JINA_API_KEY / KAZMA_JINA_API_KEY | مصادقة Jina اختيارية |
ترتيب الجلب
- خلفيات اختيارية عند الاشتراك (مفتاح Firecrawl /
KAZMA_JINA_READER=1). - httpx محلي + trafilatura.
- استرداد الصفحات الصلبة: Firecrawl (إن وُجد المفتاح) → Jina → Playwright.
استيعاب المعرفة (knowledge_ingest_url / site) يعيد استخدام نفس سلسلة _fetch_full_text.
Playwright: pip install 'kazma[web]' وplaywright install chromium.
الأمان والصدق
Section titled “الأمان والصدق”- آمن ضد SSRF على كل الجلب وإعادة التوجيه.
- الحفظ داخل مساحة العمل النشطة فقط.
- ليس زحف إنترنت بلا حدود.
- ليس منيعًا ضد جدران الروبوتات المؤسسية.
- الهضم استخلاصي (بلا LLM متداخل داخل الأداة)؛ نموذج الدردشة يصوغ التقرير النهائي.
- HITL يبقى على أدوات الخطر؛ أدوات بحث الويب عامة قراءة/آمنة.
أوضاع: سريع مقابل عميق
Section titled “أوضاع: سريع مقابل عميق”| الوضع | كيف تُفعّله | السلوك |
|---|---|---|
| سريع | «ابحث»، أسئلة قصيرة | أدوات حرّة؛ قفزة أو اثنتان كافية |
| عميق / ورقة | «ابحث بعمق»، «تقرير شامل»، /research deep <موضوع>، أو run_research_pipeline | بحث متعدد الاستعلامات → جلب صفحات كاملة → هضم → توليف LLM → تقرير تحت research/reports/ |
أدوات التوليف
Section titled “أدوات التوليف”| الأداة | الدور |
|---|---|
digest_research_file | خريطة استخلاصية لملف (بلا LLM متداخل) |
synthesize_from_digests | تحليل LLM عبر مصادر متعددة |
run_research_pipeline | خط أنابيب كامل (بحث→جلب→هضم→توليف→حفظ) |
كتيّبات مُوصى بها
Section titled “كتيّبات مُوصى بها”موضوع واحد
Section titled “موضوع واحد”web_search(≥2 استعلامات للعمل الدقيق)read_url_to_fileعلى أفضل النتائج (≥2 مصادر)digest_research_fileثمsynthesize_from_digests- أجب مع اقتباسات
موقع توثيق
Section titled “موقع توثيق”crawl_site(start_url, max_pages=12, max_depth=2)digest_research_fileلكل مسار محفوظ- تقرير
ورقة شاملة
Section titled “ورقة شاملة”/research deep <موضوع># أوrun_research_pipeline(topic="...", depth="deep", max_sources=8)يعمل على Web SSE وWebSocket وبوابة الدردشة. يكتب research/reports/<slug>-<ts>/report.md، وDOCX اختياري (export_docx=True أو KAZMA_RESEARCH_EXPORT_DOCX=1)، ويسجّل التشغيل للوحة الأبحاث (GET /api/research/papers).
/swarm research … / dispatch_swarm يتضمن أدوات الحفظ/الهضم/الخط.
ذات صلة
Section titled “ذات صلة”- كتالوج الأدوات
- متغيرات البيئة
- المهارات وMCP والأدوات
- قابلية النقل (مساحة العمل +
kazma-data/)