icono del complemento Stylistic: una pluma sobre un documento
IA editorial dentro de Microsoft Word

Stylistic

La IA propone. Word sigue siendo donde decides.

Stylistic lee el documento abierto, lo envía a un backend Mastra autenticado y escribe la respuesta como cambios controlados reales, cada uno con un comentario que lo justifica. Aceptas o rechazas cada sugerencia con las herramientas de revisión que ya usas.

páginas editadas en un libro real
200+
tipos de sugerencia
2
API mínima del host
WordApi 1.6
caracteres de instrucciones fijas
4000
Una ejecución, de punta a punta

De un párrafo abierto a un cambio controlado

El análisis es una cadena de responsabilidad: siete manejadores ordenados, cada uno con una sola tarea y cada uno capaz de detener la ejecución antes de tocar el documento. Este es el orden real en el que están conectados.

  1. El documento abiertoOffice.js · WordApi 1.6
  2. Panel de StylisticReact · Fluent UI · Zustand
  3. Backend MastraBun · PostgreSQL · pgvector
Superficie autenticada
  • POST /documents/resolve
  • GET /user/preferences
  • PUT /user/preferences
  • POST /auth-bridge-session
Carga de la sugerencia
  • context
  • anchor
  • suggestedText
  • justification
  • category
  • severity
type → qué llega a Word
  • track-changeUna revisión real de Word. El control de cambios se activa en el primer reemplazo de la ejecución.
  • comment-onlyUn comentario al margen con su categoría y su justificación.
Las dos mitades

Un cliente delgado en Word, el razonamiento detrás de una API autenticada

El complemento es dueño de todo lo que toca el documento. El backend es dueño de la autenticación, del perfil de autor persistido y del razonamiento editorial.

icono del complemento Stylistic: una pluma sobre un documento

Stylistic

Complemento de Word · Office.js · React

El panel orquesta Word: lee el documento, aplica las revisiones y mantiene al autor al mando de cada una de ellas.

  • TypeScript
  • React
  • Fluent UI v9
  • Zustand
  • Office.js
  • @mastra/client-js
  • better-auth
  • Vitest
Ver código
Dieciséis sugerencias sobre un capítulo de novela, filtradas por severidad. Cada tarjeta lleva su categoría, su justificación y su propio aceptar o rechazar.
  • El autor es dueño del control de cambios

    El control de cambios sigue activo mientras haya trabajo pendiente y solo una acción explícita lo apaga.

  • Office.js vive en una sola capa

    Solo los adaptadores de Word pueden tocar la API del host. Dominio, estado e interfaz se prueban sin una instancia de Word presente.

  • Limpia lo que deja atrás

    Las sugerencias resueltas dejan metadatos atrás; una limpieza dedicada elimina los comentarios huérfanos cuando termina la revisión.

Antes de la ejecución. El panel declara qué va a leer: el documento completo, o la selección y su cantidad exacta de caracteres.
Después de la ejecución. Eliminaciones, inserciones y comentarios al margen son revisiones comunes de Word: la pestaña Revisar, el botón de aceptar todo y el historial del documento siguen funcionando.

Stylistics Backend

Mastra · PostgreSQL + pgvector · Bun

Autenticación, contexto documental persistido y workflows delgados que mantienen la lógica determinista fuera del modelo.

  • Mastra
  • TypeScript
  • Better Auth
  • PostgreSQL
  • pgvector
  • Drizzle ORM
  • Zod
  • Pino
  • Docker
