Tuboshu 開源桌面容器:網站收進同一視窗,多帳號分艙登入

Tuboshu 是開源的網站桌面容器,把常用網站收進同一個視窗用側欄切換,每個站點有獨立的登入分艙與全域快捷鍵;它的多帳號隔離做得很實在,出廠安全預設與內建密碼小幫手則是裝之前該先看清的部分。

用 AI 摘要這篇文章:

Tuboshu 是一套把常用網站集中到單一桌面視窗的開源容器:左側一排站點捷徑,點一下就在同一個視窗裡開始用那個網站,每個站點有自己的登入分艙。它免費、沒有廣告、資料存在本機,GitHub 上有 1,350 顆星。但把它抓下來編譯、逐檔讀過原始碼之後,真正值得寫下來的是另一件事:它為了讓各家網站在容器裡順利登入,出廠就調降了三個瀏覽器安全預設,還內建了一個把帳號密碼放進網站 localStorage 的密碼小幫手。多帳號隔離是真的,免費也是真的;哪些帳號放進來,則是裝它之前要先想清楚的事。

先交代定位,因為網路上流傳的說法把它講錯了方向。中國工具站 ahhhhhfs 的介紹寫「將任何網站變成獨立的桌面應用」,還說「產生的獨立執行檔無需環境設定即可執行」。對照原始碼,這兩句都是誤讀。

它真的能把網站變成獨立 App 嗎?其實是一個視窗裡的多站貨架

原始碼裡的 Tuboshu 不是「一個網站打包成一個執行檔」的轉換器,而是單一視窗的多站容器。視窗結構分三層:一個主視窗、左側導覽列、右側內容區。你新增一個站點,它就在內容區掛一個網頁檢視,全部站點共用同一個視窗,用側欄切換。GitHub 倉庫的簡介欄倒是寫得老實:「把常用的網站集合到一個桌面程式裡」。

想要「每個網站一個獨立執行檔」的讀者,要找的是 Nativefier 或 Pake 那一類逐站打包器,兩者是不同品類。Tuboshu 的安裝包確實產出 Windows、macOS、Linux 三種執行檔,但那是它自己的安裝包,不是給你的網站用的。

新增站點的流程很短:貼上網址、取個名字,它會自動連去那個網站把圖示抓下來存進本機資料庫,側欄立刻多一個捷徑。設定介面整包是簡體中文,原始碼裡也沒有多語言切換。每個站點條目有自己的名稱、網址、圖示,還能掛兩個進階設定:一個是站點層級的 proxy,同一個視窗裡 A 站走一條線、B 站走另一條線;另一個是自訂 JavaScript 注入,官方 README 只說能定制自己的頁面,中國工具站進一步把它搭配的玩法寫成移除廣告元素,而 proxy 這個設定則沒被那份介紹提到。站點清單本身可以匯出成 JSON 再匯入另一台機器,不過匯出的只有設定,登入狀態要走前面說的 Cookie 匯出,兩份檔案都要當成機密對待。

Tuboshu 新增站點設定視窗截圖Pin
Tuboshu 的系統設定視窗:左側站點清單與新增站點表單,可自訂名稱、網址與圖示(圖片來源:官方倉庫)。

預設貨架則說明了它替誰而做。裝好第一次打開,側欄上已經排好八個站,全部預設開啟:騰訊元寶、DeepSeek、豆包、Kimi、千問、智譜清言,加上 ChatGPT 與 Gemini。這是一張給 AI 服務多開使用者的預設清單,重心明顯放在中國的 AI 服務上。對同時養多個 AI 帳號、需要並排使用的人,這個預設很省事;對其他用途的人,第一件事是清掉這排站點。

Tuboshu 容器內切換 AI 站點的畫面截圖Pin
Tuboshu 容器內開著 DeepSeek 的畫面:最左欄是各 AI 服務的站點圖示,點一下整個內容區就換站(圖片來源:官方倉庫)。

多帳號分艙是行銷話術還是真隔離?

這點原始碼給的答案偏向正面。Tuboshu 的隔離做法是:每個站點條目配一個獨立的持續化 session 分區,名稱就是 persist: 加上站點條目名。Cookie、localStorage、登入狀態全部跟著分區走,互不相通。同一個網站要開兩個帳號,做法是建兩個不同名稱的條目,兩個分艙各自登入,側欄一鍵切換。這跟瀏覽器「使用者設定檔」是同一等級的隔離,機制上站得住。有個附帶的整理常識:這些分艙實體存在使用者資料夾的分割區目錄裡,解除安裝程式不會動到它們,要真正清掉某個站的登入痕跡,得連資料夾一起處理。

