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

أدلة الانتقالمن Helicone

الانتقال من Helicone، دون ادّعاء أن الأمر بسيط

استحوذت Mintlify على Helicone وخدماتها في وضع الصيانة. إذا كنت تقرر إلى أين تذهب، فهذه الصفحة هي الخريطة مفهومًا بمفهوم: ما يجب أن يصبح عليه الكود لديك، وما تفعله INFRO ولم تكن Helicone تفعله، و الأمور الأربعة من الأمور التي لا تملكها INFRO ببساطة — والقسم الذي تتركه معظم هذه الصفحات، وهو متى يكون غيرنا الإجابة الأفضل.

التسجيل في INFRO ذاتي، دون وسيط. الكتالوج والتوثيق وعقد API متاحة للعموم، والبوابة قيد التشغيل، وكل ما يتجاوز v1 موسوم بـ «لاحقًا». الباقات والفترة التجريبية

أين وصلت الأمور

ما الذي أُعلن

في مارس 2026 أعلنت Mintlify أنها تستحوذ على Helicone وقالت إن Helicone ستستمر في وضع الصيانة، مضيفةً أنها ستعمل بشكل وثيق مع كل عميل لدعم انتقال إلى منصة أخرى. وفي أكتوبر 2026 تغيّرت الصفحة الرئيسية لـ Helicone لتقول: «Helicone لم تعد جزءًا من Mintlify. التفاصيل قريبًا.» وما زالت صفحة التسجيل السحابية تقول: «التسجيل معطّل».

ما الذي لم يُعلن

لا موعد إيقاف، ولا التزام بالاحتفاظ بالبيانات، وحتى الآن لا تفسير لتغيير أكتوبر: من يدير Helicone الآن، وماذا يعني ذلك لخارطة طريقها. اقرأ ذلك كما هو مكتوب: لا شيء هنا يحتاج إلى إجراء هذا الأسبوع. إنه سبب للقرار المدروس لا للتعجّل، ولإعادة قراءة صفحات Helicone نفسها قبل أن تقرّر.

لماذا توجد هذه الصفحة أصلًا

لأن الجواب الأمين يعتمد على ما كنت تستخدم Helicone من أجله، ومعظم الصفحات التي ستجدها في هذا البحث لن تخبرك بذلك. إن كنت هناك من أجل التتبّع والتقييمات وإدارة المطالبات، فالقسم التالي يسمّي وجهة أفضل منا.

هذا القسم فوق الفروق عمدًا. شريحة كبيرة ممن يقرؤون هذا كانوا يستخدمون Helicone كمنصة للمراقبة والتقييم، ولهذه المهمة يوجد منتج مبني حولها تمامًا.

تصف Langfuse نفسها بأنها منصة هندسة ذكاء اصطناعي مفتوحة المصدر لتقييم الوكلاء ومراقبتهم: تتبّع هرمي عبر استدعاءات LLM واستدعاءات الأدوات وخطوات الاسترجاع، ومقيِّمون من نوع LLM كحكَم ومقيِّمون استدلالية، وإدارة للمطالبات مع النشر والتراجع، ومجموعات بيانات وتجارب، وتعليق بشري، وبيئة تجريب. وهي مرخَّصة بـ MIT مع استضافة ذاتية على Docker Compose و Kubernetes و Terraform، واستحوذت عليها ClickHouse في يناير 2026 — وهو ما يبقيها، بحسب رواية ClickHouse نفسها، مفتوحة المصدر وقابلة للاستضافة الذاتية مع استمرار الخدمة السحابية كما كانت.

سبب النظر في INFRO مشكلة مختلفة بثياب مشابهة. إن كان ما لديك فعلًا هو عدة حسابات مزوّدين عبر عدة فرق، وإنفاق لا يستطيع أحد نسبته حتى تصل الفاتورة، وإعادات محاولة وبدائل احتياطية مكتوبة بشكل مختلف في كل قاعدة كود، وبلا خطوة موافقة على أي نموذج يجوز لخدمة استدعاؤه — فتلك مشكلة طبقة تحكم لا مراقبة، وهي المشكلة التي بُني هذا المنتج حولها. وكثير من الفرق تحتاج الاثنين، وتشغيل INFRO بوصفها البوابة مع تصدير التتبّع إلى مجمّع تختاره شكل معقول.