Ver código
Mastra Studio sobre el backend en ejecución: trazas, costo en tokens y latencia por ejecución de agente, que es como se rastrea una corrección mala hasta la ejecución que la produjo.
  • Los workflows se mantienen delgados

    El workflow de corrección solo secuencia tres pasos: cargar el perfil, corregir, actualizar el perfil. Mastra orquesta; las reglas de negocio viven fuera de él.

  • El perfil del autor aprende y olvida

    Los patrones vivos llevan un estado de semáforo. Un patrón que vuelve limpio dos veces se promueve y luego se elimina, de modo que el contexto que lee el agente se mantiene pequeño.

  • Autenticación pensada para un diálogo de Office

    Better Auth con Google OAuth termina el callback en el origen del backend y entrega la sesión al complemento mediante un código de un solo uso y corta vida.

  • La elección de modelo es un solo archivo

    Los agentes leen de un pool central de modelos con alternativas ordenadas, así que cambiar Gemini por GPT, o añadir uno local, nunca toca un workflow.

Casos límite

Las preguntas que conviene hacer antes de que toque un manuscrito

A todo lo que edita el texto de otra persona le hacen las mismas seis preguntas. Cada una está respondida en el repositorio y cada respuesta es un comportamiento verificable, de modo que puedes decidir con los casos incómodos a la vista.

  • ¿Y si Word resuelve solo la mitad de un reemplazo?

    Word aplica un reemplazo como dos mutaciones separadas, una eliminación y una inserción, y puede resolver una sin la otra. El complemento vigila precisamente eso y lo expone como reemplazo resuelto a medias en el momento en que ocurre.

  • ¿Y si el texto se movió entre el análisis y la revisión?

    Las sugerencias se localizan primero por context y luego por anchor. Si el autor editó ese fragmento mientras tanto y el anchor ya no existe, la tarjeta lo informa como no encontrado.

  • ¿Quién firma los cambios?

    Word atribuye las revisiones al usuario con sesión iniciada. En un documento compartido, las ediciones de la IA no se distinguen de las del propio autor, y por eso justamente cada una llega con un comentario de justificación adjunto.

  • ¿Qué documentos quedan fuera de alcance?

    Dos clases de documento quedan fuera de alcance.

    • DRM o RMSUn archivo protegido no puede ser modificado por ningún complemento.
    • Coautoría en vivoDos personas reescribiendo el mismo rango mientras se escriben revisiones no es algo que este flujo intente arbitrar.
  • ¿Funciona sin el backend?

    El análisis y el feedback corren sobre un servidor Mastra con Better Auth y una sesión bearer válida. El complemento verifica esa conexión antes de leer un solo párrafo, así que un backend inaccesible se detiene en un mensaje y tu documento nunca llega a abrirse, mucho menos a editarse a medias.

  • ¿Y los idiomas distintos del español?

    El español es el idioma validado, y los criterios editoriales están construidos alrededor de su uso. El contrato ya lleva un código de idioma, así que el camino a un segundo está abierto en cuanto sus criterios se escriban y se prueben con el mismo estándar.

Ponerlo en marcha

Dos repositorios, una instalación local

  1. Empieza por el backend: el complemento no tiene con quién hablar hasta que Mastra esté arriba.

  2. Copia .env.example y define los dos valores que el backend necesita.

  3. Levanta PostgreSQL con pgvector mediante Docker Compose y arranca Mastra en el puerto 4111: Studio, OpenAPI y Swagger UI vienen incluidos.

  4. Ahora el complemento: bun run start sirve el panel en https://localhost:3000 y lo carga en Word de escritorio.

  5. En Word: Show Task Pane, inicia sesión con Google, elige el perfil de análisis y ejecuta Analizar y sugerir.

Ajustes: el perfil de análisis más hasta 4000 caracteres de instrucciones fijas que el corrector debe vigilar en todos los documentos. El correo de la cuenta está tapado en la captura.

Ejecutarlo desde el código

Ambos repositorios son Apache-2.0 y arrancan con Bun. Estos son los comandos documentados, en el orden en que deben ejecutarse.

  • Stylistics BackendNode >= 22.13 · Bun · Docker
    bun installcp .env.example .envdocker compose up -d postgresbun run dev
    Entorno
    • POSTGRES_URLLa base de datos PostgreSQL local
    • Google OAuthhttps://localhost:3000 como origen de confianza
  • Stylistic add-inNode 18+ · Bun · Word 2019+ or Word Online
    bun installbun run start