انتقل إلى المحتوى

البدء السريع (5 دقائق)

عرض بصيغة Markdown

خلال خمس دقائق ستنشئ وكيلًا، وتستدعيه مرة واحدة، وتفتح جلسة محادثة بمعرّفك الخاص، وتستقبل الرد بثًا مباشرًا. تعرض كل خطوة أمثلة curl وJavaScript (fetch على Node 18 أو أحدث) وPython (requests)؛ اختر التبويب مرة واحدة وسيتبعك اختيارك في الموقع كله.

الوكيل في هذا الدليل يجيب عملاء «عطور ندى»، وهو متجر إلكتروني للعطور والعود: دهن العود الملكي (12 مل) بـ 450 ريال، وعطر المسك الأبيض (100 مل) بـ 220 ريال، والتوصيل مجاني للطلبات فوق 200 ريال (وإلا فرسومه 25 ريال) ويصل خلال 1 إلى 3 أيام عمل للرياض وجدة والدمام، والإرجاع خلال 7 أيام إذا كان المنتج مغلقًا.

1. أنشئ حسابك واربط نموذجًا

رابط القسم «1. أنشئ حسابك واربط نموذجًا»
  1. سجّل في app.k-agent.kerneltics.com. ستحصل على منظمة على الخطة المجانية ومشروع اسمه Production.
  2. في خطوات الإعداد اختر اربط نموذج الذكاء الاصطناعي: الصق مفتاح API من OpenAI أو Anthropic أو DeepSeek أو أي مزوّد متوافق مع OpenAI. يُتحقق من المفتاح مباشرة، ويُشفَّر، ولا يُعرض مرة أخرى أبدًا. إذا كان خادم K-Agent لديك يوفّر نموذجًا من المنصة فيمكنك تخطّي هذه الخطوة.

افتح مفاتيح API ← إنشاء مفتاح سري وانسخ المفتاح. يبدأ بـ kt_sk_live_ ويُعرض مرة واحدة فقط. احفظه على خادمك، ثم صدّره في الطرفية:

نافذة الطرفية
export KAGENT_API_KEY="kt_sk_live_…"

الأسرع من لوحة التحكم: الوكلاء ← وكيل جديد، اختر قالبًا وسمِّه. وللقيام بالشيء نفسه عبر الواجهة البرمجية:

نافذة الطرفية
curl https://api.k-agent.kerneltics.com/v1/agents \
-H "Authorization: Bearer $KAGENT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "مساعد ندى",
"slug": "store-assistant",
"config": {
"locale": { "language": "ar", "timezone": "Asia/Riyadh" },
"instructions": {
"enabled": true,
"text": "أنت تجيب عملاء «عطور ندى»، وهو متجر إلكتروني للعطور والعود. الأسعار: دهن العود الملكي 12 مل بـ 450 ريال، وعطر المسك الأبيض 100 مل بـ 220 ريال، وصندوق البخور بـ 95 ريال. التوصيل مجاني للطلبات فوق 200 ريال، وإلا فرسومه 25 ريال، ويصل خلال 1 إلى 3 أيام عمل للرياض وجدة والدمام، ومن 3 إلى 5 أيام لبقية المدن. الإرجاع خلال 7 أيام إذا كان المنتج مغلقًا وبتغليفه الأصلي."
}
}
}'

الإعدادات التي لا ترسلها تأخذ قيمها الافتراضية، والاستجابة تعرض الإعدادات كاملة دائمًا. وإنشاء الوكيل ينشر الإصدار 1 فورًا، فيصبح جاهزًا للرد مباشرة:

{
"id": "agt_01k6rz1m3w8q4t7v9x2b5c0dnf",
"object": "agent",
"name": "مساعد ندى",
"slug": "store-assistant",
"published_version": 1,
"has_unpublished_changes": false,
"readiness": { "ready": true, "blockers": [] },
"created_at": 1791271800
}

السؤال الواحد لا يحتاج إلى جلسة: أرسل السؤال واستلم الجواب. خاطب الوكيل بمعرّفه النصي (slug) أو بمعرّفه agt_….

نافذة الطرفية
curl https://api.k-agent.kerneltics.com/v1/agents/store-assistant/ask \
-H "Authorization: Bearer $KAGENT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input": "كم رسوم التوصيل؟"}'

الاستجابة تشغيل (run). يحمل output_text الجواب، ويخبرك outcome هل أجاب الوكيل (answered) أم حوّل لموظف (handed_off):

