تخطَّ إلى المحتوى
kazma.
البحث في كاظمه والتوثيق
EN

أوامر الشرطة المائلة

تعالج بوابة كاظمه أوامر الشرطة المائلة في Telegram وDiscord وSlack قبل أن تصل الرسالة إلى الوكيل. يجيب معظمها فورًا، دون استدعاء نموذج؛ أما /research و/swarm و/ide skill فتبدأ عملًا يستخدم نموذجًا. ترتيب تجربتها مذكور في دورة حياة الأمر.

البحث على الويب: للبحث المعمَّق أيضًا مداخل من البوابة والواجهة (/research deep …، ولوحة /research في الويب). استخدم المحادثة العادية أو هذه المداخل بدل اختراع صيغ مائلة جديدة. راجع البحث على الويب والميزات الحديثة.


يعرض منصة ذكاء المستندات المشتركة (DocumentIngestionService) عبر /documents (والاسم البديل /docs) في Telegram وDiscord وSlack ومحادثات البوابة الأخرى. تستخدم القراءات معرّفات معتمة؛ لا مسارات خادم خام من المستخدم.

كل محادثة تعمل بصفتها مشغّل التثبيت (مشغّل واحد لكل تثبيت)، كما تفعل أدوات المستندات لدى الوكيل وصفحة المستندات في واجهة الويب: تسرد الأوامر كل مستندات التثبيت وتقرؤها، أيًّا كان السطح الذي استوعبها (منذ 2026-10-13). ومع مستخدمي المنصات (وضع تعدد المستخدمين) ترفض. والمعرّف الذي يملكه مستأجر آخر يُجاب عنه تمامًا كالمعرّف غير المعروف (يقول status ‏“Not found”). ولا يحتاج أيٌّ من الأوامر الفرعية إلى مشرف بوابة.

الأمر الفرعيالاستخدامالوصف
(مساعدة)/documentsالمساعدة + ما يصل إلى 8 مستندات
list/documents listسرد المعرّف والعنوان والحالة
status/documents status <id>حالة المهمة ومرحلتها ومحاولاتها؛ ولمعرّف مستند، أحدث مهمة له
read/documents read <id>أول 3,000 حرف من مستند جاهز، مسيَّجة كبيانات غير موثوقة (بلا تقسيم إلى صفحات من المحادثة)
convert/documents convert <id> <format>التحويل إلى صيغة أخرى (مثل pdf/html/docx/markdown) ← أثر جديد؛ ويذكر الرد معرّفه وصيغته وحجمه
pdf-info/documents pdf-info <id>عدد صفحات ملف PDF وتشفيره (الاسم البديل pdfinfo)
redact/documents redact <id> <term[,term…]>حجب فعلي ← أثر جديد؛ ويبقى الأصل دون تغيير. بلا تأكيد في المحادثة
search/documents search <library> <query>أفضل 5 نتائج من مكتبة مفهرسة، مسيَّجة
health/documents healthالعامل يعمل/متوقف، والمحلِّلات الجاهزة، وجاهزية OCR

الاسم البديل: يقبل /docs … الأوامر الفرعية نفسها. ولا يوجد أمر فرعي للرفع: الملف المرسَل في محادثة يُقرأ قراءةً عابرة، ولا يُخزَّن في المنصة، والمستند الذي تستطيع هذه الأوامر رؤيته يدخل عبر document_import لدى الوكيل. ومع تعطيل الكتابات الدائمة، يجيب التحويل والحجب بأن الكتابات معطَّلة.

الدليل: ذكاء المستندات · الواجهة البرمجية: مسارات الواجهة البرمجية — المستندات.


افحص واقترح، ثم نفّذ عند الموافقة. تُحظر الأدوات المُعدِّلة بنيويًا ما دام وضع التخطيط مفعّلًا (لا مجرد تلميح في الموجّه). وتبقى الموافقة البشرية (HITL) سارية بعد الموافقة على الخطة.

الأمر الفرعيالاستخدامالوصف
(الحالة)/planإظهار ما إذا كان وضع التخطيط مفعّلًا
on/plan onدخول وضع التخطيط (الكتابة/التنفيذ/الترقيع/الصدفة محظورة)
(مهمة)/plan <task>الدخول وتخطيط تلك المهمة في الدور نفسه
go/plan goالموافقة على الخطة وتنفيذها (البديل: Proceed)
off/plan offالخروج دون تنفيذ

مفتاح الإيقاف: KAZMA_PLAN_MODE=0. في الويب: زر Plan في شريط الكتابة.


الجلسة (season) محادثة واحدة، وقائمة الجلسات نفسها على كل منصة: قائمة المحادثات في واجهة الويب وكل تطبيق محادثة يتشاركونها، فالمحادثة التي بدأت على Telegram يمكن متابعتها على الويب أو في Slack.

الأمرالوصف
/sessions (/seasons)سرد كل الجلسات — الويب وTelegram وDiscord وSlack (أحدث 40؛ دون المؤرشفة)
/session <#, id or name> (/season, /switch)تولّي جلسة: تتابعها هذه المحادثة (جلساتك أنت فقط)
/session allالقائمة مع الجلسات المؤرشفة
/session hereالجلسة التي تعمل عليها هذه المحادثة، مع رابطها على الويب
/session new [name]بدء جلسة جديدة، مسمّاة أو لا؛ و/new يفعل الشيء نفسه

