修復 Termux 上的 SillyTavern:更新、解除安裝與 start.sh 錯誤
本文講的是修好 SillyTavern(酒館)本身,而不是換掉它。直接跳到符合你症狀的段落吧。
1. Termux 什麼都無法安裝或更新
全新安裝時最常見的根本原因是:Play 商店版的 Termux,它已不再維護,提供的套件也都過時了。把它解除安裝,改從 F-Droid(推薦)或 Termux 的 GitHub releases 安裝 Termux。然後把所有東西更新到最新:
pkg update && pkg upgrade
如果套件下載卡住或逾時,執行 termux-change-repo,換一個鏡像站,再試一次。
2. start.sh 以前能用,現在卻不行了
常見的情況是:某次套件升級讓 SillyTavern 底下的 Node 換了版本,或者一開始裝的就是非 LTS 版的 Node。官方指南指定使用 nodejs-lts;很多影片教學卻說 pkg install nodejs——光是這個差別,就能解釋許多「上週還好好的」狀況。依序嘗試以下步驟:
pkg update && pkg upgrade
pkg install nodejs-lts
cd ~/SillyTavern && git pull --rebase --autostash
bash start.sh
如果還是失敗,就重新 clone 一份——同時保留你的資料:
mv ~/SillyTavern ~/SillyTavern-old
git clone https://github.com/SillyTavern/SillyTavern -b release
cp -r ~/SillyTavern-old/data ~/SillyTavern/
cd ~/SillyTavern && bash start.sh
你的聊天、角色和設定都放在 data 資料夾裡;舊的安裝會留在 ~/SillyTavern-old,直到你確定所有東西都搬過來了。
3. 螢幕一鎖定,伺服器就掛了
Android 回收背景程序的手段相當激進,而 Termux 裡的 Node 伺服器正是首要目標。依效果由高到低:
- 長時間使用前,先執行
termux-wake-lock(或在 Termux 的通知中點一下 Acquire wakelock)。 - 讓 Termux 不受電池最佳化限制:設定 → 應用程式 → Termux → 電池 → 不受限制(Settings → Apps → Termux → Battery → Unrestricted)。選單名稱因手機廠牌而異,而且有些廠商(尤其是深度客製化 Android 介面的)無論如何都會砍掉背景應用程式。
- 長時間聊天時,用分割畫面讓 Termux 保持可見,而不是完全切到背景。
4. npm 在安裝時當掉(error code 134)
npm install 時出現 error 134,幾乎都是因為手機 RAM 太小、記憶體耗盡。關掉其他所有應用程式後重新安裝,並確認 Node 是 LTS 版(pkg install nodejs-lts)。在 32 位元裝置上,官方指南還要求執行 pkg install esbuild。
5. 一切都很慢
有兩件事要檢查。
config.yaml裡的三項設定。官方 Android 指南指出,在資源有限的裝置上,應該檢查角色延遲載入、磁碟快取和自動聊天備份這三項。官方文件列有目前的建議值。- 你的角色庫大小。手機的儲存空間讀寫很慢。超大的聊天檔案和數百張角色卡的角色庫,都會實實在在地拖長載入時間,所以請讓裝置上的角色庫保持精簡。
6. 聊天或角色不見了
資料遺失的回報大多與寫入中斷有關——應用程式或手機在儲存途中被終止,或是更新出了差錯。預防勝於補救。先執行一次 termux-setup-storage 取得共用儲存空間的存取權,之後每次更新前都備份:
cp -r ~/SillyTavern/data ~/storage/shared/SillyTavern-backup
如果已經有東西不見了:先停下來,不要繼續寫入,在做最壞打算之前,先檢查 data 裡 SillyTavern 自己的 backups 資料夾。
7. 鎖定手機或切換應用程式時,回覆就中斷了
這不是伺服器的問題,而是瀏覽器的問題。回覆是透過即時連線串流到你開著的分頁裡,而行動瀏覽器為了省電,會在幾秒內暫停背景分頁,串流也就斷了。有三個辦法:
- 在生成完成前保持螢幕開啟。
- 使用分割畫面,讓分頁不會完全進入背景。
- 縮短回應長度,讓回覆更快完成。
Android 上的 Firefox 往往能比 Chrome 讓背景分頁多撐一下。
8. 解除安裝,或乾淨地重新開始
沒有解除安裝程式。SillyTavern 是 Termux 裡的一個資料夾,所以移除它就是刪掉那個資料夾,或是刪掉 Termux 本身。請先把 data 備份到共用儲存空間,因為這兩種做法都會連同你的聊天一起刪掉。
完整步驟(包括保留聊天的乾淨重裝)請見:如何解除安裝 SillyTavern。
如果你不想在手機上跑伺服器
以上所有內容,都是為了讓 SillyTavern 本身繼續運作。如果這正是你要的,官方文件寫得很好,社群也很樂於幫忙。
如果你真正需要的,只是你的角色、你的 API 金鑰和你的手機,這正是我們打造 LonelyTavern 的原因。它是原生的 Android 與 iPhone 應用程式,可以匯入 V3 酒館角色卡與世界書(World Info 格式),用你自己的金鑰搭配任何相容 OpenAI 的服務商,並把一切都留在你的裝置上。
免費、無需帳號、沒有廣告,也不用在凌晨兩點爬起來維護。它不是完整的 SillyTavern:沒有擴充功能,也沒有群組聊天。但就核心的聊天流程而言,裝好就能用。
相關指南:iPhone 上的 SillyTavern:三種可行的方法 · Chai:匯出與備份你的聊天記錄 · Character.AI:匯出並保存你的聊天記錄 · 所有指南。
SillyTavern 和 Termux 都是各自作者的獨立專案。LonelyTavern 與這兩個專案都沒有關聯,也未獲其背書。本文指令依照 docs.sillytavern.app 上的 SillyTavern 官方文件——請務必到那裡確認最新的說明。