{
"id": "run_01k6rz5a9d3f6g2h8j4k7m1n5p",
"object": "run",
"agent": { "id": "agt_01k6rz1m3w8q4t7v9x2b5c0dnf", "version": 1 },
"session_id": null,
"mode": "one_shot",
"status": "completed",
"outcome": "answered",
"output_text": "التوصيل مجاني للطلبات فوق 200 ريال، وإذا كان طلبك أقل فرسومه 25 ريال.",
"handoff": null,
"error": null,
"usage": { "input_tokens": 1214, "cached_input_tokens": 0, "output_tokens": 27, "model_calls": 1, "units": 0.25, "weight": 1 },
"config_hash": "sha256:4be1c0d6…",
"created_at": 1791271860,
"completed_at": 1791271861
}

الجلسات تحفظ سجل المحادثة. يمكنك استخدام معرّفنا sess_…، أو إرفاق معرّفك الخاص external_id — هنا رقم طلب العميل order-8812. الطلب POST /v1/sessions يجلب الجلسة أو ينشئها: الطلب الأول ينشئها (201)، والطلبات اللاحقة بالمعرّف نفسه تستأنفها (200). أرسل input في الطلب نفسه لتضيف رسالة وتستلم ردها.

نافذة الطرفية
curl https://api.k-agent.kerneltics.com/v1/sessions \
-H "Authorization: Bearer $KAGENT_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"agent": "store-assistant", "external_id": "order-8812", "input": "وين طلبي؟"}'
{
"session": {
"id": "sess_01k6rz4p7h2c9m5x8w3t6v1qbg",
"object": "session",
"external_id": "order-8812",
"status": "active",
"mode": "agent",
"created_at": 1791271920
},
"created": true,
"message": { "id": "msg_01k6rz5b2c4d6e8f0g1h3j5k7m", "object": "message", "role": "user" },
"run": { "id": "run_01k6rz6c8e0g2j4m6p8r0t2v4x", "object": "run", "status": "completed", "outcome": "answered", "output_text": "طلبات الرياض وجدة والدمام توصل خلال 1 إلى 3 أيام عمل، وبقية المدن خلال 3 إلى 5 أيام. لأي مدينة طلبك؟" },
"warnings": []
}

من الآن يخاطب كلٌّ من order-8812 وsess_01k6rz4p7h2c9m5x8w3t6v1qbg هذه الجلسة في أي رابط. القواعد مفصّلة في الجلسات ومعرّفات الجلسات.

6. استقبل الرد بثًا مباشرًا

رابط القسم «6. استقبل الرد بثًا مباشرًا»

أضف "stream": true لتستقبل الرد على شكل Server-Sent Events أثناء كتابة النموذج له. هذه الرسالة تخاطب الجلسة بمعرّفك external_id:

نافذة الطرفية
curl -N https://api.k-agent.kerneltics.com/v1/sessions/order-8812/messages \
-H "Authorization: Bearer $KAGENT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input": "أقدر أرجع العطر؟", "stream": true}'

يبدو البث هكذا. أحداث message.delta معاينة على أفضل جهد؛ أما message.completed وrun.completed فهي المرجع المعتمد:

id: 4182
event: run.created
data: {"run":{"id":"run_01k6rz7d9f1h3k5n7q9s1v3x5z","object":"run","status":"queued"}}
event: message.delta
data: {"message_id":"msg_01k6rz8e0h2k4n6q8s0v2x4z6b","delta":"أكيد، خلال 7 أيام"}
event: message.delta
data: {"message_id":"msg_01k6rz8e0h2k4n6q8s0v2x4z6b","delta":" إذا كان مغلقًا وبتغليفه الأصلي."}
id: 4185
event: message.completed
data: {"message":{"id":"msg_01k6rz8e0h2k4n6q8s0v2x4z6b","role":"assistant","content":[{"type":"text","text":"أكيد، خلال 7 أيام إذا كان مغلقًا وبتغليفه الأصلي."}]}}
id: 4186
event: run.completed
data: {"run":{"id":"run_01k6rz7d9f1h3k5n7q9s1v3x5z","object":"run","status":"completed","outcome":"answered"}}

قد تظهر بينها أحداث أخرى مثل استدعاءات الأدوات. تجاهل أنواع الأحداث التي لا تستخدمها، فقد تُضاف أنواع جديدة. وإذا انقطع الاتصال فاستأنف بآخر id استلمته — انظر التشغيلات والبث.