الجلسة الجديدة تُبقي القديمة: تبقى في القائمة وفي الشريط الجانبي لواجهة الويب، وما كانت تحمله في الذاكرة العاملة ينتقل إلى الذاكرة الطويلة الأمد.

الاستخدام:

/sessions
/session 2
/session new release notes

الأذونات المطلوبة: لا شيء.


يمسح محادثة هذه الدردشة ويبدأ من جديد: تُحذف المحادثة المحفوظة (نقاط حفظها)، وتُفرَّغ نسخة الجلسة في واجهة الويب.

الاستخدام:

/reset

الرد:

🔄 Conversation cleared and reset to default. Starting fresh!

الآثار الجانبية:

  • لا يُنسى ما تعلّمته كاظمه: تحتفظ به الذاكرة (/memory off يُبقي محادثةً خارج الذاكرة وينسى ما تركته).
  • تبقى خطوات السفر عبر الزمن المحفوظة لهذه المحادثة (/replay clear يحذفها).

الأذونات المطلوبة: لا شيء.


يلخّص الرسائل الأقدم في المحادثة الآن، كما تفعل كاظمه من تلقاء نفسها حين تقترب المحادثة من نافذة النموذج. مفيد قبل مهمة طويلة، أو حين يُظهر /context أن المحادثة تمتلئ.

الاستخدام:

/compact

الرد:

🗜️ Context compaction completed successfully! Your conversation history has been summarized and compressed.

الأذونات المطلوبة: لا شيء.


يحذف الرد الأخير من المحادثة المحفوظة، مع استدعاءات الأدوات ونتائجها التي أنتجته، فتتابع الرسالة التالية كأنه لم يُعطَ.

الاستخدام:

/undo

الرد (نجاح):

✅ Removed last assistant response, and what Kazma remembered from it. You can continue the conversation.

الرد (لا شيء للتراجع عنه):

↩️ No assistant response to undo.

الآثار الجانبية:

  • يبقى الرد المُرسَل في تطبيق المحادثة؛ تتغير فقط المحادثة التي تحتفظ بها كاظمه.
  • ما تذكّرته كاظمه من ذلك الدور — ذاكرتها عنه والحقائق التي تعلّمتها منه — يُنسى أيضًا.

الأذونات المطلوبة: لا شيء.


يستبدل الرد الأخير في المحادثة المحفوظة بنصك المصحَّح، فتبني الأدوار التالية عليه.

الاستخدام:

/edit The corrected response text goes here.

الرد (نجاح):

✅ Replaced last response, and forgot what Kazma remembered from the old one. You can continue the conversation.

الرد (نص مفقود):

✏️ *Usage:* `/edit <corrected text>`
Replaces the last assistant message in conversation history.

الرد (لا شيء لتعديله):

✏️ No conversation history to edit.

الآثار الجانبية:

  • لا يُعدَّل الرد المُرسَل في تطبيق المحادثة.

الأذونات المطلوبة: لا شيء.


السفر عبر الزمن: سرد الخطوات المحفوظة لهذه المحادثة، أو إرجاع المحادثة إلى إحداها، أو مقارنة خطوتين، أو حذفها. تُحفظ خطوة بعد كل تكرار للمشرف (انظر السفر عبر الزمن). وتُسمّى الخطوة بمعرّفها: تكفي الأحرف الثمانية الأولى التي يعرضها /replay list. ورقم التكرار ليس عنوانًا، لأنه يبدأ من جديد في كل دور.

الأوامر الفرعية:

الأمرالوصف
/replay listالخطوات المحفوظة لهذه المحادثة، دورًا دورًا، مع معرّفاتها
/replay <step>استعادة: تُسحب الأدوار اللاحقة من المحادثة، ومما تذكّرته كاظمه عنها، ومن خطواتها المحفوظة. تُرفض ما دام دورٌ يعمل أو موافقةٌ تنتظر
/replay compare <a> <b>مقارنة خطوتين (الرسائل، الكلفة، النموذج، التوجيه)
/replay clearحذف الخطوات المحفوظة لهذه المحادثة

تفريع خطوة محفوظة إلى محادثة جديدة؛ ويبقى الأصل سليمًا.

الأمرالوصف
/fork <step>تفريع تلك الخطوة إلى محادثة جديدة تملكها أنت، تحوي الأسئلة والإجابات حتى تلك الخطوة (وتظهر في الشريط الجانبي لواجهة الويب)

الاستخدام:

/replay list
/replay 3f2a91bc
/replay compare 3f2a91bc 8c41d0e7
/replay clear
/fork 3f2a91bc

الرد (/replay list):

🕰️ *Saved steps* (restore with `/replay <id>`, branch with `/fork <id>`):
*turn 1*
• `3f2a91bc` step 1 — 2026-10-14 09:30 — deepseek-chat
• `8c41d0e7` step 2 — 2026-10-14 09:31 — deepseek-chat

الرد (لا خطوات):

📭 No steps of this chat have been saved.

الرد (/replay clear):

