> 如對翻譯有改進建議,歡迎提交 PR。
Termio ### 終端機優先的 Agent 開發環境 [![Release](https://img.shields.io/github/v/release/termio-sh/termio?style=flat&logo=github)](https://github.com/termio-sh/termio/releases) [![License](https://img.shields.io/badge/license-MIT-blue?style=flat)](LICENSE) [![Discord](https://img.shields.io/badge/Discord-555?logo=discord&logoColor=white)](https://discord.gg/H9DKVwsE5f)

English | 简体中文 | 繁體中文 | 日本語 | 한국어

[**下載 macOS 版**](https://downloads.termio.sh/termio.dmg)  •  [官方網站](https://termio.sh)  •  [文件](https://termio.sh/docs)  •  [更新日誌](https://termio.sh/changelog)  •  [Discord](https://discord.gg/H9DKVwsE5f) Atom One Dark 主題下的 Codex、Claude Code 和開發伺服器
## 終端機優先的 ADE 程式碼大半改由 Agent 寫之後,開發環境的職責就是把它們跑起來,並告訴你哪一個在等你。Termio 就是這樣一個環境,而它是一個真正的終端機——因為 Agent 本來就住在終端機裡。 它在第一次啟動時自動接好每個 Agent 自帶的 hook。工作階段會回報工作中、閒置,還是*需要你*——側邊欄一個狀態點,選單列的常駐圖示在有 Agent 被擋住時出聲,手機上是同一個訊號。Claude Code、Codex、OpenCode、Pi、Amp、Cursor、Copilot、Kimi、Antigravity、Crush、Grok,以及任何其他 CLI Agent。 更完整的論述:[*From IDE to ADE*](docs/essays/from-ide-to-ade.md)。 ### tmux 的替代品 所有人勸你學 tmux 的理由,Termio 讓你不用學。每個工作階段的 shell 都活在常駐程式 `termiod` 裡,結束 app 只是中斷連線。闔上筆電,再打開 Termio,Agent 還在你離開的地方——同一個行程,同一份捲動紀錄。只有「關閉工作階段」(⌘W)會結束它。 ### 遠端終端機 任何你能 `ssh` 上去的 Linux VPS。Termio 讀 `~/.ssh/config`,從不改寫它。**設定 ▸ 裝置 ▸ 設定**會透過 SSH 把一個執行檔複製到 `~/.local/bin`,啟動常駐程式,並在那台機器上裝好 Agent 的 hook。本機和遠端的工作階段走的是同一套主機。工作階段活在機器上,不在連線裡。斷線之後 Agent 繼續工作;重新接上,畫面原樣回來。 ## 橫向比較 Termio 是 Agent 跑在裡面的環境。工作階段活在機器上的 `termiod` 裡,Mac app 和 iPhone 都只是接上去。 | | Termio | [Ghostty](https://ghostty.org) | [cmux](https://cmux.com) | [herdr](https://herdr.dev) | [Superlogical](https://superlogical.com) | [Otty](https://otty.sh) | | --- | --- | --- | --- | --- | --- | --- | | Agent 監控 | ✓ 靠 hook | – | ✓ | ✓ | – | ✓ 分頁標記 | | Agent 編排 API | ✓ `termio session` | – | ✓ CLI 和 socket API | ✓ socket API | – | – | | Agent 通知 | ✓ 選單列 | – | ✓ | ✓ toast、系統通知或聲音 | – | – | | 多工 | ✓ 常駐程式持有 PTY | – | 重啟後復原 | ✓ 伺服器持有 PTY | ✓ 伺服器持有 PTY | 重啟後復原 | | 遠端 Linux | ✓ 原生支援 | – | ✓ SSH 工作區 | ✓ 透過 SSH 接上 | ✓ 原生支援 | – | | iOS | ✓ 直接接上主機,包括 VPS | – | ✓ 和 Mac 配對 | 社群外掛 | 已預告 | – | | 專案、工作區 | ✓ | – | 工作區群組 | worktree 指令 | – | – | | 檔案樹 | ✓ | – | – | ✓ 外掛 | – | – | | 編輯器 | ✓ | – | – | – | – | – | | Diff | ✓ | – | – | ✓ 外掛 | – | – | | 開源 | ✓ MIT | ✓ MIT | ✓ GPL | ✓ Apache-2.0 | 部分開源,尚未確定 | – | ## 安裝 **[下載 macOS 版 Termio](https://downloads.termio.sh/termio.dmg)** — 免費、 不需帳號,需要 macOS 14 或以上版本。或透過 [Homebrew](https://brew.sh) 安裝: ```sh brew install --cask termio-sh/tap/termio ``` **iPhone 端**:先到 [TestFlight](https://testflight.apple.com/join/1Arf1UKR) 取得配套應用程式 測試版,再掃 Mac 應用程式「設定 ▸ 手機」裡的 QR code 完成配對。 ## 你會得到什麼
Termio 側邊欄中的專案工作階段和 worktree

專案裝著工作階段

一個 checkout 一個專案,它的終端機和 Agent 都在下面。聊天排在專案上方——不屬於任何專案的一次性 Agent 工作階段。

成組的 Agent 工作階段旁選取一個 worktree

Git worktree

一條分支對應一項並行任務,從側邊欄建立。Worktree 巢狀在它來自的專案下面。

Codex 和 Claude Code 下方執行開發伺服器

分割窗格

⌘D 向右分割,⇧⌘D 向下分割。一個 Agent、一個開發伺服器、一個 shell,同一個視窗。

Claude Code、Codex 和兩個終端機排在橫向分頁裡

橫向分頁

工作階段排成一列,放在終端機上方。點擊分頁切換,拖曳排序。在 設定 ▸ 外觀 ▸ 分頁 裡開啟。看影片。

Codex 和 Claude Code 旁顯示工作階段類型及即時狀態

狀態一眼看清

工作中、閒置、完成,還是需要你——每一列都有標記。同一份清單就是 termio session list。

Claude Code 旁的編輯器開啟 SplitTree.swift

檔案編輯器

在檔案樹裡點一個檔案。語法高亮、自動儲存。提交仍然在終端機裡做。

Claude Code 旁顯示統一差異

變更

唯讀的 git 面板,顯示目前的統一 diff。提交、推送和開 PR 仍然在終端機裡。

依檔案分組的 SplitBranch 搜尋結果

搜尋

專案層級的內容搜尋,點一下就跳到編輯器裡符合的那一行。

命令面板中的工作階段和分割命令

命令面板

⌘⇧P。分割、聚焦,一切你本來要翻選單找的東西。

## 從終端機驅動 `termio` 命令列工具驅動正在執行的應用程式。跑在 Termio 裡的 Agent 可以衍生一個同伴,交給它一個任務,再把回覆讀回來: ```sh termio . # 把目前目錄當作專案開啟 termio session list # 誰在工作、閒置,或在等你 termio session spawn "fix the flaky test" # 用一段提示啟動新的 Agent 工作階段 termio session run "pnpm test --watch" # 用一條命令啟動一般終端機工作階段 termio session send ab12cd34 "1" # 回答同伴的權限確認 termio session read ab12cd34 --lines 40 # 印出某個工作階段目前的畫面 termio session watch # 即時串流狀態變化 termio session focus ab12cd34 # 在應用程式裡把某個工作階段切到前景 termio session close ab12cd34 # 關掉它 termio notify "the migration finished" # 送出一則 macOS 通知 ``` `--wait` 一直等到這一輪結束,回來時帶上最終狀態和可以去讀的紀錄行範圍。`--json` 讓任何 `sessions` 命令輸出機器可讀的結果。`--agent` 決定 `spawn` 啟動哪個 Agent。`--direction` / `--ratio` 決定新窗格落在哪、佔多大。 ```sh termio session spawn "run the migration" --agent codex --wait ``` 工作階段控制會往每個 Agent 的技能目錄(`~/.claude/skills`、`~/.codex/skills`)裝一個 `termio` [Agent 技能](https://termio.sh/skill.md),並在每次啟動時保持它最新。其他 Agent 也可以直接從這個儲存庫裝同一個技能: ```sh npx skills add termio-sh/termio --skill termio ``` ## 在你的 iPhone 上 Termio iOS 把每個工作階段即時鏡像過來——完整的 TUI。按鍵列把 esc、tab、ctrl 和方向鍵放在鍵盤上方,按住說話把語音直接轉寫進提示詞。公開測試中:[TestFlight](https://testflight.apple.com/join/1Arf1UKR)。
iPhone 上的 Termio:首頁,等你的工作階段排在專案上方 iPhone 上的 Termio:一個專案下的工作階段,每個都在回報自己的狀態 iPhone 上的 Termio:一個正在執行的 Agent 工作階段,鍵盤上方是按鍵列
## 架構 每個工作階段都活在 `termiod` 裡。用戶端只是接上去。關掉一個用戶端不會殺死 Agent。一套協定,變的只有管道。 ``` Mac app ─ unix/ssh ─┐ TUI (soon) ─ unix/ssh ─┤ ├──► termiod iPhone ─ wss ──────┤ │ Android (soon) ─ wss ──────┘ │ PTY ▼ shell / agent ``` 手機直接接上機器上的 `termiod`,不經過 Mac。VPS 上的工作階段和你筆電上的工作階段是同一種東西。 推導過程寫在 [`termiod/ARCHITECTURE.md`](termiod/ARCHITECTURE.md) 裡。 ## 路線圖 - **TUI 用戶端** — 從任意終端機接上,像你接上 tmux 那樣。 - **手機上的 TUI → GUI** — 在即時鏡像之上,把 Agent 工作階段選擇性地算繪成 GUI。 - **Android** — 和 iPhone 一樣的配套應用程式。 - **Windows 支援** — 原生 Windows 應用程式。同樣的想法,同樣的 termiod 核心。 - **Web 支援** — 從任意瀏覽器接上你的工作階段,終端機還能用連結分享。 - **Issue 分流** — GitHub、GitLab、Linear 的 issue 直接進應用程式,隨手交給 Agent。 在 [GitHub Issues](https://github.com/termio-sh/termio/issues) 追蹤進展或參與討論。 ## 社群 **Termio 正在找長期維護者。** 如果你喜歡用它,也想認領上面路線圖裡的某一塊——Web 用戶端、Windows,或者 iOS 配套應用程式——來 Discord 打個招呼,或者直接接一個 issue。 - **[Discord](https://discord.gg/H9DKVwsE5f)** — 和開發者以及其他使用者交流 - **微信群** — 中文使用者掃下面的 QR code - **[GitHub Issues](https://github.com/termio-sh/termio/issues)** — bug 和功能需求 微信群 QR code 微信 QR code 每幾天失效一次。失效了就在 Discord 說一聲,會換上新的。 ## 貢獻者 Contributors ## 授權 [MIT](LICENSE)。