[{"data":1,"prerenderedAt":268},["ShallowReactive",2],{"\u002Fblog\u002Fagent-harness-selection\u002F:vi":3,"\u002Fblog\u002Fagent-harness-selection\u002F-surround:vi":164,"blog-all-posts:vi":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.vi.md","Sau khi nghịch Pi Agent, OMP, Codex và ZCode, vì sao cuối cùng tôi chọn 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",{},"Bài gốc đăng trên ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2085410520459604026",[25],"nofollow","X",".",[17,29,30],{},"Dạo gần đây tôi cứ nghịch Pi Agent, OMP, ZCode, Codex, OpenCode mấy cái Agent Harness này, cuối cùng cũng hiểu được nhu cầu thật sự của mình là gì.",[32,33,35],"h2",{"id":34},"ba-tiêu-chí-của-tôi","Ba tiêu chí của tôi",[37,38,40],"h3",{"id":39},"một-gui-chín-muồi-và-ổn-định","Một: GUI chín muồi và ổn định",[17,42,43],{},"Tôi quen dùng GUI rồi, thật sự không chịu nổi TUI. Tán chuyện trong cái ô terminal đen thui quá mệt — phải nhớ cả đống phím tắt, cả đống lệnh mới dùng được cho ra hồn. Còn GUI thì chỉ cần trực quan bấm vào icon, bấm nút là xong.",[17,45,46],{},"Nên tôi cần một GUI chín muồi, ổn định và đẹp mắt.",[17,48,49,50,54,55,58],{},"Riêng tiêu chí này đã loại thẳng ",[51,52,53],"strong",{},"Pi Agent"," và ",[51,56,57],{},"OMP",". Không phải lõi của chúng kém — mà là GUI cộng đồng dựng quanh chúng quá dở. Tự tay xây một cái thì tốn cả đống công sức, mà mấy công cụ này tùy biến quá mạnh, GUI tự mày mò không có tính phổ dụng — đổi máy, đổi người là lại đập đi xây lại từ đầu.",[37,60,62],{"id":61},"hai-không-khoá-nhà-cung-cấp-không-thiên-vị-nhà-cung-cấp","Hai: không khoá nhà cung cấp, không thiên vị nhà cung cấp",[17,64,65],{},"Codex quả thật có mở giao diện cấu hình cho model bên thứ ba, nhưng cấu hình thật sự rất phiền, mà model bên thứ ba luôn là \"công dân hạng hai\" — bị model chính thức đè, bị nhịp cập nhật kéo chân, khiến tôi khó chịu vô cùng.",[17,67,68],{},"ZCode còn vô lý hơn: không có cách nào đăng nhập Coding Plan của từng nhà cung cấp qua OAuth (ví dụ Kimi For Code, Grok Build đều không dùng được trong ZCode, trừ khi tự hack mò ra đường tắt).",[17,70,71],{},"Nên tôi loại ZCode, Codex — mấy phần mềm thiên vị nhà cung cấp model.",[37,73,75],{"id":74},"ba-mã-nguồn-mở-và-cho-phép-phát-triển-thứ-cấp","Ba: mã nguồn mở và cho phép phát triển thứ cấp",[17,77,78],{},"Tôi cần dựa trên nhu cầu của mình mà phát triển thứ cấp và tùy biến, để dễ mang đến cho khách hàng trải nghiệm dùng là xong ngay. Nên nó nhất định phải là sản phẩm mã nguồn mở, thân thiện với giấy phép — để mình dùng sướng, cũng để khách hàng dùng đơn giản tiện lợi, không cần nghịch đủ thứ hack ma thuật.",[32,80,82],{"id":81},"câu-trả-lời-cuối-cùng-opencode-openchamber","Câu trả lời cuối cùng: OpenCode + OpenChamber",[17,84,85,86,27],{},"Loại hết một vòng, thứ thật sự chọn được chỉ còn ",[51,87,88],{},"OpenCode",[17,90,91,92,27],{},"Nhưng OpenCode chỉ là một lõi Agent. Muốn ghép cho nó một GUI chín muồi, ổn định, dễ dùng, cuối cùng tôi đã tìm ra đáp án đúng nghĩa: ",[51,93,94],{},"OpenChamber",[96,97,98,102,105],"ul",{},[99,100,101],"li",{},"Lõi: OpenCode, mã nguồn mở, không khoá nhà cung cấp, hỗ trợ model của mọi hãng",[99,103,104],{},"Giao diện: OpenChamber, bộ công cụ GUI chín muồi",[99,106,107],{},"Tổ hợp: lõi ổn định + giao diện thuận tay, lại còn phát triển thứ cấp tùy ý",[17,109,110,111],{},"Địa chỉ mã nguồn mở: ",[21,112,113],{"href":113,"rel":114},"https:\u002F\u002Fgithub.com\u002Fopenchamber\u002Fopenchamber",[25],[32,116,118],{"id":117},"vài-điều-ngẫm-lại","Vài điều ngẫm lại",[17,120,121],{},"Chuyện chọn công cụ, về bản chất là chọn \"tiếng nói của bạn nằm trong tay ai\".",[17,123,124],{},"Công cụ mã đóng dù có ngon đến mấy, hướng cập nhật, hỗ trợ model, chiến lược giá đều do người khác quyết — bạn chỉ có thể bị động chấp nhận. Còn tổ hợp mã nguồn mở + không khoá, bạn luôn có đường lui, luôn có tự do cải tạo.",[17,126,127],{},"Còn về chuyện tranh cãi TUI với GUI, đừng cố cứng đầu. Công cụ là để làm việc, không phải để chứng minh bạn biết dùng command line. Giao diện dùng thoải mái, dùng lâu được, quan trọng hơn tất cả.",[17,129,130,131],{},"Đọc thêm: ",[21,132,134],{"href":133},"\u002Fblog\u002Fdeepseek-v4-flash-review","Trải nghiệm sâu bản chính thức 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","Bài tổng kết chọn lựa Agent Harness: ba tiêu chí — trải nghiệm GUI, khoá nhà cung cấp và quyền tự do phát triển thứ cấp — đã loại Pi Agent, OMP, Codex và ZCode, cuối cùng chốt lõi OpenCode + giao diện OpenChamber.","md",null,"vi",{},6,true,false,"\u002Fblog\u002Fagent-harness-selection",{"title":5,"description":148},"x","blog\u002Fagent-harness-selection.vi",[161,162],"AI Agent","Chọn công cụ","Jt-fz3uv6eQpzQxxeunEhpfBNG0c8uDScMUEDv2AlTw",[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","Thực hành tốt nhất 2026 cho indie developer: gói công nghệ Cloudflare all-in-one 'nghèo rớt mồng tơi'","Tech stack chi phí bằng không cho indie developer: Codex viết code, GitHub quản lý phiên bản, Stripe thu tiền, frontend TanStack Start, backend Hono + Workers, database D1, lưu trữ R2, cache KV — tất cả chạy trên Cloudflare.","2026-06-15",[174,175,176],"Cloudflare","Phát triển indie","Tech stack",{"path":178,"title":179,"description":180,"date":181,"minRead":153,"tags":182},"\u002Fblog\u002Fdeepseek-api-web-search","API của DeepSeek có sẵn tìm kiếm web: xài chùa khả năng tìm kiếm chính thức qua Responses API","DeepSeek nhúng thẳng tìm kiếm web vào API: gọi deepseek-v4-flash qua giao diện Responses và khai báo tool web_search là xong. Không cần tích hợp công cụ tìm kiếm bên thứ ba, không cần xin key API tìm kiếm.","2026-08-05",[183,184,185],"DeepSeek","API","Công cụ AI",{"path":133,"title":187,"description":188,"date":181,"minRead":189,"tags":190},"Trải nghiệm sâu bản chính thức DeepSeek V4 Flash: rẻ, nhanh, context 1M, tìm kiếm tích hợp sẵn","Mấy ngày trải nghiệm sâu bản chính thức DeepSeek V4 Flash: rẻ cực độ, nhanh như chớp, context 1M, tìm kiếm web chính thức tích hợp sẵn, mã nguồn mở hoàn toàn. Điểm yếu duy nhất là đa phương thức — nhưng có thể vá bằng cách tổ hợp các model khác.",7,[183,191,185],"Đánh giá mô hình",{"path":193,"title":194,"description":195,"date":172,"minRead":196,"tags":197},"\u002Fblog\u002Ffree-cloudflare","Người dùng miễn phí vắt kiệt Cloudflare như thế nào — bản miễn phí thật sự xài chùa được đến đâu?","Bản miễn phí của Cloudflare chống lưng được cả một hạ tầng internet cá nhân: DNS, CDN, Pages, Workers, KV, D1, R2, email, Tunnel, AI Gateway và hơn thế nữa.",8,[174,198,199],"Hạn mức miễn phí","Triển khai",{"path":201,"title":202,"description":203,"date":204,"minRead":196,"tags":205},"\u002Fblog\u002Fmodel-harness-decoupling","Harness chính hãng chưa chắc là đáp án đương thời: thời đại mô hình mở, chọn model và Harness riêng biệt","Dùng Claude thì gắn Claude Code? Thời đại mô hình mở rồi, bản năng đó cần được nâng cấp. Lợi thế chính hãng là có thật, nhưng huấn luyện model tốt và làm Harness tốt là hai ngành kỹ thuật khác nhau — bài này nói rõ vì sao model và Harness giờ đã có thể chọn riêng, kèm bản đồ định vị 5 Harness.","2026-09-09",[161,206,162],"Harness",{"path":208,"title":209,"description":210,"date":204,"minRead":196,"tags":211},"\u002Fblog\u002Fopencode-productive-stack","Ổn định, nhanh, hiệu suất, rẻ: ghi chép trọn bộ AI Coding stack của tôi","OpenCode + OpenChamber + hai gói đăng ký DeepSeek V4 Flash: 15 dự án cùng lúc chạy code, hạn mức chỉ xụi chút xíu. Trải hết cấu hình ra: cắt tỉa context, bộ nhớ phân tầng, tự động hóa desktop, và bài học “giữ nguyên cặp gốc”.",[88,212,213],"Lập trình AI","Cấu hình",{"path":215,"title":216,"description":217,"date":218,"minRead":219,"tags":220},"\u002Fblog\u002Fproduct-faxin-principle","Nguyên lý phát tâm: vì sao indie developer phải học cách buông bỏ","Vì sao bạn lên đường? Bạn lên đường vì ai? Bạn thật sự muốn giải quyết vấn đề nào? Sự sắc bén của sản phẩm đến từ chỗ bạn dám cắt bỏ điều gì.","2026-06-20",10,[221,175],"Tư duy sản phẩm",{"path":223,"title":224,"description":225,"date":218,"minRead":196,"tags":226},"\u002Fblog\u002Fproduct-pain-vs-itch","Đừng bay bổng khi người dùng khen 'xịn': nỗi đau và cơn ngứa","Lời khen ngoài miệng chẳng đáng một xu. Phán đoán nhu cầu chỉ có một tiêu chuẩn cứng: xem người dùng sẵn sàng trả cái gì.",[221,227],"Đánh giá nhu cầu",{"path":229,"title":230,"description":231,"date":147,"minRead":232,"tags":233},"\u002Fblog\u002Fqwen-vision-for-deepseek","Bổ sung đa phương thức cho DeepSeek: giải pháp nhận diện ảnh Qwen-3.7-Flash","DeepSeek V4 Flash không có đa phương thức — cần hiểu ảnh thì phải làm sao? Khảo sát một vòng, giải pháp có hiệu quả chi phí cao nhất hiện nay là Qwen-3.7-Flash: chi phí nhận diện một bức ảnh gần như bằng không, tổ hợp với V4 Flash là vá được điểm yếu.",5,[183,234,191],"Đa phương thức",{"path":236,"title":237,"description":238,"date":239,"minRead":240,"tags":241},"\u002Fblog\u002Fsub-store-cloudflare","Tôi đã chuyển công cụ gộp subscription proxy lên Cloudflare","Gộp nhiều dịch vụ proxy cộng với node tự dựng thành một subscription duy nhất, quy tắc định tuyến cấu hình ở phía server — client chỉ việc subscribe.","2026-06-28",4,[174,242,243],"Vượt tường lửa","Dự án mã nguồn mở",{"path":245,"title":246,"description":247,"date":204,"minRead":189,"tags":248},"\u002Fblog\u002Ftui-cognitive-bandwidth","TUI đang giết băng thông nhận thức của bạn: đến lúc đập vỡ “bộ lọc geek” trong AI Coding","Hàng loạt AI Coding Agent đang đua nhau thả TUI, nhồi tương tác trở lại mô hình terminal thập niên 1980 rồi gọi đó là “đắm chìm”, “tôn trọng lập trình viên”. Bài này mổ xẻ ba cơ chế khiến TUI làm giảm băng thông nhận thức một cách hệ thống, và vì sao Web UI mới là lời giải đúng.",[212,249,250],"Thiết kế tương tác","Tản văn",{"path":252,"title":253,"description":254,"date":255,"minRead":153,"tags":256},"\u002Fblog\u002Fvalue-not-external","Bàn chuyện có giá trị hay không, bản thân chuyện đó đã chẳng có giá trị","Giá trị của chúng ta không do ai định nghĩa. Trong thời đại AI, con người nên hiểu mình như thế nào?","2026-06-18",[257,258],"Suy ngẫm về AI","Tản văn nhân văn",{"path":260,"title":261,"description":262,"date":263,"minRead":264,"tags":265},"\u002Fblog\u002Fx-growth-1000-followers","Tăng hơn 1000 followers chỉ trong hơn một ngày — đây là những gì tôi đã làm","Tháng 6 tôi nghiêm túc vận hành tài khoản X, chỉ trong hơn một ngày đã tăng 1000+ followers. Bài này ghi lại những gì tôi đã làm và phản hồi nhận được.","2026-06-16",12,[266,267],"Vận hành X","Tăng trưởng nội dung",1789752318173]