SillyTavern Manager

Tài liệu hướng dẫn

Cách cài đặt, sử dụng và sao lưu SillyTavern Manager. Bắt đầu với hướng dẫn cho thiết bị của bạn, các phần còn lại để tra khi cần.

Trước khi bắt đầu

SillyTavern Manager là ứng dụng giúp bạn cài đặt, chạy và sao lưu SillyTavern. Đây là một dự án riêng, không phải của nhóm phát triển SillyTavern. Bản SillyTavern bạn dùng luôn được tải từ trang GitHub chính thức của họ.

Bạn cần: một máy do bạn kiểm soát, khoảng 2 GB trống cho SillyTavern và các gói phụ thuộc, và kết nối internet cho lần cài đầu tiên. Sau đó mọi thứ chạy được ngoại tuyến, trừ các nhà cung cấp mô hình mà SillyTavern gọi tới.

Nền tảng Cần những gì Bắt đầu ở đâu
Windows 10 hoặc 11 Không cần gì. Node.js, npm và Git nằm sẵn trong bản tải. Windows
Android 7 trở lên (ứng dụng) Không cần gì. Cài ứng dụng từ tệp APK. Ứng dụng Android
Android 7 trở lên (Termux) Termux từ F-Droid Termux
macOS 13 trở lên Homebrew và Node.js 22+ macOS
Linux hoặc VPS Node.js 22+ và git Linux
Máy chủ Docker bất kỳ Docker, và một volume cho /data Docker
Máy nào có Node 22+ npm 11+ npm

Trình quản lý và SillyTavern dùng ba cổng: 7860 cho bảng điều khiển, 8002 cho SillyTavern và 8001 cho cổng truy cập. Nếu trên máy đã có thứ khác chiếm một trong số đó, xem mục Xử lý sự cố.

Cài đặt

Có bảy cách cài, cách nào cuối cùng cũng tới cùng một chỗ: một bảng điều khiển hỏi bạn chọn mật khẩu quản trị.

#Windows

  1. Bấm Tải về ở trang chủ, hoặc mở bản phát hành mới nhất và tải SillyTavernManager-windows-x64-vX.Y.Z-setup.exe.
  2. Mở tệp cài đặt vừa tải. Nếu Windows SmartScreen cảnh báo ứng dụng lạ, bấm More info rồi bấm Run anyway.
  3. Hoàn tất cài đặt. Bộ cài đặt vào %LOCALAPPDATA%\Programs\SillyTavernManager mà không đòi quyền quản trị viên, đồng thời tạo lối tắt ở Start Menu và Desktop.
  4. Mở SillyTavern Manager. Cửa sổ ứng dụng sẽ mở thẳng vào bảng điều khiển quản lý.

Đóng cửa sổ sẽ thu ứng dụng xuống khay hệ thống (system tray) để SillyTavern và các link vẫn chạy nền, đồng thời thông báo trên màn hình sẽ báo cho bạn khi nhân vật trả lời xong. Bấm chuột phải vào biểu tượng ở khay hệ thống để mở lại trình quản lý, mở SillyTavern, mở thư mục dữ liệu, hoặc bấm Dừng & Thoát để tắt sạch SillyTavern và tunnel Cloudflare.

Muốn cập nhật, bấm Cập nhật trên thanh thông báo trong trình quản lý, hoặc tải bộ cài mới về rồi chạy đè lên bản cũ. Dữ liệu vẫn giữ nguyên.

Thư mục ứng dụng và thư mục dữ liệu tách rời nhau. Dữ liệu của bạn nằm ở %LOCALAPPDATA%\SillyTavernManager, nên cập nhật hay cài lại ứng dụng không bao giờ đụng tới hồ sơ, bản sao lưu hay thiết lập.

Nếu SmartScreen cảnh báo về ứng dụng chưa ký, đó là chuyện bình thường: bản phát hành không được ký mã. Muốn chắc chắn bản tải đúng là bản đã công bố, hãy đối chiếu tệp .sha256 với bộ cài.

#Android: ứng dụng

Cách dễ nhất trên điện thoại. Một ứng dụng chứa sẵn trình quản lý và mọi thứ SillyTavern cần, không cần Termux, không phải gõ lệnh nào. Chạy trên điện thoại Android 64-bit từ Android 7 trở lên, tức gần như mọi điện thoại bán ra từ năm 2017.

  1. Mở trang chủ trên điện thoại và bấm Tải cho Android, hoặc tải SillyTavernManager-android-arm64-v8a-vX.Y.Z.apk từ bản phát hành mới nhất.
  2. Mở tệp vừa tải. Android hỏi có cho trình duyệt cài ứng dụng không: cho phép, rồi bấm Cài đặt. Ứng dụng không có trên Play Store nên Play Protect có thể báo là ứng dụng lạ; chọn Vẫn cài đặt.
  3. Mở ST Manager. Lần đầu mở, ứng dụng giải nén những gì nó mang theo, mất khoảng một phút.
  4. Trên Android 13 trở lên, hãy cho phép thông báo khi được hỏi. Trình quản lý chạy nền kèm một thông báo cho biết nó đang chạy.
  5. Đặt mật khẩu, chọn phiên bản SillyTavern rồi bấm Cài đặt. Nó tải vài trăm megabyte và mất vài phút; tắt màn hình cũng không sao.

Trình quản lý vẫn chạy khi bạn rời ứng dụng hay vuốt tắt nó, nên SillyTavern vẫn mở được từ thiết bị khác. Muốn dừng hẳn, bấm Dừng trên thông báo của nó.

Muốn cập nhật, tải APK mới rồi cài đè lên bản cũ. Dữ liệu vẫn giữ nguyên.

Chuyển sang từ Termux

Từng chạy SillyTavern trong Termux? Ở lần cài mới, trang tổng quan sẽ hỏi Bạn từng dùng SillyTavern trong Termux?; bấm Chuyển dữ liệu là chat, nhân vật và thiết lập được chép vào ứng dụng. Về sau, nút Chuyển từ Termux trên trang Dữ liệu làm đúng việc đó.