اختر Langfuse عندما

  • كنت لدى Helicone أساسًا من أجل المراقبة. Langfuse هي ذلك المنتج، مبنيًا عن قصد وبعمق، وهي أقرب وجهة مكافئة موجودة.
  • تحتاج إلى إدارة المطالبات أو المقيِّمين. ليس لدى INFRO أيٌّ منهما، ولا موعد لأيٍّ منهما. لدى Langfuse الاثنان، والتقييم أحد أمرين تتصدر بهما.
  • تتتبّع الوكلاء لا استدعاءات النماذج فقط. تنمذج Langfuse شجرة تتبّع تمتد عبر استدعاءات الأدوات وخطوات الاسترجاع. أما INFRO فتسجّل طلبًا واحدًا في كل مرة؛ وشجرة الـ spans شيء تجمّعه في مجمّعك الخاص.
  • تريد الاستضافة الذاتية دون محادثة مع فريق المبيعات، أو إبقاء هذا الخيار مفتوحًا. Langfuse مرخَّصة بـ MIT ويستطيع أي شخص تشغيلها. أما باقات INFRO فمستضافة؛ وتعمل في بنيتك التحتية الخاصة بموجب اتفاق مؤسسات فقط.

Langfuse ليست شريكًا ولا موزّعًا ولا جهة تابعة لـ INFRO. نضع رابطها لأنها الإجابة الصادقة عن سؤال كانت هذه الصفحة ستجيب عنه بغير صدق لولا ذلك.

كائنات Helicone مقابل كائناتنا، مقروءة من وثائقها العامة (أُعيد التحقق منها في 24 أكتوبر 2026) ومقارنة بما تنفّذه البوابة فعلًا. أربعة صفوف تقول إنه لا يوجد لدينا شيء؛ وهي الأولى بالقراءة.

