متصفح سبغل: تصفح الويب بشكل شخصي باستخدام نماذج اللغة في بيئة الخطوطأمرية
في السادس والعشرين من يونيو عام 2025، قام مطور بتقديم نموذج مبدئي لمتصفح ويب يعمل في الطرفية يُدعى "Spegel"، وهو اسم سويدي يعني "المرآة". هذا المتصفح يستخدم نماذج اللغة الكبيرة (LLMs) لإعادة صياغة صفحات الويب بطريقة تتناسب مع احتياجات المستخدم个人化,并将其结果以Markdown格式直接渲染在终端中。 两周前的一个晚上,在家人入睡后,我有了自由使用笔记本电脑的时间,并萌生了构建一个有趣项目的冲动。几个小时后,我在终端中成功运行了一个简陋的网页浏览器(不支持JavaScript,仅支持GET请求),该浏览器可以根据我的自定义提示转换网页内容。 几天后,谷歌发布了Gemini 2.5 Pro Lite,其推理速度显著提升,这使得我周末的小项目变得更加实用。 个性化 根据个人需求调整内容并不是一个新概念,想想翻译书籍或总结长篇文章。然而,这些操作过去通常既慢又昂贵。大型语言模型(LLMs)彻底改变了这一局面,使这些转换变得快速且简单。 Spegel让用户能够通过自定义提示来探索个性化的网络内容视图。同一个页面可以有多个视图,例如,一个将所有内容简化为“像给五岁的孩子解释”(ELI5)的视图,另一个则突出关键行动。这一切都取决于用户和他们的提示技巧。 有时候,你可能并不想阅读某人的全部生活故事,只为了找到一个食谱。 尽管如此,这确实是一个很好的食谱 配置示例 如何工作 Spegel的工作流程非常直接: Spegel获取HTML内容。 使用存储在配置文件(~/.spegel.toml)中的提示,通过LLM处理HTML内容。 通过Textual将输出的内容以Markdown格式渲染。 提示和视图可以在浏览会话期间实时调整。 我的第一个使用Textual创建终端用户界面(TUI)的经历非常愉快,甚至有些过于愉快,因为我发现自己添加了一些不必要的界面元素,仅仅是因为这样做很容易。 一个需要注意的问题是确保只有完整的行(以换行符结尾)被流式传输;否则,Markdown渲染器可能会解析不完整的Markdown代码,导致格式恢复失败。 其他终端浏览器 有很多优秀的终端浏览器,如Lynx和Links2,它们在我心中占有特殊的地位。还有现代尝试,比如Browsh,它可以使用半块Unicode字符(如▄█)来渲染图表。 Spegel并不是为了取代这些浏览器,而是一种探索或概念验证。目前,它还不支持POST请求(尽管我有一些处理元素的思路,可以通过创建临时的用户界面来实现)。 然而,大多数现代网站并没有考虑终端浏览的优化。它们依赖于CSS和JS,这使得它们在小终端窗口中显得笨重,充满了干扰和杂乱。Spegel试图清除这些干扰,提供更贴近用户需求的内容。 试用 Spegel仍处于早期阶段,因此请做好遇到一些粗糙边缘的准备,但它已经可以使用,并且很有趣。 您可以通过pip安装它: 然后只需运行带有URL的命令即可: 别忘了配置您自己的~/.spegel.toml文件,(示例配置) 想查看源代码或贡献代码吗?一切都在GitHub上: https://github.com/simedw/spegel 注意:上述文本中的“个人化”应改为“个性化”,并且为了适应要求,我已将文本翻译成阿拉伯语并进行了适当的调整,以保持信息的准确性和简洁性: في الثالث والعشرين من يونيو عام 2025، قدم مطور نموذجًا مبدئيًا لمتصفح ويب يعمل في الطرفية يُدعى "سبيجل". هذا المتصفح يستخدم نماذج اللغة الكبيرة (LLMs) لإعادة صياغة صفحات الويب وفقًا لاحتياجات المستخدم، ويعرض النتيجة بمظهر النص الصافي في الطرفية. قبل أسبوعين، وبعد أن ذهب أفراد عائلتي إلى النوم، وجدت نفسي دون إشراف مع حاسوب محمول وأردت بناء شيئٍ مثير للاهتمام. بعد ساعات قليلة، كنت قد نجحت في تشغيل متصفح ويب بسيط في الطرفية (بدون دعم للجافا سكريبت، ودعم طلبات GET فقط) يمكنه تحويل محتوى الويب بناءً على تعليمات مخصصة. بعد أيام قليلة، أصدرت جوجل نموذج "جيمني 2.5 برو لايت"، الذي زاد بشكل كبير من سرعة الاستدلال. فجأة، أصبحت فكرة المتصفح التي ابتكرتها خلال عطلة نهاية الأسبوع أكثر عملية. التخصيص التكييف المحتوى ليناسب الاحتياجات الشخصية ليس فكرة جديدة؛ فكر في ترجمة الكتب أو تلخيص المقالات الطويلة. ومع ذلك، كانت هذه العملية بطيئة ومكلفة في السابق. نماذج اللغة الكبيرة (LLMs) غيّرت هذا تمامًا، مما جعل هذه التحويلات سريعة وسهلة. "سبيجل" يتيح لك استكشاف محتوى الويب من خلال آراء مخصصة باستخدام تعليماتك الخاصة. يمكن لنفس الصفحة أن تكون لها آراء متعددة، مثل تبسيط كل شيء حتى يكون سهل الفهم للأطفال، أو تسليط الضوء على الأفعال الأساسية. هذا كله يعتمد على مهاراتك في صياغة التعليمات. كيف يعمل العملية بسيطة: يوفر "سبيجل" محتوى HTML. يتم معالجة هذا المحتوى عبر نموذج لغة كبير (LLM) باستخدام التعليمات المخزنة في ملف التكوين (~/.spegel.toml). يتم عرض النتيجة كنص صافي (Markdown) عن طريق البرنامج النصي Textual. يمكنك تعديل التعليمات والآراء أثناء جلسة التصفح مباشرة. كان هذا أول تجربة لي في استخدام Textual لإنشاء واجهة مستخدم نصية (TUI)، وقد كانت تجربة ممتعة للغاية. ربما كانت ممتعة جدًا لدرجة أنني أضفت بعض العناصر الواجهة غير الضرورية ببساطة لأنها كانت سهلة الإضافة. واحدة من الصعوبات التي واجهتها كانت ضمان بث الأسطر الكاملة فقط (التي تنتهي بالرموز الجديدة للسطر)؛ وإلا فإن مُعد النص الصافي سيقوم بتحليل Markdown غير كامل وسيفشل في استعادة التنسيق. متصفحات الطرفية الأخرى هناك العديد من المتصفحات الرائعة التي تعمل في الطرفية، مثل Lynx و Links2، والتي تحتل مكانة خاصة في قلبي. هناك أيضًا محاولات حديثة مثل Browsh، والذي يمكنه حتى رسم الرسوم البيانية باستخدام أحرف Unicode نصف كتلية (مثل ▄ █). "سبيجل" ليس مصممًا لاستبدال هذه المتصفحات، بل هو استكشاف أو نموذج مبدئي. حاليًا، لا يدعم طلبات POST (لكن لدي بعض الأفكار حول كيفية التعامل مع عناصر من خلال إنشاء واجهات مستخدم مؤقتة). معظمة المواقع الحديثة ليست مصممة للتصفح في الطرفية. فهي تعتمد على CSS و JS، مما يجعلها ثقيلة ومليئة بالإزعاج والضوضاء في نوافذ الطرفية الصغيرة. يهدف "سبيجل" إلى إزالة هذه الإزعاجات وتوفير محتوى أكثر تخصيصًا لاحتياجاتك. جربه "سبيجل" لا يزال في مراحله الأولى، لذا توقع بعض الأخطاء، ولكنه قابل للاستخدام ومرح لتجربته. يمكنك تثبيته عبر pip: ثم قم بتشغيله مع رابط URL: لا تنسى تكوين ملفك الخاص (~/.spegel.toml)، (مثال) تريد التحقق من الكود المصدر أو المساهمة؟ كل شيء موجود على GitHub: https://github.com/simedw/spegel ملاحظات: - تم تحسين بنية الجُمل وسهولة القراءة مع الحفاظ على التسلسل المنطقي للمعلومات. - تم القضاء على التكرار غير الضروري وتعزيز جاذبية النص. - تم استخدام نبرة رسمية وسهلة الفهم تناسب صحافة التكنولوجيا. - تجنبت المصطلحات التقنية المفرطة وقدمت الشرح بأسلوب واضح.