Trình chọn thư mục của Android mở ra: mở menu của nó, chọn Termux, chạm Sử dụng thư mục này, rồi Cho phép. Ứng dụng đọc SillyTavern trong đó và khôi phục vào đây. Termux vẫn y nguyên, còn những gì ứng dụng có trước đó được giữ thành một bản sao lưu tên Trước khi chuyển từ Termux, nên có thể hoàn tác.

Bong bóng chat

Khi nhân vật trả lời lúc bạn đang ở ứng dụng khác, ứng dụng có thể hiện câu trả lời thành bong bóng chat nổi bên trên, như ứng dụng nhắn tin; chạm vào là trả lời ngay tại đó. Trang tổng quan hỏi một lần (Nhận tin trả lời dạng bong bóng chat?), và chuông ở trên cùng bật tắt Bong bóng chat cùng Thông báo tin nhắn từ character bất cứ lúc nào. Bong bóng cần Android 11 trở lên; điện thoại cũ hơn nhận câu trả lời dưới dạng thông báo thường.

Dữ liệu nằm bên trong ứng dụng. Gỡ ứng dụng là xoá luôn dữ liệu, nên hãy kết nối sao lưu lên cloud trước khi dùng lâu dài.

#Android: Termux

Muốn chạy bằng Termux? Cài Termux từ F-Droid hoặc một nguồn đáng tin khác. Đừng dùng bản Play Store cũ: bản đó lạc hậu nhiều năm và trình quản lý gói của nó không còn hoạt động.

Mở Termux, dán các lệnh sau rồi bấm Enter. Hai lệnh đầu cập nhật chính Termux, mất một hai phút; lệnh cuối tải những gì trình quản lý cần. Việc này chỉ làm một lần.

bash
pkg update -y
pkg upgrade -y
pkg install -y git nodejs-lts
git clone https://github.com/locmaymo/stm.git
cd stm
npm ci

Lần đầu cập nhật, Termux sẽ dừng vài lần để hỏi nên làm gì với một tệp cấu hình (sources.list, bash.bashrc, profile, openssl.cnf), với dòng kết thúc bằng (Y/I/N/O/D/Z) [default=N] ?.

Cứ bấm Enter mỗi lần được hỏi. Như vậy là chọn mặc định N: giữ nguyên tệp bạn đang có. Đây là lựa chọn an toàn, không mất gì cả, và quá trình cập nhật chạy tiếp. Câu hỏi có thể hiện nhiều lần liên tiếp; cứ bấm Enter cho tới khi các lệnh chạy xong và dấu nhắc $ hiện lại.

Termux hỏi về bash.bashrc và profile trong lần cập nhật đầu, mỗi câu kết thúc bằng (Y/I/N/O/D/Z) [default=N] ?
Termux hỏi về các tệp cấu hình của nó. Bấm Enter ở mỗi câu.

Bật trình quản lý

Mỗi lần muốn dùng SillyTavern, mở Termux và chạy:

bash
cd stm
npm start

Termux luôn mở ở thư mục chính, cũng là nơi stm đã được tải về, nên cd stm sẽ tìm thấy nó. Khi khung có các địa chỉ hiện ra, mở http://127.0.0.1:7860 trong trình duyệt của điện thoại. Địa chỉ thứ hai dành cho các thiết bị khác dùng chung Wi‑Fi.

Termux sau lệnh npm start: khung ST Manager với địa chỉ trên điện thoại này và trên Wi-Fi này
Trình quản lý đang chạy. Cứ để Termux mở trong lúc dùng SillyTavern; Ctrl+C để dừng.

Cập nhật trình quản lý

Dừng nó bằng Ctrl+C trước, rồi chạy:

bash
cd stm
git pull
npm ci
npm start

Termux giữ dữ liệu của bạn tại $PREFIX/var/sillytavern-manager, nằm ngoài kho mã, nên git pull không bao giờ đụng tới nó.

Bật tunnel không cần cài gì bằng tay. Android chỉ khởi chạy tệp thực thi độc lập vị trí, còn bản dựng của Cloudflare thì không, nên trình quản lý hỏi Termux lấy bản cloudflared của Termux trước, và nếu không có thì chạy bản của Cloudflare dưới proot, tự cài thứ nào nó cần.

#macOS: cài từ mã nguồn

macOS dùng chung launcher với Linux. Dán đoạn này vào Terminal; dòng đầu cài Homebrew, bỏ qua được nếu bạn đã có.

bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install git node
git clone https://github.com/locmaymo/stm.git
cd stm
npm ci
node deploy/linux/launcher.mjs

Mở http://127.0.0.1:7860. Dừng bằng Ctrl+C, và lần sau chạy lại bằng:

bash
cd "$HOME/stm"
node deploy/linux/launcher.mjs

Dữ liệu nằm dưới ~/.local/share/sillytavern-manager. Apple Silicon và Intel đều chạy tốt; không phần nào cần Rosetta.

#Linux và VPS

Với Node.js 22 trở lên và git đã cài:

bash
git clone https://github.com/locmaymo/stm.git
cd stm
npm ci
node deploy/linux/launcher.mjs

Dữ liệu vào $XDG_DATA_HOME/sillytavern-manager, hoặc ~/.local/share/sillytavern-manager khi biến đó chưa đặt.

Muốn nó tự chạy lại sau khi khởi động máy, lưu đoạn sau thành /etc/systemd/system/sillytavern-manager@.service:

ini
[Unit]
Description=SillyTavern Manager
After=network-online.target

[Service]
Type=simple
User=%i
WorkingDirectory=/home/%i/stm
ExecStart=/usr/bin/node deploy/linux/launcher.mjs
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
bash
sudo systemctl daemon-reload
sudo systemctl enable --now sillytavern-manager@$USER
systemctl status sillytavern-manager@$USER

Hãy giữ cổng 7860 sau tường lửa. Bảng quản trị là thứ có thể cài, phục hồi và xoá; hãy mở cổng truy cập hoặc tunnel ra ngoài, đừng bao giờ mở bảng quản trị. Chỉ đặt STM_HOST=0.0.0.0 khi đã có thứ khác đứng trước làm kiểm soát truy cập.

#Docker và nền tảng lưu trữ

Dựng image từ kho mã:

bash
git clone https://github.com/locmaymo/stm.git
cd stm
docker build -f deploy/docker/Dockerfile -t sillytavern-manager .

