SableClient/Sable là một trong những repo ưu tiên API mà TopGit theo dõi, hiện có 328 sao, viết chủ yếu bằng TypeScript. An almost stable Matrix client.
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
A Matrix client built to enhance the user experience with quality-of-life features, cosmetics, utilities, and sheer usability. See the changelog.
Soon to be replaced desktop apps can be downloaded here. They auto-update by pulling the website.
Join our matrix space here to discuss features, issues, or meowing.
Forked from Cinny.
Getting started
The stable web app is available at app.sable.moe and tracks the latest GitHub release. Nightly builds are available at dev.sable.moe and from the nightly GitHub release.
You can also download our desktop app for Windows and Linux from releases. Release artifacts include build attestations, and desktop installations update automatically.
Android (Obtainium)
Android APKs are published to every release, and Obtainium keeps them updated straight from GitHub. Each release also ships an obtainium.json app config. Use it for the nightly channel, where prereleases and date-based version tracking have to be enabled to follow the rolling nightly tag.
Stable
Nightly
Setup & install
Install Obtainium.
Tap Add to Obtainium above. Stable opens the Add App page prefilled with https://github.com/SableClient/Sable; nightly opens an import prompt, since it carries the prerelease and version-tracking settings the rolling nightly tag needs.
Or download the obtainium.json for either channel and import it with Import/Export → Import from file.
Android builds are produced by the android job in tauri-build.yml, and the config by the obtainium job in the same workflow.
Relevant variables and switching between Nightly and Stable
Relevant variable differences between Nightly and Stable:
Include prereleases - true for Nightly, false for Stable
Fallback to older releases - false for Nightly, true for Stable
Use latest asset upload as release date - true for Nightly, false for Stable (this is due to Nightly builds being uploaded to one release instead of creating new ones)
Use release date as version string (pseudo-version) - true for Nightly, false for Stable (this is due to Nightly builds being uploaded to one release instead of creating new ones)
iOS (AltStore / SideStore)
Sable iOS builds are distributed as unsigned IPAs through AltStore and SideStore. Each release publishes both the IPA and an altstore-source.json manifest — stable builds to the latest GitHub release, nightly builds to the nightly GitHub release.
Stable Source
Nightly Source
Setup & install
Set up AltStore Classic or SideStore on your device.
Add the Sable source (tap a button above), or add it manually:
Install Sable from the source. The IPA is unsigned; AltStore/SideStore re-sign it with your personal development certificate at install time, so apps refresh every 7 days (the standard free-account limitation).
iOS builds are produced by the ios job in tauri-build.yml and track the same dev/v* triggers as desktop builds.
Self-hosting
You have a few options for self hosting, you can:
Run the prebuilt docker container.
Deploy on a site like GitLab Pages. Jae has a guide here.
Build it yourself.
Docker
Prebuilt images are published to ghcr.io/sableclient/sable.
latest tracks the current latest version release.
dev tracks the current dev branch image.
X.Y.Z tags are versioned releases.
X.Y tags float within a release line.
Pushes to dev also publish a short commit SHA tag.
Run the latest image with:
docker run --rm -p 8080:8080 ghcr.io/sableclient/sable:latest
Then open http://localhost:8080.
If you want to override the bundled config.json, mount your own
file at /app/config.json:
To build and serve Sable yourself with nginx, clone this repo and build it:
pnpm i # Installs all dependencies
pnpm run build # Compiles the app into the dist/ directory
After that, you can copy the dist/ directory to your server and serve it.
In the config.json, you can modify the default homeservers, feature rooms/spaces, toggle the account switcher, and toggle experimental simplified slilding sync support.
Optional default client settings
While the default settings are recommended for most users, you can optionally add a top-level "settingsDefaults" object whose keys match client settings (only fields you want to override) to override them. The default settings for any new logins will match these. Existing keys in local storage or users who chose to sync settings with their account data will still have their settings set.
To deploy on subdirectory, you need to rebuild the app youself after updating the base path in build.config.ts.
For example, if you want to deploy on https://sable.moe/app, then set base: '/app'.
Local development
[!TIP]
The easiest way to get started is with mise, it manages node, pnpm, rust, and other tooling.
mise install # Install all required tools
mise run setup # Install dependencies (pnpm install)
mise run dev # Start the Vite dev server
Run mise tasks to list all available tasks (build, test, lint, etc.).
To build the app:
mise run build
Desktop & Mobile (Tauri)
Sable uses Tauri for native desktop and mobile builds.
mise run tauri:setup # Install Rust toolchain + system packages
mise run tauri:setup:macos # Install Xcode (macOS only)
mise run tauri:setup:windows # Install VS Build Tools + WebView2 (Windows only)
mise run tauri wry dev # Dev server with system webview (WebKit/WebView2)
mise run tauri cef build # Production build with Chromium Embedded Framework
mise run tauri --help # Any other args pass through to the Tauri CLI
When the first argument is wry or cef and the second is dev or build, the wrapper injects --features <runtime>,updater --no-default-features. Everything else is forwarded to tauri as-is.
Deployment and infrastructure
Deployment workflows and infrastructure details live in
infra/README.md.
SableClient/Sable thuộc nhóm API trên TopGit, cùng 2 topic GitHub. Trang Trending và Topics liệt kê các repo cùng số sao và cùng ngôn ngữ để so sánh.
Đọc thêm về SableClient/Sable ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/SableClient/Sable là nguồn chính thức.
SableClient/Sable có bao nhiêu sao?
SableClient/Sable có 328 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/SableClient/Sable. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
SableClient/Sable có phải mã nguồn mở không?
Có — SableClient/Sable phát hành theo license AGPL-3.0, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/SableClient/Sable.
SableClient/Sable có trang demo không?
Dự án có trang chủ ở https://app.sable.moe. Tab "Readme" ở trang này thường có ảnh chụp và hướng dẫn bắt đầu nhanh.
SableClient/Sable là gì?
SableClient/Sable (SableClient/Sable) là dự án TypeScript trên GitHub. Theo mô tả gốc: An almost stable Matrix client.
SableClient/Sable so với các dự án API khác thế nào?
SableClient/Sable được TopGit xếp vào nhóm API, với 328 sao GitHub và viết bằng TypeScript. Xem trang chủ đề API trên TopGit để so sánh với các dự án tương tự theo số sao và mức độ hoạt động.
Đọc đầy đủ README ở tab phía trên.
Muốn nghe thêm một ý kiến về Sable?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về Sable.