Heliconeما تفعله هناكفي INFRO
تكامل البوابةالصيغة نفسهاوجّه عميلًا متوافقًا مع OpenAI إلى عنوان URL الأساسي لبوابة Helicone، ومرّر مفتاح Helicone الخاص بك.الشكل نفسه: عنوان URL الأساسي https://api.infro.io/v1، والمفتاح في Authorization: Bearer. سطران، واحد لكل خدمة.
تسجيل غير متزامن، خارج مسار الطلبلا شيءمسجِّل مبني على OpenLLMetry يغلّف SDK المزوّد لديك فلا تكون Helicone في المسار الحرج لتطبيقك.لا شيء مكافئ. INFRO بوابة، فهي في المسار دائمًا — وهذا ما يتيح لها التوجيه والتحويل التلقائي عند الأعطال ورفض طلب مقابل ميزانية، وهي مقايضة حقيقية تقوم بها.
حساب مَن لدى المزوّد يخدم الطلبمختلفتستطيع البوابة أن تقدّم الوصول إلى النماذج، وتدعم Helicone أيضًا إحضار مفاتيح مزوّديك الخاصة.حساباتك أنت فقط. تربط حسابات المزوّدين التي تملكها أصلًا، ويصدر لك مزوّدوك فواتيرهم مباشرة بأسعارك، ولا تأخذ INFRO أي نسبة (0%) من الإنفاق على النماذج.
خصائص مخصصةمختلفوسوم اعتباطية تُرسل كترويسات طلب Helicone-Property-<Name>، تُستخدم للترشيح وتحليل التكلفة.كائن metadata في نص الطلب، يمكن التصفية به في سجل الطلبات بصيغة tag.<key>. الفكرة نفسها في موضع مختلف — إذ تصبح الترويسة حقلًا في نص الطلب، وهذا أكبر تعديل منفرد في عملية النقل.
تتبّع المستخدم النهائيمختلفتحدد Helicone-User-Id مستخدمًا نهائيًا، مع تحليلات التفاعل والاحتفاظ والرضا لكل مستخدم مبنية عليها.يُسجَّل metadata.user_id في كل طلب ويرشّح سجل الطلبات وتجميع الاستخدام، فيمكن الإجابة عن التكلفة لكل مستخدم نهائي. ولا شاشة تحليلات سلوكية لكل مستخدم — لا طول جلسة ولا معدل عودة ولا تقييم رضا.
الجلسات وأشجار التتبّعمختلفتجمّع Helicone-Session-Id و-Path و-Name الاستدعاءات المترابطة في عرض واحد، بما في ذلك الخطوات غير المتعلقة بـ LLM مثل استعلامات المتجهات واستدعاءات الأدوات، مع بنية أب/ابن من المسار.يجمّع metadata.session_id الطلبات في السجل، ويمكن دفع spans إلى مجمّع OpenTelemetry الخاص بك من مسار الطلب. أما ما ليس لدى INFRO فهو عرض جلسات فيه شجرة تتبّع: فهي تسجّل استدعاءات النماذج لا الخطوات بينها.
تخزين الاستجابات مؤقتًامختلفتخزّن Helicone-Cache-Enabled الاستجابات الكاملة مؤقتًا عند الحافة، مع حجم دلو وبذرة للذاكرة المؤقتة.ذاكرة استجابة مؤقتة بالمطابقة التامة لإكمالات المحادثة، معطّلة افتراضيًا وتُفعَّل لكل مؤسسة أو مشروع. يُجاب الطلب المطابق تمامًا ضمن مدة البقاء من الذاكرة المؤقتة ولا يصل إلى مزوّدك أبدًا، فلا يحاسبك مزوّدك عليه. والتحكم عبر حقل cache في النص أو ترويسات X-INFRO-Cache؛ وتصبح بذرة الذاكرة المؤقتة X-INFRO-Cache-Namespace. ولا دلو يضم عدة إجابات مخزَّنة ولا مطابقة دلالية (للمطالبات المتشابهة). وصفحة الوثائق هي /docs/features/caching.
حدود معدل مخصصةمختلفتضبط Helicone-RateLimit-Policy حصة لكل نافذة، بالطلبات أو بالتكلفة، مقسَّمة عالميًا أو لكل مستخدم أو لكل خاصية مخصصة.فئات لمعدل الطلبات لكل مفتاح تظهر في X-RateLimit-Limit، إلى جانب ميزانيات على مستوى المؤسسة والمشروع والعضو والمفتاح ترفض الطلبات عند بلوغ السقف بالرمز 402 budget_exceeded. أسقف التكلفة تنتقل بسهولة، أما الحد المقسّم حسب المستخدم النهائي أو حسب خاصية عشوائية فلا مقابل له.
إدارة المطالباتلا شيءمطالبات تُدار خارج قاعدة الكود، مع مقارنة إصداراتها بحركة الطلبات الفعلية في الإنتاج.لا شيء، ولا شيء مما نخطط له نعلن عنه. تبقى المطالبات في مستودعك، أو في أداة تتقن ذلك — وLangfuse تتقنه.
المقيِّمون والتجاربلا شيءLLM كحكَم ومقيِّمون مخصصون يقيّمون جودة المخرجات، مع مقارنة المطالبات جنبًا إلى جنب. تحمل وثائق Helicone إشعار إيقاف على ميزة Experiments.لا شيء. INFRO لا تقيّم مخرجات النماذج وليس لها رأي في هل كانت الإجابة جيدة.
Webhooksمختلفتُرسَل Webhook موقَّعة عند اكتمال كل طلب، وتحمل نص الطلب والاستجابة والتكلفة والرموز وزمن الاستجابة.Webhook موقَّعة، لكن لمهام الوسائط غير المتزامنة فقط: job.succeeded وjob.failed وjob.canceled. ولا يوجد خطّاف اكتمال لكل طلب؛ فلقراءة الطلبات المكتملة تستخدم سجل الطلبات وGET /v1/requests.
التكلفة لكل طلبمختلفتُحتسب التكلفة لكل طلب وتُجمَّع حسب الخاصية والمستخدم والنموذج.تقدير لما سيحاسبك به مزوّدك، في الاستجابة كـ usage.cost، ويقول usage.price_source هل جاء من سعرك المتفاوض عليه، أو سعرك لذلك النموذج، أو السعر المعلن للمورّد — ويغيب بدل أن يُخمَّن حين لا يُعرف سعر.
البدائل الاحتياطية والتوجيه عبر عدة مزوّدينالصيغة نفسهاالتحويل إلى مزوّد بديل عبر البوابة.مسارات مسمّاة بأهداف بأولوية أو موزونة على اتصالاتك الخاصة. الهدف الذي تنتهي مهلته أو يُرجع 5xx قبل أن تبدأ الاستجابة تُعاد محاولته في مكان آخر؛ وبمجرد أن تبدأ البايتات بالتدفق يظهر الخطأ ولا يُعاد توجيهه.
سياسة النماذجمختلفليس مفهومًا موثَّقًا في Helicone في الصفحات التي قرأناها؛ وأقرب ضابط هو حد للمعدل.قائمة سماح على مستوى المؤسسة أو المشروع أو المفتاح. يسري النطاق الأضيق، ويُرفض كل ما خارجها قبل أن يكلّف شيئًا.
البيانات التاريخيةلا شيءالطلبات والخصائص والجلسات والدرجات المحفوظة لديك في Helicone.لا أداة استيراد، ولا نية لإضافتها. لن يظهر هنا شيء مما سجّلته هناك. صدّره من Helicone واحفظه في مكان تتحكم فيه قبل أن تتوقف عن الإرسال.
المصدر المفتوح والاستضافة الذاتيةمختلفمنصة Helicone مفتوحة المصدر ويمكن تشغيلها بنفسك.البوابة ليست مفتوحة المصدر. باقاتها مستضافة؛ والنشر الذاتي أو الهجين لا يأتي إلا مع اتفاق مؤسسات. وإن كنت تحتاج إلى تشغيلها بنفسك دونه، فتوقف هنا.المؤسسات — متاح ضمن اتفاقية مؤسسية لا بالتسجيل الذاتي.

