Cómo ejecutar chatGPT en Kindle Paperwhite

ChatGPT en su Kindle: se puede pero no es fácil

Ejecutar chatGPT en el Kindle no estaba en los planes.

Me había enterado de un nuevo método para liberar el Kindle Paperwhite explotando una vulnerabilidad en los avisos pagos y decidí aprovecharlo para instalar la aplicación de lectura de eBooks KoReader, que tiene muchas mejoras, entre ellas la posibilidad de leer PDFs sin hacer Zoom y sin saludar reiteradamente a la madre de Jeff Bezos.

chatGPT en Kindle Paperwhite

Una vez liberado el Kindle reveló su naturaleza: un Linux touch con pantalla de eInk. Y pensé entonces en destinar unas horas del domingo para desarrollar una versión de chatGPT capaz de ser ejecutada en ese Linux algo particular.

Adbreak Jailbreak

El procedimiento no es sencillo ni corto, pero la mayor parte corresponde al Jailbreak y tener un Kindle liberado ofrece beneficios inmediatos:

1. Una aplicación de lectura mucho más flexible y potente

2. Sacar los anuncios del Kindle (sin pagar $20 usd)

3. Mejoras en la duración de la batería

4. La posibilidad de instalar reproductor de mp3, emulador de Gameboy y apps de dibujo

Es válido preguntarse sobre la utilidad y el sentido de tener chatGPT en un Kindle. Quizás no exista ninguna utilidad y solo se trate de probar la API de OpenAI, explorar el scripting en Bourne Shell y recordar el uso del temido editor VI. Quizás tampoco tenga sentido, salvo reclamar la soberanía sobre nuestros dispositivos para afirmar que podemos ser mucho más que un usuario en conformidad.

API de OpenAI

Qué hace falta

  • Cualquier Kindle Paperwhite. El mío es 2018, décima generación y con apenas 4gb. Más modernos y con más espacio, mejor todavía.
  • Un cable USB capaz de transmitir datos (no solo carga)
  • Una computadora Windows o MAC.
  • Un API key de OpenAI. Hay que ir a https://platform.openai.com/api-keys y obtener el key.

Este jailbreak funciona con las versiones de firmware actuales, pero es muy probable que Amazon pronto bloquee el método, así que puede ser previsor desactivar el WiFi e impedir que se actualice el Kindle.

Telnet con Putty al rooted Kindle, port 23

Procedimiento

  1. Jailbreakear el Kindle con el procedimiento descripto en https://kindlemodding.org/jailbreaking/index.html
  2. Instalar kTerm y Start Telnet (están en el Github)

Método A

3. Descargar kindlegpt.sh de Github

4. Editar kindlegpt.sh para setear la API de openAI

5. Copiar al Kindle /mnt/us/extensions/kterm/kindlegpt.sh

6. Abrir Kual, iniciar kterm

7. Asignar permiso de ejecución con chmod +x kindlegpt.sh

8. Ejecutar con: bash kindlegpt.sh

Con “quit” se sale de chatGPT y con dos botones sobre la pantalla se puede salir además del Kterm

Método B

En caso que de error la ejecución del .sh, eso puede deberse a caracteres de Windows que rompen el formato.

3. Conectar WiFi y abrir Start Telnet como si fuera un libro del Kindle

4. Conectarse al IP del equipo (aparece en pantalla), port 23 con Putty o cualquier otro software de terminal

5. cd mnt/us/extensions/kterm

6. vi kindlegpt.sh

7. Copiar y pegar el contenido de kindlegpt.sh y verificar si no es necesario hacer un ajuste al inicio del file ya que a veces no se copian las primeras líneas

8. Para grabar y salir en VI, tocar Escape, luego :wq enter

9. Dar permisos de ejecución con chmod +x kindlegpt.sh

10. Ejecutar con: bash kindlegpt.sh

Para segundas ejecuciones, basta con tocar el cursor arriba.

Con quit se sale de chatGPT y con dos botones sobre la pantalla se sale además del Kterm

Demo

Demo de chatGPT en un Kindle Paperwhite

Notas finales

La mayor complejidad fue trabajar con el set de restricciones del Kindle. Sin Python, tuve que recurrir al Bourne shell BusyBoxy. Y sin jq o simil, tuve que hacer algunos malabares para parsear el Json que contiene la respuesta de openAI.

Por su parte los errores de formato que metía Win sobre el sh, me llevaron al editor VI — Nano no instalado — a puro ESC :wq y ESC q!

Mejoras

Que la respuesta parezca tipeada (streaming), almacenar el chat de las sesiones y por sobre todo simplificar el procedimiento. Como viene el año es improbable que me ocupe yo, así que ahí va.

Leave a Reply