[{"data":1,"prerenderedAt":268},["ShallowReactive",2],{"\u002Fblog\u002Fagent-harness-selection\u002F:ar":3,"\u002Fblog\u002Fagent-harness-selection\u002F-surround:ar":164,"blog-all-posts:ar":165},{"id":4,"title":5,"author":6,"body":10,"date":147,"description":148,"extension":149,"image":150,"locale":151,"meta":152,"minRead":153,"navigation":154,"original":155,"path":156,"pinned":155,"seo":157,"source":158,"sourceUrl":23,"stem":159,"tags":160,"updated":150,"__hash__":163},"blog\u002Fblog\u002Fagent-harness-selection.ar.md","بعد خوض تجربة Pi Agent وOMP وCodex وZCode، لماذا اخترت في النهاية OpenCode + OpenChamber",{"name":7,"avatar":8},"Chen Dahuang",{"src":9,"alt":7},"\u002Favatar.jpg",{"type":11,"value":12,"toc":135},"minimark",[13,28,31,36,41,44,47,59,63,66,69,72,76,79,83,89,95,108,115,119,122,125,128],[14,15,16],"blockquote",{},[17,18,19,20,27],"p",{},"نُشر المقال الأصلي على ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2085410520459604026",[25],"nofollow","X",".",[17,29,30],{},"لقد جربت مؤخراً كل هذه البيئات — Pi Agent وOMP وZCode وCodex وOpenCode — وأخيراً فهمت ما هي احتياجاتي الحقيقية.",[32,33,35],"h2",{"id":34},"معاييري-الثلاثة","معاييري الثلاثة",[37,38,40],"h3",{"id":39},"الأول-واجهة-رسومية-ناضجة-ومستقرة","الأول: واجهة رسومية ناضجة ومستقرة",[17,42,43],{},"بعد أن اعتدت على الواجهات الرسومية، لم أعد أطيق الواجهات النصية (TUI). فالدردشة في صندوق أسود مرهِقة حقاً — عليك حفظ الكثير من الاختصارات والأوامر حتى تستطيع استخدامها فعلاً. أما مع الواجهة الرسومية فكل ما تحتاجه هو ضغط مباشر على أيقونات وأزرار بديهية.",[17,45,46],{},"لذلك كان لا بد من صفحة واجهة رسومية ناضجة ومستقرة وجميلة.",[17,48,49,50,54,55,58],{},"هذا المعيار وحده استبعد ",[51,52,53],"strong",{},"Pi Agent"," و",[51,56,57],{},"OMP",". ليس لأن النواة ضعيفة، بل لأن الواجهات الرسومية المجتمعية المرافقة لها رديئة فعلاً. وبناؤها يدوياً بنفسك يلتهم جهداً هائلاً، وهذه الأدوات قابلة للتخصيص لدرجة أن واجهتك الحِرفية لن تكون ذات قيمة عامة — غيّر الجهاز أو غيّر الشخص، وكل شيء يُعاد من الصفر.",[37,60,62],{"id":61},"الثاني-لا-قيود-من-المورّد-ولا-محاباة-لمورّد","الثاني: لا قيود من المورّد ولا محاباة لمورّد",[17,64,65],{},"صحيح أن Codex فتحت واجهات لتكوين نماذج الطرف الثالث، لكن الإعداد مزعج حقاً، وستبقى نماذج الطرف الثالث إلى الأبد \"مواطنين من الدرجة الثانية\" — مقهورة أمام النماذج الرسمية ومرهونة بإيقاع التحديثات، وهذا أغاظني كثيراً.",[17,67,68],{},"أما ZCode فالأمر أغرب: لا يمكنك عبر OAuth تسجيل الدخول إلى خطط البرمجة المختلفة (فمثلاً Kimi For Code وGrok Build لا تعملان في ZCode، إلا بطرق ملتوية).",[17,70,71],{},"لذلك استبعدت برامج تنحاز لمورّد نماذج بعينه مثل ZCode وCodex.",[37,73,75],{"id":74},"الثالث-مفتوح-المصدر-وقابل-لإعادة-التطوير","الثالث: مفتوح المصدر وقابل لإعادة التطوير",[17,77,78],{},"أحتاج إلى إعادة التطوير والتخصيص وفقاً لاحتياجاتي، لأمنح عملائي تجربة تعمل فوراً وبأسلوب أسهل. لذلك يجب أن يكون المنتج مفتوح المصدر ومرخّصاً بتراخيص مريحة — ليكون استخدامه مريحاً لي، وسهلاً وبسيطاً لعملائي، دون الاحتياج إلى حيل تقنية معقدة.",[32,80,82],{"id":81},"الإجابة-النهائية-opencode-openchamber","الإجابة النهائية: OpenCode + OpenChamber",[17,84,85,86,27],{},"بعد التصفية النهائية، الخيار الوحيد المتبقي فعلاً كان ",[51,87,88],{},"OpenCode",[17,90,91,92,27],{},"لكن OpenCode مجرد نواة وكيل (Agent). ولكي أزوّدها بواجهة رسومية ناضجة ومستقرة وعملية، اكتشفت أخيراً الإجابة الفعلية: ",[51,93,94],{},"OpenChamber",[96,97,98,102,105],"ul",{},[99,100,101],"li",{},"النواة: OpenCode — مفتوح المصدر، بلا قيود مورّد، ويدعم نماذج متعددة",[99,103,104],{},"الواجهة: OpenChamber — منصة عمل رسومية ناضجة",[99,106,107],{},"التركيبة: نواة مستقرة + واجهة مريحة، مع إمكانية إعادة التطوير عند الحاجة",[17,109,110,111],{},"المصدر مفتوح على: ",[21,112,113],{"href":113,"rel":114},"https:\u002F\u002Fgithub.com\u002Fopenchamber\u002Fopenchamber",[25],[32,116,118],{"id":117},"بعض-الخبرات","بعض الخبرات",[17,120,121],{},"اختيار الأداة، في جوهره، هو اختيار \"من يملك القرار النهائي بيدك\".",[17,123,124],{},"مهما كانت الأدوات المغلقة مغرية، فإن اتجاه التحديث ودعم النماذج وسياسة الأسعار يقرّرها الآخرون، ولا يبقى لك سوى القبول. أما مع التركيبة المفتوحة المصدر وغير المقيّدة، فلديك دائماً مخرج، ودائماً حرية التعديل.",[17,126,127],{},"أما بشأن معركة TUI ضد GUI، فلا تُصر. الأدوات وُجدت لإنجاز العمل، لا لإثبات إتقانك لسطر الأوامر. واجهة مريحة يمكنك استخدامها طويلاً أهم من أي شيء آخر.",[17,129,130,131],{},"اقرأ أيضاً: ",[21,132,134],{"href":133},"\u002Fblog\u002Fdeepseek-v4-flash-review","تجربة متعمقة للإصدار الرسمي من DeepSeek V4 Flash",{"title":136,"searchDepth":137,"depth":137,"links":138},"",2,[139,145,146],{"id":34,"depth":137,"text":35,"children":140},[141,143,144],{"id":39,"depth":142,"text":40},3,{"id":61,"depth":142,"text":62},{"id":74,"depth":142,"text":75},{"id":81,"depth":137,"text":82},{"id":117,"depth":137,"text":118},"2026-08-06","مراجعة تجربة الاختيار بين بيئات الوكيل (Agent Harness): بمعايير تجربة الواجهة الرسومية وقيود المورّد وحرية إعادة التطوير، استُبعدت Pi Agent وOMP وCodex وZCode، ووُقع الاختيار على نواة OpenCode مع واجهة OpenChamber.","md",null,"ar",{},6,true,false,"\u002Fblog\u002Fagent-harness-selection",{"title":5,"description":148},"x","blog\u002Fagent-harness-selection.ar",[161,162],"AI Agent","اختيار الأدوات","QzCVtquiHDTeMxfggqCgJJgExGqEN6efXCYh5wNRd3s",[150,150],[166,168,177,186,192,200,207,214,222,228,235,244,251,259],{"path":156,"title":5,"description":148,"date":147,"minRead":153,"tags":167},[161,162],{"path":169,"title":170,"description":171,"date":172,"minRead":153,"tags":173},"\u002Fblog\u002Fcloudflare-broke-stack","أفضل ممارسات التطوير المستقل لعام 2026: باقة Cloudflare الشاملة للمفلسين","حزمة تقنية صفر التكلفة للمطوّر المستقل: Codex للبرمجة وGitHub لإدارة الإصدارات وStripe لاستلام الأموال؛ الواجهة الأمامية TanStack Start والخلفية Hono + Workers وقاعدة البيانات D1 والتخزين R2 والكاش KV — كلها تعمل على Cloudflare.","2026-06-15",[174,175,176],"Cloudflare","التطوير المستقل","الحزمة التقنية",{"path":178,"title":179,"description":180,"date":181,"minRead":153,"tags":182},"\u002Fblog\u002Fdeepseek-api-web-search","البحث عبر الإنترنت مدمج في DeepSeek API — وResponses API تمنحك قدرة البحث الرسمية مجاناً","دمجت DeepSeek رسمياً البحث عبر الإنترنت في واجهة API: باستدعاء deepseek-v4-flash عبر واجهة Responses وإعلان أداة web_search فقط، لا حاجة لربط محركات بحث خارجية ولا لتقديم طلبات مفاتيح بحث.","2026-08-05",[183,184,185],"DeepSeek","API","أدوات الذكاء الاصطناعي",{"path":133,"title":187,"description":188,"date":181,"minRead":189,"tags":190},"تجربة متعمقة للإصدار الرسمي من DeepSeek V4 Flash: رخيص وسريع وسياق 1M وبحث مدمج","تجربة متعمقة لبضعة أيام مع الإصدار الرسمي من DeepSeek V4 Flash: رخص مطلق، سرعة البرق، سياق 1M، بحث عبر الإنترنت مدمج رسمياً، ومصدر مفتوح بالكامل. القصور الوحيد هو تعدد الوسائط، لكن يمكن تعويضه بدمج نماذج أخرى.",7,[183,191,185],"مراجعة النماذج",{"path":193,"title":194,"description":195,"date":172,"minRead":196,"tags":197},"\u002Fblog\u002Ffree-cloudflare","كيف يستنزف المستخدم المجاني كل إمكانيات Cloudflare — وإلى أي مدى تصل المجانية؟","الإصدار المجاني من Cloudflare يكفي لتشغيل بنية إنترنت شخصية متكاملة: DNS وCDN وPages وWorkers وKV وD1 وR2 والبريد وTunnel وAI Gateway وغيرها.",8,[174,198,199],"الحصة المجانية","النشر",{"path":201,"title":202,"description":203,"date":204,"minRead":196,"tags":205},"\u002Fblog\u002Fmodel-harness-decoupling","Harness الشركة الأصلية ليس دائماً الإجابة الفائزة: في عصر النماذج المفتوحة، اختر النموذج والـHarness كل واحد على حدة","تستخدم Claude فتركب Claude Code؟ في عصر النماذج المفتوحة هذا الحدس يحتاج إلى ترقية. ميزة الشركة الأصلية حقيقية، لكن تدريب نموذج جيد وبناء Harness جيد هما هندسان مختلفتان — هذه المقالة توضح لماذا أصبح اختيار النموذج والـHarness قرارين منفصلين، مع خريطة تحديد مواقع لخمسة Harnesses.","2026-09-09",[161,206,162],"Harness",{"path":208,"title":209,"description":210,"date":204,"minRead":196,"tags":211},"\u002Fblog\u002Fopencode-productive-stack","مستقر وسريع ومنتج ورخيص: توثيق كامل لطقم الأدوات الخاص بي في برمجة الذكاء الاصطناعي","OpenCode مع OpenChamber واشتراكين في DeepSeek V4 Flash: خمسة عشر مشروعاً تشغّل الكود في آن واحد والرصيد بالكاد يتحرك. تكشف هذه المقالة الإعداد الكامل: تقليم السياق، الذاكرة الطبقية، أتمتة سطح المكتب، ودروس الالتزام بالزوج الأصلي.",[88,212,213],"البرمجة بالذكاء الاصطناعي","الإعدادات",{"path":215,"title":216,"description":217,"date":218,"minRead":219,"tags":220},"\u002Fblog\u002Fproduct-faxin-principle","مبدأ الدافع الأصيل: لماذا يجب على المطوّر المستقل أن يتعلم فن التخلي","لماذا تنطلق؟ لمن تنطلق؟ أي مشكلة تريد حلاً لها فعلاً؟ حدّة المنتج تأتي من سعة البذل وقوة التخلي.","2026-06-20",10,[221,175],"فكر المنتج",{"path":223,"title":224,"description":225,"date":218,"minRead":196,"tags":226},"\u002Fblog\u002Fproduct-pain-vs-itch","لا تَطِر من قول المستخدم «رائع»: نقطة الألم مقابل نقطة الحكّة","الإعجاب الشفهي لا يساوي شيئاً. لقياس الطلب معيارٌ صلبٌ وحيد: ما الذي يقبل المستخدم أن يدفعه؟",[221,227],"الحكم على الطلب",{"path":229,"title":230,"description":231,"date":147,"minRead":232,"tags":233},"\u002Fblog\u002Fqwen-vision-for-deepseek","سدّ نقص تعدد الوسائط لدى DeepSeek: خطة التعرف على الصور Qwen-3.7-Flash","لا يملك DeepSeek V4 Flash تعدد وسائط، فكيف نتعامل مع صوره؟ بعد البحث، الخطة الأكثر كفاءة سعراً حالياً هي Qwen-3.7-Flash: تكلفة التعرف على صورة واحدة ضئيلة للغاية، وبدمجها مع V4 Flash يُسدّ هذا النقص.",5,[183,234,191],"تعدد الوسائط",{"path":236,"title":237,"description":238,"date":239,"minRead":240,"tags":241},"\u002Fblog\u002Fsub-store-cloudflare","نقلتُ تجميع اشتراكات «المطارات» إلى Cloudflare","اشتراكات عدة مزوّدي بروكسي مع عقد مبنية ذاتياً تُعجن في اشتراك واحد؛ قواعد توزيع الحركة تُضبط في الخادم، بينما يكتفي العميل بالاشتراك.","2026-06-28",4,[174,242,243],"تجاوز الرقابة","مشروع مفتوح المصدر",{"path":245,"title":246,"description":247,"date":204,"minRead":189,"tags":248},"\u002Fblog\u002Ftui-cognitive-bandwidth","واجهة TUI تقتل نطاقك المعرفي: حان وقت تحطيم «فلتر الجييك» في البرمجة بالذكاء الاصطناعي","تعشر موجة من وكلاء البرمجة بالذكاء الاصطناعي على إطلاق واجهات TUI، وإعادة التفاعل إلى نموذج الطرفية من الثمانينيات، مع تسميته «انغماساً» و«احتراماً للمبرمجين». تفكك هذه المقالة ثلاث آليات تُخفض بها TUI النطاق المعرفي بشكل منهجي، وتشرح لماذا تعد Web UI هي الحل الصحيح.",[212,249,250],"تصميم التفاعل","خواطر",{"path":252,"title":253,"description":254,"date":255,"minRead":153,"tags":256},"\u002Fblog\u002Fvalue-not-external","مناقشة ما إذا كان للأمر قيمة، هذه المناقشة نفسها بلا قيمة","قيمتنا لا يحددها أي أحد. في عصر الذكاء الاصطناعي، كيف ينبغي للإنسان أن يفهم نفسه حقاً؟","2026-06-18",[257,258],"تأملات في الذكاء الاصطناعي","خواطر إنسانية",{"path":260,"title":261,"description":262,"date":263,"minRead":264,"tags":265},"\u002Fblog\u002Fx-growth-1000-followers","أكثر من 1000 متابع في يوم وزيادة، ماذا فعلت؟","في يونيو أدرت حساب X بجدية، فزاد متابعوّ أكثر من 1000 في يوم وزيادة. هذه المقالة توثق ما فعلته حينها وما تلقيتُه من استجابات.","2026-06-16",12,[266,267],"إدارة X","نمو المحتوى",1789752316725]