🗑️ Deleted 5 saved steps of this chat.

الرد (استعادة بينما تنتظر موافقة):

⏸️ An approval is waiting in this chat (shell_exec). Approve or deny it first, then restore.

الاعتماد: المسجِّل SnapshotRecorder موصول بكل مواضع بناء الرسم البياني افتراضيًا (يُفعَّل عبر time_travel.enabled: true في kazma.yaml). إذا كان معطّلًا:

⏳ Time travel not yet available.

الأذونات المطلوبة: لا شيء.


🧭 أوامر المهمة الجارية

Section titled “🧭 أوامر المهمة الجارية”

إشارات خارج النطاق إلى دور جارٍ. تُعترض قبل قفل الدور الجاري، فتسري فورًا بدل أن تنتظر خلفه. متاحة على كل منصة (الويب وTelegram وDiscord وSlack).

يضيف سياقًا إضافيًا إلى المهمة الجارية. يُدمج النص في الخطوة التالية للوكيل — ولا يقاطع الخطوة الحالية.

الاستخدام:

/steer also cover the error-handling path

الرد:

🧭 Steer noted — I'll fold it into the next step.

يوقف المهمة الجارية مؤقتًا، ويحقن المتطلب، ثم يستأنف. يتعلّق الرسم البياني عبر مقاطعة، ويُحقن نصك، ويتابع الدور تحت المتطلب الجديد.

الاستخدام:

/steer! stop — use the Postgres backend, not SQLite

السلوك:

  • إذا كانت المهمة تُنهي بالفعل (لا يمكن إيقافها)، يتحوّل /steer! تلقائيًا إلى توجيه لين ويخبرك بذلك — ويُطبَّق مُدخلك مع ذلك.
  • إذا فشل الاستئناف، تحصل على رسالة واضحة ⚠️ Could not resume the task after steering.

يُلغي المهمة الجارية ويتخلّى عنها. يُعلَّم الدور abandoned، ويُمسح auto_continue، وتُحقن علامة إلغاء فلا يتابع الوكيل المهمة إلا إذا طلبت منه إعادتها. ويفعل /stop الشيء نفسه. يُجاب الطلب الملغى في المحادثة بـ ”⛔ Cancelled with /abort before an answer — not continued.”، فلا تُفهم رسالتك التالية على أنها طلب لإكماله. ويُغلق الدور بما كان قد كتبه حتى تلك اللحظة، أو بتلك الملاحظة إن لم يكن قد كتب شيئًا؛ ولا تُحفظ إجابة دور سابق ردًّا له أبدًا.

الاستخدام:

/abort

الرد:

⛔ Task aborted — I won't continue it unless you ask me to redo it.

تُعالَج /steer و/steer! و/abort في معالج الرسم البياني (agent_handler/graph.py)، لا في محلّل أوامر البوابة — فهي تحتاج وصولًا حيًا إلى حالة نقطة الحفظ للدور الجاري.

الأعمال الجارية: كل دور محادثة ومهمة سرب ومهمة مجدولة ومهمة مستندات وجلسة بحث وعملية زحف ومنشور X ومهمة ذاكرة وجولة صيانة تشغّلها كاظمه أو شغّلتها خلال آخر يوم. يأتي أولًا ما يحتاج انتباهك: عمل توقف عن التقدم (بلا تقدم بعد تجاوز ميزانيته)، أو علق (لم يعد شيء يشغّله)، أو فشل. راجع الأعمال الجارية.

الأمرما يفعله
/runsما يحتاج انتباهك، ثم ما يجري الآن
/runs allالشيء نفسه، مع ما انتهى خلال آخر يوم
/runs show <id>عمل واحد (أو عمل حادثة inc_…): حالته، وآخر تقدم له، وسبب فشله، والإجراءات التي يتيحها
/runs act <incident> <action>اتخاذ إجراء على حادثة: cancel أو retry أو retry_checked أو close أو dismiss أو diagnose. للمسؤول فقط، مثل الأوامر الأخرى التي تغيّر كاظمه للجميع

عندما يتوقف عمل عن التقدم أو يعلق أو يفشل، ترسل كاظمه بطاقة إلى المحادثة التي بدأ منها، فيها زر لكل إجراء؛ والضغط على زر هو /runs act. القرار الأول هو النافذ على كل الواجهات: من يضغط بعده، هنا أو في لوحة التحكم، يُبلَّغ بما تقرّر ومن قرّره. والعمل الذي آثاره خارج كاظمه غير معروفة لا يتيح إلا retry_checked (“تحقّقت من آثاره”). diagnose لا يقرّر شيئًا: تحتفظ البطاقة بأزرارها، ويصل التشخيص تحتها. والفشل الذي سبق أن أعدت محاولته أو تجاهلته لم يعد يحتاج انتباهك؛ ويعرضه /runs all على أنه تم التعامل معه. يجيب /runs في محادثة الويب بلغة الصفحة، ويربط ببطاقة “الأعمال الجارية” في لوحة التحكم، حيث توجد الأزرار.

/long — وضع الميزانية/المهمة وبروتوكول Partial

Section titled “/long — وضع الميزانية/المهمة وبروتوكول Partial”

