wayBetter

(FOSS) Giờ đây mọi thứ đều là ứng dụng.

Những ứng dụng bạn đang dùng, tốt hơn hẳn.

wayBetter đặt những ứng dụng bạn vốn đang dùng vào một cửa sổ gốc nhẹ nhàng và mở rộng chúng ngay tại chỗ, giống như cách BetterDiscord mở rộng Discord. Tab, ngăn chia đôi, mọi tài khoản cạnh nhau, chủ đề, plugin và các bản sửa cho lỗi của chính ứng dụng. Ai cũng có thể tạo chủ đề hoặc plugin. Ai cũng có thể xây dựng ứng dụng tiếp theo.

Tải wayBetter for X

Tải wayBetter for X cho Windows · miễn phí · GPL-3.0-or-later · không thu thập dữ liệu về những gì bạn đọc hay đăng

  • 14 chủ đề trong wayBetter for X
  • 14 plugin đi kèm
  • 9 bản sửa cho lỗi của chính X
  • 7.9 MB dung lượng tải về
  • 0.23 s để mở
  • 0 phụ thuộc trong waybetter
  • $0 mãi mãi

01 Vấn đề

Ứng dụng nào cũng chỉ mang đến một nửa những gì bạn cần.

Phần còn lại thì bạn không thể có: ứng dụng quyết định bạn được dùng bao nhiêu tài khoản, nó trông ra sao và khi nào lỗi được sửa. wayBetter giữ nguyên ứng dụng và bổ sung nửa còn lại.

  1. A

    Mỗi cửa sổ một tài khoản. Đăng xuất, đăng nhập, rồi lặp lại.

    Mọi tài khoản, cạnh nhau, tất cả đăng nhập cùng lúc.

  2. B

    Ứng dụng có lỗi? Cứ chờ họ sửa.

    Được sửa trên máy của bạn, ngay tại chỗ, hôm nay.

  3. C

    Giao diện do họ chọn. Tính năng do họ phát hành.

    Chủ đề và plugin mà ai cũng viết được.

  4. D

    Cả một trình duyệt bị nhồi vào mỗi ứng dụng máy tính.

    Một cửa sổ gốc nhẹ duy nhất, chạy trên WebView của hệ thống.

Nhẹ ngay từ thiết kế

Giờ đây mọi thứ đều là ứng dụng. Một ứng dụng nhẹ.

Một cửa sổ gốc chạy trên WebView mà hệ thống của bạn vốn đã có, chứ không phải thêm một trình duyệt nữa nhồi vào từng ứng dụng.

7.9 MBtoàn bộ trình cài đặt Windows
0.23 stừ lúc khởi chạy đến khi cửa sổ hiện lên
17 msđể chủ đề, bản sửa lỗi và plugin tải xong trong trang
0tác vụ dài thêm vào trang

Đo trên Windows 11 với wayBetter for X 1.0: kích thước trình cài đặt của bản tải về đã phát hành; trung vị của 3 lần khởi chạy; thời gian chạy runtime và các tác vụ dài (>50 ms) được đo khi có và không có wayBetter.

02 Một hệ thống

Ba lớp bao quanh ứng dụng thật.

Mọi ứng dụng wayBetter đều là cùng một hệ thống: một Vỏ gốc, một Runtime trong trang và một Bộ điều hợp nhỏ hiểu rõ ứng dụng. Bản thân ứng dụng vẫn làm đúng việc của nó. Không có gì đi qua proxy hay được lưu trữ lại ở nơi khác; mọi thay đổi chỉ diễn ra trên máy của bạn.

01 · Vỏ

Một cửa sổ gốc nhẹ nhàng.

Tauri 2, chạy trên WebView của hệ thống. Bộ khung mà bạn ước ứng dụng nào cũng có:

  • Tab, tab được ghim và ngăn chia đôi: kéo một tab hoặc liên kết ra mép
  • Mỗi tài khoản trong hồ sơ riêng, đăng nhập cạnh nhau
  • Định tuyến liên kết: mở trong cùng tab, bên cạnh, trong tab mới hoặc trong trình duyệt của bạn
  • Thanh địa chỉ và bảng lệnh Ctrl K
  • Bản cập nhật có chữ ký, cài đặt âm thầm

