البحث
ابحث في فئة منتج قبل طلب المخزون
اجمع سياق الفئة والتقط صفحات المنافسين بتاريخ معلن واقرأ شكاوى المشترين على X واحفظ الأدلة والمذكرة في LiveDoc لمراجعتها قبل الطلب.
انسخ الموجّه
استبدل الحقول بين الأقواس المربعة وألصق في Claude Code أو Codex أو أي ذكاء اصطناعي يملك وصولًا إلى الطرفية. يثبّت مهارة Felo ويسأل قبل إنفاق الرصيد وينفّذ سير العمل.
ابحث في هذه الفئة المنتجية قبل الشراء أو الإطلاق: [المنتج أو الفئة]. السوق: [الدولة أو المنطقة]. القناة: [سوق إلكتروني / DTC / تجزئة]. فترة منشورات المشترين: آخر [30] يومًا. منتجات مقارنة أو روابط منافسين: [الروابط]. قيود الميزانية والهامش: [القيود]. الجمهور: [الفريق]. أنتج مذكرة بصيغة Markdown تتضمن: 1. حكمًا في فقرة واحدة: هل يستحق البحث أكثر، وما الذي سيغيّر رأيك. 2. إشارات الطلب: ماذا تقول المصادر عن الاهتمام والموسمية والبدائل. 3. المنتجات المنافسة: ما يدّعيه كل منها، والسعر المسجّل على صفحته، وأين يقول المشترون إنه يقصّر. 4. تموضع السعر: نقاط السعر التي وُجدت فعلًا على الصفحات، كل واحدة بتاريخ تسجيلها. 5. شكاوى المشترين والاحتياجات غير الملبّاة، مع اقتباسات وحسابات وتواريخ. 6. المخاطر والأسئلة المفتوحة التي يجب حلها قبل شراء المخزون. 7. المصادر: كل صفحة ومنشور مستخدم، مع الرابط والتاريخ. القواعد: - استخدم فقط ما تعيده APIs. لا تختلق حجم سوق أو تقديرات مبيعات أو عدد مراجعات أو أسعار منافسين. - أبلغ عن الأسعار كما سُجلت تمامًا، مع رابط الصفحة وتاريخ التسجيل. لا تحسب متوسطًا ولا تطبّعها. - عامل منشورات X كحكايات لا كبيانات سوق، واذكر ذلك عندما تكون العينة ضعيفة. - افصل ادعاء البائع عمّا يبلغ عنه المشتري. - قبل استهلاك الأرصدة، اعرض عمليات الاستخراج والبحث المخطط لها وانتظر موافقتي. - لا تتواصل مع الموردين ولا تقدّم طلبات ولا ترسل رسائل لأحد على X. - اكتب النتيجة في ./product-research.md ولخّصها في الدردشة.
تتضمن النسخة خطوات التثبيت وقواعد الأمان أيضًا.
ما تحصل عليه
مخرجات نموذجية لتشغيل واحد. ليست توليدًا مباشرًا.
بحث المنتج — فئة مثال
الحكم
يستحق نظرة أقرب، لكن الأدلة العامة لا تكفي لقرار المخزون. الأسئلة المفتوحة أدناه هي الخطوة التالية.
سياق الفئة
يقارن المشترون مساحة السطح وسهولة التنظيف أكثر من الضغط. لا يدعم أي مصدر عام تقدير حجم السوق.
صفحات المنافسين
- Example A — صفحة منتج (التُقطت في 2026-10-30)
- Example B — صفحة منتج (التُقطت في 2026-10-30)
ما يبلغ عنه المشترون
- @example_buyer: «الاستبدال الثالث في عام؛ الحشية تتلف». — 2026-10-19
- @example_home: «التنظيف يستغرق دقائق ولا أحد يذكر ذلك». — 2026-10-24
تموضع السعر
التُقطت الأسعار في 2026-10-30 من الصفحات المرتبطة. تقع في مستويين؛ كل صفحة تُقتبس مباشرة دون حساب متوسط.
المخاطر والأسئلة المفتوحة
- متانة الحشية هي الشكوى الأكثر تكرارًا.
- لا يغطي أي مصدر معدلات الإرجاع.
- تحقق من مهل المورّد والتكلفة النهائية قبل الطلب.
المصادر
- https://example.com/product-a — 2026-10-30
- https://x.com/example_buyer/status/... — 2026-10-19
الاستدعاءات الدقيقة
للمطورين: سير العمل نفسه ككود، بترتيب التنفيذ.
عرض استدعاءات API الفعلية
اطلب من Chat صورة الفئة
ابدأ بالإجابة بمصادر لا بصفحة فارغة: يبحث Chat في الويب العام ويرتّب الصفحات ويعيد الموارد المستخدمة. اسأل في استعلام واحد عن سياق الطلب والبدائل والشكاوى الشائعة ثم احفظ أفضل الموارد كقائمة أدلة.
product-research.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 ChatData = { data: { answer: string; resources: { link: string; title: string; snippet: string }[]; }; }; const niche = "portable espresso maker"; // replace with the category you are judging const context = await felo<ChatData>("/v2/chat", { query: `Demand, price bands, and buyer complaints for ${niche} in the US`, }); const sources = context.data.resources.slice(0, 5);مخرجات نموذجية
{ "answer": "Buyers compare on counter space and cleanup …", "sources": [ { "link": "https://example.com/category-guide", "title": "…", "snippet": "…" } ] }التقط صفحات المنافسين
استخرج صفحتي أو ثلاث صفحات منتج منافس بصيغة Markdown مع وضع القراءة. الهدف الادعاء والسعر على الصفحة اليوم لا ورقة مواصفات معاد كتابتها. أبقِ URL مع المحتوى وسجّل تاريخ الالتقاط: سعر بلا تاريخ إشاعة.
product-research.ts const PRODUCT_PAGES = [ { url: "https://example.com/product-a", title: "Example A — product page" }, { url: "https://example.com/product-b", title: "Example B — product page" }, ]; type ExtractData = { data: { content: string } }; const listings = await Promise.all( PRODUCT_PAGES.map((page) => felo<ExtractData>("/v2/web/extract", { url: page.url, output_format: "markdown", with_readability: true, }).then((extracted) => ({ ...page, content: extracted.data.content })), ), );مخرجات نموذجية
[ { "url": "https://example.com/product-a", "title": "Example A — product page", "content": "# Example A\n\nSpecs and price as displayed…" } ]اقرأ ما يبلغ عنه المشترون على X
تسرد صفحات الموردين الميزات ويصف المشترون الأعطال. ابحث الفئة مع كلمات احتكاك — توصيل وجودة واسترجاع — خلال 30 يومًا واحفظ الحساب والتاريخ والرابط. هذه حكايات لا بيانات طلب وعلى المذكرة قول ذلك.
product-research.ts type XData = { data: { tweets: { content: string; author: { username: string }; created_at: string; metrics: { retweet_count: number; favorite_count: number; reply_count: number }; url: string; }[]; }; }; const since = Math.floor((Date.now() - 30 * 24 * 60 * 60 * 1000) / 1000); const search = await felo<XData>("/v2/x/tweet/search", { query: `"${niche}" (shipping OR quality OR refund)`, limit: 50, since_time: since, }); const complaints = search.data.tweets;مخرجات نموذجية
{ "data": { "tweets": [ { "content": "Third replacement in a year; the seal fails.", "author": { "username": "example_buyer" }, "created_at": "2026-10-19T15:02:00Z", "metrics": { "retweet_count": 1, "favorite_count": 12, "reply_count": 3 }, "url": "https://x.com/example_buyer/status/..." } ] } }اكتب المذكرة
هذه الخطوة كود بسيط: اجمع إجابة الفئة وتواريخ الالتقاط واقتباسات المشترين وقائمة المصادر في Markdown واحد. كن صادقًا في الأسئلة المفتوحة — المذكرة مفيدة لأنها تفصل ما تثبته الصفحات عما يلزم تأكيده مع مورد.
product-research.ts const capturedOn = new Date().toISOString().slice(0, 10); const memo = [ `# Product research — ${niche}`, "", "## Category context", context.data.answer, "", "## Competitor pages", ...listings.map( (page) => `- [${page.title}](${page.url}) — captured ${capturedOn}`, ), "", "## What buyers report", ...complaints.slice(0, 10).map( (post) => `- @${post.author.username} (${post.created_at.slice(0, 10)}): ${post.content}`, ), "", "## Sources", ...sources.map((source) => `- [${source.title}](${source.link})`), ].join("\n"); console.log(memo);أرشِف الأدلة في LiveDoc
شغّله مرة لكل فئة: أنشئ LiveDoc واحفظ
short_idفي الإعداد. أضف صفحات المنافسين ومصادر Chat كموارد URL ليزيل الأرشيف التكرار ثم المذكرة كمستند. قبل الشراء ابحث الالتقاطات واعرف أي أسعار تحركت.product-research.ts type LiveDocData = { data: { short_id: string } }; const research = await felo<LiveDocData>("/v2/livedocs", { name: `Product research: ${niche}`, description: "Competitor pages, buyer posts, and the memo", }); await felo(`/v2/livedocs/${research.data.short_id}/resources/urls`, { urls: [ ...listings.map((page) => ({ url: page.url, title: page.title })), ...sources.map((source) => ({ url: source.link, title: source.title })), ].slice(0, 10), }); await felo(`/v2/livedocs/${research.data.short_id}/resources/doc`, { title: `Product memo — ${capturedOn}`, content: memo, });مخرجات نموذجية
{ "short_id": "PvyKouzJirXjFdst4uKRK3" }
ما يتضمنه
- صورة الفئة بمصادر من Chat والصفحات خلفها
- صفحات المنافسين بصيغة Markdown بتاريخ الالتقاط
- شكاوى المشترين على X مع الحسابات والتواريخ والروابط
- مذكرة Markdown مبنية من هذه المدخلات
- LiveDoc واحد يحمل الأدلة والمذكرة
ما لا يفعله
- مصادر عامة فقط؛ تقارير مدفوعة وعروض موردين ومبيعات داخلية خارج النطاق
- لا يقدّر حجم السوق أو الكمية أو الهامش
- الأسعار مسجلة كما التُقطت ولا تُطبّع أو تُتوسط
- منشورات X حكايات لا بيانات طلب
- لا يتواصل مع الموردين ولا يطلب ولا يعدّل القوائم
أسئلة
من أين سياق السوق؟
يعيد Chat API إجابة بمصادر والصفحات العامة المستخدمة. تأتي صفحات المنافسين من روابطك ويستخرجها Web Fetch؛ ومنشورات المشترين من X Search. لا تُستخدم بيانات بيع خاصة.
هل يقول إن كان المنتج سيبيع؟
لا. يرتّب الأدلة العامة — السياق والأسعار الملتقطة والشكاوى — ويكتب ما لا يُعرف. التحقق من الطلب يحتاج بياناتك: إعلانات أو طلبات مسبقة أو محادثات موردين.
ماذا لو منع المتجر الاستخراج؟
يجلب Web Fetch الصفحات العامة رابطًا واحدًا في كل مرة وبعض المواقع تمنع. استخدم صفحة منتج أو مورد متاحة ودع المذكرة تعلّم الالتقاط الناقص بدل تخمين السعر.
كيف أتجنب أسعار منافسين قديمة؟
كل سعر في المذكرة مرتبط بالرابط وتاريخ الالتقاط. أعد تشغيل الاستخراج قرب قرار الشراء؛ يحفظ الأرشيف الالتقاطات السابقة لترى الحركة.
هل يتواصل مع الموردين أو البائعين؟
لا. سير العمل للقراءة فقط: يستخرج صفحات ويبحث منشورات عامة ويكتب مذكرة محلية. لا يرسل رسائل ولا يطلب ولا يعدّل القوائم.
كم تكلفة بحث واحد؟
كل استدعاء Chat واستخراج وبحث X يستهلك رصيدًا حسب الاستخدام؛ الأسعار الحالية في صفحة الأسعار. يطلب الموجّه الموافقة قبل الإنفاق.
سير عمل مرتبط
حوّل سؤالًا واحدًا إلى موجز بحث بمصادر
اسأل الويب واحفظ الصفحات خلف الإجابة بصيغة Markdown وأضف ما يقوله الممارسون على X واحتفظ بالأدلة في LiveDoc يمكن البحث فيه لاحقًا.
افتح سير العملالمحتوىحوّل المحادثات الاجتماعية إلى موجز استماع أسبوعي
ابحث منشورات X هذا الأسبوع عن العلامة والمنافسين وأضف سياق ويب بمصادر واقرأ الصفحات خلفه وأرشِف كل إصدار ليبدأ الأسبوع التالي من المعلوم.
افتح سير العملالمكتبحوّل صفحة بحث إلى عرض تقديمي
استخرج الصفحة واحفظها كسياق LiveDoc ودع PPT Task API يبني العرض واسأل حتى تجهز الرابط.
افتح سير العملاجعله مناسبًا لك
الوصفة نفسها، معدّلة بحسب طريقة تسليمك الفعلية.
أضف نصوص مراجعات الفيديو
إن كانت الفئة فيها مراجعات فيديو فخذ النص عبر YouTube Subtitling وأضف اقتباسين أو ثلاثة بطوابع زمنية إلى قسم المشترين. مراجعة الفيديو تجربة شخص واحد: أبقِ وسم الحكاية.
قارن مرشحين
شغّل الخطوات نفسها لكل مرشح وضع المذكرات جنبًا إلى جنب: الميزات المعلنة والسعر الملتقط والشكوى المتكررة والسؤال المفتوح. تبقى المقارنة نوعية حتى تجد بيانات بيع أو إرجاع.
حدّث قبل الشراء
أعد تشغيل الاستخراج يومًا قبل الطلب. أبقِ LiveDoc نفسه وأضف مذكرة جديدة ليرى الأرشيف ما تغيّر بين البحث والشراء.
واصل
صفحات المراجع خلف هذه الوصفة والخطوات التالية.