Rồi chạy kèm lưu trữ bền:

bash
docker run --rm \
  -p 7860:7860 \
  -v sillytavern-manager-data:/data \
  -e STM_ADMIN_PASSWORD='choose-a-long-password' \
  sillytavern-manager

Trình quản lý ở http://127.0.0.1:7860. SillyTavern vẫn nằm trên cổng nội bộ 8002 của container, và tunnel chỉ trỏ tới cổng truy cập 8001.

Trên nền tảng container thuê ngoài: mở cổng 7860, gắn lưu trữ bền vào /data, và đưa STM_ADMIN_PASSWORD qua phần secret của nền tảng.

Đừng bao giờ đặt mật khẩu quản trị trong Dockerfile hay commit nó vào git. STM_ADMIN_PASSWORD chỉ được đọc một lần, ở lần khởi động đầu tiên, để tạo mật khẩu mà không cần trình duyệt.

#npm

Trên bất kỳ máy nào có Node.js 22 trở lên:

bash
npx sillytavern-manager

Hoặc cài một lần rồi giữ lại:

bash
npm install --global sillytavern-manager
sillytavern-manager

Trên Windows nên dùng bản ZIP chạy trực tiếp, vì nó đã có sẵn Node.js. Gói npm và bản clone mã nguồn dùng chung cổng và chung thư mục dữ liệu.

Lần chạy đầu tiên

  1. Mở http://127.0.0.1:7860. Màn hình đầu tiên yêu cầu bạn tạo mật khẩu quản trị. Hãy chọn mật khẩu dài; đây là thứ mở ra bảng điều khiển có quyền cài, phục hồi và xoá.
  2. Đọc điều khoản (bấm vào dòng chữ cạnh ô tick là mở ra), rồi đồng ý và hoàn tất thiết lập.
  3. Chọn phiên bản SillyTavern. latest được chọn sẵn và là đáp án đúng, trừ khi bạn có lý do phải ghim một bản cụ thể.
  4. Bấm Cài đặt rồi chờ tới khi hiện Sẵn sàng. Nó clone kho mã, cài phụ thuộc rồi kiểm tra sức khoẻ; Sẵn sàng nghĩa là SillyTavern đã thực sự trả lời trên cổng 8002, không phải chỉ là chép xong tệp.
  5. Mở liên kết nội bộ, hoặc đặt mã truy cập cho SillyTavern trước rồi mới bật mạng nội bộ hay tunnel.
Màn hình thiết lập lần đầu: mật khẩu quản trị, xác nhận, và dòng chữ mở điều khoảnMàn hình thiết lập lần đầu: mật khẩu quản trị, xác nhận, và dòng chữ mở điều khoảnMàn hình thiết lập lần đầu: mật khẩu quản trị, xác nhận, và dòng chữ mở điều khoảnMàn hình thiết lập lần đầu: mật khẩu quản trị, xác nhận, và dòng chữ mở điều khoản

Mật khẩu quản trị và mã truy cập SillyTavern là hai thứ khác nhau. Mật khẩu quản trị mở bảng quản trị. Mã truy cập mở SillyTavern cho thiết bị khác, và đổi mã sẽ đăng xuất mọi thiết bị đang vào.

Bên cạnh mật khẩu, Tiếp tục với Cloudflare thiết lập trình quản lý và kết nối sao lưu vào một bucket R2 trong chính tài khoản của bạn trong một bước; sau đó tài khoản Cloudflare ấy mở được trình quản lý, cũng như mật khẩu. Tiếp tục với Google Drive ngay bên dưới làm điều tương tự với Google Drive của bạn. Nếu tài khoản đã giữ bản sao lưu và thiết lập của một máy khác của bạn, chúng sẽ quay về đây. Xem Dựng lại cả máy.

Chỉ tài khoản của chủ máy vào được. Với trình quản lý chưa ai thiết lập, tài khoản đăng nhập đầu tiên trở thành chủ. Với trình quản lý đã có mật khẩu, chỉ tài khoản mà chủ đã kết nối từ bảng điều khiển được vào; mọi tài khoản khác bị từ chối trước khi bất cứ thứ gì của họ được giữ lại.

Cho tới khi mọi thứ xong xuôi, mục Việc cần làm ở trang tổng quan liệt kê sáu bước nên làm: cài SillyTavern, kết nối Cloudflare, đặt mật khẩu STM và mã PIN SillyTavern, bật sao lưu R2 và mở link SillyTavern. Bước nào xong sẽ tự được đánh dấu. Đủ cả sáu thì danh sách tự thu gọn.

Lần cài đầu tiên tải vài trăm megabyte phụ thuộc, mất vài phút trên laptop và lâu hơn trên điện thoại. Nhật ký trực tiếp cho biết nó đang làm gì; im lặng ba mươi giây trong lúc npm ci chạy không có nghĩa là bị treo.

Dùng hằng ngày

Trang tổng quan là toàn bộ việc dùng thường ngày: Chạy, Dừng, và một liên kết mở SillyTavern. Trang này cũng cho biết phiên bản đang cài, có bản mới hơn hay không, dữ liệu chiếm bao nhiêu và máy đang làm gì.

Dùng ngay tại đây, trên khung xem trước, mở SillyTavern ngay bên trong trang của trình quản lý và đã đăng nhập sẵn. Mật khẩu quản trị mạnh hơn nên không hỏi mã PIN. Thanh phía trên cho phép thu nhỏ về bảng điều khiển mà SillyTavern vẫn giữ nguyên, phóng toàn màn hình, sao lưu trên máy hoặc lên cloud, xem nhật ký, tải lại hoặc chuyển sang tab mới; Đóng thì gỡ nó ra và trả lại bộ nhớ. Mũi tên cạnh Mở SillyTavern có Mở kèm tiện ích: một tab mới có cùng thanh đó và một nút tiện ích nổi. Từ thiết bị khác, nơi không thể nhúng trang vào bảng điều khiển, các nút đó mở SillyTavern trong tab mới.

