[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-opencode-digitalocean-model-freedom-zh":3,"article-related-opencode-digitalocean-model-freedom-zh":30,"series-tools-4dd225a8-bf6c-4768-a486-a27956c7033d":81},{"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},"4dd225a8-bf6c-4768-a486-a27956c7033d","opencode-digitalocean-model-freedom-zh","OpenCode+DigitalOcean 讓你切換模型","\u003Cp data-speakable=\"summary\">OpenCode + DigitalOcean 讓你在終端裡自由切換編碼模型。\u003C\u002Fp>\u003Cp>我一直挺喜歡 \u003Ca href=\"\u002Ftag\u002Fclaude-code\">Claude Code\u003C\u002Fa> 這種東西。終端裡敲一句話，它就能自己讀文件、改代碼、跑測試、再回來告訴你結果。第一次用的時候，我甚至有點上頭，像是終於有人把「\u003Ca href=\"\u002Fnews\u002Fmodulate-aws-voice-chats-into-signals-zh\">聊天\u003C\u002Fa>式建議」那套煩人的複製貼上流程砍掉了。\u003C\u002Fp>\u003Cp>但我用久了，問題就很明顯了。它好用，真的好用，可它也太綁人了：模型綁在 \u003Ca href=\"\u002Ftag\u002Fanthropic\">Anthropic\u003C\u002Fa> 上，價格綁在訂閱上，代碼還得經過對方的基礎設施。對我這種經常在不同項目裡切換、偶爾還要看合規要求的人來說，這種感覺不太對勁。不是不能用，是用著總覺得自己把太多主動權交出去了。\u003C\u002Fp>\u003Cp>所以我看到這篇知乎教程時，第一反應不是「哇，替代品來了」，而是「終於有人把這事講明白了」。原文來自知乎專欄 \u003Ca href=\"https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F2045176143590978863\" target=\"_blank\" rel=\"noopener noreferrer\">Claude Code 的開源替代方案：用 OpenCode + DigitalOcean 實現模型自由\u003C\u002Fa>，作者是 DigitalOcean 云服務。它不是在吹一個新玩具，而是在講一套能落地的替換方案：OpenCode 負責終端裡的智能體體驗，DigitalOcean 負責把模型和基礎設施這件事從 Claude 那邊拎回來。\u003C\u002Fp>\u003Cp>我最在意的點也很簡單：我能不能繼續保留 \u003Ca href=\"\u002Ftag\u002Fclaude\">Claude\u003C\u002Fa> Code 那種工作流，但把模型換成我自己的選擇？能不能在項目中途直接切到別的模型，而不是被一個訂閱和一個供應商鎖死？這篇文章的答案是能，而且它給出的路徑還挺直接。下面我把它拆開，不講虛的，只講我會怎麼用。\u003C\u002Fp>\u003Ch2>你真正想要的，不是「另一個工具」，是控制權\u003C\u002Fh2>\u003Cblockquote>OpenCode 複刻了 Claude Code 的體驗，包括終端用戶界面、文件編輯、Shell 命令、LSP 感知和多會話支持，但消除了供應商鎖定。\u003C\u002Fblockquote>\u003Cp>這句其實已經把核心說透了。OpenCode 不是想重新發明一套編碼智能體，它是在盡量保留 Claude Code 的手感，同時把「誰提供模型、誰託管推理、誰看見你的請求」這些問題拆開。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780525116428-1q7g.png\" alt=\"OpenCode+DigitalOcean 讓你切換模型\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>我把它翻譯成人話就是：你要的不是「又一個 AI IDE」，你要的是一個能讀項目、能改文件、能跑命令的終端代理，而且這個代理別總替你做平台選擇。你該選模型的時候選模型，該換供應商的時候換供應商，不用重建工作流。\u003C\u002Fp>\u003Cp>這點我特別認同。因為開發者真正在意的，從來不是「模型名字聽起來多高級」，而是它在我的代碼庫裡到底幹不幹活。一個模型在重構上強，另一個在測試生成上穩，第三個在長上下文裡不容易跑偏。你如果被綁死在單一模型上，就只能忍著。\u003C\u002Fp>\u003Cp>我自己也遇到過這種情況。某個項目裡我需要它老老實實按現有架構補測試，另一個項目裡我又需要它更激進地幫我拆模塊。一個模型不可能永遠最合適，但如果工具允許我切換，我就能把「模型差異」變成日常操作，而不是遷就。\u003C\u002Fp>\u003Cp>OpenCode 的價值就在這裡。它不是把 AI 編碼體驗做得更花俏，而是把選擇權還給你。這個方向我看得很順眼。\u003C\u002Fp>\u003Cp>怎麼用到自己身上？先別急著比較誰更聰明。先問三個問題：我是否需要在同一個項目裡試不同模型？我是否介意代碼經過某家公司的推理基礎設施？我是否想把工具和模型解耦？如果答案裡有兩個「是」，那你就已經有理由試 OpenCode 了。\u003C\u002Fp>\u003Cul>\u003Cli>你不必因為喜歡某個工具，就接受它綁定的模型。\u003C\u002Fli>\u003Cli>你也不必因為模型強，就接受它附帶的託管路徑。\u003C\u002Fli>\u003Cli>把工具層和模型層拆開，後面才有討論空間。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>「模型自由」不是口號，是你能立刻切換的命令\u003C\u002Fh2>\u003Cblockquote>模型由你選擇。Kimi K2.6、DeepSeek V4 Pro、Llama 4、Qwen 3 Coder，甚至是 Claude、OpenAI，哪個對你的工作負載表現最好就用哪個。你甚至可以在項目中途用一條 \u002Fmodels 命令切換模型。\u003C\u002Fblockquote>\u003Cp>這段是整篇文章最值錢的地方。因為它不是在說「未來可能支持更多模型」，而是在說你現在就能切。這個差別很大。前者是願景，後者是工作流。\u003C\u002Fp>\u003Cp>我一直覺得，模型選擇這件事被很多人講得太玄了。其實開發場景很樸素：有些模型寫腳手架快，有些模型補文檔強，有些模型在複雜倉庫裡更不容易亂改。你不需要一開始就押寶，你需要的是快速試錯。\u003C\u002Fp>\u003Cp>OpenCode + DigitalOcean 這裡給你的，就是試錯能力。文章裡提到的模型目錄很長，像 MiniMax M2.5、Claude Sonnet 4.5、GPT-5、DeepSeek、Llama 3.3、Kimi K2.5、Qwen3 這些都在可用範圍裡。\u003Ca href=\"\u002Fnews\u002F7-build-2026-announcements-for-microsoft-watchers-zh\">重點\u003C\u002Fa>不是名單多，而是你不需要為每個模型單獨搭一套接入方式。\u003C\u002Fp>\u003Cp>我會怎麼理解這個能力？就是把模型當成依賴項，而不是宗教信仰。今天這個倉庫適合更穩的模型，明天那個倉庫適合更會發散的模型。你甚至可以在同一個任務裡先讓一個模型做 plan，再換另一個模型做 build。原文提到按 Tab 就能在 plan 和 build 智能體之間切換，這種設計就很實用。\u003C\u002Fp>\u003Cp>我以前在別的工具裡試過「模型切換」，結果不是配置散落一地，就是切換成本高到我懶得試。最後模型選擇變成了「默認用那個最順手的」，而不是「針對任務選最合適的」。這就是工具設計失敗的地方。\u003C\u002Fp>\u003Cp>如果你要把這套方案用起來，我建議別一上來就糾結排行榜。先拿你真實項目裡的三個任務做對比：補一個 API 端點、重構一個舊模塊、寫一組測試。每個任務都試兩個模型，記錄它們的修改質量、是否亂動無關文件、是否能按你的約束執行。這樣你會很快知道「模型自由」到底值不值。\u003C\u002Fp>\u003Cul>\u003Cli>先用真實任務測試，不要拿玩具示例自嗨。\u003C\u002Fli>\u003Cli>比較輸出質量時，重點看無關修改和返工次數。\u003C\u002Fli>\u003Cli>把模型切換做成日常動作，而不是一次性決策。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>開源這件事，真正的好處是你能審計它\u003C\u002Fh2>\u003Cblockquote>OpenCode 採用 MIT 許可。你可以閱讀代碼、複刻它，並確切知道它對文件和提示做了什麼操作。\u003C\u002Fblockquote>\u003Cp>我對「開源」這兩個字一直挺挑剔。很多項目嘴上說開源，實際只是把一部分代碼扔出來，真正關鍵的流程還是黑箱。OpenCode 至少在這個點上態度清楚：你能看它怎麼工作，也能自己複刻它。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780525121427-ssjm.png\" alt=\"OpenCode+DigitalOcean 讓你切換模型\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>這不是情懷問題，是工程問題。一個會讀文件、會改文件、會執行命令的 AI 工具，天然就比聊天機器人更敏感。它碰到的是你的源碼、你的測試、你的 shell 歷史，甚至是你還沒提交的臨時代碼。這種工具如果不能審計，我會本能地不放心。\u003C\u002Fp>\u003Cp>MIT 許可也很現實。它意味著你可以把它放進自己的流程裡，不用擔心一堆奇怪的限制。對於團隊來說，這種寬鬆許可通常更容易過內部審查。哪怕你最後不改源碼，至少你知道它沒有在背後搞\u003Ca href=\"\u002Fnews\u002Fwhy-microsoft-new-ai-models-break-openai-dependence-zh\">什麼\u003C\u002Fa>花活。\u003C\u002Fp>\u003Cp>我跑過不少「AI 編碼助手」，最煩的就是它們一邊說自己幫你提效，一邊又把關鍵行為藏起來。比如它到底是不是把整個文件發出去了，它到底是按什麼粒度做上下文收集，它到底有沒有保留會話數據。你問這些問題，很多產品頁面只會給你一句模糊的隱私說明。\u003C\u002Fp>\u003Cp>OpenCode 的思路更像工具，而不是平台。工具就該可見、可控、可替換。你可以不喜歡它的默認行為，但至少你知道自己在改什麼。\u003C\u002Fp>\u003Cp>怎麼落地？如果你打算在團隊裡推這類工具，我建議先做兩件事：第一，看看倉庫裡有沒有明確的提示和文件訪問邏輯；第二，給團隊寫一頁很短的使用說明，告訴大家哪些內容可以交給它，哪些內容不該交給它。開源不等於自動安全，但開源至少讓你有機會把安全邊界畫出來。\u003C\u002Fp>\u003Ch2>隱私不是標語，得看數據到底去哪了\u003C\u002Fh2>\u003Cblockquote>OpenCode 不會存儲你的代碼或對話數據。DigitalOcean 推理不會保留或訓練提示或回應數據，僅保留為提供服務所必需的部分。\u003C\u002Fblockquote>\u003Cp>這段話我會認真看，但不會盲信。原因很簡單：隱私聲明不是魔法，它只是個起點。不過，至少這篇文章把問題擺出來了，而且把 OpenCode 本地行為和 DigitalOcean 推理側的處理方式分開講了。\u003C\u002Fp>\u003Cp>對我來說，最重要的不是「有沒有 AI」，而是「數據流向能不能講清楚」。如果代碼在 Droplet 上，提示發到推理服務，回應回來後不做額外留存，那這個鏈路比把本地編輯器和一堆雲端服務混在一起更容易理解。理解得越清楚，越容易做合規判斷。\u003C\u002Fp>\u003Cp>文章還提到，如果你想更保守一點，可以把 Droplet 限制在 VPC 內，並限制模型訪問密鑰的作用範圍。這個建議我挺贊同。很多人談隱私只談「有沒有保存」，其實更應該談「誰能訪問、從哪訪問、能訪問多久」。\u003C\u002Fp>\u003Cp>我見過不少團隊不是不在乎隱私，而是根本沒法回答審計問題。比如「代碼有沒有離開內網」「日誌裡有沒有敏感信息」「模型請求能不能追蹤到具體項目」。如果你用的是一套說不清的閉源工具，回答這些問題會很痛苦。\u003C\u002Fp>\u003Cp>這裡的好處是，你至少能把架構說清楚：項目代碼在 Droplet，模型請求走 DigitalOcean 推理，密鑰通過模型訪問密鑰統一管理。這個鏈路比「裝個插件就開始寫代碼」更適合需要解釋給別人聽的場景。\u003C\u002Fp>\u003Cp>我會怎麼建議你驗證這部分？先別看宣傳頁，直接看三件事：會話數據有沒有本地或雲端持久化、密鑰是不是集中管理、Droplet 和推理服務之間的數據邊界能不能說清。能說清，才算能用。\u003C\u002Fp>\u003Ch2>五分鐘部署聽起來像廣告，但這次真的不算誇張\u003C\u002Fh2>\u003Cblockquote>整個設置可在五分鐘內完成：部署 Droplet、SSH 登錄、在設置嚮導中粘貼模型訪問密鑰，然後開始編碼。\u003C\u002Fblockquote>\u003Cp>我一般對「五分鐘搞定」這種說法很警惕，因為大多數時候它只是把麻煩轉移到別的地方。但這篇文章給的流程，確實是那種很標準的「少廢話、少手工」的部署路徑。\u003C\u002Fp>\u003Cp>它的步驟很直白：先在 DigitalOcean 控制台創建 Gradient 模型訪問密鑰，再從 Marketplace 部署 OpenCode 一鍵式應用，接著 SSH 登錄 Droplet，粘貼密鑰，最後啟動 OpenCode。沒有本地裝一堆依賴，沒有手寫 YAML，沒有到處找環境變量名。\u003C\u002Fp>\u003Cp>這類部署方式我很吃。因為它把「試用成本」壓得很低。很多工具之所以沒人堅持用，不是因為不好，而是第一次上手太煩。你要先裝客戶端、配模型、配權限、配網絡，最後還沒開始寫代碼，心態已經崩了。\u003C\u002Fp>\u003Cp>文章裡還給了資源規格建議，最低是 1 GB RAM \u002F 1 vCPU \u002F 25 GB 存儲，推薦 2 GB RAM \u002F 2 vCPU 或更高。這個信息很實用，因為它告訴你這不是必須上重機器才能跑的東西。對個人開發者來說，能先從小規格開始試，心理負擔會小很多。\u003C\u002Fp>\u003Cp>我也注意到文中給了 API 部署示例，這一點對習慣自動化的人很友好。你可以先手動試一遍流程，再把它寫進腳本或基礎設施模板裡。先驗證，再自動化，順序別反。\u003C\u002Fp>\u003Cp>如果你真想快速試，我建議按這個順序來：\u003C\u002Fp>\u003Cul>\u003Cli>先創建模型訪問密鑰，別跳過這一步。\u003C\u002Fli>\u003Cli>先用 Marketplace 一鍵部署，不要一開始就自己拼裝環境。\u003C\u002Fli>\u003Cli>先 SSH 登錄看嚮導是否正常，再考慮自定義配置。\u003C\u002Fli>\u003Cli>先跑一個小任務驗證模型切換，再上真實倉庫。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>別只看默認模型，先把 \u002Fmodels 和 RULES.md 用起來\u003C\u002Fh2>\u003Cblockquote>要永久設置默認模型，在 Droplet 上編輯配置。你還可以在項目目錄中添加一個 RULES.md 文件，為智能體提供跨會話保留的常駐指令。\u003C\u002Fblockquote>\u003Cp>這是我最想單獨拎出來說的部分，因為它決定了這套工具到底是「能用」，還是「真的能融進你的工作流」。默認模型只是起點，規則文件才是讓智能體穩定下來的關鍵。\u003C\u002Fp>\u003Cp>OpenCode 裡可以直接用 \u002Fmodels 切換模型，這個已經很方便了。但如果你每次都靠手動選擇，長期還是會亂。文章建議你在 \u002Froot\u002F.config\u002Fopencode\u002Fopencode.json 裡固定默認模型，這樣至少起步一致。然後再在項目裡放一個 RULES.md，把項目約束寫清楚。\u003C\u002Fp>\u003Cp>我非常贊成這種做法。因為智能體最容易出問題的地方，不是它不會寫，而是它會忘。你今天告訴它「別改遷移文件」，明天它又在別的會話裡忘了。把規則寫進項目，讓它每次都能讀到，這比口頭提醒靠譜得多。\u003C\u002Fp>\u003Cp>我自己在用類似工具時，最常寫的規則就三類：代碼風格、測試要求、不可修改區域。比如「函數簽名必須帶型別提示」「不要改已有遷移，只能新建」「任何任務完成前先跑測試」。這種規則看起來囉嗦，但它能顯著減少返工。\u003C\u002Fp>\u003Cp>原文還提到，Droplet 預裝了一些輔助腳本，比如檢查版本、更新、重新運行設置嚮導。這個細節我很喜歡，因為它說明這不是一次性演示，而是考慮了後續維護。很多教程只管你第一次跑通，不管你兩週後怎麼更新。\u003C\u002Fp>\u003Cp>如果你要把這套東西真正用進日常，我建議你把規則分成兩層：一層放在全局配置裡，約束默認模型和基礎行為；另一層放在項目目錄裡，約束這個倉庫的具體習慣。這樣你既能統一大方向，又不會讓每個項目都像沒規矩的野地。\u003C\u002Fp>\u003Ch2>這套方案適合誰，不適合誰，我的判斷很簡單\u003C\u002Fh2>\u003Cblockquote>如果你正在為 Claude Code、Cursor 或類似工具支付月費，並希望成本更低或更可預測，這個方案值得考慮。\u003C\u002Fblockquote>\u003Cp>我不想把這東西說成人人都該換。沒必要。工具選擇本來就是看場景，不是看站隊。OpenCode + DigitalOcean 適合的是那些已經習慣終端工作流、又想把模型和基礎設施控制權拿回來的人。\u003C\u002Fp>\u003Cp>如果你本來就很少在終端裡做複雜編碼任務，那它的價值就沒那麼大。你如果只想偶爾問問代碼建議，直接聊天式工具可能更順手。但如果你經常做重構、調試、補測試、批量改文件，那這種智能體式工作流會更有存在感。\u003C\u002Fp>\u003Cp>我會特別推薦給這幾類人：一是已經在為 Claude Code、\u003Ca href=\"\u002Ftag\u002Fcursor\">Cursor\u003C\u002Fa> 之類付費，但想把成本和模型選擇變得更可控的人；二是對代碼出境比較敏感的人；三是本來就愛折騰開源工具、想知道底層到底怎麼跑的人。\u003C\u002Fp>\u003Cp>不太適合的人也很明顯：不想碰 SSH 和 Droplet 的人、完全不關心模型切換的人、以及只想「開箱即用、別問我怎麼回事」的人。這個方案雖然部署不算難，但它畢竟還是偏\u003Ca href=\"\u002Ftag\u002F開發者工具\">開發者工具\u003C\u002Fa>，不是消費級應用。\u003C\u002Fp>\u003Cp>我自己的判斷是，如果你已經在 Claude Code 上形成了穩定習慣，但又對綁定關係不爽，那這篇教程基本就是為你準備的。它不是讓你放棄那種體驗，而是讓你保留體驗，同時換掉底層約束。\u003C\u002Fp>\u003Cp>這才是我覺得最有價值的地方：不是「換一個更強的 AI」，而是「讓你能決定 AI 用誰、跑在哪、怎麼留痕」。對開發者來說，這種控制感比宣傳頁上的任何形容詞都實在。\u003C\u002Fp>\u003Ch2>你可以直接複製的模板\u003C\u002Fh2>\u003Cpre>\u003Ccode># OpenCode + DigitalOcean 使用模板\n\n## 1. 先準備模型訪問密鑰\n- 登錄 DigitalOcean 控制台\n- 打開 Inference → Manage\n- 創建一個 Model Access Key\n- 把密鑰保存到密碼管理器裡\n\n## 2. 部署 OpenCode Droplet\n- 從 DigitalOcean Marketplace 部署 OpenCode\n- 選擇 2 GB RAM \u002F 2 vCPU 或更高\n- 添加 SSH key\n- 等待 Droplet 創建完成\n\n## 3. SSH 登錄並完成初始化\nssh root@YOUR_DROPLET_IP\n\n# 按提示粘貼模型訪問密鑰\n# 完成嚮導後，進入你的項目目錄\ncd \u002Fpath\u002Fto\u002Fyour\u002Fproject\nopencode\n\n## 4. 固定默認模型\n# 編輯全局配置\nnano \u002Froot\u002F.config\u002Fopencode\u002Fopencode.json\n\n{\n  \"$schema\": \"https:\u002F\u002Fopencode.ai\u002Fconfig.json\",\n  \"model\": \"digitalocean\u002Fminimax-m2.5\"\n}\n\n## 5. 在項目裡加 RULES.md\n# RULES.md\n- 這是一個使用 FastAPI 和 PostgreSQL 的 Python 3.12 項目。\n- 函數簽名始終添加型別提示。\n- 永遠不要修改已有的遷移文件。創建新的。\n- 在認為任何任務完成之前，先運行 `pytest`。\n\n## 6. 日常使用習慣\n- 用 `\u002Fmodels` 切換模型\n- 用 Tab 在 plan 和 build 之間切換\n- 先讓模型做計劃，再讓它修改文件\n- 每次大改後都跑測試\n\n## 7. 我會用來驗證它的任務\n- 補一個健康檢查接口\n- 給舊模塊做一次重構\n- 生成一組單元測試\n- 讓模型只改必要文件，不要亂動別的東西\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>這個模板不是原文逐字複製，我把它整理成了更適合直接落地的版本。你可以先照著跑一遍，再根據自己的倉庫把 RULES.md 改成你的項目約束。\u003C\u002Fp>\u003Cp>我建議你第一次試的時候，別上來就拿最核心的生產倉庫開刀。先找一個小項目，或者從一個局部任務開始，比如補一個 API、寫測試、改文檔。等你確認模型切換、規則約束、文件編輯這些環節都正常，再把它推進到更重要的代碼庫裡。\u003C\u002Fp>\u003Cp>如果你只記住一句話，我希望是這個：OpenCode + DigitalOcean 的意義，不是「又多了一個 AI 工具」，而是你終於能把編碼智能體從單一模型和單一平台裡解耦出來。\u003C\u002Fp>\u003Cp>原文來源是知乎專欄文章 \u003Ca href=\"https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F2045176143590978863\" target=\"_blank\" rel=\"noopener noreferrer\">Claude Code 的開源替代方案：用 OpenCode + DigitalOcean 實現模型自由\u003C\u002Fa>。我這篇是基於它做的拆解和重寫，模板部分是我整理後的可直接複製版本，不是原文全文。\u003C\u002Fp>","我拆開這篇教程，講清 OpenCode + DigitalOcean 怎麼把 Claude Code 變成可切模型的終端智能體。","zhuanlan.zhihu.com","https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F2045176143590978863",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780525116428-1q7g.png","tools","zh","48313ddd-9ba5-4525-8a13-40619b929be5",[17,18,19,20,21],"OpenCode","DigitalOcean","Claude Code","模型切換","終端智能體",[23,24,25],"把工具層和模型層拆開，才有真正的選擇權。","用 \u002Fmodels、RULES.md 和全局配置，把智能體變成可控工作流。","先從小任務驗證，再把這套方案推進到正式倉庫。",0,"2026-06-03T22:18:06.969758+00:00","2026-06-03T22:18:06.947+00:00","4278d06b-fe84-418f-a189-27780b8c0b87",{"tags":31,"relatedLang":40,"relatedPosts":44},[32,34,35,37,38],{"name":18,"slug":33},"digitalocean",{"name":21,"slug":21},{"name":19,"slug":36},"claude-code",{"name":20,"slug":20},{"name":17,"slug":39},"opencode",{"id":15,"slug":41,"title":42,"language":43},"opencode-digitalocean-model-freedom-en","OpenCode+DigitalOcean 让你切换模型","en",[45,51,57,63,69,75],{"id":46,"slug":47,"title":48,"cover_image":49,"image_url":49,"created_at":50,"category":13},"d3ec03a8-a805-4a21-9826-72a74a72b625","databricks-model-serving-llm-deploy-guide-zh","Databricks Model Serving 讓 LLM 部署變簡單","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780525998117-7ur8.png","2026-06-03T22:32:51.005996+00:00",{"id":52,"slug":53,"title":54,"cover_image":55,"image_url":55,"created_at":56,"category":13},"4bdcf208-fb80-484e-b4b6-06af035a6df1","modulate-aws-voice-chats-into-signals-zh","Modulate 用 AWS 把語音聊天做成訊號","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780519733892-rxue.png","2026-06-03T20:48:22.697917+00:00",{"id":58,"slug":59,"title":60,"cover_image":61,"image_url":61,"created_at":62,"category":13},"f44a28d3-2305-43de-b5fa-21217d561054","amazon-rekognition-content-moderation-filter-zh","Amazon Rekognition把審核變成過濾器","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780517005409-bxfc.png","2026-06-03T20:02:57.634353+00:00",{"id":64,"slug":65,"title":66,"cover_image":67,"image_url":67,"created_at":68,"category":13},"80f6f40b-3217-45e4-acff-7b2f6d261779","codex-workspace-limits-tell-you-why-zh","Codex 讓工作區限額錯誤說人話","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780514293711-ltqa.png","2026-06-03T19:17:41.340056+00:00",{"id":70,"slug":71,"title":72,"cover_image":73,"image_url":73,"created_at":74,"category":13},"daa3d568-4bc5-4f29-aa64-225928ace9b4","book-2-turns-sneaker-drop-into-merch-zh","Book 2 把球鞋發售變成周邊系統","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780513400116-8jeh.png","2026-06-03T19:02:49.03795+00:00",{"id":76,"slug":77,"title":78,"cover_image":79,"image_url":79,"created_at":80,"category":13},"9c9d8493-a290-4058-bcab-dc03c05476bf","chatgpt-updates-june-2026-playbook-zh","ChatGPT 更新變成 6 月 playbook","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780503519133-jmfa.png","2026-06-03T16:18:07.006985+00:00",[82,87,92,97,102,107,112,117,122,127],{"id":83,"slug":84,"title":85,"created_at":86},"855cd52f-6fab-46cc-a7c1-42195e8a0de4","surepath-real-time-mcp-policy-controls-zh","SurePath 推出即時 MCP 政策控管","2026-03-26T07:57:40.77233+00:00",{"id":88,"slug":89,"title":90,"created_at":91},"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":93,"slug":94,"title":95,"created_at":96},"af9c46c3-7a28-410b-9f04-32b3de30a68c","prompting-in-2026-what-actually-works-zh","2026 提示工程，真正有用的是什麼","2026-03-26T08:08:12.453028+00:00",{"id":98,"slug":99,"title":100,"created_at":101},"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":103,"slug":104,"title":105,"created_at":106},"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":108,"slug":109,"title":110,"created_at":111},"a5f94120-ac0d-4483-9a8b-63590071ac6a","claude-code-vs-cursor-2026-zh","Claude Code 與 Cursor 深度對比：202…","2026-03-26T13:27:14.279193+00:00",{"id":113,"slug":114,"title":115,"created_at":116},"0975afa1-e0c7-4130-a20d-d890eaed995e","practical-github-guide-learning-ml-2026-zh","2026 機器學習入門 GitHub 實用指南","2026-03-27T01:16:49.712576+00:00",{"id":118,"slug":119,"title":120,"created_at":121},"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":123,"slug":124,"title":125,"created_at":126},"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":128,"slug":129,"title":130,"created_at":131},"3ce6e6e2-bac5-463e-9f8d-45caabcc61f7","awesome-ai-for-science-research-tools-map-zh","AI 科研工具清單，開始像地圖了","2026-03-27T01:46:50.521945+00:00"]