wayBetter

(FOSS) Ahora todo es una app.

Las apps que usas, mucho mejores.

wayBetter pone las apps que ya usas en una ventana nativa y ligera y las amplía ahí mismo, igual que BetterDiscord amplía Discord. Pestañas, paneles divididos, todas tus cuentas una al lado de la otra, temas, plugins y correcciones para los fallos de la propia app. Cualquiera puede crear un tema o un plugin. Cualquiera puede construir la próxima app.

Consigue wayBetter for X

Descargar wayBetter for X para Windows · gratis · GPL-3.0-or-later · sin telemetría sobre lo que lees o publicas

  • 14 temas en wayBetter for X
  • 14 plugins incluidos
  • 9 correcciones para los fallos del propio X
  • 7.9 MB de descarga
  • 0.23 s en abrirse
  • 0 dependencias en waybetter
  • $0 para siempre

01 El problema

Cada app te da solo la mitad de lo que necesitas.

El resto no puedes tenerlo: la app decide cuántas cuentas puedes usar, qué aspecto tiene y cuándo se arreglan sus fallos. wayBetter conserva la app y añade la otra mitad.

  1. A

    Una cuenta por ventana. Cierra sesión, inicia sesión, y vuelta a empezar.

    Todas tus cuentas, una al lado de la otra, con la sesión abierta a la vez.

  2. B

    ¿Un fallo en la app? Espera a que lo arreglen.

    Arreglado en tu equipo, ahí mismo, hoy.

  3. C

    El aspecto que ellos eligieron. Las funciones que ellos lanzaron.

    Temas y plugins que cualquiera puede escribir.

  4. D

    Un navegador entero empaquetado en cada cliente de escritorio.

    Una sola ventana nativa y ligera, sobre el WebView del sistema.

Ligera por diseño

Ahora todo es una app. Y además ligera.

Una ventana nativa sobre el WebView que tu sistema ya tiene, no otro navegador empaquetado en cada app.

7.9 MBel instalador completo para Windows
0.23 sdesde que la abres hasta que la ventana aparece
17 mspara que temas, correcciones y plugins carguen en la página
0tareas largas añadidas a la página

Medido en Windows 11 con wayBetter for X 1.0: tamaño del instalador de la descarga publicada; mediana de 3 inicios; evaluación del entorno de ejecución y tareas largas (>50 ms) medidas con y sin wayBetter.

02 Un solo sistema

Tres capas alrededor de la app real.

Todas las apps de wayBetter son el mismo sistema: una Carcasa nativa, un Entorno de ejecución en la página y un pequeño Adaptador que conoce la app. La app sigue haciendo lo que hace. Nada pasa por un proxy ni se aloja en otro sitio; solo cambia en tu equipo.

01 · Carcasa

Una ventana nativa y ligera.

Tauri 2, sobre el WebView del sistema. El marco que te gustaría que tuviera toda app:

  • Pestañas, pestañas fijadas y paneles divididos: arrastra una pestaña o un enlace a un borde
  • Cada cuenta en su propio perfil, con la sesión abierta una al lado de la otra
  • Enrutado de enlaces: abrir en la misma pestaña, al lado, en una pestaña nueva o en tu navegador
  • Barra de direcciones y paleta de comandos Ctrl K
  • Actualizaciones firmadas que se instalan en silencio

02 · Entorno de ejecución

Temas y plugins, dentro de la página.

Se inyecta en las páginas de la propia app y lo comparten todas las apps de wayBetter:

  • Temas sobre una única base de color (un modelo OKLab de la paleta de la app)
  • Plugins de JavaScript al estilo BetterDiscord, con una pequeña API de ayuda
  • Un solo hub de DOM y un solo hub de peticiones, para que las funciones sigan siendo ligeras
  • Tu propio CSS, aplicado después del tema

03 · Adaptador

Una pequeña pieza por app.

La única parte que conoce la app: sus hosts, su diseño, su botón de cuenta y los datos que ya carga.

  • Un SiteSpec nativo y un SiteAdapter de página
  • Una lista corta y revisada de lo que las pestañas de la app pueden llamar
  • Todo lo demás lo pone el sistema

03 La primera app

wayBetter for X.

El x.com real en pestañas y paneles divididos, todas tus cuentas lado a lado, catorce temas, ocho plugins de área y arreglos para los fallos que trae X: likes y follows que se pisan, borradores que desaparecen, un timeline que salta. Ya disponible para Windows, macOS y Linux.

14temas integrados, y los tuyos
14plugins incluidos, desactivados hasta que los actives
9correcciones para los fallos del propio X
36ajustes para ocultar, mostrar y cambiar X
  • 01
    Todas tus cuentas, una al lado de la otra

    Pestañas y paneles divididos sobre el x.com real, cada cuenta con la sesión abierta a la vez en su propio perfil.

  • 02
    Los fallos de X, corregidos

    Me gusta y seguimientos que llegan, tu posición conservada al volver, sin saltos en la cronología, subidas que se reintentan.

  • 03
    Un baúl de borradores

    Cada borrador se guarda en tu equipo con su historial de revisiones y se restaura cuando X lo pierde.

  • 04
    Catorce temas, ocho plugins de área

    Rediseños completos, no solo colores. Reader+, Chat+, Media+ y cinco plugins de área más, con un interruptor para cada función.

  • 05
    Ctrl+K para todo

    Una paleta de comandos para pestañas, cuentas, configuración y la búsqueda de X con chips de operadores.

  • 06
    Deck

    Un deck al estilo TweetDeck: columnas de X una al lado de la otra, cada una en la cuenta que elijas, con filtros y contadores de no leídos.