Trang tổng quan: SillyTavern đang chạy, truy cập từ xa, dữ liệu và sao lưu, tài nguyên hệ thống và nhật ký trực tiếpTrang tổng quan: SillyTavern đang chạy, truy cập từ xa, dữ liệu và sao lưu, tài nguyên hệ thống và nhật ký trực tiếpTrang tổng quan: SillyTavern đang chạy, truy cập từ xa, dữ liệu và sao lưu, tài nguyên hệ thống và nhật ký trực tiếpTrang tổng quan: SillyTavern đang chạy, truy cập từ xa, dữ liệu và sao lưu, tài nguyên hệ thống và nhật ký trực tiếp

Luồng nhật ký gộp năm nguồn vào một danh sách tìm kiếm được: trình quản lý, SillyTavern, trình cài đặt, sao lưu và tunnel. Khi có gì hỏng, lý do nằm trong đó, và bảng điều khiển dịch những dòng của chính trình quản lý sang ngôn ngữ của bạn, còn output của SillyTavern, npm và git thì để nguyên như các chương trình đó viết ra.

Đóng trình duyệt không dừng bất cứ thứ gì. Trình quản lý vẫn chạy cho tới khi bạn dừng nó trong cửa sổ của chính nó, hoặc dừng dịch vụ.

Truy cập từ thiết bị khác

Bản thân SillyTavern không bao giờ rời khỏi 127.0.0.1. Mọi thứ từ bên ngoài đều đi vào cổng truy cập ở cổng 8001, nơi hỏi mã sáu chữ số rồi mới chuyển tiếp tới SillyTavern, không bao giờ chuyển tiếp tới bảng quản trị.

Máy của bạn Bảng quản trị :7860 Cổng truy cập :8001 SillyTavern :8002 · chỉ nội bộ Bạn, trên máy này Điện thoại cùng Wi-Fi Cloudflare Tunnel mã truy cập
Link bạn chia sẻ dẫn tới cổng truy cập. Link riêng của bảng quản trị là một công tắc khác, và không dùng để chia sẻ.

Có hai cách mở cổng truy cập, cả hai đều là công tắc trên trang tổng quan:

  • Mạng nội bộ. Thiết bị khác cùng Wi-Fi truy cập qua địa chỉ LAN của máy bạn. Không gì rời khỏi mạng của bạn.
  • Cloudflare Tunnel. Một địa chỉ trycloudflare.com dùng được từ mọi nơi, không cần mở cổng router hay cấu hình gì. Địa chỉ thay đổi mỗi lần bật tunnel; khi đã đăng nhập Cloudflare, một địa chỉ workers.dev cố định đứng trước nó và không bao giờ đổi.
  1. Đặt mã truy cập SillyTavern trước. Chưa có mã thì hai công tắc kia chưa làm được gì hữu ích.
  2. Bật Mạng nội bộ hoặc Cloudflare tunnel.
  3. Sao chép địa chỉ, hoặc quét mã QR mà bảng điều khiển vẽ ra cho nó.
  4. Trên thiết bị kia, nhập mã một lần.

Khi đã đăng nhập Cloudflare, mỗi link có hai địa chỉ, và hộp thoại link cho bạn chọn Link mặc định, tức link hiện trên thẻ, sau nút Mở và trong mã QR:

  • Link cố định: một địa chỉ workers.dev đi qua một Worker nhỏ trong tài khoản của bạn. Nó không bao giờ đổi, nên là link để lưu bookmark, thêm vào Màn hình chính iPhone và nhận thông báo. Mỗi yêu cầu phải đi thêm một chặng, nên nó chậm hơn một chút.
  • Link ngẫu nhiên: địa chỉ riêng của tunnel. Nó nhanh nhất, và đổi mỗi lần tunnel khởi động lại.

Link của SillyTavern mặc định là link ngẫu nhiên, để chat mượt nhất; link riêng của bảng điều khiển mặc định là link cố định. Địa chỉ của tunnel mới chỉ được đưa ra khi nó đã trả lời.

Sáu chữ số không phải mật khẩu. Cổng truy cập tự khoá trên toàn hệ thống sau năm lần nhập sai liên tiếp, đó là điều khiến một mã ngắn vẫn dùng được. Dù vậy, đừng để tunnel chạy khi không ai dùng, và đừng mở ra ngoài một bản cài đang giữ dữ liệu mà bạn không chịu nổi việc mất hay bị lộ.

Người có địa chỉ và mã truy cập chỉ vào được SillyTavern và chỉ SillyTavern. Họ không cài, không phục hồi, không xoá, không đọc nhật ký và không chạm tới thiết lập được.

Sao lưu và phục hồi

Trang Dữ liệu chứa hồ sơ dữ liệu, các bản lưu cục bộ, và nếu bạn kết nối thì cả các điểm phục hồi ngoài máy trong chính Google Drive hay tài khoản Cloudflare của bạn.

Trang dữ liệu: hồ sơ, bản sao lưu cục bộ và điểm phục hồi trên Cloudflare R2Trang dữ liệu: hồ sơ, bản sao lưu cục bộ và điểm phục hồi trên Cloudflare R2Trang dữ liệu: hồ sơ, bản sao lưu cục bộ và điểm phục hồi trên Cloudflare R2Trang dữ liệu: hồ sơ, bản sao lưu cục bộ và điểm phục hồi trên Cloudflare R2

#Bản lưu cục bộ

Sao lưu ngay tạo một tệp ZIP mà chức năng nhập của chính SillyTavern đọc được. Mặc định nó bỏ qua secrets.json, ảnh thu nhỏ, vector, các bản sao lưu tự sinh, .git, node_modules và rác của hệ điều hành, vì vậy tệp lưu nhỏ hơn thư mục dữ liệu rất nhiều. Muốn kèm secret thì phải chọn riêng, có cảnh báo đi kèm.

Lịch tự động tạo một bản mỗi 30 phút, mỗi giờ, mỗi 6 giờ hoặc mỗi ngày khi dữ liệu có thay đổi, và giữ bản mới nhất (STM_LOCAL_BACKUPS để giữ nhiều hơn). Tạo điểm khôi phục là chủ động tạo một bản kèm ghi chú của bạn, và trình quản lý không bao giờ tự xoá điểm khôi phục, tệp đã tải lên hay điểm phục hồi lấy về từ R2; bản an toàn tạo trước khi phục hồi hoặc chuyển hồ sơ được giữ làm nút hoàn tác cho lần gần nhất. Tệp lưu là tệp bình thường: chép đi đâu cũng được.