هذه قراءتنا للوثائق التي نشرتها Helicone، لا نتيجة تجربة أو اختبار أداء. تغيّرت مواقع وثائقهم خلال المرحلة الانتقالية، ولم تعد بعض صفحات الميزات متاحة على عناوينها السابقة، وحيث لم نتمكن من التأكد من أمر ما، يذكر الصف ذلك بدل التخمين. كل المصادر وتواريخ اطّلاعنا عليها مدرجة أسفل هذه الصفحة.

سطران للاتصال. العمل في التعليقات التوضيحية: تحملها Helicone كترويسات طلب، وتحملها INFRO في جسم الطلب، فكل مكان تضبط فيه ترويسة يحتاج إلى تعديل.

قبل · بوابة Helicone

import OpenAI from "openai";

// Before: the OpenAI SDK through Helicone's gateway, attribution in headers.
const sessionId = "sess_42";
const client = new OpenAI({
  baseURL: process.env.HELICONE_BASE_URL ?? "https://ai-gateway.helicone.ai",
  apiKey: process.env.HELICONE_API_KEY,
  defaultHeaders: {
    "Helicone-User-Id": "user_8f21",
    "Helicone-Session-Id": sessionId,
    "Helicone-Property-Feature": "summarizer",
  },
});

const completion = await client.chat.completions.create({
  model: "gpt-5.4-mini",
  messages: [{ role: "user", content: "Summarize this ticket in one line." }],
});
console.log(completion.choices[0]?.message.content);

بعد · INFRO

import OpenAI from "openai";

// After: the same SDK through INFRO, on your own OpenAI account.
const sessionId = "sess_42";
const client = new OpenAI({
  baseURL: process.env.INFRO_BASE_URL ?? "https://api.infro.io/v1",
  apiKey: process.env.INFRO_API_KEY,
});

const completion = await client.chat.completions.create({
  model: "openai/gpt-5.4-mini",
  messages: [{ role: "user", content: "Summarize this ticket in one line." }],
  // Attribution moves from headers into the body. Recorded on the request,
  // never forwarded to the provider.
  metadata: {
    user_id: "user_8f21",
    session_id: sessionId,
    feature: "summarizer",
  },
});
console.log(completion.choices[0]?.message.content);

عنوان URL الأساسي والمفتاح

https://api.infro.io/v1، مع المفتاح في ترويسة Authorization: Bearer القياسية — أي إنهما وسيطا baseURL وapiKey الموجودان لدى عميلك بالفعل. إذا كان الكود لديك لا يزال يشير إلى مضيف الوكيل القديم لكل مزوّد في Helicone ويحمل ترويسة Helicone-Auth منفصلة، فتُزال تلك الترويسة كليًا؛ لا تستخدم INFRO مثلها.

معرّف النموذج

تُعنوَن النماذج بصيغة vendor/model، مثل anthropic/claude-opus-5. يسرد GET /v1/models ما يستطيع مفتاحك استدعاءه فعلًا، أي كل ما تقدّمه حسابات المزوّدين المرتبطة الخاصة بك — والنموذج الذي لا يغطيه أي اتصال يُرجع 503 no_provider_connected مع اسم المزوّد الذي يجب ربطه.

التعليقات التوضيحية

يصبح Helicone-User-Id هو metadata.user_id، ويصبح Helicone-Session-Id هو metadata.session_id، ويصبح كل Helicone-Property-X مفتاحًا ضمن metadata.tags، يُفلتر في سجل الطلبات بصيغة tag.x. في TypeScript، نوع metadata الخاص بـ OpenAI خريطة نصوص مسطّحة، فيحتاج كائن tags المتداخل إلى تحويل نوع (cast)؛ أما extra_body في Python فيأخذه كما هو مكتوب.

