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