#Phục hồi

  1. Chọn một tệp lưu: do trình quản lý tạo, một điểm phục hồi từ Google Drive hay Cloudflare R2, hoặc một tệp ZIP bạn tải lên.
  2. Đọc phần xem trước. Nó liệt kê những gì có trong tệp lưu trước khi bất cứ gì được ghi, và với Thay thế, cả những tệp trong hồ sơ mà tệp lưu không có.
  3. Chọn Thay thế (mặc định: hồ sơ trở thành đúng nội dung tệp lưu) hoặc Gộp (tệp trong bản lưu ghi đè lên bản tương ứng, phần còn lại giữ nguyên).
  4. Xác nhận. Một bản chụp an toàn của trạng thái hiện tại được tạo trước, tự động.

Phục hồi là ghi đè dữ liệu. Bản chụp an toàn giúp sai lầm vẫn cứu được, nhưng chọn đúng tệp lưu vẫn là việc của bạn.

#Google Drive

Trên trang Dữ liệu, chọn Google Drive rồi bấm Kết nối Google Drive. Đăng nhập tài khoản Google và cho phép truy cập, trình quản lý sẽ giữ điểm phục hồi trong một thư mục ẩn của ứng dụng trên Drive của chính bạn. Không cần thẻ, không cần khoá, không phải tạo gì trước.

Quyền được xin là quyền hẹp nhất Google có cho Drive: một thư mục chỉ thuộc về ứng dụng này. Trình quản lý không thấy được gì khác trên Drive của bạn, và các tệp sao lưu không hiện lẫn trong tệp của bạn, nên không thể bị di chuyển hay xóa nhầm ở đó. Màn hình đồng ý của Google gọi đây là “dữ liệu cấu hình của riêng nó”.

Một máy mới kết nối cùng tài khoản Google sẽ tìm thấy đúng thư mục đó, nên các điểm phục hồi sẵn có đều khôi phục được sang máy mới. Kết nối ở máy thứ hai sẽ biến máy đó thành máy sao lưu, và máy đầu tiên dừng lại.

Ngắt kết nối thu hồi phiên đăng nhập. Các bản sao lưu vẫn nằm trên Drive của bạn, trừ khi bạn đánh dấu Xóa luôn các bản sao lưu trên Google Drive ngay trong hộp thoại đó. Bạn cũng có thể tự gỡ quyền tại myaccount.google.com/permissions.

Muốn tự dọn thư mục ẩn mà không cần trình quản lý, ví dụ sau khi đã gỡ nó: mở Google Drive trên trình duyệt, rồi vào Cài đặt → Quản lý ứng dụng → SillyTavern Manager → Tùy chọn → Xóa dữ liệu ẩn của ứng dụng.

Chỉ refresh token được lưu, trong một tệp chỉ người dùng của bạn đọc được. Vì Google đòi mã bí mật của ứng dụng ở mỗi lần đăng nhập và làm mới, hai yêu cầu đó đi qua một dịch vụ nhỏ trên trang này để thêm mã vào; dịch vụ không giữ gì và không ghi lại token. Bản sao lưu thì đi thẳng từ máy bạn tới Drive của bạn; không máy chủ nào của dự án nằm trên đường đó.

Dung lượng là của tài khoản Google, dùng chung với Gmail và Google Ảnh (15 GB với tài khoản miễn phí). Bảng điều khiển có hiện bản sao lưu chiếm bao nhiêu và tài khoản đã dùng bao nhiêu. Các tệp nhỏ được gom thành gói khi gửi, nên lần sao lưu đầu của một hồ sơ thông thường mất vài phút; sau đó chỉ phần thay đổi được gửi.

#Cloudflare R2

Trên trang Dữ liệu, Kết nối Cloudflare là toàn bộ phần thiết lập. Đăng nhập, chọn tài khoản, cho phép các quyền, rồi trình quản lý tìm hoặc tạo một bucket tên sillytavern-manager-backup trong tài khoản của bạn và bắt đầu giữ điểm phục hồi ở đó. Không phải tạo hay dán khoá nào.

Hai trong số các quyền là tuỳ chọn và nên cho phép:

  • Workers. Trình quản lý triển khai một Worker nhỏ, cũng tên sillytavern-manager-backup, để chuyển dữ liệu sao lưu tới bucket. Cách này nhanh hơn nhiều và không tiêu tốn hạn mức API Cloudflare của bạn. Không có nó, bản sao lưu đi qua API của Cloudflare và lần đầu có thể rất lâu.
  • Account Analytics. Khi đó bảng điều khiển hiển thị được dung lượng và số thao tác Class A/B theo cách Cloudflare đếm, cho riêng bucket và cho cả tài khoản so với hạn mức miễn phí. Đây là số liệu sử dụng, không phải hoá đơn.

Một máy mới đăng nhập vào cùng tài khoản sẽ tìm thấy đúng bucket đó, nên các điểm phục hồi sẵn có đều khôi phục được sang máy mới.

Ngắt kết nối xoá khoá Worker của bản cài này và thu hồi phiên đăng nhập. Bucket và mọi thứ bên trong vẫn là của bạn. Bạn cũng có thể tự thu hồi trong hồ sơ Cloudflare, tại mục Manage OAuth authorizations.

Chỉ refresh token được lưu, trong một tệp chỉ người dùng của bạn đọc được. Access token và khoá Worker đều ngắn hạn và nằm trong bộ nhớ. Bản sao lưu đi thẳng từ máy bạn tới bucket của bạn; không máy chủ nào của dự án nằm trên đường đó.

R2 có hạn mức miễn phí, vượt quá thì Cloudflare tính tiền bạn. Sao lưu lớn hoặc dày tốn dung lượng và số thao tác. Hãy tự đặt hạn mức và cảnh báo trong bảng điều khiển Cloudflare. Khoản phí là của bạn, bất kể nguyên nhân là gì.

Không muốn đăng nhập? Chọn Khoá R2/S3 (thủ công) rồi nhập endpoint, bucket và cặp khoá lấy từ trang R2 trong bảng điều khiển Cloudflare. Mọi kho lưu trữ tương thích S3 đều dùng được theo cách này.