أمر يستحق التجربة قبل أن تقرّر: تكامل Helicone غير المتزامن يغلّف عميل المزوّد لديك بدل أن يقع على مسار الشبكة، لذا يُفترض أن يواصل التسجيل بينما يشير عنوان URL الأساسي إلى INFRO. لم نختبر هذا الجمع ولا نستطيع أن نضمنه، فجرّبه على خدمة واحدة أولًا، واقرأ GET /v1/requests من جهتنا لتتأكد أن الطرفين متفقان على ما جرى.

أربعة أمور، كلها نابعة من كون INFRO بوابة تعمل على حسابات مزوّديك، لا أداة تسجيل تراقبها من الخارج.

الحساب الذي خدم الطلب هو حسابك، ويظهر اسمه
تحمل كل استجابة الحقل provider، أي نوع المزوّد الذي نُفّذ الطلب على حسابه، والحقل connection، أي معرّف الاتصال المستخدم، إلى جانب route و route_name حين يحدّد مسارٌ الوجهة. لا يوجد خلف البوابة مجمّع حسابات، ولا هامش على حركة الطلبات: يفوترك مزوّدك بأسعارك أنت، وتتقاضى INFRO اشتراكًا مقابل طبقة التحكم.
كل تكلفة تقدير يذكر مصدره
usage.cost تقدير لفاتورة مزوّدك عن ذلك الطلب، ويقول usage.price_source كيف تم الوصول إليه — custom_provider لسعرك المتفاوض عليه لدى المزوّد الذي خدمه، وcustom لسعرك لذلك النموذج، وlist للسعر المنشور للمورّد. وحين لا يُعرف سعر يُسجَّل الطلب غير مسعّر لا صفرًا، لأن الصفر في عمود التكلفة ادعاء والغياب واقعة.
الميزانية قادرة على رفض الطلب
أسقف على مستوى المؤسسة والمشروع والعضو والمفتاح، مع عتبات تنبيه تضعها. وعند السقف تُرجع البوابة 402 budget_exceeded بدل أن تراسلك بالبريد عن تجاوز الإنفاق بعد ذلك — وهذا هو الفرق بين الميزانية والتقرير.
التقديرات تُقارَن بفوترة المزوّد نفسها
تقرأ عملية يومية واجهتي التكلفة لدى OpenAI وAnthropic ببيانات اعتماد إدارية منفصلة، وتحفظ الرقم المُبلَّغ عنه إلى جانب تقدير INFRO، فترى الفرق بينهما بدل رقم عليك أن تثق به. لا يتوفر محوّل إلا لهذين المزوّدين؛ والمزوّد الذي لا محوّل له لا يظهر له فرق، بدل أن يظهر فرق صفري، أما Bedrock وVertex وAzure فتبقى تكلفتها في نظام الفوترة لدى السحابة التي تتبع لها.

ما الذي لا ينتقل

لا توجد أداة استيراد. لا شيء مما سجّلته في Helicone يظهر في INFRO، ولا شيء هنا سيعود لجلبه. صدّر ما تحتاجه ما دامت خدمتهم تعمل.

  • سجل طلباتك. لا توجد أداة استيراد ولا نية لإنشائها. صدِّر ما تحتاجه من Helicone أولًا؛ فلا شيء في INFRO سيسترجعه لاحقًا.
  • الخصائص المخصصة والجلسات ومعرّفات المستخدمين المسجّلة سابقًا. أما التعليقات التوضيحية فتبدأ من أول طلب ترسله هنا.
  • الاستجابات المخزَّنة مؤقتًا. لا تنتقل المدخلات الموجودة في ذاكرة منتج آخر؛ وتبدأ ذاكرة INFRO فارغة وتمتلئ من حركتك أنت، وتطابق الطلبات المتطابقة تمامًا فقط، لا المتشابهة أبدًا.
  • المطالبات ودرجات المقيِّمات، فلا مكان لها هنا.
  • نسخة Helicone كنت تشغّلها بنفسك. باقات INFRO مستضافة؛ أما تشغيل INFRO في بنيتك التحتية فيتم باتفاقية مؤسسية، لا كخطوة من خطوات الانتقال.

إذا كانت طبقة التحكم هي الجزء الذي تريده

اقرأ عقد API أولًا؛ فهو منشور كاملًا، بما فيه الأجزاء التي لم تُبنَ بعد، لتتخذ قرارك قبل أن تكتب سطرًا واحدًا. ثم أخبرنا بما تشغّله، وسنقول لك بصراحة هل يستحق الانتقال العناء.

المصادر

كل معلومة عن Helicone أو Langfuse في هذه الصفحة مصدرها أحد هذه المراجع، مع تاريخ اطلاعنا عليه. لم نستنتج شيئًا من تجربة أو اختبار أداء أو محادثة.