wayBetter for X

Gratis · código abierto · se actualiza en silencio

Descargar para Windows Ver todo

Windows · macOS · Linux

04 Hazlo tuyo

Cualquiera puede crear temas y plugins.

Un tema es un archivo JSON. Un plugin es un archivo JavaScript. Sin cola de revisión y sin cuenta para usarlos: escríbelo, suéltalo en la carpeta, comparte el archivo o publícalo en la Tienda. Si sabes escribir CSS, puedes cambiarle el estilo a una app. Si sabes escribir un poco de JavaScript, puedes añadir la función que nunca llegó.

Temas

Colores, fuentes, forma, diseño, fondo, efectos.

Importa y exporta JSON en el panel Apariencia. El contraste se comprueba por ti: el texto se mantiene legible sobre cualquier superficie.

InicioPublicar
Para tiSiguiendo
wayBetter@CRTkafa · 2m

Vienen catorce temas. El decimoquinto es el tuyo.

1248♥ 101
playfishies@playfishies · 9m

Un archivo JSON. Suéltalo en Apariencia → Importar.

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" }
}
Plugins

Un archivo. start() y stop().

*.plugin.js al estilo BetterDiscord: lo sueltas en la carpeta de plugins y lo activas en Configuración. Una API de ayuda se encarga de lo engorroso.

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 de ayuda

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

Catorce vienen con 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 Construye sobre él

Todo el sistema es un solo paquete.

El entorno de ejecución de página y los modelos de la carcasa que hay detrás de wayBetter for X están en npm como waybetter: ESM puro con tipos, cada módulo en su propia subruta, cero dependencias. Toma las piezas que necesites o construye una app entera.

terminal

npm i waybetter

cero dependenciasESM + .d.tsruntime/* y shell/*GPL-3.0-or-later
adapter.ts · del README, abreviado
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/*

  • sitela raíz de composición del adaptador
  • domHubun MutationObserver, un frame
  • netHubun solo hook de fetch/XHR para todas las funciones
  • pluginApiayudas para los plugins de usuario
  • themeTokensel modelo de color OKLab
  • paneNavuna sola navegación en vista dividida
  • linkRoutingal lado, en pestaña o en el navegador
  • accountReportqué cuenta tiene la sesión abierta

waybetter/shell/*

  • addressModelchips de la barra de direcciones
  • paneModelpaneles divididos, enlaces al lado
  • linkDropsuelta un enlace, obtén un panel
  • paletteranking de la paleta de comandos
  • profileModelperfiles de cuenta
  • updateModelel chip de actualización
  • windowControlsbarra de título y botones de ventana
  • chrometamaños de la barra de título y de herramientas

06 Qué sigue

X fue la primera. La siguiente la construyes tú.

Cualquier app con versión web puede tener la misma ventana, los mismos temas y plugins. Estas podrían ser las siguientes. Ninguna está anunciada y ninguna tiene fecha: esperan a que alguien escriba el adaptador. El ejemplo de adaptador del propio README es Kick.

posible

wayBetter forYouTube?

Pestañas y paneles divididos para vídeos, todas las cuentas de canal una al lado de la otra, temas, plugins.

posible

wayBetter forKick?

Directos uno al lado del otro en una sola ventana ligera, tus plugins de chat, tu tema.

posible

wayBetter forTwitch?

Paneles divididos para varios directos, todas las cuentas con la sesión abierta, plugins para el chat.

posible

wayBetter forDiscord?

La app web en una ventana Tauri ligera en lugar del cliente pesado. La misma carcasa, los mismos plugins.

wayBetter forla app que usas.

Escribe el adaptador. La carcasa, el entorno de ejecución, los temas y los plugins vienen con él.

npm i waybetter

Construye la siguiente.

Empieza por el paquete y el ejemplo de adaptador del README. ¿Has construido algo? Añádelo a la lista “Proyectos que usan wayBetter” con un pull request.

Empezar a construir

Posibles próximas apps, no productos anunciados. YouTube, Kick, Twitch y Discord son marcas de sus respectivos propietarios; sus logotipos se muestran solo para nombrar los servicios. wayBetter no está afiliado con ninguno de ellos, ni avalado ni patrocinado por ellos.

07 Gratis y de código abierto

Sin trampa. Lee cada línea.

  1. i.

    Gratis

    Sin plan de pago, sin anuncios, sin ventas agresivas. Ni ahora ni “después de la beta”.

  2. ii.

    Abierto

    GPL-3.0-or-later. El framework y las apps son código público en git.crt.fyi.

  3. iii.

    Privado

    Sin analíticas, sin telemetría sobre lo que lees o publicas. Los borradores, la configuración y los plugins se quedan en tu equipo.

  4. iv.

    Tuyo

    Haz un fork, ponle un tema, escribe plugins, construye la próxima app. La licencia lo mantiene abierto también para quien venga después.

08 Principios

Mejor, no diferente.

La app real, en su sitio

Inicias sesión en la propia app. Nada pasa por un proxy ni se aloja en otro sitio; solo se cambia en tu equipo.

Ligera, no otro navegador

Una ventana Tauri sobre el WebView del sistema, una por app, con todas tus cuentas dentro.

Nunca actúa por ti

Las correcciones hacen que tus propios clics lleguen. wayBetter nunca publica, sigue ni borra nada por su cuenta.

Al día sin hacer ruido

Las actualizaciones están firmadas y se instalan en silencio, así que las correcciones llegan sin otro instalador.

Empieza por X.
Construye lo que sigue.

Ver wayBetter for X