#Chế độ tiết kiệm

Với một máy ít chỗ chứa tệp, như một container giữ mọi thứ trong bộ nhớ hay một chiếc điện thoại gần đầy, chính các tệp lưu trên máy là thứ làm cạn chỗ. Khi bật Chế độ tiết kiệm, trên máy không giữ tệp lưu nào và hồ sơ chỉ nằm trên đĩa một lần. Bucket R2 của bạn giữ các điểm phục hồi và đóng vai bản an toàn: dữ liệu hiện tại được gửi lên R2 trước khi một lần phục hồi ghi đè lên nó.

Tệp ZIP tải lên và điểm phục hồi lấy từ R2 được ghi thẳng vào hồ sơ khi dữ liệu tới, trong lúc SillyTavern dừng. Lần phục hồi được so với chỗ trống trước khi bắt đầu; nếu thiếu chỗ, trình quản lý đề nghị bỏ bớt những thứ SillyTavern không cần (lịch sử git và node_modules của tiện ích, bản sao lưu riêng của SillyTavern, ảnh thu nhỏ), và từ chối nếu vẫn không vừa, thay vì hỏng giữa chừng.

Nó tự bật khi thư mục dữ liệu nằm trong bộ nhớ, hoặc khi ổ đĩa còn dưới 5 GiB lúc trình quản lý khởi động, và nói rõ vì lý do nào. Ngoài ra đây là một công tắc trong Thiết lập → Khi mở trình quản lý, hoặc đặt STM_SAVER=1 / STM_SAVER=0 trong môi trường để chốt hẳn.

Hãy kết nối R2 trước khi dựa vào chế độ tiết kiệm. Bật nó mà không có bucket thì ngoài chính hồ sơ ra, không còn gì giữ dữ liệu của bạn.

#Dựng lại cả máy

Bucket còn giữ cả cách trình quản lý được thiết lập, cạnh dữ liệu: mật khẩu quản trị và mã PIN SillyTavern dưới dạng hash nó đang lưu, các cổng, các link, Giữ STM online, lịch sao lưu và giới hạn R2, và bản SillyTavern đang chạy. Số liệu sử dụng cũng được giữ ở đó.

Trên máy mới, đăng nhập cùng tài khoản Cloudflare hay Google, ở màn hình lần đầu hoặc trên trang Dữ liệu. Hồ sơ đang trống trong khi bucket có dữ liệu thì điểm phục hồi mới nhất được lấy về trước khi SillyTavern khởi động, và SillyTavern được cài đúng bản bạn đang dùng. Khi tài khoản đang giữ thiết lập của một máy khác của bạn, một thẻ trên mọi trang đề nghị Khôi phục tất cả trong một lần; SillyTavern dừng trong lúc chạy, và những gì đang có trên máy này được giữ trong mục Sao lưu trước.

Mỗi tài khoản chỉ sao lưu từ một máy tại một thời điểm. Đăng nhập trên máy thứ hai khiến máy đó thành máy sao lưu; máy thứ nhất dừng lại, bỏ quyền đăng nhập của chính nó và báo máy nào đã tiếp quản. Đăng nhập lại ở đó là lấy lại quyền.

Không có gì tự áp dụng sau lưng bạn. Máy đã thiết lập xong chỉ được đề nghị các thiết lập này, kèm tên máy đã ghi chúng và thời điểm, và khôi phục mật khẩu sẽ yêu cầu bạn đăng nhập lại.

Hồ sơ dữ liệu

Một hồ sơ là một bộ dữ liệu SillyTavern hoàn chỉnh và tách biệt: nhân vật, đoạn chat, thiết lập và bản sao lưu riêng. Chuyển hồ sơ là đổi luôn thứ mà SillyTavern nhìn thấy.

Nó hữu ích khi bạn muốn tách việc với giải trí, muốn thử một tiện ích mở rộng mà không đụng tới bộ dữ liệu thật, hoặc khi có người thứ hai dùng chung máy. Tạo hồ sơ là tức thì; chuyển hồ sơ sẽ chụp một bản an toàn trước.

Thông báo

Nút chuông ở đầu bảng điều khiển liệt kê những gì đã xảy ra khi bạn vắng mặt: SillyTavern dừng bất ngờ, sao lưu xong hoặc lỗi, có bản SillyTavern hay bản trình quản lý mới, link bị rớt, sắp hết dung lượng, và tin từ dự án.

Muốn nhận ngay trên điện thoại hay máy tính kể cả khi đã đóng bảng điều khiển, mở chuông và bật Thông báo trên thiết bị này. Việc này cần mở bảng điều khiển bằng link https: link riêng của nó, hoặc địa chỉ Cloudflare cố định. Trên iPhone và iPad, trước hết hãy thêm bảng điều khiển vào Màn hình chính từ nút Chia sẻ của Safari, rồi bật từ đó.

Khi nhân vật trả lời

SillyTavern mở qua link của nó có thể báo cho bạn khi câu trả lời xong, nên bạn cứ gửi tin nhắn, chuyển sang ứng dụng khác hay khoá màn hình, rồi quay lại khi nó đã đến. Lần đầu, SillyTavern hỏi Nhận thông báo khi nhân vật trả lời?; bấm Bật, rồi cho phép. Về sau, mục Thông báo trả lời trong menu tiện ích của SillyTavern (cây đũa phép cạnh ô nhập tin nhắn) bật tắt việc này cho thiết bị đó.

Thông báo ghi tên nhân vật và hiện mấy chữ đầu của câu trả lời. Tắt Hiện nội dung tin nhắn trên thiết bị người khác có thể nhìn thấy, khi đó thông báo chỉ nói ai đã trả lời. Câu trả lời dừng giữa chừng hay bị lỗi cũng được báo đúng như vậy.

Việc này cần link https của SillyTavern, tốt nhất là link cố định vì nó không đổi. Trên iPhone và iPad, hãy thêm SillyTavern vào Màn hình chính từ nút Chia sẻ của Safari và mở từ đó trước. SillyTavern mở thẳng ở 127.0.0.1:8002, không qua link của trình quản lý, thì không gửi được thông báo.

