[{"data":1,"prerenderedAt":163},["ShallowReactive",2],{"\u002Fblog\u002Fagent-harness-selection":3,"\u002Fblog\u002Fagent-harness-selection-surround":157},{"id":4,"title":5,"author":6,"body":10,"date":145,"description":146,"extension":147,"image":148,"meta":149,"minRead":150,"navigation":151,"path":152,"seo":153,"source":154,"sourceUrl":23,"stem":155,"__hash__":156},"blog\u002Fblog\u002Fagent-harness-selection.md","折腾了 Pi Agent、OMP、Codex、ZCode，我为什么最终选了 OpenCode + OpenChamber",{"name":7,"avatar":8},"陈大黄",{"src":9,"alt":7},"\u002Favatar.jpg",{"type":11,"value":12,"toc":133},"minimark",[13,28,31,35,40,43,46,58,62,65,68,71,75,78,82,88,94,107,114,117,120,123,126],[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 这些 Agent Harness，终于理解了我自己真正的需求是什么。",[32,33,34],"h2",{"id":34},"我的三个标准",[36,37,39],"h3",{"id":38},"第一成熟稳定的-gui","第一：成熟稳定的 GUI",[17,41,42],{},"用惯了 GUI，实在用不下去 TUI。在黑框框里聊天太难受了——你要记很多的快捷键、很多的指令，才能真正用得下去。但是 GUI 只要直观地点点图标、点点按钮就行了。",[17,44,45],{},"所以我必须要一个成熟的、稳定的、美观的 GUI 页面。",[17,47,48,49,53,54,57],{},"这一条直接排除了 ",[50,51,52],"strong",{},"Pi Agent"," 和 ",[50,55,56],{},"OMP","。不是说内核不行，是配套的社区 GUI 做得实在太差了。自己手搓又要花很大的精力，而且这种工具可定制化太强，你手搓的 GUI 没有通用性——换个机器、换个人，一切推倒重来。",[36,59,61],{"id":60},"第二不供应商锁定不供应商偏袒","第二：不供应商锁定、不供应商偏袒",[17,63,64],{},"Codex 确实开放了第三方模型的配置接口，但配置起来真的很麻烦，而且第三方模型永远是\"二等公民\"——被官方模型压制、被更新节奏拖累，这让我很不爽。",[17,66,67],{},"ZCode 更离谱，没有办法通过 OAuth 登录各家的 Coding Plan（比如 Kimi For Code、Grok Build 都没法在 ZCode 里用，除非邪修折腾）。",[17,69,70],{},"所以我排除了 ZCode、Codex 这类有模型供应商偏袒的软件。",[36,72,74],{"id":73},"第三开源可二次开发","第三：开源、可二次开发",[17,76,77],{},"我需要基于自己的需求做二次开发和定制化，便于给客户更方便的开箱即用。所以它一定要是开源的、许可证友好的产品——方便我自己爽，也方便我的客户用起来简单方便，不搞那么多黑科技去 hack。",[32,79,81],{"id":80},"最终答案opencode-openchamber","最终答案：OpenCode + OpenChamber",[17,83,84,85,27],{},"排到最后，真正能选的就是 ",[50,86,87],{},"OpenCode",[17,89,90,91,27],{},"但 OpenCode 只是一个 Agent 内核。要给它配一个成熟的、稳定的、好用的 GUI，我终于发现了真正的版本答案：",[50,92,93],{},"OpenChamber",[95,96,97,101,104],"ul",{},[98,99,100],"li",{},"内核：OpenCode，开源、无供应商锁定、支持各家模型",[98,102,103],{},"界面：OpenChamber，成熟的 GUI 工作台",[98,105,106],{},"组合：内核稳定 + 界面顺手，还能按需二次开发",[17,108,109,110],{},"开源地址：",[21,111,112],{"href":112,"rel":113},"https:\u002F\u002Fgithub.com\u002Fopenchamber\u002Fopenchamber",[25],[32,115,116],{"id":116},"一些体会",[17,118,119],{},"选工具这件事，本质上是在选\"谁的话语权在你手里\"。",[17,121,122],{},"闭源工具再香，更新方向、模型支持、价格策略都是别人定的，你只能被动接受。开源 + 非锁定的组合，你永远有退路，也永远有改造的自由。",[17,124,125],{},"至于 TUI 和 GUI 之争，别硬扛。工具是拿来干活的，不是拿来证明自己会命令行。界面舒服、能长期用下去，比什么都重要。",[17,127,128,129],{},"相关阅读：",[21,130,132],{"href":131},"\u002Fblog\u002Fdeepseek-v4-flash-review","DeepSeek V4 Flash 正式版深度体验",{"title":134,"searchDepth":135,"depth":135,"links":136},"",2,[137,143,144],{"id":34,"depth":135,"text":34,"children":138},[139,141,142],{"id":38,"depth":140,"text":39},3,{"id":60,"depth":140,"text":61},{"id":73,"depth":140,"text":74},{"id":80,"depth":135,"text":81},{"id":116,"depth":135,"text":116},"2026-08-06","折腾 Agent Harness 的选型复盘：GUI 体验、供应商锁定、二次开发自由度三个标准，排除了 Pi Agent、OMP、Codex、ZCode，最后选了 OpenCode 内核 + OpenChamber 界面。","md",null,{},6,true,"\u002Fblog\u002Fagent-harness-selection",{"title":5,"description":146},"x","blog\u002Fagent-harness-selection","ICZr4yLA_nuPi886VYcedJKyPr-rt77qQhy3o1bEkZA",[148,158],{"title":159,"path":160,"stem":161,"description":162,"children":-1},"2026 独立开发最佳实践：Cloudflare 穷鬼全家桶","\u002Fblog\u002Fcloudflare-broke-stack","blog\u002Fcloudflare-broke-stack","独立开发者的零成本技术栈：Codex 写代码、GitHub 管版本、Stripe 收钱，前端 TanStack Start、后端 Hono + Workers、数据库 D1、存储 R2、缓存 KV，全部跑在 Cloudflare 上。",1786137254711]