v0.29.9 · live

Open Source Terminal GUI

ShellFrame

非工程師也能直覺上手的 AI 終端機。
從一位設計師的需求出發,擴展到整個團隊。

17 stars · 4 forks · released 今天
2026 Python + pywebview MIT License

起源

我的合作夥伴是設計師,她看到我用 Claude Code 和 Codex 在終端機裡飛速工作,也想試試看。但她馬上遇到一個問題:終端機沒辦法貼圖

Windsurf、Cursor 這些 IDE 可以直接貼截圖問 AI,但純終端機做不到。她每次都要先存檔、再打路徑,光這一步就把使用意願磨掉了。

於是我決定做一個超輕量的 GUI 包裝器——不是 Electron 那種肥大框架,而是用 Python + 原生 OS WebView,啟動快、記憶體小。Cmd+V 就能貼圖,多分頁管理不同專案,還有 Telegram 橋接讓你不在電腦前也能遠端操作。

完成後我也推廣給公司同事使用,設計師和 PM 團隊同樣從中受益。他們終於不用再面對黑底白字的終端機——ShellFrame 把 AI CLI 工具的門檻,降到了「會用通訊軟體就會用」的程度。

痛點與解法

痛點

  • x 終端機無法直接貼圖片
  • x 非工程師害怕命令列介面
  • x 不在電腦前就無法操作 AI
  • x Electron 太肥、VS Code 太複雜

解法

  • > Cmd+V 一鍵貼上截圖
  • > 簡潔 GUI,預設指令一鍵啟動
  • > Telegram 橋接,手機遠端操作
  • > 原生 WebView,輕量無負擔

一行安裝

macOS / Linux

$ curl -fsSL https://raw.githubusercontent.com/h2ocloud/shellframe/main/install.sh | bash

自動安裝 Python venv + 所有相依套件。macOS 已有 Python,Linux 需先裝 python3。

Windows (PowerShell)

PS> irm https://raw.githubusercontent.com/h2ocloud/shellframe/main/install.ps1 | iex

需先安裝 Python 3.12+Git。安裝程式會自動設定 PATH 和桌面捷徑。

安裝後輸入 shellframe 啟動,或從 Spotlight / 開始選單搜尋 ShellFrame。安裝完執行一次 sfctl permissions 可自動開好 macOS Privacy / Windows Defender 白名單。

功能亮點

📋

截圖 & 多檔智慧貼上

Cmd+V 直接貼圖片或多個檔案。v0.11.9 起對 Claude Code / Codex 用 bracketed-paste 包路徑,AI CLI 會自動壓成 [image #N] 附件預覽而不是打字輸入。

📑

多分頁 + tmux 持久化

每個分頁跑在 tmux session 裡,關掉視窗再打開,對話從上次離開的位置繼續。雙擊 tab 改名、拖拉排序、視窗位置跨 restart 保留。

🎛

總控 / Worker 派工體系

一個總控 Claude 用 sfctl delegate 拆任務、開 worker、poll 結果、收尾。#tab 標註要互動的分頁、頁籤生命週期自動回寫交接筆記給總控、idle reaper 自動沉澱閒置頁——並行 agent 編排在 ShellFrame 裡原生可用,不用碰 tmux。

📱

Telegram 橋接

一個 bot 管所有 session。文字、圖片、檔案、語音(STT)雙向傳,還能遠端 /break 送 ESC 中斷 AI。指令:/list /new /fetch /usage /break /pause /resume /reload /restart /update /close/1 /2… 切分頁(破壞性指令會 inline confirm)。

🚦

四態燈號

側欄每個 session 一顆燈:藍=執行中、綠=完成、紅=需你決定、橘=警告。同步反映到 TG banner 與 macOS 桌面通知,也能手動點擊切換。掃一眼就知道誰在忙、誰在等你。

📜

乾淨滾動歷史

上滑歷史以 CLI transcript 為真實來源、xterm.js 渲染,深層歷史無縫瀏覽,markdown 轉 ANSI、連續工具呼叫收合成一行摘要、harness 雜訊隱藏——回捲畫面跟活畫面一致,ANSI 色碼保留。

🎙

語音 STT + AI 整理

TG 傳語音直接轉文字丟進 session;本地端語音輸入還能經 AI 潤成通順文字(Typeless 風格)。plugin 架構:本地 whisper.cpp 或自訂 HTTP server 都可以,不綁雲端服務。

🧠

AI 上下文 + 可編輯 Prompt

啟動 Claude / Codex 時自動帶入環境 context(有哪些 session、bridge 狀態、sfctl 指令表)。v0.11.8 起 init prompt 跟 TG per-turn preamble 都可以在 Settings 裡直接編輯。

🛡

sfctl permissions 一鍵設定

v0.11.8 新增。macOS 一鍵開 Privacy 面板(Files & Folders、Accessibility、Automation 等)+ 防火牆白名單 python/bun;Windows 加 Defender inbound allow rule。裝完跑一次就好。

🔄

兩段式更新 + 合併指令

UI 改動 → 熱重載;Python 改動 → 重啟(session 保留)。v0.10.12 把 /update/update_now 合併,TG 收到新版自動彈 inline keyboard 「⬇️ Update Now / Cancel」。

⌨️

輸入優化

Shift+Enter 換行不送出、右鍵 CMD-style 複製貼上、Esc 清整行(純終端)、Ctrl+Click 打開終端機裡的路徑(支援硬換行的長 URL)、介面 S/M/L 三段調。

全域快捷鍵 ⌃⌥Space

v0.11.27 起。任何 app 裡按 Ctrl+Option+Space 喚出 ShellFrame,再按一次收起。Spaces-aware:視窗會跑到你當下的虛擬桌面,而不是把你拉走。Settings 可關。目前 macOS only。

🧹

Auto /compact

v0.11.26 起。Bridge 即時監控 Claude Code 的 token 用量,跌破門檻(預設 15%)自動送 /compact 做 context summarise。Settings 可調門檻或關閉。只對 Claude 生效,不會誤觸 Codex / bash。

🔔

完成通知

v0.11.29 起。ShellFrame 在背景時,AI 完成回覆會彈 macOS 原生通知。點通知直接跳回該 session。每個 session 30 秒 cooldown 避免連發。Settings 可關。

🤖

Agent 狀態自動偵測

燈號與狀態改由 Claude Code hooks 事件驅動,AI 不用再自我回報 [[SF:]] 標記。右側面板變成即時 agent activity feed,忙碌 / 等待 / 完成一目了然。

📊

AI 用量水位

右上角常駐膠囊即時顯示當前 tab 的 Claude / Codex 用量水位,快撐爆一眼看得到。TG 也能 /usage/水位)遠端查詢。