Ứng dụng Android và ứng dụng máy tính Windows tự hiện tất cả các thông báo này như thông báo hệ thống (có ảnh đại diện nhân vật trên Windows, và bong bóng chat trên Android). Hãy cho phép thông báo khi ứng dụng hỏi.

Số liệu sử dụng

Trang Số liệu đếm lượt gọi, token, tỷ lệ trúng bộ nhớ đệm và độ trễ, chia theo ngày, theo nhà cung cấp và theo mô hình. Con số lấy từ chính lưu lượng của SillyTavern khi đi qua trình quản lý, nên bao phủ mọi nhà cung cấp mà không phải cấu hình nhà cung cấp nào ở đây.

Trang số liệu: lượt gọi, token, tỷ lệ trúng bộ nhớ đệm và độ trễ theo ngày, nhà cung cấp và mô hìnhTrang số liệu: lượt gọi, token, tỷ lệ trúng bộ nhớ đệm và độ trễ theo ngày, nhà cung cấp và mô hìnhTrang số liệu: lượt gọi, token, tỷ lệ trúng bộ nhớ đệm và độ trễ theo ngày, nhà cung cấp và mô hìnhTrang số liệu: lượt gọi, token, tỷ lệ trúng bộ nhớ đệm và độ trễ theo ngày, nhà cung cấp và mô hình

Những số liệu này không bao giờ rời khỏi máy. Chúng được đọc từ một tệp cục bộ; thứ mà dự án nhận được là bản tóm tắt nhỏ hơn nhiều, mô tả trong Thông báo quyền riêng tư.

Thiết lập

Trang Thiết lập sửa tệp config.yaml của chính SillyTavern thông qua các công tắc, và cũng mở thẳng được tệp đó cho những gì công tắc không bao phủ. Mỗi thay đổi tự được lưu: bật tắt vài công tắc thì chúng được ghi cùng nhau sau một lát, và SillyTavern khởi động lại một lần để áp dụng.

Trang thiết lập: bảo mật, hiệu năng, tiện ích mở rộng, API key và sao lưu chatTrang thiết lập: bảo mật, hiệu năng, tiện ích mở rộng, API key và sao lưu chatTrang thiết lập: bảo mật, hiệu năng, tiện ích mở rộng, API key và sao lưu chatTrang thiết lập: bảo mật, hiệu năng, tiện ích mở rộng, API key và sao lưu chat
Thiết lập Thay đổi điều gì
Tải thẻ nhân vật khi cần Danh sách nhân vật lớn được tải dần thay vì tải hết một lúc. Tự bật, một lần, cho hồ sơ có rất nhiều nhân vật
Proxy cho request Gửi các yêu cầu của SillyTavern tới dịch vụ AI qua proxy của bạn (SillyTavern 1.12.6 trở lên). Dán ở dạng bạn đang có: ip:port, ip:port:user:pass, user:pass@ip:port hay cả một link; dùng được http, https, socks4 và socks5
Bộ nhớ đệm đĩa và bộ nhớ SillyTavern giữ sẵn bao nhiêu; con số bộ nhớ là mức trần, không phải phần được giữ chỗ
Nén yêu cầu Phản hồi nhẹ hơn khi đi qua tunnel hoặc đường truyền chậm
Tiện ích mở rộng và tự cập nhật Có nạp tiện ích hay không, và chúng có tự cập nhật hay không
Cho phép lộ API key SillyTavern có hiển thị API key đã lưu trong giao diện của nó hay không. Nên tắt trừ khi bạn cần
Sao lưu chat Bản sao lưu từng đoạn chat của chính SillyTavern, và giữ lại bao nhiêu bản

Sửa tệp bằng tay là một việc khác hẳn với gạt một công tắc. Tệp sai khiến SillyTavern không khởi động được; bảng điều khiển kiểm tra YAML có phân tích được không trước khi ghi, nhưng nó không thể biết một giá trị có hợp lý hay không.

Phía trên thiết lập của SillyTavern là thiết lập của chính trình quản lý: mật khẩu STM và mã PIN SillyTavern, link riêng của bảng điều khiển ra internet, Tự chạy SillyTavern, Chế độ tiết kiệm, các cổng, và Giữ STM online. Cái cuối cùng cho trình quản lý tự gọi tới địa chỉ của chính nó mỗi 15 phút (hoặc 5, 10, 30, 60 phút), để trình tiết kiệm pin, hay một host tự dừng chương trình đang rảnh, không cho nó ngủ, kéo theo cả SillyTavern. Địa chỉ được giữ là cái trong STM_PUBLIC_ORIGIN, nếu không thì là địa chỉ trình duyệt mở bảng điều khiển gần nhất, nếu không nữa thì 127.0.0.1; không bao giờ là tunnel hay Worker, nên không tốn chút hạn mức Cloudflare nào.

Cập nhật

Nền tảng Cập nhật trình quản lý thế nào
Windows Cập nhật trực tiếp từ thanh thông báo trong trình quản lý, hoặc tải bộ cài mới (-setup.exe) rồi chạy đè lên bản đang cài.
Ứng dụng Android Tải APK mới rồi cài đè lên bản cũ.
Termux Dừng bằng Ctrl+C, rồi chạy các lệnh cập nhật: cd stm, git pull, npm ci, npm start.
macOS, Linux Dừng tiến trình, rồi git pull --ff-only, npm ci, và chạy lại launcher.
Docker Dựng lại image và chạy container mới trên cùng volume.
npm npm install --global sillytavern-manager@latest, hoặc chỉ cần chạy lại npx sillytavern-manager.
Từ bản clone mã nguồn, khi trình quản lý đã dừng
git pull --ff-only
npm ci

Bản thân SillyTavern cập nhật ngay trong bảng điều khiển: chọn phiên bản mới hơn rồi bấm Cài đặt. Dữ liệu của bạn được chép sang chỗ an toàn trước khi đổi phiên bản, và trình quản lý sẽ báo khi có bản phát hành mới hơn bản đang cài.

Thư mục dữ liệu không bao giờ nằm trong thư mục ứng dụng, trên mọi nền tảng. Thay ứng dụng vẫn để nguyên hồ sơ, bản sao lưu, nhật ký, số liệu và thiết lập ở đúng chỗ.