切換的順手度是它跟瀏覽器設定檔拉開差距的地方。全域快捷鍵預設是 Ctrl 加 H(macOS 是 Cmd 加 H),任何 App 跑到前景時按下去,Tuboshu 視窗立刻現身或隱藏,不用去工作列找人。關掉視窗它也不會退出,會縮到系統匣;macOS 上則是 Dock 圖示整個收起來,改由選單列的常駐圖示召回,等下一次召喚。這對把 AI 服務當成隨手查資料工具的人是真正的爽點。附帶一提,macOS 上 Cmd 加 H 本來是系統層級的「隱藏目前 App」,被它搶走之後其他軟體的這個操作會失效,想改可以進設定換掉。

視窗操作的快捷鍵排得相當密:Ctrl 加左右方向鍵把視窗貼到螢幕左半或右半變成小窗,Ctrl 加 T 切換視窗置頂,Ctrl 加 Tab 在站點之間輪播,Ctrl 加反引號切換站點分組,Ctrl 加 B 收起側欄。站點分組是另一個源文沒提的功能,把工作用的站和私人站分開放,切換時整組一起換。

剪貼簿歷史同樣沒被源文提到。打開之後它每秒輪詢一次系統剪貼簿,文字自動去重,歷史上限預設 500 筆,支援置頂與收藏。預設是關閉的,要自己到設定裡開。如果你已經在用剪貼簿同步工具,這功能可以當備援,兩者不衝突。

還有一個把雙面刃擺在陽光下的功能:Cookie 匯出。設定頁可以把所有已開站點的 Cookie 一次匯出成 JSON 檔,內容是明文,也能匯入還原。搬機器、備份分艙都方便;反過來說,拿到這個檔案的人就拿到你全部的登入狀態,而它匯出的對象正是你最重要的一批身分憑證,該怎麼保管這個檔案,答案很清楚。

資料都在本地,等於可以放心放重要帳號嗎?

「本地儲存、無需雲端同步」這句宣稱,在它宣稱的層面是真的。整包 app 目錄掃過一遍,對外網路請求只有一個:設定頁的手動版本檢查,打向 upsort.com 這個網域。遙測、統計碼、廣告框架一概找不到。你的站點清單與剪貼簿歷史待在自己電腦的資料庫檔案裡,引擎是 SQLite 的 WebAssembly 版本;登入狀態則存在各個分艙自己的目錄裡。

問題出在它為了相容性拆掉的三道欄杆,前兩道寫在主程式的啟動參數裡,第三道在網路回應的標頭層動手,全部出廠即生效:

  • 整個容器忽略所有網站的 TLS 憑證錯誤。在可信的家用網路上你感覺不到差別;連上不可信的 Wi-Fi 時,憑證有問題的釣魚站或中間人不會被擋下來,瀏覽器會擋的那種警告在這裡靜音。
  • Chromium 的站點隔離(site-per-process)被關掉。一般瀏覽器讓每個網站跑在各自的處理程序裡,一個站被攻破不容易波及別站;這層在容器裡沒開。
  • 對語雀和 QQ 信箱兩個網域,它把伺服器送來的內容安全政策整個換掉,換成允許任意來源加上行內腳本的寬鬆版本,讓這兩個站在嵌入式環境裡正常運作。

單看每一項都是「讓網站能用」的務實取捨,而且作者很可能是自願寫下的,不是疏忽。但三項疊起來的結果是:這個容器的安全等級低於任何一款主流瀏覽器,而你打算放進來的恰恰是一批登入狀態。

然後是那個密碼小幫手。它是一支出廠就啟用的內建外掛,行為是偵測頁面上的密碼輸入框,把帳號密碼用 base64 編碼後寫進那個網站自己的 localStorage,鍵名是 pm- 開頭加上網域。下次打開頁面自動填入,過程還會暫時改寫網站的 autocomplete 屬性,繞過網站「不讓瀏覽器記密碼」的設定。base64 是編碼不是加密,任何能在那個頁面跑腳本的人都能直接讀。主要帳號、金融類、Email 拿來當救援管道的,都不該交給它記。好在關掉不難:設定頁的外掛清單裡把它停用即可,連同其他三支內建外掛(指紋隨機化、抖音防偵測、頁內搜尋)都能一鍵開關。唯一要記得的細節是外掛開關只對之後新開的頁面生效,已經開著的分頁要關掉重開才算數。

