[{"data":1,"prerenderedAt":267},["ShallowReactive",2],{"\u002Fblog\u002Fagent-harness-selection\u002F:zh-Hant":3,"\u002Fblog\u002Fagent-harness-selection\u002F-surround:zh-Hant":162,"blog-all-posts:zh-Hant":163},{"id":4,"title":5,"author":6,"body":10,"date":145,"description":146,"extension":147,"image":148,"locale":149,"meta":150,"minRead":151,"navigation":152,"original":153,"path":154,"pinned":153,"seo":155,"source":156,"sourceUrl":23,"stem":157,"tags":158,"updated":148,"__hash__":161},"blog\u002Fblog\u002Fagent-harness-selection.zh-Hant.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,"zh-Hant",{},6,true,false,"\u002Fblog\u002Fagent-harness-selection",{"title":5,"description":146},"x","blog\u002Fagent-harness-selection.zh-Hant",[159,160],"AI Agent","工具選型","2s6AxY3edCf_4d9rgeuVCj-wzpNPRKwvsnRqFG-cJmA",[148,148],[164,166,175,184,190,198,206,213,221,227,234,243,250,258],{"path":154,"title":5,"description":146,"date":145,"minRead":151,"tags":165},[159,160],{"path":167,"title":168,"description":169,"date":170,"minRead":151,"tags":171},"\u002Fblog\u002Fcloudflare-broke-stack","2026 獨立開發最佳實踐：Cloudflare 窮鬼全家餐","獨立開發者的零成本技術棧：Codex 寫程式、GitHub 管版本、Stripe 收款，前端 TanStack Start、後端 Hono + Workers、資料庫 D1、儲存 R2、快取 KV，全部跑在 Cloudflare 上。","2026-06-15",[172,173,174],"Cloudflare","獨立開發","技術棧",{"path":176,"title":177,"description":178,"date":179,"minRead":151,"tags":180},"\u002Fblog\u002Fdeepseek-api-web-search","DeepSeek API 內建聯網搜尋，Responses API 白拿官方搜尋能力","DeepSeek 官方在 API 裡內建了聯網搜尋：用 Responses 介面呼叫 deepseek-v4-flash，宣告 web_search 工具即可，不用自己接第三方搜尋引擎，也不用申請搜尋金鑰。","2026-08-05",[181,182,183],"DeepSeek","API","AI 工具",{"path":131,"title":185,"description":186,"date":179,"minRead":187,"tags":188},"DeepSeek V4 Flash 正式版深度體驗：便宜、快、1M 上下文、內建搜尋","深度體驗了幾天 DeepSeek V4 Flash 正式版：極致的便宜、快如閃電、1M 上下文、官方內建聯網搜尋、完全開源。唯一的短板是多模態，但可以組合其他模型補上。",7,[181,189,183],"模型評測",{"path":191,"title":192,"description":193,"date":170,"minRead":194,"tags":195},"\u002Fblog\u002Ffree-cloudflare","免費使用者如何榨乾 Cloudflare，免費版到底能白嫖到什麼程度？","Cloudflare 免費版能撐起一整套個人網路基礎設施：DNS、CDN、Pages、Workers、KV、D1、R2、信箱、Tunnel、AI 閘道等。",8,[172,196,197],"免費額度","部署",{"path":199,"title":200,"description":201,"date":202,"minRead":194,"tags":203},"\u002Fblog\u002Fmodel-harness-decoupling","原廠 Harness 未必是版本答案：開放模型時代，模型和 Harness 要分開選","用 Claude 就上 Claude Code？開放模型時代這個直覺該升級了。原廠的優勢是真的，但訓練好模型和做好 Harness 是兩門工程——這篇文章講清楚為什麼模型與 Harness 已經可以分開選，以及五家 Harness 的定位地圖。","2026-09-09",[159,204,205],"Harness","選型",{"path":207,"title":208,"description":209,"date":202,"minRead":194,"tags":210},"\u002Fblog\u002Fopencode-productive-stack","穩定、快速、高產、便宜：我的 AI Coding 全家桶實錄","OpenCode + OpenChamber + 兩份 DeepSeek V4 Flash 訂閱，15 個項目同時跑代碼，額度只掉一點點。這篇文章攤開我的完整配置：上下文剪枝、分層記憶、桌面自動化，以及「原湯化原食」的選型教訓。",[87,211,212],"AI 程式設計","配置",{"path":214,"title":215,"description":216,"date":217,"minRead":218,"tags":219},"\u002Fblog\u002Fproduct-faxin-principle","發心原理：獨立開發者為什麼要學會捨棄","你為什麼出發？你為誰出發？你到底想解決哪一個問題？產品的鋒利感來自捨得和放棄。","2026-06-20",10,[220,173],"產品思維",{"path":222,"title":223,"description":224,"date":217,"minRead":194,"tags":225},"\u002Fblog\u002Fproduct-pain-vs-itch","使用者說「很屌」別上頭：痛點與癢點","口頭喜歡一文不值。判斷需求只有一個硬標準：看使用者願意付出什麼。",[220,226],"需求判斷",{"path":228,"title":229,"description":230,"date":145,"minRead":231,"tags":232},"\u002Fblog\u002Fqwen-vision-for-deepseek","給 DeepSeek 補上多模態：Qwen-3.7-Flash 識圖方案","DeepSeek V4 Flash 沒有多模態，識圖怎麼辦？研究後目前 CP 值最高的方案是 Qwen-3.7-Flash：辨識一張圖片成本極低，和 V4 Flash 組合使用補齊短板。",5,[181,233,189],"多模態",{"path":235,"title":236,"description":237,"date":238,"minRead":239,"tags":240},"\u002Fblog\u002Fsub-store-cloudflare","我把機場訂閱聚合搬到了 Cloudflare 上","多個機場加自建節點合成一條訂閱，分流規則在伺服器端配好，用戶端只管訂閱。","2026-06-28",4,[172,241,242],"翻牆","開源專案",{"path":244,"title":245,"description":246,"date":202,"minRead":187,"tags":247},"\u002Fblog\u002Ftui-cognitive-bandwidth","TUI 正在殺死你的認知頻寬：AI Coding 的「極客濾鏡」該碎了","一堆 AI Coding Agent 搶著上 TUI，把互動塞回 80 年代的終端範式，還美其名曰「沉浸式」「尊重程式設計師」。這篇文章拆解 TUI 系統性降低認知頻寬的三個機制，以及 Web UI 為什麼才是正解。",[211,248,249],"互動設計","隨筆",{"path":251,"title":252,"description":253,"date":254,"minRead":151,"tags":255},"\u002Fblog\u002Fvalue-not-external","討論有沒有價值，這件事本身就沒有價值","我們的價值不由任何人定義。人在 AI 時代，到底應該如何理解自己。","2026-06-18",[256,257],"AI 思考","人文隨筆",{"path":259,"title":260,"description":261,"date":262,"minRead":263,"tags":264},"\u002Fblog\u002Fx-growth-1000-followers","一天多漲粉 1000+，我做了什麼","6 月認真經營 X，一天多漲粉 1000+。這篇記錄我當時做過的事和得到的回饋。","2026-06-16",12,[265,266],"X 經營","內容增長",1789752317673]