/long on (ميزانية بحث لينة — قد تنتهي بـ Partial)، و/long mission (التشغيل حتى الإنجاز بجدار صلب، افتراضيًا 500 جولة)، و/long status، و/long off. المرجع الكامل في خريطة التشخيص (§11 المهام الطويلة)؛ والسلوك المهم في المحادثة:

  • حين يبلغ دورٌ حدَّ الميزانية/التكرار، ترد كاظمه بالتقدّم المُستنقَذ (Partial). ردّ بـ Proceed (أو بالخطوات المتبقية) فيُحقن سياق المتابعة المخزّن فلا يُعاد شيء.
  • منذ 2026-08-19 لا يُحقن سياق المتابعة إلا للردود التي على شكل متابعة (قصيرة مثل “proceed/continue/yes/…”): الأمر الجديد بعد Partial يعمل مهمةً جديدة — ولا يُعاد تأطيره ملاحظةً للمهمة القديمة.
  • يُوقف Partial المهمة الطويلة مؤقتًا (ميزانيات أساسية، بلا تأطير مهمة) حتى تستخدم /long مجددًا أو تنقضي المهلة؛ و/long off يمسحها فورًا.
  • /mission هو /long mission. المهمة المكتوبة بعد /long mission (أو /mission) تعمل تحت الميزانية الجديدة مباشرة.

يتخطّى بطاقة الموافقة لأدوات الخطر في هذه المحادثة فقط، لمدة ساعة (KAZMA_YOLO_TTL_SECONDS) أو حتى /yolo off؛ ويُسجَّل تشغيله وإيقافه. تبقى منشورات X وعمليات الكتابة في git تطلب الموافقة، وتبقى قائمة منع التنفيذ ترفض الأوامر الكارثية. لا يرفع ميزانية جولات الأدوات — /long يفعل ذلك. يُرفض حيث KAZMA_ALLOW_YOLO=0، وفي الإنتاج ما لم يكن KAZMA_ALLOW_YOLO=1، مع ذكر السبب.

الاستخدام:

/yolo
/yolo status
/yolo off

/long yolo هو ميزانية البحث و YOLO. و/unrestricted هو ميزانية المهمة وYOLO — القوة الكاملة لهذه المحادثة — حتى /unrestricted off.

الاستخدام:

/long yolo
/unrestricted
/unrestricted off

يجيب عن موافقة أداة خطر متوقفة من المحادثة، كما تفعل أزرارها.

الأمرالوصف
/hitl approve [thread_id]موافقة (وكذلك yes وy وallow)
/hitl deny [thread_id]رفض
/hitl approve_task [thread_id]الموافقة على كل أدوات الخطر في هذه المهمة، حتى رسالتك التالية (10 دقائق كحد أقصى؛ والحد ثابت). لا ينطبق على بطاقة X (x_post وx_schedule_post وx_delete_post وx_cancel_scheduled_post): فهذه لا تقبل إلا موافقة لمرة واحدة، وapprove_task لا يوافق على شيء.
/hitl opt <thread_id> <option>اختيار خيار في بطاقة توضيح / تأكيد

الخيط الافتراضي هو خيط هذه المحادثة. لا يجيب عن المهمة المتوقفة إلا من بدأها، والبطاقة التي تجاوزها دورها تقول إنها انتهت بدل أن توافق على شيء. والبطاقة التي لا يجيب عنها أحد خلال safety.hitl.approval_timeout_seconds (افتراضيًا 300 s) تنتهي صلاحيتها: تتلقى المحادثة ”⏱ The approval for tool expired after N minutes with no answer, so it was not run.”، ثم بقية الدور. والنقر على تلك البطاقة لاحقًا يقول إنها انتهت؛ أرسل الطلب مجددًا إن كنت لا تزال تريده.


تجيب البوابة عن هذه بنفسها، من إعدادات كاظمه وتقارير الوكيل نفسه، دون استدعاء نموذج.

عرض ملف شخصية الوكيل أو تبديله. تتوفر 8 ملفات مدمجة.

الاستخدام:

/personality # Show current personality
/personality list # List all available profiles
/personality [name] # Switch to a specific profile

الملفات المتاحة: default (🤖)، friendly_expert (😊)، concise (⚡)، gulf_engineer (🛠️)، creative_partner (🎨)، sysadmin (🐧)، teacher (📚)، code_reviewer (🔍)

الرد (عرض الحالي):

🎭 Current personality: default 🤖
Professional AI assistant, efficient and helpful.

الرد (سرد الكل):

🎭 *Available personalities:*
• `code_reviewer` 🔍 — Direct, constructive. Points to exact lines. Suggests alternatives.
• `concise` ⚡ — Short answers, no fluff. Bullet points preferred.
• `creative_partner` 🎨 — Playful brainstorming partner. Multiple angles. Uses emoji.
• `default` 🤖 — Professional AI assistant, efficient and helpful.
• `friendly_expert` 😊 — Warm, encouraging expert who explains concepts clearly.
• `gulf_engineer` 🛠️ — Kuwaiti engineering colleague. Gulf Arabic phrases. Practical, no-nonsense.
• `sysadmin` 🐧 — Terse, technical. Shell commands first. Assumes competence.
• `teacher` 📚 — Patient explainer. Breaks down concepts step by step. Checks understanding.
_Switch with `/personality <name>`_