02 · Runtime

Chủ đề và plugin, ngay trong trang.

Được chèn vào chính các trang của ứng dụng, dùng chung cho mọi ứng dụng wayBetter:

  • Chủ đề trên một nền tảng màu duy nhất (mô hình OKLab của bảng màu ứng dụng)
  • Plugin JavaScript kiểu BetterDiscord với một API trợ giúp nhỏ gọn
  • Một trung tâm DOM và một trung tâm yêu cầu, để các tính năng luôn nhẹ
  • CSS của riêng bạn, áp dụng sau chủ đề

03 · Bộ điều hợp

Một mảnh nhỏ cho mỗi ứng dụng.

Phần duy nhất hiểu rõ ứng dụng: máy chủ, bố cục, nút tài khoản và dữ liệu mà ứng dụng vốn đã tải.

  • Một SiteSpec gốc và một SiteAdapter trong trang
  • Một danh sách ngắn, đã được rà soát về những gì các tab của ứng dụng được phép gọi
  • Mọi thứ còn lại đến từ hệ thống

03 Ứng dụng đầu tiên

wayBetter for X.

x.com thật trong các thẻ và khung chia đôi, mọi tài khoản cạnh nhau, mười bốn chủ đề, tám plugin khu vực và các bản sửa cho lỗi X mang theo: like và follow giẫm lên nhau, bản nháp biến mất, dòng thời gian nhảy lung tung. Có ngay cho Windows, macOS và Linux.

14chủ đề tích hợp, và của bạn
14plugin đi kèm, tắt cho đến khi bạn bật
9bản sửa cho lỗi của chính X
36tinh chỉnh để ẩn, hiện và thay đổi X
  • 01
    Mọi tài khoản, cạnh nhau

    Tab và ngăn chia đôi trên x.com thật, mỗi tài khoản đăng nhập cùng lúc trong hồ sơ riêng.

  • 02
    Lỗi của X, đã được sửa

    Lượt thích và theo dõi được ghi nhận đúng, vị trí của bạn được giữ khi Quay lại, dòng thời gian không giật, lượt tải lên được thử lại.

  • 03
    Kho bản nháp

    Mọi bản nháp được lưu cục bộ cùng lịch sử sửa đổi, và được đặt lại khi X làm mất.

  • 04
    Mười bốn chủ đề, tám plugin khu vực

    Thiết kế lại hoàn toàn, không chỉ màu sắc. Reader+, Chat+, Media+ và năm plugin khu vực khác, một công tắc cho mỗi tính năng.

  • 05
    Ctrl+K cho mọi thứ

    Một bảng lệnh cho tab, tài khoản, cài đặt và tìm kiếm trên X với các chip toán tử.

  • 06
    Bộ cột

    Một bộ cột kiểu TweetDeck: các cột X cạnh nhau, mỗi cột trong tài khoản bạn chọn, kèm bộ lọc và số mục chưa đọc.

wayBetter for X

Miễn phí · mã nguồn mở · cập nhật âm thầm

Tải về cho Windows Xem tất cả

Windows · macOS · Linux

04 Biến nó thành của bạn

Ai cũng có thể tạo chủ đề và plugin.

Một chủ đề là một tệp JSON. Một plugin là một tệp JavaScript. Không cần chờ duyệt, không cần tài khoản để dùng: viết ra, thả vào thư mục, chia sẻ tệp hoặc xuất bản trên Cửa hàng. Nếu biết viết CSS, bạn có thể khoác áo mới cho một ứng dụng. Nếu biết một chút JavaScript, bạn có thể thêm tính năng mà nó chưa bao giờ có.

Chủ đề

Màu sắc, phông chữ, hình dạng, bố cục, nền, hiệu ứng.

Nhập và xuất JSON trong bảng Giao diện. Độ tương phản được kiểm tra giúp bạn: chữ luôn dễ đọc trên mọi bề mặt.

Trang chủĐăng
Dành cho bạnĐang theo dõi
wayBetter@CRTkafa · 2m

