[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-opencode-terminal-ai-coding-loop-zh":3,"article-related-opencode-terminal-ai-coding-loop-zh":30,"series-tools-6c40b201-8e6d-4b48-a988-791936798713":73},{"id":4,"slug":5,"title":6,"content":7,"summary":8,"source":9,"source_url":10,"author":11,"image_url":12,"cover_image":12,"category":13,"language":14,"translated_content":11,"related_article_id":15,"keywords":16,"key_takeaways":22,"views":26,"created_at":27,"published_at":28,"topic_cluster_id":29},"6c40b201-8e6d-4b48-a988-791936798713","opencode-terminal-ai-coding-loop-zh","OpenCode 讓終端編碼變成迴圈","\u003Cp data-speakable=\"summary\">OpenCode 把終端 \u003Ca href=\"\u002Ftag\u002Fai-coding\">AI coding\u003C\u002Fa> 變成可規劃、可實作、可回滾、可分享的工作流。\u003C\u002Fp>\u003Cp>我用一堆 AI coding 工具一陣子了，越用越確定一件事：很多時候不是模型不行，是外面那層 wrapper 很煩。你一開口，它就急著吐一大坨答案；你還沒想清楚要不要改，它已經開始動檔案。這種工具看起來很忙，實際上常常在製造收尾工作。我最怕的就是這種「先做再說」的助手，因為最後收爛攤子的還是我。\u003C\u002Fp>\u003Cp>所以我看到 \u003Ca href=\"https:\u002F\u002Fopencode.ai\u002Fdocs\u002F\">OpenCode 文件\u003C\u002Fa>時，第一眼不是被什麼 \u003Ca href=\"\u002Ftag\u002Fai-agent\">AI agent\u003C\u002Fa> 口號吸引，而是它把流程講得很像真的在做事：終端優先、Plan mode、Build mode、Undo、Share。這些詞很土，但土得對。因為真正麻煩的不是模型會不會寫，是它能不能被我控制在一個夠短的迴圈裡，讓我在它把 repo 弄髒之前先踩煞車。\u003C\u002Fp>\u003Ch2>我先看終端，不看花俏外殼\u003C\u002Fh2>\u003Cblockquote>“OpenCode is an open source AI coding agent. It’s available as a terminal-based interface, desktop app, or IDE extension.”\u003C\u002Fblockquote>\u003Cp>這句話翻譯一下就是：它不是先把你關進一個漂亮介面，再叫你適應它；它是先回到終端，桌面版和 IDE 擴充只是其他入口。這點我很買單。對很多開發者來說，終端本來就是控制中心，尤其是我在 repo、腳本、git history 之間來回切的時候，根本不想再跳去另一個視窗裝模作樣地「和 AI 協作」。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781693320715-b9x5.png\" alt=\"OpenCode 讓終端編碼變成迴圈\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>我之前試過幾個 browser-based 的 coding assistant，前幾分鐘都很順，真的要做事就開始卡：不知道現在在哪個目錄、不知道 repo 狀態、不知道我剛剛 shell 裡做了什麼。結果它輸出的建議跟現場脫節，像是隔壁桌的人硬要指導我修電腦。OpenCode 把主戰場放在 terminal，這才像是把工具塞回開發者本來就在的位置。\u003C\u002Fp>\u003Cp>實操上，我會先問自己\u003Ca href=\"\u002Fnews\u002Farxiv-ai-papers-agents-memory-data-zh\">三件事\u003C\u002Fa>：它能不能在 terminal 跑？它能不能貼著 git？它能不能在 repo root 直接工作，而不是要我先開一個奇怪的工作區？如果這三個答案不漂亮，我通常就不會把它放進日常流程。因為一旦入口不對，後面每一步都會被摩擦感拖慢。\u003C\u002Fp>\u003Cul>\u003Cli>終端優先，通常比較容易接到既有 shell 流程。\u003C\u002Fli>\u003Cli>Repo-local context 比漂亮 UI 更重要。\u003C\u002Fli>\u003Cli>少一次 app switch，就少一次放棄使用的藉口。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>安裝流程故意做得無聊，反而比較像正經工具\u003C\u002Fh2>\u003Cp>OpenCode 文件把安裝寫得很直接：有安裝腳本，也有 npm、Bun、pnpm、Yarn、Homebrew、Arch、Chocolatey、Scoop、Mise、\u003Ca href=\"\u002Ftag\u002Fdocker\">Docker\u003C\u002Fa> 這些路線。Windows 也沒有假裝一切都美好，反而明講最好走 \u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fwindows\u002Fwsl\u002F\">Windows Subsystem for Linux\u003C\u002Fa>。這種寫法不漂亮，但很實際。\u003C\u002Fp>\u003Cp>它給的安裝腳本是 \u003Ccode>curl -fsSL https:\u002F\u002Fopencode.ai\u002Finstall | bash\u003C\u002Fcode>，這種東西你一看就知道是給想快點上手的人；但它也沒有把其他安裝方式藏起來，反而把各種 package manager 版本都列出來。這代表它預設使用者不是只活在某一種環境，而是真的有人在 macOS、Linux、Windows、Docker 裡切來切去。這種現實感，我覺得比一堆「一鍵啟動」有誠意多了。\u003C\u002Fp>\u003Cp>我以前踩過一個坑：工具在我主力機上跑得好好的，換到團隊另一台機器就開始出現奇怪問題，最後發現是安裝說明太含糊。只要 setup 變成猜謎，團隊 rollout 就會直接變 Slack 災難。OpenCode 至少把路鋪清楚了，沒有故意裝神秘。\u003C\u002Fp>\u003Cp>實操寫法很簡單：如果你要把類似工具帶進團隊，先寫一條「唯一推薦」安裝路徑，再補上其他可行路徑，不要反過來。平台差異也要先講，像 Windows 這種就直接說明推薦 WSL。你越早把環境差異攤開，後面越少支援地獄。\u003C\u002Fp>\u003Cul>\u003Cli>先提供一條最快的安裝路徑。\u003C\u002Fli>\u003Cli>再列出 package manager 選項給進階使用者。\u003C\u002Fli>\u003Cli>平台限制要先講，不要等人踩雷才補文件。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>模型選擇別裝成魔法，直接當設定就好\u003C\u002Fh2>\u003Cp>OpenCode 沒有假裝自己內建一顆萬能大腦。它要你接 LLM provider 的 API key，或者用它們提到的 \u003Ca href=\"https:\u002F\u002Fopencode.ai\u002Fdocs\u002F\">OpenCode Zen\u003C\u002Fa>，也就是一組經過驗證的模型清單。這種姿態我很喜歡，因為它沒有\u003Ca href=\"\u002Fnews\u002Fanthropic-fable-shutdown-own-your-models-zh\">把模型\u003C\u002Fa>層包成神祕黑盒子。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781693301655-tuhm.png\" alt=\"OpenCode 讓終端編碼變成迴圈\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>在 \u003Ca href=\"https:\u002F\u002Fopencode.ai\u002Fauth\">認證流程\u003C\u002Fa>裡，你可以在 TUI 裡跑 \u003Ccode>\u002Fconnect\u003C\u002Fcode>，選 opencode，登入、加 billing、把 API key 貼回去；也可以選其他 provider。意思很白話：你自己決定模型來源，自己承擔費用與限制。沒有什麼「AI 自動幫你選好」的假象。\u003C\u002Fp>\u003Cp>翻譯一下就是，OpenCode 把模型當成配置，不是信仰。這很重要。因為我看過太多團隊把時間浪費在「哪個 model 最強」這種空話上，最後真正該問的其實是：哪個 provider 符合預算、延遲、政策和可用性。工具如果能讓你乾淨切換 backend，你就不用為了換模型重寫整個工作流。\u003C\u002Fp>\u003Cp>我自己會把這件事看成責任切分：模型慢、貴、亂，就換 provider，不要把所有問題都怪到工具本身。這樣團隊也比較容易標準化。正式環境用一個 provider，個人測試用另一個，流程不會散掉。\u003C\u002Fp>\u003Cp>實操寫法：把 model 設定寫成像一般 dependency 一樣。文件裡要有預設 provider、備援 provider、billing 影響。你如果是在做工具，也別把這層藏在「AI 魔法」後面，開發者要的是控制感，不是神秘感。\u003C\u002Fp>\u003Ch2>先初始化 repo，才像真的知道你在做哪個專案\u003C\u002Fh2>\u003Cp>OpenCode 的流程不是叫你直接丟 prompt 就開始亂寫。它先要你進到專案目錄、跑 \u003Ccode>opencode\u003C\u002Fcode>，再用 \u003Ccode>\u002Finit\u003C\u002Fcode>。這個指令會分析專案，然後在 repo root 建一個 \u003Ccode>AGENTS.md\u003C\u002Fcode>。文件還建議把這個檔案 commit 進 Git，讓工具能記住專案結構和 coding patterns。\u003C\u002Fp>\u003Cp>這一步很對。因為真正的 codebase 不是白紙，它有慣例、有歷史包袱、有不成文規則。你如果每次都把 AI 當成剛認識 repo 的外包，它就會很自信地亂發明 helper、亂造抽象層，結果整個專案看起來像被不同人接力寫過。\u003Ccode>AGENTS.md\u003C\u002Fcode> 這種東西就是把規則從腦內記憶變成檔案，讓人和機器都看得到。\u003C\u002Fp>\u003Cp>我之前在一個 backend 專案遇過類似狀況：assistant 一直生出和現有架構不合的 helper pattern，問題不是它不會寫，而是它根本沒有持久的專案\u003Ca href=\"\u002Fnews\u002Fgemma-4-256k-context-open-models-zh\">上下文\u003C\u002Fa>。你只靠聊天紀錄，過兩輪就忘光。把專案規則落地成檔案，至少可以讓它在每次開始工作時先讀一次，不用每回都重新猜。\u003C\u002Fp>\u003Cp>實操寫法：如果你的工具有 bootstrap 步驟，就讓它產生一個可版本控制的 artifact。不要只依賴 ephemeral chat memory。把慣例寫進檔案，讓團隊能 review、diff、commit。這樣 assistant 的假設才不是黑箱。\u003C\u002Fp>\u003Cp>我也喜歡文件明講要 commit \u003Ccode>AGENTS.md\u003C\u002Fcode>。這表示 assistant 不是站在版本控制外面指手畫腳，它本來就該被納入 repo 的治理裡。這點很務實。\u003C\u002Fp>\u003Ch2>Plan mode 不是裝樣子，是先把風險攔住\u003C\u002Fh2>\u003Cblockquote>“OpenCode has a Plan mode that disables its ability to make changes and instead suggest how it’ll implement the feature.”\u003C\u002Fblockquote>\u003Cp>這句是整份文件裡我最想抄走的地方。Plan mode 的意思很簡單：先讓它講打算怎麼做，先不要碰檔案。對我來說，這不是多一個功能而已，這是把「設計」和「執行」分開。很多工具最煩的地方，就是它一邊想一邊改，像沒寫好草稿就直接上墨水。\u003C\u002Fp>\u003Cp>文件還建議你把 OpenCode 當成 team 裡的 junior developer 來對話。這個比喻很準。你不會叫 junior dev 先亂改，再回頭看他是不是改對；你會先看他的理解、路線、邊界，再決定要不要讓他動手。AI coding 也是一樣。先看 plan，才知道它到底有沒有理解問題。\u003C\u002Fp>\u003Cp>白話講，Plan mode 的價值就是讓我在 repo 被污染前先檢查方向。尤其是多檔案變更、資料流調整、或會影響使用者行為的改動，沒有 plan 真的很容易一不小心變成大重構。這種事我吃過虧，工具很會寫，但方向一歪，後面每一步都在補洞。\u003C\u002Fp>\u003Cp>實操寫法：只要是跨檔案、動資料模型、碰 UI flow 的任務，我都強制先走 plan。給它目標、限制、例子，然後把 plan 當成 PR description 來審。plan 不順眼就先修 plan，不要急著進 build。這個習慣很救命。\u003C\u002Fp>\u003Cul>\u003Cli>多檔案變更先用 plan mode。\u003C\u002Fli>\u003Cli>先要步驟，再要程式碼。\u003C\u002Fli>\u003Cli>把 plan 當成 pull request 來看。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>Build mode 要晚一點開，別讓衝動先動手\u003C\u002Fh2>\u003Cp>Plan 看完沒問題，再切回 Build mode，用 Tab 讓 OpenCode 開始改。文件也很老實：如果任務夠簡單，你可以直接跳過 plan，直上 build。這個設計我覺得平衡感剛好，不是每件事都要儀式感，但也不是每件事都適合盲改。\u003C\u002Fp>\u003Cp>文件裡舉的例子其實很像真實需求：把 notes workflow 改成刪除時在資料庫標記 deleted，然後做一個最近刪除清單頁，還要能 restore 跟 permanent delete。這不是玩具 prompt，這是會真的碰到資料流、路由和 UI 的任務。它給的資訊夠多，能讓 \u003Ca href=\"\u002Ftag\u002Fagent\">agent\u003C\u002Fa> 開工，但又不會細到把每一行都框死。\u003C\u002Fp>\u003Cp>翻譯一下就是，OpenCode 預設你要像帶人一樣帶它。這個心態很重要。太模糊，它會自己補洞；太死板，它又只會照字面做。比較好的方式是先定義意圖，再留一點空間讓它處理機械性工作。\u003C\u002Fp>\u003Cp>我自己的經驗是，大部分 AI coding 失敗都來自兩種情況：要嘛 prompt 太薄，要嘛使用者不肯讓工具完成一個完整回合。Plan \u002F Build 的分離，剛好把這兩個問題都壓住。先審，再做；做完再看要不要下一輪。\u003C\u002Fp>\u003Cp>實操寫法：簡單任務可以直接 build，複雜任務一定先 plan。只要牽涉 architecture、data、UX flow，我就不讓它跳步。這一條真的能少掉很多 cleanup。\u003C\u002Fp>\u003Ch2>Undo 和 Share 才是我在乎的安全帶\u003C\u002Fh2>\u003Cp>OpenCode 文件有 \u003Ccode>\u002Fundo\u003C\u002Fcode>、\u003Ccode>\u002Fredo\u003C\u002Fcode>、\u003Ccode>\u002Fshare\u003C\u002Fcode>。乍看很小，但你真的做過幾輪 \u003Ca href=\"\u002Ftag\u002Fagentic-coding\">agentic coding\u003C\u002Fa>，就知道這些不是附加功能，是保命機制。Undo 不是方便而已，是必需品。不能快速回退的工具，我不會把它當合作對象，只會當風險來源。\u003C\u002Fp>\u003Cp>\u003Ccode>\u002Fundo\u003C\u002Fcode> 會回復上一組變更，還會把原始訊息還原，讓你可以重新試。\u003Ccode>\u002Fredo\u003C\u002Fcode> 則是把它拉回來。\u003Ccode>\u002Fshare\u003C\u002Fcode> 會產生 conversation 連結並複製到剪貼簿，而且文件也說 conversation 預設不會被分享。這個預設很對，先私有，真的要給別人看再分享。\u003C\u002Fp>\u003Cp>白話講，這代表 OpenCode 不只在意 code，也在意 code 旁邊那圈流程。Undo 支援試錯，Share 支援 review。兩個加起來，才像是能在團隊裡用的工具，不然很容易變成只有自己玩得懂的聊天機器。\u003C\u002Fp>\u003Cp>我以前用過一些 AI 工具，分享對話麻煩到最後只能貼截圖到 Slack，活像回到十年前。這很荒謬。既然 assistant 真的在幫我做事，我就需要一個乾淨的方式把 thread 給同事看，或之後自己回來查。OpenCode 至少把這件事想到了。\u003C\u002Fp>\u003Cp>實操寫法：每個 agent workflow 都要有 undo。要快、要明顯、要能回頭。只要 team 內有人需要 review，還要有可分享的 artifact，不要逼大家自己拼 prompt chain。\u003C\u002Fp>\u003Ch2>可抄的模板\u003C\u002Fh2>\u003Cpre>\u003Ccode># OpenCode 終端 AI coding 工作流模板（可直接貼進 README 或團隊 wiki）\n\n## 1) 安裝\n# 先選一條主路徑，文件只保留一個預設。\n# 例：\n# curl -fsSL https:\u002F\u002Fopencode.ai\u002Finstall | bash\n# 或改用你團隊慣用的 package manager。\n\n## 2) 配置 provider\n# 在 OpenCode 裡跑 \u002Fconnect\n# 選 provider\n# 貼上 API key\n# 如果團隊有標準 provider，直接寫死在文件裡\n\n## 3) 初始化專案\ncd \u002Fpath\u002Fto\u002Fproject\nopencode\n\u002Finit\n\n# 把生成的 AGENTS.md commit 進 Git。\n# 讓 repo 規則成為版本控制的一部分。\n\n## 4) 先要 plan，不要先改檔\n# 用 Plan mode 處理多檔案、資料流、架構相關任務。\n# 提示詞要包含：\n# - 目標\n# - 影響範圍\n# - 限制條件\n# - 預期行為範例\n\n範例 prompt：\n\"我們要加 soft-delete 支援給 notes。\n刪除時不要真的刪除，改成在資料庫標記 deleted。\n再新增一個最近刪除頁面。\n那個頁面要能 restore 和 permanent delete。\n請先只給我 implementation plan，不要改檔。\"\n\n## 5) 審 plan\n# 檢查：\n# - data model 變更\n# - route 變更\n# - UI 變更\n# - migration 需求\n# - rollback 風險\n\n## 6) 確認後才 build\n# 切回 Build mode。\n# 讓 agent 開始改。\n# 一次只做一個明確任務。\n\n## 7) 出事就 undo\n# 如果結果不對：\n# \u002Fundo\n# 修正 prompt\n# 再跑一次\n\n## 8) 需要 review 就 share\n# thread 有價值時：\n# \u002Fshare\n# 把連結貼到 PR、ticket 或 chat\n\n## 我常用的提示詞模式\n# 普通版：\n# \"Implement X in the same style as Y, using Z constraints.\"\n# 更好版：\n# \"First explain the plan, then wait for approval before editing.\"\n# 最好版：\n# \"Use the repo patterns in AGENTS.md and keep changes minimal.\"\n\n## 團隊規則\n# - AGENTS.md 要進版控\n# - 危險改動先用 plan mode\n# - 優先可回滾的修改\n# - 有價值的 thread 要能分享\n# - 把 agent 當 junior dev，不要當魔法盒子\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>這就是我會真的拿去用的版本。順序很直白：安裝、設定、初始化、先 plan、再 build、必要時 undo、需要 review 就 share。沒有花俏包裝，只有能控制風險的流程。\u003C\u002Fp>\u003Cp>我對 OpenCode 的結論很簡單：它最強的地方，不是它會不會寫，而是它把 AI coding 變成一個我看得懂、踩得住煞車的 loop。這點比任何宣傳詞都實在。\u003C\u002Fp>\u003Cp>原始來源是 \u003Ca href=\"https:\u002F\u002Fopencode.ai\u002Fdocs\u002F\">https:\u002F\u002Fopencode.ai\u002Fdocs\u002F\u003C\u002Fa>，另外我也參考了 \u003Ca href=\"https:\u002F\u002Fopencode.ai\u002Fauth\">https:\u002F\u002Fopencode.ai\u002Fauth\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fwindows\u002Fwsl\u002F\">https:\u002F\u002Flearn.microsoft.com\u002Fwindows\u002Fwsl\u002F\u003C\u002Fa> 和 \u003Ca href=\"https:\u002F\u002Fopencode.ai\u002F\">https:\u002F\u002Fopencode.ai\u002F\u003C\u002Fa>。文件裡的流程、指令與安裝資訊來自原始來源；我拆解成台灣開發者比較好直接上手的版本，模板和判斷是我自己整理的。\u003C\u002Fp>","我拆 OpenCode 的終端工作流：先規劃、再實作、可回滾、可分享，直接抄進你的 AI coding 流程。","opencode.ai","https:\u002F\u002Fopencode.ai\u002Fdocs\u002F",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781693320715-b9x5.png","tools","zh","2aa4df9d-e949-45c1-98b0-af8c8c0f799b",[17,18,19,20,21],"AI coding agent","terminal workflow","Plan mode","Undo","AGENTS.md",[23,24,25],"OpenCode 的核心不是模型，而是把 AI coding 收斂成 plan-build-undo 的短迴圈。","把專案規則寫進 AGENTS.md 並 commit，能讓 agent 真的理解 repo，而不是每次重猜。","先 plan 再 build，搭配 \u002Fundo 和 \u002Fshare，才比較像能在團隊裡用的 AI coding 流程。",0,"2026-06-17T10:47:58.3922+00:00","2026-06-17T10:47:58.378+00:00","ddbe17bf-4560-43f7-af76-3e7d6e08e601",{"tags":31,"relatedLang":32,"relatedPosts":36},[],{"id":15,"slug":33,"title":34,"language":35},"opencode-terminal-ai-coding-loop-en","OpenCode turns terminal chat into a coding loop","en",[37,43,49,55,61,67],{"id":38,"slug":39,"title":40,"cover_image":41,"image_url":41,"created_at":42,"category":13},"2830e8de-b146-4dd7-b1f6-1b61c223e9ea","open-source-ai-software-infrastructure-wins-zh","開源 AI 軟體贏在基礎設施，不贏在話題","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781691476387-1uwa.png","2026-06-17T10:17:26.854039+00:00",{"id":44,"slug":45,"title":46,"cover_image":47,"image_url":47,"created_at":48,"category":13},"137212d6-7843-4f65-b19f-f0db62e1929b","wazero-turns-go-wasm-into-plain-go-zh","Wazero 讓 Go Wasm 變回純 Go","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781681649267-d64h.png","2026-06-17T07:33:30.509996+00:00",{"id":50,"slug":51,"title":52,"cover_image":53,"image_url":53,"created_at":54,"category":13},"c849204c-8427-4af7-9662-60aa9e1f5524","ffmpeg-webcli-browser-video-editor-zh","ffmpeg-webCLI 把剪片搬進瀏覽器","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781680695836-cdup.png","2026-06-17T07:17:40.422494+00:00",{"id":56,"slug":57,"title":58,"cover_image":59,"image_url":59,"created_at":60,"category":13},"b599d760-7066-4299-b304-3ae189fcd6e4","newcore-turns-ai-agents-into-managed-identities-zh","NewCore 把 AI agent 變成可管身份","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781676209869-hmt9.png","2026-06-17T06:02:59.513643+00:00",{"id":62,"slug":63,"title":64,"cover_image":65,"image_url":65,"created_at":66,"category":13},"b8952293-f38b-41ae-90ee-a1d244ae4738","kimi-k27-review-copyable-coding-playbook-zh","Kimi K2.7 把評測變可抄流程","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781673555614-b695.png","2026-06-17T05:18:37.659209+00:00",{"id":68,"slug":69,"title":70,"cover_image":71,"image_url":71,"created_at":72,"category":13},"ff413f46-82bf-4bcb-a256-2a4c24f76a2b","wikipedia-foss-packages-tool-map-zh","Wikipedia FOSS 清單變工具地圖","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781663598319-0ubt.png","2026-06-17T02:32:56.642555+00:00",[74,79,84,89,94,99,104,109,114,119],{"id":75,"slug":76,"title":77,"created_at":78},"855cd52f-6fab-46cc-a7c1-42195e8a0de4","surepath-real-time-mcp-policy-controls-zh","SurePath 推出即時 MCP 政策控管","2026-03-26T07:57:40.77233+00:00",{"id":80,"slug":81,"title":82,"created_at":83},"9b19ab54-edef-4dbd-9ce4-a51e4bae4ebb","mcp-in-2026-the-ai-tool-layer-teams-use-zh","2026 年 MCP：團隊真的在用的 AI 工具層","2026-03-26T08:01:46.589694+00:00",{"id":85,"slug":86,"title":87,"created_at":88},"af9c46c3-7a28-410b-9f04-32b3de30a68c","prompting-in-2026-what-actually-works-zh","2026 提示工程，真正有用的是什麼","2026-03-26T08:08:12.453028+00:00",{"id":90,"slug":91,"title":92,"created_at":93},"05553086-6ed0-4758-81fd-6cab24b575e0","garry-tan-open-sources-claude-code-toolkit-zh","Garry Tan 開源 Claude Code 工具包","2026-03-26T08:26:20.068737+00:00",{"id":95,"slug":96,"title":97,"created_at":98},"042a73a2-18a2-433d-9e8f-9802b9559aac","github-ai-projects-to-watch-in-2026-zh","2026 必看 20 個 GitHub AI 專案","2026-03-26T08:28:09.619964+00:00",{"id":100,"slug":101,"title":102,"created_at":103},"a5f94120-ac0d-4483-9a8b-63590071ac6a","claude-code-vs-cursor-2026-zh","Claude Code 與 Cursor 深度對比：202…","2026-03-26T13:27:14.279193+00:00",{"id":105,"slug":106,"title":107,"created_at":108},"0975afa1-e0c7-4130-a20d-d890eaed995e","practical-github-guide-learning-ml-2026-zh","2026 機器學習入門 GitHub 實用指南","2026-03-27T01:16:49.712576+00:00",{"id":110,"slug":111,"title":112,"created_at":113},"bfdb467a-290f-4a80-b3a9-6f081afb6dff","aiml-2026-student-ai-ml-lab-repo-review-zh","AIML-2026：像課綱的學生實驗 Repo","2026-03-27T01:21:51.467798+00:00",{"id":115,"slug":116,"title":117,"created_at":118},"80cabc3e-09fc-4ff5-8f07-b8d68f5ae545","ai-trending-github-repos-and-research-feeds-zh","AI Trending：把 AI 資源收成一張表","2026-03-27T01:31:35.262183+00:00",{"id":120,"slug":121,"title":122,"created_at":123},"3ce6e6e2-bac5-463e-9f8d-45caabcc61f7","awesome-ai-for-science-research-tools-map-zh","AI 科研工具清單，開始像地圖了","2026-03-27T01:46:50.521945+00:00"]