الرد (تبديل):

✅ Switched to **concise**: Short answers, no fluff. Bullet points preferred.

الرد (ملف غير معروف):

❌ Unknown personality: `unknown`
Available: code_reviewer, concise, creative_partner, default, friendly_expert, gulf_engineer, sysadmin, teacher
Use `/personality list` to see descriptions.

سلسلة الأولوية: التجاوز وقت التشغيل > إعداد agent.personality > متغير البيئة KAZMA_PERSONALITY > default.

الأذونات المطلوبة: لا شيء للعرض أو السرد. التبديل يغيّر كل رد، بما في ذلك محادثات الويب: للمشرفين فقط (راجع الأذونات).


يُظهر مقدار ما تملؤه المحادثة المحفوظة لهذه الدردشة من نافذة سياق النموذج، والحدّ الذي تُقلَّم عنده الأدوار الأقدم وتُلخَّص، ومساحة العمل والنموذج والمزوّد النشطين. يضيف /context detailed تفصيلًا حسب دور الرسالة. وهو التقرير نفسه الذي تعطيه أداة الوكيل context_info.

الاستخدام:

/context
/context detailed

الرد:

📊 Context Window
Tokens: 9,214 / 1,000,000 (1%)
Summarization threshold: 950,000 tokens (1% utilized)
Workspace: /home/you/kazma/kazma-data/workspace
Model: deepseek-chat Provider: deepseek

الرد (/context detailed) يضيف سطرًا بعد عدد الرموز:

Role breakdown: assistant=5,902, system=1,840, tool=911, user=561

النافذة: نافذة السياق (models.context_window.<model> للنموذج النشط، وإلا context.max_context_tokens، وإلا 1,000,000). الحدّ: ميزانية التقليم — 95% من النافذة، ما لم يحدّدها agent.trim.token_budget.

الأذونات المطلوبة: لا شيء.


معالج إعداد تفاعلي. اعرض الإعداد الحالي، وبدّل النموذج أو الشخصية، وشغّل الذاكرة أو أوقفها، وبدّل خوادم MCP، وصدّر — كل ذلك دون تحرير YAML. كل تغيير يكتب الإعداد الواحد الذي يغيّره.

الاستخدام:

/config # show current configuration
/config show # same as above
/config model <name> # switch the active model and its provider
/config personality <name> # switch personality (alias of /personality)
/config memory on|off # turn memory on or off
/config tools list # show the MCP servers
/config tools toggle <name> # turn an MCP server on or off (now and at every start)
/config export # export config as JSON

الأذونات المطلوبة: لا شيء للعرض أو التصدير. أما model وmemory وtools وتبديل الشخصية فتغيّر كاظمه لكل مستخدم ومنصة: للمشرفين فقط (راجع الأذونات).


إدارة مهارات الوكيل (حِزم قدرات قابلة للاكتشاف وموقّعة بـ HMAC). تُنشر المهارات في مركز agentskills.io وتُثبَّت من GitHub.

الاستخدام:

/skill list # list installed Agent Skills
/skill install <owner/repo> # install from GitHub (agentskills.io)
/skill activate <name> # arm a skill for this chat
/skill deactivate # clear the active skill
/skill uninstall <name> # remove an Agent Skill

للتعمق: تطوير المهارات · مركز كاظمه.

الأذونات المطلوبة: install وuninstall تضيفان مهارة أو تزيلانها للجميع: للمشرفين فقط (راجع الأذونات). والباقي: لا شيء.


يسرد كل الأوامر المتاحة مجمّعة حسب الفئة.

الاستخدام:

/help

الرد:

*Available commands:*
🔄 *Session*
• `/sessions` (`/seasons`) — List every season (Web + Telegram + Discord + Slack)
• `/session 2` (`/season`, `/switch`) — Continue that season here (take over)
• `/session new [name]` — Start a fresh season (`/new` still works)
• `/research deep <topic>` — deep research via the same agent
• `/swarm <task>` — dispatch workers via the same agent
• `/reset` — Clear the conversation history and start fresh
• `/compact` — Manually trigger context window compaction
• `/undo` — Remove the last reply from the conversation
• `/edit <text>` — Replace the last reply with your corrected text
• `/replay list` — This chat's saved steps, turn by turn, with their ids
• `/replay <step>` — Restore this chat to that step (later turns are taken back)
• `/replay compare <a> <b>` — Compare two steps
• `/replay clear` — Delete this chat's saved steps
• `/fork <step>` — Branch that step into a new chat
🧭 *Running task*
• `/steer <text>` — Add context to the running task (applies next step)
• `/steer! <text>` — Pause the task, inject a requirement, then resume
• `/abort` or `/stop` — Stop and abandon the running task (won't continue unless re-asked)
• `/hitl approve` · `/hitl deny` — Answer a pending approval (`/hitl approve_task` — every approval of this task)
• `/runs` — Running work: what is stalled, failed or waiting for you (`/runs all`, `/runs show <id>`, `/runs act <incident> <action>`)
⚡ *Capacity & YOLO*
• `/long on` · `/long mission` (`/mission`) — raise tool-round budget (HITL stays on)
• `/yolo` — skip danger-tool approvals (does **not** raise the budget)
• `/long yolo` — research budget **and** YOLO
• `/unrestricted` — mission + YOLO (full power this chat)
• `/long off` · `/yolo off` · `/unrestricted off`
📋 *Plan mode*
• `/plan on` · `/plan <task>` — inspect and propose (write/exec blocked)
• `/plan go` · **Proceed** — approve and execute (HITL still on)
• `/plan off` · `/plan status`
🔧 *Tools*
• `/personality` — Show current personality
• `/personality list` — List all available personalities
• `/personality <name>` — Switch personality
• `/context` — Show context window usage
• `/x` — X Studio: drafts, accounts, scheduled posts (`/x help`)
• `/ide` — Workspace files, git and coding skills (`/ide help`)
• `/kb` — Knowledge libraries: list, crawl, search (`/kb help`)
• `/skill list` — List installed Agent Skills
• `/skill install <owner/repo>` — Install from GitHub (agentskills.io)
• `/skill activate <name>` — Arm a skill for this chat
• `/skill deactivate` — Clear the active skill
• `/skill uninstall <name>` — Remove an Agent Skill
📄 *Documents*
• `/documents list` (`/docs`) — List processed documents
• `/documents status <id>` — Durable job state
• `/documents read <id>` — Read a ready document
• `/documents search <library> <query>` — Search indexed docs
⚙️ *Config*
• `/config show` — Display current configuration
• `/config model <name>` — Switch model
• `/config personality <name>` — Switch personality
• `/config memory on|off` — Toggle memory
• `/config tools list` — Show the MCP servers
• `/config tools toggle <name>` — Turn an MCP server on or off (now and at every start)
• `/config export` — Export config as JSON
ℹ️ *Info*
• `/help` — Show this list
• `/status` — Gateway health overview
• `/model` (`/models`) — Show and switch the model
• `/memory` — Report memory usage; `/memory off` / `/memory on` — keep this chat out of memory, or let it back in
• `/cost` — Tokens and cost of this chat
For anything else, just ask the agent directly!

الأذونات المطلوبة: لا شيء.


يعيد صحة البوابة الحالية: كل تطبيق محادثة مع ما يقوله اتصاله (connected أو connecting أو down، أو running حين لا يحتفظ بسجل)، ثم الرسائل المنتظرة في طابور البوابة والرسائل الأخرى قيد المعالجة الآن. ما لا يستطيع قراءته يظهر ?.

الاستخدام:

/status

الرد:

*Gateway Status*
● Gateway: **running**
• Telegram: `connected`
• Slack: `connecting` — Slack refused the Socket Mode connection (invalid_auth)
• Queue depth: `0`
• Messages in progress: `1`

الحرف الأول ● (U+25CF) للتشغيل، و○ (U+25CB) للتوقف، و? حين تتعذّر قراءة البوابة.

مفاتيح السياق: started وadapters وqueue_depth وin_progress — تُقرأ من GatewayManager (إحصاءاته وتقرير اتصالاته ومعالجات رسائله).

الأذونات المطلوبة: لا شيء.


يعرض المزوّدين ونماذجهم، ويبدّل النموذج النشط. على Telegram يفتح قائمة اختيار: اضغط مزوّدًا، ثم نموذجًا. وفي غيره يسرد كل مزوّد مع خمسة من نماذجه على الأكثر، مع تعليم النشط منها؛ بدّل بـ /config model <name>. و/models مثله.

الاستخدام:

/model

الرد (خارج Telegram):

Available providers:
DeepSeek — 2 models
deepseek-chat *(active)*
deepseek-reasoner
Use `/config model <model_name>` to switch.

الأذونات المطلوبة: لا شيء.


يذكر عدد الحقائق التي تحتفظ بها كاظمه لك وما إذا كانت تتذكّر هذه المحادثة. /memory off يُبقي هذه المحادثة خارج الذاكرة من الآن وينسى ما تركته فيها؛ و/memory on يسمح بعودة الرسائل الجديدة (ما نُسي يبقى منسيًا).

الاستخدام:

/memory
/memory off
/memory on

الرد:

💾 Memory: `42` stored facts. This chat is remembered (`/memory off` to stop).

مفتاح السياق: memory_count — الحقائق الحالية لمستأجر ذاكرتك.

الأذونات المطلوبة: لا شيء.


يُظهر رموز استدعاءات النموذج لهذه المحادثة وكلفتها، من سجل كل استدعاء (llm_calls.db).

الاستخدام:

/cost

الرد:

💰 Session cost: `$0.0234` (2,481 tokens, 12 model calls)

مفاتيح السياق: total_tokens وtotal_cost وtotal_calls — مجموعة من السجل لخيط هذه المحادثة.

الأذونات المطلوبة: لا شيء.


/ide — أوامر البرمجة في بيئة التطوير

Section titled “/ide — أوامر البرمجة في بيئة التطوير”

مكان المعالجة: kazma_gateway/agent_handler/commands.py:_try_ide_command (تُعترض في البوابة، وتتخطّى الرسم البياني — المسار نفسه لـ /swarm).

كل أوامر /ide تقود IdeService المحايد للنقل في kazma_core/ide/. وتمرّ العمليات المُعدِّلة/المنفِّذة (edit وdelete وrun وgit) عبر LocalToolRegistry المشترك + بوابة أدوات الخطر (HITL).

الأمرالوصف
/ideعرض المساعدة بكل الأوامر الفرعية
/ide ls [path]سرد مجلد في مساحة العمل
/ide open <file>قراءة ملف (يُعرض في كتلة شيفرة)
/ide edit <file> <text>كتابة محتوى في ملف (بموافقة HITL)
/ide delete <file>حذف ملف أو مجلد (بموافقة HITL)
/ide run <command>تشغيل أمر صدفة في مساحة العمل (بموافقة HITL)
/ide runfile <file>تشغيل نص برمجي بالمفسّر المستنتج له
/ide grep <pattern> [glob]بحث بتعبير نمطي في مساحة العمل
/ide git <subcommand>تشغيل أمر git فرعي (بموافقة HITL)
/ide repoإدارة مساحات العمل (السرد، التبديل، الاستنساخ، التفعيل بالاسم المختصر)
/ide skill [name] [file]تشغيل مهارة برمجة (refactor-file، write-tests، fix-lint، code-review)
/ide swarm <task>إرسال مهمة برمجة إلى السرب
/ide → shows help
/ide open kazma_core/ide/service.py → reads the file
/ide edit config.yaml "key: value" → writes (HITL approval required)
/ide run pytest -q → runs tests (HITL approval required)
/ide repo clone Mubder/kazma → clones + activates as workspace
/ide skill write-tests kazma_core/ide/service.py → generates tests via swarm

عمليات فئة الخطر (edit وdelete وrun وgit) تتطلب موافقة HITL — البوابة نفسها للوكيل والسرب. راجع AGENTS.md §7. /ide repo switch و/ide repo clone و/ide repo <owner/repo> تغيّر مساحة العمل النشطة للجميع: للمشرفين فقط (راجع الأذونات).

متاحة على: Telegram وDiscord وSlack والويب (المحادثة) وواجهة الطرفية.


/swarm — إرسال السرب (من المحادثة)

Section titled “/swarm — إرسال السرب (من المحادثة)”

مكان المعالجة: kazma_gateway/agent_handler/commands.py:_try_swarm_command (تُعترض في البوابة؛ وهي صيغة المحادثة لواجهة kazma swarm). وتظل عمليات الإرسال الخطرة تمرّ عبر بوابة HITL في ناقل السرب.

الأمرالوصف
/swarmعرض المساعدة + قائمة العمّال
/swarm statusعرض حالة السرب
/swarm listسرد العمّال المسجّلين
/swarm configعرض إعداد توجيه المخرجات
/swarm config group <chat_id>توجيه مخرجات السرب إلى مجموعة Telegram
/swarm config clearتعطيل توجيه المخرجات
/swarm broadcast <task>الإرسال إلى كل العمّال
/swarm pipeline <w1,w2,…> <task>خط أنابيب متتابع
/swarm consult <w1,w2,…> <task>استشارة متوازية
/swarm fanout <w1,w2,…> <task>توزيع متوازٍ
/swarm dispatch <worker> <task>الإرسال إلى عامل مسمّى واحد
/swarm <natural-language task>التوجيه التلقائي إلى أفضل العمّال عبر CapabilityRouter
/swarm status
/swarm pipeline researcher,builder,validator "Build a CLI tool"
/swarm summarize today's AI news # auto-routed

/swarm config group و/swarm config clear للمشرفين فقط (راجع الأذونات).

للتعمق: تنسيق السرب · مرجع واجهة سطر الأوامر.


/kb — مكتبة المعرفة (من المحادثة)

Section titled “/kb — مكتبة المعرفة (من المحادثة)”

مكان المعالجة: kazma_gateway/agent_handler/commands.py:_try_kb_command. يستوعب مواقع التوثيق في مكتبات قابلة للبحث من أي تطبيق محادثة. وتجيب البوابة عن كل أمر /kb بنفسها، دون استدعاء نموذج. والأوامر التي تغيّر مكتبةً لمشرفي البوابة فقط (slash_commands.changes_global_config): فالمكتبات للتثبيت، ويمكن لكل محادثة أن تحقن منها. وعلى تثبيت فيه مستخدمو منصات يُرفض كل أمر /kb، لأن المكتبات لم تُفصل لكل مستخدم بعد.

الأمرللمشرفين فقطالوصف
/kbلاعرض المساعدة وقائمة المكتبات
/kb listلاسرد المكتبات (المعرّف، المقاطع، البذرة)
/kb add <id> <url>نعماستيعاب صفحة واحدة الآن؛ تُنشأ المكتبة بعد جلب الصفحة. ويذكر الرد ما إذا كانت الصفحة قد خُزِّنت، أو لم تتغير، أو رُفضت. و/kb ingest هو الأمر نفسه
/kb crawl <id> <url> [N]نعمزحف شجرة التوثيق في الخلفية؛ والرد حين ينتهي هو نتيجة سجل الزحف (انتهى، أو انتهى مع إخفاقات، أو لم ينتهِ)
/kb refresh <id>نعمزحف المكتبة مجددًا من رابط بذرتها، في الخلفية
/kb search <id> <query>لابحث مباشر (بلا استدعاء نموذج)
/kb status <id>لاآخر زحف للمكتبة، من سجل الزحف
/kb delete <id>نعمحذف مكتبة مع مقاطعها ومتجهاتها وصفحاتها المجلوبة؛ ويُرفض ما دام زحفٌ لها جاريًا
/kb crawl fastapi https://fastapi.tiangolo.com # ingest the whole site
/kb search fastapi "dependency injection"
/kb status fastapi

للتعمق: مكتبة المعرفة.


/research — البحث المعمَّق (من المحادثة)

Section titled “/research — البحث المعمَّق (من المحادثة)”

مكان المعالجة: kazma_gateway/agent_handler/commands.py. مدخل البوابة إلى خط أنابيب البحث المعمَّق (بحث متعدد الاستعلامات ← جلب متوازٍ ← هضم ← تركيب بالنموذج ← تقرير).

الأمرالوصف
/research deep <topic>تشغيل جولة بحث معمَّق كاملة (مع تنبيهات تقدّم أثناء العمل)

يمكنك أيضًا بدء البحث من لوحة /research في الويب أو بصياغة طلبك بحثًا معمَّقًا في المحادثة العادية. عطّل التوجيه بـ KAZMA_RESEARCH_ROUTE=0.

للتعمق: البحث على الويب · الميزات الحديثة.


تصل رسالة تطبيق المحادثة التي تبدأ بـ / إلى معالج البوابة (kazma_gateway/agent_handler/graph.py)، الذي يجرّب، بهذا الترتيب:

  1. الأوامر التي تعمل على المحادثة المحفوظة أو على دور جارٍ: /model و/hitl وأوامر الجلسة و/reset و/compact و/long / /mission / /yolo / /unrestricted و/plan و/undo و/edit و/replay <step> و/fork و/steer و/abort (/stop).
  2. المحلّل. يقرأ _build_slash_ctx() (agent_handler/commands.py) ما يذكره الأمر من مصدره، ويجيب resolve_slash_command() (kazma_gateway/slash_commands.py) عن /help و/status و/memory و/cost و/context و/personality و/config و/replay list|compare|clear دون استدعاء نموذج.
  3. /swarm و/ide و/kb و/documents و/research و/x و/skill.

وكل ما عدا ذلك يذهب إلى الوكيل رسالةً عادية.

إضافة أمر شرطة مائلة جديد

Section titled “إضافة أمر شرطة مائلة جديد”
  1. يُجاب دون النموذج: دالة _cmd_<name>() في kazma_gateway/slash_commands.py وفرع في resolve_slash_command(). والحقيقة التي يذكرها تُملأ في _build_slash_ctx() من مصدرها، لا بثابت أبدًا: يفشل tests/test_gateway_slash_facts.py عند مفتاح يقرؤه أمرٌ ولا يملؤه شيء، أو يملؤه بقيمة حرفية.
  2. يحتاج محادثة الدردشة أو دورها الجاري: اعتراض في agent_handler/graph.py، قبل المحلّل.
  3. يغيّر كاظمه للجميع (الشيفرة، النموذج، الإعداد): أضفه إلى changes_global_config() في slash_commands.py، القاعدة الوحيدة لبوابة المشرف (tests/test_slash_admin_gate.py).
  4. في الحالتين: سطر في _cmd_help()، ومُدخل في BOT_MENU_COMMANDS (قائمة ”/” التي يعرضها Telegram)، وقسم في هذه الصفحة. يفشل tests/test_slash_help_and_menu.py حين تختلف الثلاثة، وحين لا تكون كتلة /help أعلاه هي ما ترسله الشيفرة.

يستقبل تطبيق المحادثة الرسائل من المستخدمين الذين تقبلهم قائمة السماح الخاصة به؛ وقائمة السماح الفارغة تقبل كل من في المحادثة. وضمن ذلك:

  • التغيير الذي يسري على كل مستخدم ومنصة للمشرفين فقط: النموذج (/config model، أو اختيار من قائمة /model)، و/config memory، و/config tools، وتبديل الشخصية، و/skill install وuninstall، وتبديل مساحة العمل النشطة أو استنساخها (/ide repo)، وتوجيه مخرجات السرب (/swarm config). المشرف مستخدم مذكور في KAZMA_GATEWAY_ADMINS (معرّفات مستخدمين، أو platform:id لمنصة واحدة)، الذي يقرّر وحده حين يُضبط؛ وإلا فمستخدم في قائمة السماح للمنصة. ومع قائمة سماح فارغة ودون KAZMA_GATEWAY_ADMINS، لا أحد مشرف.
  • يجيب /hitl عن مهمة بدأتها أنت فقط، ولا يتولّى /session إلا جلساتك.
  • يُرفض /yolo و/unrestricted حيث تمنعهما السياسة (KAZMA_ALLOW_YOLO=0، الإنتاج).
  • أداة الخطر التي يشغّلها أمر (/ide run، /ide edit، …) تتوقف مع ذلك عند بطاقة الموافقة.