تخطَّ إلى المحتوى
kazma.
EN نجمة 7 ابدأ الآن

البحث على الويب

تستطيع كاظمة البحث في الويب، جلب الصفحات، تصفّح الوثائق الطويلة نوافذ، زحف موقع بحدود، وهضم المستخلصات المحفوظة — كل ذلك من المحادثة العادية (أو /swarm). لا يوجد أمر slash اسمه /research.

الاسم العربي: Kazma / كاظمه (أو كاظمة). لا تُستخدم كازما.

الهدفماذا تفعل
بحث سريع بمصادردردشة: «ابحث عن X واستخدم الويب واذكر الروابط»
بحث عميق متعدد الصفحات«ازحف https://docs… وهضم الصفحات»
بحث متوازٍ بعدة عمال/swarm research … أو «استخدم السرب للبحث عن X»
فرض مسار أدواتسمِّ الأدوات: «web_search ثم read_url_to_file ثم digest_research_file»

المُشرف يختار الأدوات؛ لا يلزم تسميتها إلا للتحكم.

الأداةالدور
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_url16 000 حرفًاKAZMA_READ_URL_MAX_CHARS
اقتطاع الرسم (أدوات عادية)4 000KAZMA_TOOL_RESULT_MAX_CHARS
اقتطاع الرسم (أدوات البحث)16 000KAZMA_TOOL_RESULT_RESEARCH_MAX_CHARS
مخرجات الهضم12 000KAZMA_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_pages850 (KAZMA_CRAWL_MAX_PAGES)
max_depth25 (KAZMA_CRAWL_MAX_DEPTH)
same_domain_onlytrueمُستحسن
delay_ms300أدب الشبكة
SSRFكل رابطيحجب الخاص/metadata

يُحفظ تحت مساحة العمل (مجلد research الافتراضي) ويعيد فهرس Markdown.

web_search يجرّب SearXNG أولًا، ثم DuckDuckGo → Bing → Wikipedia.

الإعدادالأمر / البيئة
ملف Composedocker compose --profile search up -d searxng
منفذ المضيفhttp://127.0.0.1:8088 (يُطابق الحاوية 8080)
EnvKAZMA_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_BACKENDauto | httpx | jina | firecrawl
KAZMA_FIRECRAWL_API_KEYمفتاح Firecrawl (أفضل جودة على المواقع الصعبة)
KAZMA_FIRECRAWL_URLقاعدة Firecrawl ذاتية الاستضافة (اختياري)
KAZMA_JINA_READER1 = دائمًا أولًا؛ غير معيّن = استرداد فقط؛ 0 = أبدًا
JINA_API_KEY / KAZMA_JINA_API_KEYمصادقة Jina اختيارية

ترتيب الجلب

  1. خلفيات اختيارية عند الاشتراك (مفتاح Firecrawl / KAZMA_JINA_READER=1).
  2. httpx محلي + trafilatura.
  3. استرداد الصفحات الصلبة: Firecrawl (إن وُجد المفتاح) → Jina → Playwright.

استيعاب المعرفة (knowledge_ingest_url / site) يعيد استخدام نفس سلسلة _fetch_full_text.

Playwright: pip install 'kazma[web]' وplaywright install chromium.

  • آمن ضد SSRF على كل الجلب وإعادة التوجيه.
  • الحفظ داخل مساحة العمل النشطة فقط.
  • ليس زحف إنترنت بلا حدود.
  • ليس منيعًا ضد جدران الروبوتات المؤسسية.
  • الهضم استخلاصي (بلا LLM متداخل داخل الأداة)؛ نموذج الدردشة يصوغ التقرير النهائي.
  • HITL يبقى على أدوات الخطر؛ أدوات بحث الويب عامة قراءة/آمنة.
الوضعكيف تُفعّلهالسلوك
سريع«ابحث»، أسئلة قصيرةأدوات حرّة؛ قفزة أو اثنتان كافية
عميق / ورقة«ابحث بعمق»، «تقرير شامل»، /research deep <موضوع>، أو run_research_pipelineبحث متعدد الاستعلامات → جلب صفحات كاملة → هضم → توليف LLM → تقرير تحت research/reports/
الأداةالدور
digest_research_fileخريطة استخلاصية لملف (بلا LLM متداخل)
synthesize_from_digestsتحليل LLM عبر مصادر متعددة
run_research_pipelineخط أنابيب كامل (بحث→جلب→هضم→توليف→حفظ)
  1. web_search (≥2 استعلامات للعمل الدقيق)
  2. read_url_to_file على أفضل النتائج (≥2 مصادر)
  3. digest_research_file ثم synthesize_from_digests
  4. أجب مع اقتباسات
  1. crawl_site(start_url, max_pages=12, max_depth=2)
  2. digest_research_file لكل مسار محفوظ
  3. تقرير
/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 يتضمن أدوات الحفظ/الهضم/الخط.