المكتب
حوّل صفحة بحث إلى عرض تقديمي
استخرج الصفحة واحفظها كسياق LiveDoc ودع PPT Task API يبني العرض واسأل حتى تجهز الرابط.
انسخ الموجّه
استبدل الحقول بين الأقواس المربعة وألصق في Claude Code أو Codex أو أي ذكاء اصطناعي يملك وصولًا إلى الطرفية. يثبّت مهارة Felo ويسأل قبل إنفاق الرصيد وينفّذ سير العمل.
حوّل هذا المصدر إلى عرض شرائح: [رابط عام أو مسار PDF]. الجمهور: [من سيشاهد]. الشرائح: [6–10]. اللغة: [اللغة]. السمة: [اسم السمة أو «default»]. استخدم Web Fetch على الصفحة العامة (أو الملف المرفوع)، واحفظ المصدر كسياق LiveDoc، وأنشئ مهمة PPT، واستعلم حتى يصبح العرض جاهزًا. أنتج: 1. مخططًا بسطر واحد لكل شريحة. 2. رابط العرض الناتج. 3. رابط LiveDoc المستخدم كسياق. القواعد: - لا تختلق حقائق غير موجودة في المصدر. الثغرات تُكتب «غير مذكور في المصدر». - مهام PPT تستهلك أرصدة؛ اسأل قبل الإرسال. - احتفظ معًا برابط المصدر والمخطط ورابط العرض. - لا تنشر العرض أو تشاركه خارج مساحة العمل. - اكتب المخطط في ./deck-outline.md ولخّصه في الدردشة.
تتضمن النسخة خطوات التثبيت وقواعد الأمان أيضًا.
ما تحصل عليه
مخرجات نموذجية لتشغيل واحد. ليست توليدًا مباشرًا.
المصدر -> مخطط العرض
- لماذا يهم هذا التقرير
- ما تغيّر هذا الربع
- الشرائح الثلاث للعملاء
- حيث الأدلة ضعيفة
- ما يجب اختباره لاحقًا
العرض: https://felo.ai/slides/... السياق: https://felo.ai/livedoc/...
الاستدعاءات الدقيقة
للمطورين: سير العمل نفسه ككود، بترتيب التنفيذ.
عرض استدعاءات API الفعلية
استخرج صفحة المصدر
عبر Web Fetch حوّل الصفحة العامة إلى Markdown مع حفظ العنوان والجسم.
deck.ts const BASE = "https://openapi.felo.ai"; const headers = { Authorization: `Bearer ${process.env.FELO_API_KEY}`, "Content-Type": "application/json", }; async function felo<T>(path: string, body?: unknown): Promise<T> { const res = await fetch(`${BASE}${path}`, { method: body ? "POST" : "GET", headers, body: body ? JSON.stringify(body) : undefined, }); if (!res.ok) throw new Error(`${res.status}: ${await res.text()}`); return res.json() as Promise<T>; } type ExtractData = { data: { content: string } }; const page = await felo<ExtractData>("/v2/web/extract", { url: "https://example.com/research", output_format: "markdown", with_readability: true, });احفظ كسياق LiveDoc
أنشئ LiveDoc وأضف المصدر كمستند واحصل على short_id.
deck.ts type LiveDocData = { data: { short_id: string } }; type ResourceData = { data: { id: string } }; const doc = await felo<LiveDocData>("/v2/livedocs", { name: "Quarterly research deck", description: "Source material for the next deck", }); const resource = await felo<ResourceData>( `/v2/livedocs/${doc.data.short_id}/resources/doc`, { title: "Source page", content: page.data.content, }, );أرسل مهمة الشرائح
استدعِ PPT Task API بالمحتوى وLiveDoc short_id لتحصل على task_id.
deck.ts type PptTaskData = { data: { task_id: string; livedoc_short_id: string }; }; const task = await felo<PptTaskData>("/v2/ppts", { query: "Six slides for a product review: findings, evidence, next steps", livedoc_short_id: doc.data.short_id, }); console.log(task.data.task_id);مخرجات نموذجية
{ "data": { "livedoc_short_id": "PvyKouzJirXjFdst4uKRK3", "ppt_business_id": "BfLPuQKmChk9SPmyQawxgr", "task_id": "019cad6d-e874-55ef-d577-686344b5a7e9" } }اسأل حتى الانتهاء
تحقق من الحالة حتى الاكتمال واقرأ رابط الشرائح.
deck.ts type TaskState = { data: { task_status: string; ppt_url?: string; live_doc_url?: string }; }; async function waitForDeck(taskId: string) { for (let attempt = 0; attempt < 40; attempt++) { const state = await felo<TaskState>(`/v2/tasks/${taskId}/historical`); if (state.data.task_status === "COMPLETED") return state.data; if (["FAILED", "EXPIRED", "CANCELED"].includes(state.data.task_status)) { throw new Error(`Deck task ${state.data.task_status}`); } await new Promise((resolve) => setTimeout(resolve, 3000)); } throw new Error("Deck task timed out"); } const result = await waitForDeck(task.data.task_id); console.log(result.ppt_url);مخرجات نموذجية
{ "task_status": "COMPLETED", "ppt_url": "https://felo.ai/slides/oM8A9iJHg8dT4ZKgHThQTx", "live_doc_url": "https://felo.ai/livedoc/oM8A9iJHg8dT4ZKgHThQTx" }
ما يتضمنه
- استخراج نظيف لصفحة المصدر بصيغة Markdown
- LiveDoc كسياق قابل لإعادة الاستخدام
- مهمة PPT غير متزامنة والرابط الجاهز
- هيكل الشرائح للمراجعة قبل المشاركة
ما لا يفعله
- صفحة عامة أو ملف مرفوع فقط؛ قد تفشل صفحات تسجيل الدخول
- تتبع الشرائح المصدر ولا تغطي نظام العلامة كاملًا
- عرض واحد لكل تشغيل؛ عروض عدة تحتاج حلقة
- لا يعدّل عرضًا موجودًا ولا يضمن تطابقًا بصريًا
- لا ينشر العرض أو يشاركه
أسئلة
هل يمكن استخدام PDF بدل URL؟
نعم. أرسل مهمة PPT كـmultipart form data مع الملف؛ يخزنه النظام كمورد LiveDoc وينشئ العرض.
هل يمكن اختيار قالب؟
نعم. اسرد القوالب ومرر id القالب عند إنشاء المهمة.
كم يستغرق العرض؟
مهمة غير متزامنة. استعلم السجل حتى الانتهاء؛ العروض الطويلة تستغرق أطول.
هل يعدّل عرضي الموجود؟
لا. ينشئ عرضًا جديدًا من المصدر؛ تعديل عرض موجود سير عمل آخر.
كم تكلفة عرض واحد؟
يُحتسب توليد الشرائح حسب الاستخدام؛ الأسعار الحالية في صفحة الأسعار ويطلب الموجّه الموافقة قبل الإنفاق.
هل يمكن إعادة استخدام المصدر؟
نعم. يحفظ LiveDoc المصدر ويمكن للعروض أو mindmap التالية استخدام short_id.
سير عمل مرتبط
حوّل سؤالًا واحدًا إلى موجز بحث بمصادر
اسأل الويب واحفظ الصفحات خلف الإجابة بصيغة Markdown وأضف ما يقوله الممارسون على X واحتفظ بالأدلة في LiveDoc يمكن البحث فيه لاحقًا.
افتح سير العملالمحتوىانشر ملخص أخبار AI يوميًا يقرأه الفريق فعلًا
احصل على ملخص بمصادر وأضف نقاش الممارسين على X وخذ نص فيديو وركّب الإصدار بصيغة Markdown وأرشفه في LiveDoc.
افتح سير العملالدعمأجب عن أسئلة الدعم من وثائقك
أنشئ LiveDoc وحمّل مركز المساعدة ودليل التشغيل الداخلي واسترجع المقاطع التي تجيب التذكرة ودع النموذج يجيب من تلك الأدلة فقط.
افتح سير العملاجعله مناسبًا لك
الوصفة نفسها، معدّلة بحسب طريقة تسليمك الفعلية.
مصدر PDF
ارفع PDF عبر multipart؛ يخزنه النظام أولًا كمورد LiveDoc.
عين القالب
اسرد القوالب المتاحة ومرر id عند إنشاء المهمة.
أعد الاستخدام في العرض التالي
أنشئ مهمة PPT جديدة بLiveDoc short_id نفسه.
واصل
صفحات المراجع خلف هذه الوصفة والخطوات التالية.