Biến môi trường

Mọi thứ đều đặt được trong bảng điều khiển. Các biến này dành cho cài đặt không giám sát và nền tảng lưu trữ; chúng được đọc lúc khởi động từ môi trường tiến trình hoặc tệp .env, và những gì đặt ở đây sẽ hiển thị trong bảng điều khiển nhưng không sửa được tại đó.

Biến Tác dụng
STM_ADMIN_PASSWORD Tạo mật khẩu quản trị ngay lần khởi động đầu tiên, để cài không cần trình duyệt
STM_HOST Trình quản lý lắng nghe ở đâu. Mặc định là loopback; chỉ đặt 0.0.0.0 khi đã có kiểm soát truy cập khác
STM_DATA_DIR Nơi giữ hồ sơ, bản sao lưu, nhật ký và số liệu, thay cho mặc định của nền tảng
STM_PORT Cổng của bảng điều khiển, thay cho 7860. Không đặt thì cổng đã bị chiếm sẽ được bỏ qua, và dùng PORT khi host có công bố
STM_ACCESS_PORT Cổng của cổng truy cập, thay cho 8001
STM_SAVER 1 hoặc 0 để chốt hẳn chế độ tiết kiệm; công tắc trong bảng điều khiển không đổi được nữa
STM_STORAGE_IN_MEMORY 1 hoặc 0 cho biết tệp ghi ở đây có chiếm bộ nhớ của máy hay không. Tự nhận biết qua bảng mount và biến K_SERVICE của Knative
STM_PUBLIC_ORIGIN Địa chỉ bảng điều khiển được truy cập từ bên ngoài, khi đứng sau proxy đổi Host; cũng là địa chỉ Giữ STM online sẽ giữ
STM_TUNNEL_PROTOCOL http2 để bỏ qua bước thử QUIC của cloudflared trên mạng không cho UDP ra ngoài
STM_OPEN_BROWSER 0 để trình quản lý không tự mở trình duyệt khi khởi động
STM_LOCAL_BACKUPS Giữ lại bao nhiêu bản lưu tự động (mặc định là một)
STM_CLOUDFLARED_PATH Chỉ định tệp cloudflared để dùng, thay vì bản trình quản lý tự tìm
STM_R2_ENDPOINT · STM_R2_BUCKET Endpoint và bucket R2 hoặc S3, cho trường hợp dùng khoá thay vì đăng nhập
STM_R2_ACCESS_KEY_ID · STM_R2_SECRET_ACCESS_KEY Cặp khoá. Đặt đủ cả bốn thì sao lưu R2 bật sẵn ngay lần đầu
STM_CLOUDFLARE_OAUTH_CLIENT_ID OAuth client đăng ký trong chính tài khoản Cloudflare của bạn; để trống là tắt đăng nhập

Khi có gì đó trục trặc

Nhật ký trực tiếp là nơi nên xem đầu tiên, và thường là nơi cuối cùng. Nó gộp trình quản lý, SillyTavern, trình cài đặt, sao lưu và tunnel; lý do gần như luôn được ghi ở đó bằng chính lời của chương trình.

Bạn thấy gì Thường là do đâu
Bảng điều khiển không mở được Thứ khác đang giữ cổng 7860, hoặc trình quản lý đã dừng. Xem cửa sổ dòng lệnh trước, rồi tới cổng.
Cài đặt hỏng lúc chạy npm ci Không có internet, có proxy chặn, hoặc đầy ổ đĩa. Nhật ký mang nguyên lỗi của npm.
Mãi không thấy Sẵn sàng SillyTavern đã chạy nhưng không trả lời trên 8002. Hãy đọc các dòng SillyTavern trong nhật ký; config.yaml sai là nguyên nhân thường gặp.
Tunnel không lên được cloudflared thiếu hoặc không với tới Cloudflare. Truy cập nội bộ vẫn hoạt động bình thường.
Thiết bị khác không kết nối được Cổng truy cập đang tắt, chưa đặt mã, hoặc hai thiết bị không cùng mạng.
Mã truy cập đột nhiên không dùng được Năm lần sai sẽ khoá cổng truy cập. Hãy đợi, hoặc đổi mã trong bảng điều khiển.
SillyTavern không chạy sau khi sửa cấu hình Khôi phục mặc định ở trang Thiết lập, hoặc sửa lại YAML ngay trong trình soạn ở đó.
Tìm xem thứ gì đang giữ một cổng
# Linux, macOS and Termux
ss -ltnp | grep -E ':(7860|8002|8001)' || lsof -i :7860
Cách tương đương trên Windows
Get-NetTCPConnection -LocalPort 7860 -State Listen | Select-Object OwningProcess

Nếu vẫn không được, hãy mở một issue tại github.com/locmaymo/stm/issues kèm nền tảng, phiên bản lấy từ panel Về trình quản lý trong Thiết lập, và các dòng nhật ký liên quan. Đừng dán API key hay địa chỉ tunnel vào đó.

Quyền riêng tư, nói ngắn

Không có tài khoản nào với dự án, và dự án không giữ bản sao dữ liệu nào của bạn. Đoạn chat, nhân vật, prompt, thiết lập, bản sao lưu và API key đều nằm trên máy do bạn kiểm soát, và trong Google Drive hay tài khoản Cloudflare của chính bạn nếu bạn kết nối.

Trình quản lý tự gửi đi đúng một thứ: một bản tóm tắt sử dụng nhỏ nằm trong danh sách cho phép. Nó gồm nền tảng, phiên bản, và với mỗi lượt gọi là nhà cung cấp, tên mô hình, tên máy chủ điểm cuối, số token, mã trạng thái và thời lượng. Không bao giờ có prompt, đoạn chat, câu trả lời, khoá, tên tệp, đường dẫn, địa chỉ IP hay chuỗi truy vấn.

Danh sách đầy đủ nằm trong Thông báo quyền riêng tư. Điều khoản sử dụng và Tuyên bố miễn trừ trách nhiệm nói rõ dự án chịu và không chịu trách nhiệm những gì.

Mã nguồn ở github.com/locmaymo/stm, theo giấy phép AGPL-3.0. Bạn đọc được từng dòng, kể cả đoạn quyết định những gì được gửi đi.