說到指紋隨機化,這其實是整個專案工程力氣花最多的地方,也值得單獨講。容器引擎是 Electron 37,核心相當於 Chromium 138,但對外宣稱的身分是 Chrome 130 到 134 之間隨機挑一個:User-Agent、用戶端提示標頭、navigator 物件全部偽造,自動化特徵 webdriver 設為 false,連抖音用來抓非正規瀏覽器的 iframe 協定探測都先攔掉。這組身分存在一個檔案裡重複使用,也就是說全部網站看到的是同一張假臉,不是每個分艙各換一張;要到頁面層再疊隨機化,靠的是另一支內建外掛。四支內建外掛都會掛進每一個站點的工作階段,其中三支的掃描範圍是所有網址,抖音那支只掛抖音與 TikTok 的網域。更新說明裡作者自己寫明目的:通過 Google 等網站的檢測,這也解釋了為什麼它比一般 Electron 包殼走得遠。但偽裝不是萬能,2026 年 6 月還有使用者留言反映 Grok 的真人驗證過不去,這條 issue 到今天還開著。另外有個對台灣使用者實際的細節:偽裝身分的語言欄位寫死 zh-CN,你以 zh-CN 使用者的身分被網站識別,部分網站的內容與定價會跟著走簡體中文路線。若你習慣用切換語言的擴充功能控制這件事,在容器裡的行為也要重新確認。

版本檢查的對象 upsort.com 本身也值得看一眼。這個網域同時掛著三樣東西:版本檢查端點、「Tuboshu 國內下載中心」頁面(內容是 GitHub release 檔案的代理直鏈),以及微信與支付寶的贊助收款碼。網域根站則是一個叫「有為財經」的中國財經資訊站。整條鏈是典型的一人專案樣貌:軟體免費,伺服器與收款都掛在作者自己的網域上。倉庫的貢獻紀錄也吻合,兩個主要帳號合計寫了幾乎全部的 commit,v2.2.2 在 2026 年 7 月 4 日發布,主分支最後一筆停在 8 月 20 日修 README 的小事。單人專案不是缺點,但更新節奏與長期維護要有對應預期。

想多開又省事,該選它還是瀏覽器設定檔?

把選項攤開會更好決定。Chrome 或 Edge 的使用者設定檔同樣做到登入分艙,安全預設是完整的,跨裝置同步現成,代價是每個設定檔開一整個瀏覽器、記憶體吃得多、也沒有全域快捷鍵這種召喚手感。Tuboshu 走相反路線:一個視窗裝全部、快捷鍵秒開秒收、每站還能掛自己的 proxy 與 JavaScript。它也正面處理了多開的記憶體帳單,每五分鐘清理一次,十分鐘沒碰的站點直接關掉網頁檢視只留登入分艙,下次切過去重新載入。代價則是安全預設被調降、mac 版未簽署(第一次打開要手動放行)、以及沒有正式授權條款。習慣用快捷鍵管理視窗的 Mac 使用者,兩者是互補不是替代。

授權這件事要多說兩句,因為「完全開源免費」只對了一半。免費是真的,程式裡沒有任何付費牆或授權碼,收入靠贊助。但 GitHub 倉庫裡沒有 LICENSE 檔案,只有 package.json 裡一行 license 欄位寫著 ISC。公開原始碼不等於授予使用授權,嚴格來說別人拿原始碼做二次利用的法律基礎是懸空的。個人使用沒有實際影響,公司行號想在內部散佈或改造之前,這是該先跟作者確認的一項。

幾個收尾前值得知道的小事:設定頁裡那個「外掛市集」名字取得很滿,實際上只管理四支內建外掛加上你自己從本機資料夾匯入的外掛,沒有任何線上市集;倉庫根目錄有一份更新說明文字檔,檔名寫 v3.0.0、標題寫 v2.2.0、內文的版本行又寫 v2.1.1 升 v3.0.0,三個版本號各自表述,而線上版本檢查端點與 package.json 都說 v2.2.2,版本衛生很隨性;下載管道有三條,GitHub Releases、作者網域的下載中心頁、以及中國的雲端硬碟連結,安裝包以 Windows 版 80 MB、mac 版 99 MB 起跳。

所以答案是:把它當分艙工作台,不要當保險箱。多個 AI 服務帳號、測試用的次要帳號、想用快捷鍵快速召喚的查詢工具,放進來很合適,裝完先做三件事:關掉密碼小幫手外掛、確認快捷鍵沒跟系統打架、別在不可信網路上登重要帳號。牽涉金流、主要信箱、公司帳號的場景,留在正規瀏覽器裡,用設定檔分艙就夠了。至於真正想要「一個網站一個 App」的人,這題的答案本來就不在 Tuboshu 身上。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1426

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...