Mười bốn chủ đề được cài sẵn. Chủ đề thứ mười lăm là của bạn.

1248♥ 101
playfishies@playfishies · 9m

Một tệp JSON. Thả vào Giao diện → Nhập.

Night Ink
deep-sea.theme.json
{
  "name": "Deep Sea",
  "author": "@you",
  "mode": "dark",
  "colors": { "bg": "#06141b", "text": "#e6f4f1", "accent": "#2ee6c5" },
  "font": { "family": ["Geist"], "scale": 1.02 },
  "shape": { "radius": 14, "button": 9999, "avatar": "rounded" },
  "layout": { "density": "compact", "cards": true },
  "background": { "kind": "pattern", "pattern": "grid",
                  "ink": "#2ee6c5", "opacity": 0.08, "size": 28 },
  "effects": { "hover": "glow" }
}
Plugin

Một tệp. start() và stop().

*.plugin.js kiểu BetterDiscord, thả vào thư mục plugin rồi bật trong Cài đặt. Một API trợ giúp lo những phần rắc rối.

copy-quote.plugin.js
/**
 * @name Copy Quote
 * @description y on a focused post copies "@handle: text".
 * @version 1.0.0
 * @author @you
 */
module.exports = class CopyQuote {
  start() {
    const api = window.wayBetter.api;
    this.scope = api.scope();
    this.scope.onKey((event, post) => {
      if (event.key !== 'y' || !post) return;
      const t = api.tweet(post);
      if (t) api.copyText(`@${t.handle}: ${t.text}`)
        .then(() => api.toast('Copied'));
    });
  }
  stop() { this.scope.dispose(); }
};

API trợ giúp

  • storage(ns)
  • observe(sel, fn)
  • onRouteChange(fn)
  • onKey(fn)
  • tweet(el)
  • copyText(s)
  • toast(msg)
  • injectCSS(id, css)
  • waitFor(sel)
  • scope()

Mười bốn plugin đi kèm wayBetter for X

  • Thread Reader
  • Exact Timestamps
  • Clean Links
  • Copy as Markdown
  • Alt-text Reminder
  • User Notes
  • Muted Regex
  • Reading Time
  • Media Grid Focus
  • Keyboard Plus
  • Emoji Picker
  • Hide Blue Checks
  • Focus Mode
  • Reply Guard

05 Xây dựng trên nền tảng này

Toàn bộ hệ thống là một gói duy nhất.

Runtime của trang và các mô hình vỏ đứng sau wayBetter for X có trên npm dưới tên waybetter: ESM thuần kèm kiểu dữ liệu, mỗi mô-đun một đường dẫn con riêng, không có phụ thuộc nào. Lấy những phần bạn cần, hoặc xây dựng cả một ứng dụng.

cửa sổ dòng lệnh

npm i waybetter