🔌

Plugin 系統 + LINE 橋接

Bridge 與 STT provider 全外掛化,第三方可自訂通訊管道。內建 LINE bridge(支援公司 webhook forward + poll、獨立 per-turn wrapper prompt),側欄分開顯示 TG / LINE routing badge。

🌐

本機 HTTP API

選擇性開啟的 loopback API,讓外部程式(如語音助理)遠端驅動 ShellFrame——開 session、送輸入、收事件通知。loopback + token + IP 白名單三層防護,預設關閉。

Loops 排程面板

實驗性功能:定時重跑某個 prompt 或指令(例如每 5 分鐘檢查一次部署狀態)。面板管理排程、預設關閉。

💻

跨平台 + i18n

macOS(WKWebView + tmux 持久化)、Windows(Edge WebView2 + ConPTY + soft persistence)、Linux(GTK WebView)。自動偵測系統語言(繁中/英),Settings 可切。

技術架構

Frontend

xterm.js 終端機
原生 OS WebView
零 Electron 依賴

Backend

Python + pywebview
PTY + tmux (Unix) / ConPTY (Win)
pyte 虛擬終端

Bridge

Telegram / LINE + 語音 STT
Plugin provider chain
本機 HTTP API + Claude hooks

Self-Evolution

sfctl 遠端控制
兩段式 reload / restart
AI 熱載入自我修改

讓 AI 工具屬於每一個人

Claude Code 和 Codex 是強大的 AI 工具,但它們活在終端機裡——對非工程師來說,那是一道無形的牆。

ShellFrame 把這道牆拆掉了。

當設計師能用截圖問 AI 設計問題;
當 PM 能用 Telegram 遠端請 AI 幫忙整理資料;
當新人不用學 command line 就能開始用 AI——

這就是工具應該有的樣子:為人服務,而不是讓人遷就。

v0.29.9

開源 MIT — macOS / Windows / Linux

17 stars · 4 forks

What's in v0.29.9

### Fixes - **Windows:TG 橋接訊息卡在輸入框送不出去(codex 最嚴重)**(Howard 2026-07-07 回報)。 根因鏈:Windows/ConPTY 把注入的 payload 逐字合成 key events,client 端 drain 大 payload 遠超過固定 0.3s——codex(crossterm 讀 win32 事件,拿不到 bracketed-paste 框架,靠「連續輸入 burst」偵測貼上)在 burst 窗內收到提交的 CR 會把它當**換行** 插進 composer 而不是送出 → 整段訊息卡在對話框。四段修法: 1. `_inject` 送 CR 前改等 **echo 靜止**(`_wait_paste_drain`:最後輸出 chunk 安靜 ≥0.25s 才送,Windows cap 較高、按 payload 長度放大),取代固定 0.3s。