OpenCode 的開源應用程式
OpenCode 是開源的。Happier 也是開源的,採用 MIT 授權,而且可以自行架設。兩者都不需要你無法掌控的伺服器。
How Happier runs OpenCode
OpenCode 透過它自己的 attach 流程回到自己的介面,畫面裡沒有多工器,也沒有什麼要先啟用——Happier 啟動的那個工作階段,就是 opencode 重新接上的那個工作階段;而當終端機正坐在上面時,應用程式仍然照收訊息。
故事的另外半段是憑證:OpenCode 自備供應商層,所以你連過的 Codex、OpenAI、Claude 訂閱和 Anthropic 設定檔,在工作階段開始時都可以選;為別的代理程式組起來的帳號池,在這裡也用得上。Claude 訂閱這個項目接受這個版本經手的兩種形式——瀏覽器登入和 setup token——而 Anthropic 那一個仍然是 API 金鑰;至於你跑在哪個之下,是在工作階段開始時選定的,而不是承襲那台電腦上次登入的東西。
分支是這個版本給它空間的地方。OpenCode 對話可以整個分支,也可以從特定訊息分支——差別在於「換個方式再試一次」和「回到前面某次工具呼叫之前,再換個方式試」。你放在 .opencode/skills 和 .opencode/commands,或 ~/.config/opencode 底下的技能與斜線指令,會被當成提示資產讀取並隨工作階段移動,所以你在座位上教給 CLI 的東西,在工作階段從手機被回覆時依然在那裡。
What OpenCode does, and what Happier adds
OpenCode 是 SST 的終端機程式設計代理程式,並且自備供應商層:你把它指向你已經有權存取的模型,它就用那個模型面對你的儲存庫工作。happier opencode 執行相同的執行檔、使用相同的 opencode auth 憑證、在相同的目錄裡。
Happier 提供裝置。你在一個房間的終端機裡啟動的工作階段,可以在別的房間用手機閱讀和回覆,而對話紀錄在離開你的電腦之前就已加密。
happier opencodeRead, approve and answer OpenCode from any device
iOS 和 Android 應用程式、macOS、Windows 和 Linux 的桌面應用程式,以及 app.happier.dev,全都是連向你電腦上執行中的 OpenCode 行程的用戶端 — 不是唯讀的鏡像。回應權限請求、送出下一則指示、瀏覽儲存庫、閱讀差異。對話紀錄在離開你的電腦前就已端對端加密,所以承載它的伺服器持有的是密文。
Happier can install OpenCode for you
Happier 安裝在已經放著你儲存庫的那台電腦上,而 happier opencode 會在那裡以一般子行程的方式啟動 OpenCode,在你指定的目錄裡,並以你當初登入的方式登入。代理程式和 SST 之間沒有閘道,你的原始碼在其他任何地方也沒有副本。
Happier 會先在你的 PATH 上找 opencode,執行你裝的那份。如果沒有,它可以把 opencode-ai 安裝到 ~/.happier/tools/providers/opencode/ — 那是它自己的目錄,不是你全域的 npm prefix。你自己管理的那份,永遠不會在你不知情的情況下被取代或升級。
SST 自己的安裝與登入指南在 opencode.ai/docs。Happier 不會鏡像一份,因為把別人的安裝說明抄一份過來,抄的就是一份會過期的東西。
Happier 這一側的設定參考 — Happier 文件中的 OpenCode。
OpenCode 跑在哪個帳號上
OpenCode 是 Happier 可以指向「你連結過一次的憑證」的代理程式之一,而不是指向那台電腦當下登入的帳號。它接受 a Codex subscription, an OpenAI API key, a Claude subscription or an Anthropic API key。
已連結服務是以憑證為鍵,而不是以代理程式為鍵,所以同一份 Codex subscription 在每一台你連結過的電腦上,都能給任何接受它的代理程式選用 — 這也正是把你自己的帳號組成一個池、跨多台電腦使用會有幫助的原因。憑證的加密與解密都在你自己的裝置上進行;文件頁面 記載各種設定檔的規則,因為每個代理程式接受哪些種類的設定檔,正是會隨版本變動的那類細節。
One app for OpenCode and 12 other agents
OpenCode 是 Happier 執行的 13 個命令列程式設計代理程式之一,它們共用同一份工作階段清單、同一個權限收件匣、同一套鍵盤快速鍵和同一份 MCP 設定。
You define an MCP server once and OpenCode receives it as native MCP inventory, next to whatever MCP servers it already had of its own.
這在你同時跑不只一個的日子最重要:不同供應商的工作階段並排在一起,而點一下通知會開啟提出該請求的工作階段,而不是應用程式的大門。完整清單在這裡。
The same OpenCode session in your terminal and in the app
在終端機輸入 happier opencode 就會在你所在的地方啟動工作階段,而同一個工作階段同時也在應用程式裡。你在那個 shell 裡讀到的是 Happier 自己對該工作階段的顯示 — 對話紀錄、權限提示、工具輸出 — 而不是 OpenCode 的介面。沒有人得放棄終端機才能得到一個手機用戶端。
happier attach <session-id> 會透過 OpenCode 自己的 attach 流程,在同一個工作階段上開啟 OpenCode 自己的 TUI。兩端都能寫入,中間沒有多工器,也不必先開什麼開關 — 在 TUI 裡打字會出現在應用程式,從應用程式送出也會出現在 TUI。
attach 指南列出了各種情況,而不是承諾全部都行。
透過 Happier 執行 OpenCode 的相關問題
- 我需要已經裝好 OpenCode 嗎?
- 未必。Happier 優先使用你 PATH 上的
opencode,若沒有這樣一份,它可以把opencode-ai套件裝進自己的目錄。你自己的安裝絕不會在你背後被取代或升級。 - Happier 會改變 OpenCode 對接的供應商嗎?
- 不會。OpenCode 保有自己的供應商設定和自己的憑證;Happier 只是啟動它並讀取對話。如果你在
opencode auth裡設定了數個供應商,決定請求去向的仍然是它。 - 承載我工作階段的那部分可以自行架設嗎?
- 可以。中繼伺服器就在同個採用 MIT 授權的儲存庫裡,並以 Docker 映像檔發行,後端可搭配 PostgreSQL、SQLite 或 MySQL。把你的用戶端指向你自己的伺服器,就不會有任何流量碰到我們的。
- 我的程式碼會被上傳到什麼地方嗎?
- 不會。OpenCode 在你的電腦上執行,也在那裡讀取你的工作目錄。跨過網路的是工作階段的對話紀錄,而且在離開你的裝置之前就已加密——中繼伺服器存的是它讀不懂的密文。
- 哪些裝置可以開啟工作階段?
- iOS、Android、macOS 與 Windows 和 Linux 上的桌面應用程式,以及瀏覽器裡的 app.happier.dev。它們全都登入同個帳號,看到同份工作階段清單。
Get OpenCode onto your phone in two commands
在放著你程式碼的電腦上執行一道指令,然後在你想工作的儲存庫裡執行 happier opencode。
curl -fsSL https://happier.dev/install | bash逐步說明在指南裡。全部都採 MIT 授權,而中繼站是你可以自己執行的。