không phụ thuộcESM + .d.tsruntime/* và shell/*GPL-3.0-or-later
adapter.ts · trích từ README, rút gọn
import { configureRuntime, type SiteAdapter }
  from 'waybetter/runtime/site';

export const KICK: SiteAdapter = {
  product: 'wayBetter for Kick',
  hosts: ['kick.com'],
  runtimeGlobal: 'WayBetterKick',
  apiMarks: ['/api/'],
  // plugins, rail, account, links, themeSources …
};
configureRuntime(KICK);

waybetter/runtime/*

  • sitegốc kết hợp của bộ điều hợp
  • domHubmột MutationObserver, một khung hình
  • netHubmột hook fetch/XHR cho mọi tính năng
  • pluginApihàm trợ giúp cho plugin của người dùng
  • themeTokensmô hình màu OKLab
  • paneNavmột thanh điều hướng khi chia đôi
  • linkRoutingbên cạnh, tab hoặc trình duyệt
  • accountReporttài khoản nào đang đăng nhập

waybetter/shell/*

  • addressModelchip trên thanh địa chỉ
  • paneModelngăn chia đôi, liên kết mở bên cạnh
  • linkDropthả một liên kết, có ngay một ngăn
  • palettexếp hạng trong bảng lệnh
  • profileModelhồ sơ tài khoản
  • updateModelchip cập nhật
  • windowControlsthanh tiêu đề và các nút cửa sổ
  • chromekích thước thanh tiêu đề và thanh công cụ

06 Điều tiếp theo

X là ứng dụng đầu tiên. Ứng dụng tiếp theo do bạn xây dựng.

Bất kỳ ứng dụng nào có phiên bản web đều có thể có cùng cửa sổ, chủ đề và plugin như vậy. Đây có thể là những cái tên tiếp theo. Chưa cái nào được công bố, chưa cái nào có ngày ra mắt: chúng đang chờ ai đó viết bộ điều hợp. Ví dụ về bộ điều hợp trong chính README là Kick.

có thể

wayBetter forYouTube?

Tab và ngăn chia đôi cho video, mọi tài khoản kênh cạnh nhau, chủ đề, plugin.

có thể

wayBetter forKick?

Các luồng phát cạnh nhau trong một cửa sổ nhẹ, plugin trò chuyện của bạn, chủ đề của bạn.

có thể

wayBetter forTwitch?

Ngăn chia đôi cho nhiều luồng phát, mọi tài khoản đều đăng nhập, plugin cho trò chuyện.

có thể

wayBetter forDiscord?

Ứng dụng web trong một cửa sổ Tauri nhẹ thay cho ứng dụng nặng nề. Cùng một vỏ, cùng các plugin.

wayBetter forứng dụng bạn đang dùng.

Hãy viết bộ điều hợp. Vỏ, runtime, chủ đề và plugin đi kèm theo.

npm i waybetter

Xây dựng ứng dụng tiếp theo.

Bắt đầu từ gói và ví dụ về bộ điều hợp trong README. Đã làm được gì đó? Hãy thêm vào danh sách “Dự án dùng wayBetter” bằng một pull request.

Bắt đầu xây dựng

Đây là những ứng dụng có thể sẽ đến, không phải sản phẩm đã công bố. YouTube, Kick, Twitch và Discord là nhãn hiệu của các chủ sở hữu tương ứng; logo chỉ được hiển thị để gọi tên dịch vụ. wayBetter không liên kết với, không được xác nhận hay tài trợ bởi bất kỳ bên nào trong số đó.

07 Miễn phí và mã nguồn mở

Không có bẫy nào. Hãy đọc từng dòng.

  1. i.

    Miễn phí

    Không gói trả phí, không quảng cáo, không mời nâng cấp. Bây giờ không, mà “sau bản beta” cũng không.

  2. ii.

    Mở

    GPL-3.0-or-later. Framework và các ứng dụng có mã nguồn công khai trên git.crt.fyi.

  3. iii.

    Riêng tư

    Không phân tích, không thu thập dữ liệu về những gì bạn đọc hay đăng. Bản nháp, cài đặt và plugin nằm lại trên máy của bạn.

  4. iv.

    Của bạn

    Fork nó, tạo chủ đề, viết plugin, xây dựng ứng dụng tiếp theo. Giấy phép giữ cho nó luôn mở với cả người đến sau.

08 Nguyên tắc

Tốt hơn, chứ không khác đi.

Ứng dụng thật, ngay tại chỗ

Bạn đăng nhập vào chính ứng dụng. Không có gì đi qua proxy hay được lưu trữ lại ở nơi khác; nó chỉ được thay đổi trên máy của bạn.

Nhẹ, không phải thêm một trình duyệt

Một cửa sổ Tauri trên WebView của hệ thống, mỗi ứng dụng một cửa sổ, với mọi tài khoản ở bên trong.

Không bao giờ hành động thay bạn

Các bản sửa giúp chính những cú nhấp của bạn được ghi nhận. wayBetter không bao giờ tự đăng, tự theo dõi hay tự xóa bất cứ thứ gì.

Luôn mới, thật lặng lẽ

Bản cập nhật có chữ ký và cài đặt âm thầm, nên các bản sửa đến nơi mà không cần thêm trình cài đặt nào.

Bắt đầu với X.
Xây dựng điều tiếp theo.

Xem wayBetter for X