Túnel SSH
El interruptor Túnel SSH llega a una base detrás de un bastión con el cliente SSH propio de Calíope, y el host y el puerto del perfil pasan a ser la base vista desde el bastión.
Cada capacidad, verificada contra el código fuente.
Calíope se distribuye como una única aplicación con las capacidades listadas abajo, disponibles en Mac, iPad, iPhone y Apple Vision Pro. Cada entrada corresponde a código que existe hoy — este es un catálogo, no una lista de deseos. Usa los atajos para saltar a una categoría o recorre la lista completa.
Esta página describe Calíope 1.8, la versión que estoy construyendo ahora mismo. La 1.7 está en la App Store para Mac, iPad, iPhone, Apple Watch, Apple TV y Apple Vision Pro. El changelog dice en qué versión llegó cada función.
El interruptor Túnel SSH llega a una base detrás de un bastión con el cliente SSH propio de Calíope, y el host y el puerto del perfil pasan a ser la base vista desde el bastión.
Antes de confiar en un bastión, Calíope enseña su huella SHA256, dice si es nueva o si cambió desde la última vez, y espera a que confíes en ella o la actualices.
El interruptor SSL / TLS cifra la conexión, verifica el servidor contra las autoridades del sistema o un archivo de CA, y admite certificado y clave de cliente opcionales.
Las contraseñas, las frases de claves SSH y las claves de API viven en el Llavero, nunca en un archivo, y van al Llavero de iCloud sólo si enciendo ese interruptor aparte.
Con el interruptor de Ajustes activo, Conectar pide primero Touch ID, Face ID u Optic ID, y si falla la conexión no sigue.
Cuando el host principal no responde se intenta la dirección alternativa con el mismo puerto y las mismas credenciales, y la sesión dice que entró por ahí.
Un catálogo de etiquetas con el nombre y el color que elijas, a partir de Local, Pruebas o Producción si quieres, marca cada conexión con el entorno al que pertenece.
Cada etiqueta lleva una protección, ninguna, confirmar lo que escribe o sólo lectura, que el guarda de la sesión aplica a toda sentencia que escribe, la mande la herramienta que la mande.
Con este interruptor activo, cambiar la base activa sobre una conexión cortada vuelve a abrir la sesión entera, túnel SSH incluido, y repite el cambio.
Ofrece palabras clave, funciones, bases, tablas y columnas de la sesión mientras escribo, con el vocabulario de su dialecto.
Subraya cadenas, comentarios y paréntesis sin cerrar mientras escribo, y avisa de un espacio de ancho completo, sin mandar nada al servidor.
Vuelve a sangrar el SQL del editor con el dialecto de la sesión.
Bloquea las sentencias que cambian datos, estructura o privilegios hasta que lo apago; viene encendido.
Construye una cláusula WHERE para una tabla a partir de sus columnas, operadores y valores, sin escribirla a mano.
Escribe el JOIN entre las tablas del lienzo a partir de las claves foráneas que declara el servidor, y donde no hay ninguna añade la tabla como CROSS JOIN con un comentario.
Renombra un alias, CTE o variable y todas sus referencias en el script.
Salta a cualquier tabla, vista o rutina del esquema activo escribiendo parte de su nombre.
La primera vez que lo abres conectado a un motor, añado los fragmentos de ejemplo de ese motor, una vez por motor.
Enseña el DDL de una tabla, vista, rutina o trigger al dejar el puntero sobre su nombre.
Enseña la ficha de la función del motor que está bajo el cursor, con su firma y un ejemplo que corre en ese motor.
Edita un valor largo, JSON, binario o espacial en una hoja con pestañas de texto, árbol, hex, Base64 e imagen.
Ejecuta el script sentencia a sentencia con controles de reproducir, pausar y avanzar.
Abre un panel estilo terminal con prompt e historial propio para ejecutar SQL de forma interactiva.
Dibuja el resultado como gráfico de barras, líneas o tarta, eligiendo la columna de etiqueta y la de valor.
Conecta una segunda base y ejecuta cada consulta en las dos, enseñando los dos resultados lado a lado con las diferencias marcadas celda a celda.
Reordena los grupos de botones de las barras del editor, de resultados y principal, y los restablece.
Escribo un texto y pulso Buscar, y se recorren todas las columnas de texto de las tablas marcadas, con el avance por tablas y un recuento final de coincidencias.
Dibuja la columna espacial del resultado sobre un mapa, y mueve, añade o vacía una geometría proponiendo el UPDATE antes de aplicarlo.
En la hoja de salida oculto, reordeno y retitulo columnas y le doy a cada una un formato y una alineación, sin reescribir la consulta.
En una hoja declaro cada parámetro con nombre, tipo, rótulo, si es obligatorio y su valor por omisión, y me ofrece los marcadores que la consulta ya usa para darlos de alta con el nombre exacto.
Antes del SELECT final puedo fijar variables de sesión y construir y llenar tablas temporales, todo en una conexión; lo que queda fuera de esa lista cerrada se rechaza con su número de sentencia antes de ejecutar nada, y las temporales se borran al acabar.
Exporto lo que declara la salida a CSV, TSV, JSON, XML, Excel, HTML, Markdown, texto o un PDF paginado, siempre por el panel de guardado del sistema.
Programo un reporte diario, semanal, en laborables, mensual o cada N horas; corre aunque la app esté cerrada donde el sistema lo permite, se pone al día una vez si su hora pasó sin poder correr, usa el valor por omisión de cada parámetro y anota una ejecución omitida con su motivo.
Cada ejecución deja su fila con estado, disparo, parámetros, filas, duración, equipo y dirección; la filtro, busco, copio, borro o vacío, se queda en este aparato y las filas de más de 180 días se borran.
Enseña en el panel de abajo el DDL que devuelve el servidor para el objeto elegido, con sintaxis coloreada.
Copia el guion entero que convierte el origen en el destino, con las tablas primero, las claves foráneas en su propio bloque y el resto de objetos ordenados por dependencias, para ejecutarlo en el Editor SQL.
Lista los cambios de estructura (CREATE, ALTER, DROP) ejecutados desde Calíope, con cuándo y dónde.
Crea cada objeto marcado en el destino sobre una sola conexión, con progreso y parada entre un objeto y el siguiente, escribe una línea de registro por objeto y crea las claves foráneas al final.
Crea o reemplaza un procedimiento o una función desde un formulario con sus parámetros, su tipo de retorno, sus opciones y su cuerpo, y enseña el DDL que va a ejecutar.
Enseña, con el resaltado de sintaxis, el CREATE TABLE o el ALTER TABLE que producen mis cambios, sigue cada edición y dice en un comentario lo que el motor no puede hacer.
Reconstruye o compacta cada tabla marcada con la operación propia del servidor y dice lo que hizo.
Enseña cada ámbito como una tarjeta con sus privilegios agrupados por lo que permiten, un interruptor ALL PRIVILEGES y WITH GRANT OPTION, y al guardar ejecuta los REVOKE y GRANT necesarios, con los rechazos del servidor junto al botón.
Lee el plan de la consulta seleccionada, detecta los recorridos completos que filtran por una columna y propone el CREATE INDEX para copiarlo o insertarlo.
Crea o rehace un índice en la tabla elegida con su clase, su método y sus columnas en orden, y enseña el DDL que va a ejecutar.
Calcula las estadísticas de una columna del resultado: mínimo, máximo, media, NULL, valores distintos y los más frecuentes.
Dibuja cada tabla base de la base elegida como un nodo con sus columnas, sus tipos y el glifo de su clave, unidas por las claves foráneas que declara el servidor, y se recarga cuando elijo otra base aquí o en el árbol de esquema.
Dibuja cada documento como una tarjeta con su _id y su número de campos, y cada campo con su clave, su valor y su tipo, desplegando documentos y arrays anidados.
El lápiz abre el documento entero como JSON extendido, Formatear lo reindenta y comprueba que se lee, y guardar lo reemplaza en el servidor por su _id.
En el modo Agregación escribo el pipeline entero como una lista de etapas, y un pipeline que no es una lista, o una etapa que no es un documento, se detecta antes de enviar nada.
Índice nuevo abre una hoja con el nombre, las claves escritas como documento, los interruptores de sin repetidos, disperso, caducidad y oculto al planificador, un filtro parcial opcional y una intercalación con su fuerza, y si el servidor lo rechaza su mensaje queda en la hoja abierta.
Operaciones lista cada operación en curso con su tipo, su espacio de nombres, los segundos que lleva y la conexión de la que viene, y marca las que esperan un bloqueo.
Ejecutar (⌘↩) manda el documento tal cual y la respuesta llega como un árbol, plegada cada vez, así que puedo pedir estadísticas, validar una colección, cambiar un parámetro del servidor o poner un validador sin abrir mongosh.
La lista enseña las 200 últimas operaciones de system.profile, de la más reciente a la más antigua, con hora, operación, espacio de nombres y milisegundos y, cuando el servidor los apunta, el plan, los documentos y las claves examinados, los documentos devueltos y el cliente; el pie dice cuándo el lote llegó a su techo.
Pido las claves al servidor con SCAN, por tandas y nunca con KEYS, y el pie dice cuántas he recorrido y si el recorrido terminó.
Enseño el valor según su tipo y uno grande lo leo por trozos con un botón para el siguiente, diciendo siempre cuánto de cuánto hay en pantalla.
Analizar recorre las claves de la base con SCAN, mide cada una con MEMORY USAGE y suma lo medido por prefijo, partiendo los nombres por el mismo separador que el explorador de claves.
Enseño used_memory con su límite maxmemory y el porcentaje, o que no hay límite, además de la política de expulsión y el pico.
KEYS, MONITOR, las suscripciones, SHUTDOWN, DEBUG, los cambios de protocolo, SELECT y las transacciones no se mandan: la salida da el motivo de cada uno, y debajo Lo que no se debe hacer abre el tema del Manual del DBA.
Enseño lo que el servidor anotó: cuándo empezó según el reloj del servidor, con su zona, cuánto tardó, el comando en una línea con un AUTH tapado, y el cliente cuando el servidor lo manda.
Cada conexión abierta enseña su nombre, id, dirección, tiempo conectada, tiempo inactiva, base, último comando, banderas y memoria. En el Mac es una rejilla; fuera del Mac cada cliente es una fila con esos datos rotulados, apilados a tamaños de accesibilidad.
Diagrama dibuja una caja por nodo, agrupadas por fragmento: el primario arriba con su rango de ranuras, una flecha y sus réplicas debajo con su retraso. Un nodo que no cuelga de ningún primario conocido va solo, sin adivinar a quién sigue.
Envío la sentencia con el nivel de consistencia que elijas, LOCAL_ONE si no lo cambias. Sin selección, ⌘↩ corre todo el texto sentencia a sentencia (un BATCH va entero); con selección, sólo lo seleccionado. Lo que escribe pasa antes por el guarda de la etiqueta de la sesión, y una escritura dice que se aplicó: CQL no cuenta filas. Si el servidor contesta con un error que explica el Manual del DBA, Ver solución abre su capítulo: consistencia con Unavailable o un tiempo agotado, roles y permisos con Unauthorized, errores frecuentes con los demás que cubre, también la sintaxis.
Con Trazar encendido, el servidor guarda la traza de la sentencia y enseño su id, que la abre en Trazas.
Enseño las consultas lentas más recientes que anotó ScyllaDB, con su duración, tablas, usuario y nodo, y abro la traza de cada una.
Desde las filas de una tabla inserto una fila, cambio sus columnas regulares o la borro, siempre por la clave entera, con una transacción ligera que dice si se aplicó, y por el guarda de la etiqueta de la sesión.
Listo cada nodo con su centro de datos, rack, estado, versión y tokens, y digo si todos coinciden en el esquema.
De las tablas del usuario enseño cuánto ocupa cada una, sus particiones más grandes y, en Cassandra, su latencia de lectura y escritura vista por este nodo.
Listo las conexiones abiertas en el nodo con su dirección, usuario, driver, protocolo y TLS, y marco la que usa Calíope.
Concedo un permiso sobre todos los keyspaces, un keyspace, una tabla, todos los roles, un rol o todas las funciones, y revoco uno de los permisos propios del rol.
Envío tu búsqueda a los índices que elijas, en Query DSL o en SQL, y en ES|QL en Elasticsearch o PPL en OpenSearch, y enseño los resultados como documentos o como tabla.
En Elasticsearch pido al servidor que traduzca tu SQL a Query DSL y lo abro en el modo Query DSL, con el índice de su FROM.
Escribo un documento como JSON, con tu _id o con uno del servidor; editar sustituye el documento entero, y sólo si nadie lo cambió desde que se leyó. Borrar pregunta antes y nombra el _id. Toda escritura pasa por el guarda de la sesión, y en una sesión de solo lectura no la ofrezco.
Restaurar… en una instantánea completa abre una hoja que elige sus índices, propone restored_ delante de cada nombre y deja el estado global apagado; el servidor rechaza restaurar sobre un índice abierto con el mismo nombre, y la hoja enseña su texto.
Enseño la salud del clúster con su glifo y su nombre, cuántos nodos responden, dónde están los shards y por qué uno queda sin asignar.
Del nodo que elijas enseño el heap de la JVM con su máximo, las recolecciones de basura joven y vieja, la CPU de la máquina y la del nodo, el disco que aún puede usar, y las tasas de búsqueda e indexación del último intervalo, leídas cada cinco segundos mientras la pestaña está delante.
En una tarea que el servidor marca cancelable, le pido que la cancele tras una confirmación que nombra la acción y el nodo; una que ya había terminado lo dice, y las persistentes del propio clúster y la propia lista no se ofrecen.
Listo tus claves de API vigentes, creo una con nombre y caducidad y la enseño una sola vez con un botón de copiar, e invalido una tras una confirmación.
Abro un archivo de base de datos local sin ningún servidor, también cuando llega desde fuera de la app, y lo marco como de solo lectura cuando no se puede modificar.
Creo una vista por cada archivo CSV, JSON o Parquet que elijas, que se lee al vuelo cada vez que la consultas sin copiar sus datos en la base, y abro antes una base en memoria si no hay ninguna abierta; un archivo Parquet abierto desde el Finder o compartido desde la app Archivos también llega aquí, con su consulta escrita en Ejecutar SQL.
Enseña un archivo local interpretado según su extensión sin editar, guardar ni ejecutar nada, y se abre aunque no haya ningún servidor conectado.
La Vista rápida del sistema enseña una base SQLite o DuckDB, un archivo Parquet y, en el Mac, un TSV como tablas con sus primeras 20 filas, sin abrir Calíope y sin escribir nada junto al archivo.
El modelo de lenguaje del sistema contesta en el propio aparato, sin clave y sin que la pregunta salga de él, y sólo se ofrece donde el sistema dice que está disponible.
Habla con un servidor Ollama en la dirección que escribo —este Mac o uno de mi red—, sin clave, y dice cuándo no contesta nadie ahí o la dirección no es válida.
El panel de ajustes elige entre OpenAI, Google Gemini, Anthropic Claude, Apple Intelligence y Ollama, y dibuja sólo lo que el elegido necesita: la clave en los de nube, guardada en el Llavero.
Con el interruptor puesto y una base elegida en la cabecera, los nombres de sus tablas, columnas y claves foráneas viajan con la pregunta —nunca filas—, y el panel dice cuál de tres estados rige.
El micrófono transcribe la pregunta en el propio aparato, en un idioma que puedo elegir a su lado, y dice cuándo hay que bajar antes el modelo de ese idioma.
Un panel lateral guarda cada conversación desde su primera pregunta, con búsqueda en todos los turnos, para retomarla, copiarla o borrarla de una en una o todas a la vez, hasta las 200 más recientes.
Un interruptor de Ajustes arranca o detiene el servidor MCP en el acto; nace apagado y, mientras siga encendido, arranca otra vez con Calíope.
Antes de tocar el servidor, run_query rechaza todo lo que no sea una sentencia de lectura, y también SELECT … FOR UPDATE y LOCK IN SHARE MODE.
Vuelca los objetos marcados a un archivo .sql o .sql.gz en segundo plano, objeto por objeto y con memoria acotada, con registro, barra de progreso, tiempo restante estimado y un Cancelar que borra el archivo parcial.
Da a un respaldo su nombre, su conexión (obligatoria en uno nuevo), su frecuencia (diaria, semanal, laborables, mensual, cada N horas o bajo demanda) con su hora, y la carpeta de destino elegida con un permiso persistente.
Conserva sólo los últimos N archivos de cada respaldo programado en su carpeta, de 1 a 30 o todos, y borra los más antiguos tras cada ejecución.
Ejecuta un archivo .sql o .sql.gz contra el servidor en una sola sesión, tras un resumen con las sentencias halladas, las bases afectadas y un aviso si borra objetos, y se detiene en el primer error nombrando la sentencia que falló; mientras, dice cuántas sentencias lleva y en qué tabla va, y al terminar deja un mensaje del sistema y, con la app detrás, una notificación.
Importa un archivo CSV, JSON o Excel a una tabla en tres pasos, mapeando columnas y eligiendo el modo de inserción.
Guarda en un archivo en disco cada sentencia que ejecuto, de esta sesión y de las anteriores, con su número, fecha, conexión, estado, sentencia y lo que respondió el servidor.
Comparte el log entre mis aparatos por iCloud cuando lo enciendo con el botón de la nube, avisando de que las sentencias viajan tal cual se escribieron.
«Sincronizar Calíope con iCloud» lleva a iCloud mis conexiones, las pestañas del editor, la monitorización, los reportes, los fragmentos y las preferencias después de preguntar, y apagarlo también pregunta.
«Exportar…» escribe un archivo JSON con lo que elijo —conexiones, estado del editor, preferencias, historial— y las contraseñas sólo si las marco, cifradas con una clave que escribo yo.
En una pantalla estrecha las primeras herramientas de mi orden van en la barra del sistema de abajo, y el resto en «Más».
Calíope en el reloj lee de iCloud los mensajes que publican tus aparatos, con una lista y un detalle, funciona sin un iPhone cerca y no escribe nada en ningún sitio.
Calíope en el Apple TV enseña en mosaicos los servidores que publican tus aparatos, con un resumen por severidad y cada estado con su forma, y no abre ninguna conexión ni ejecuta ninguna consulta.
En Apple Vision Pro el navegador de herramientas, las pestañas abiertas y la barra de cada herramienta flotan fuera de la ventana con su propio cristal, y la ventana entera queda para el contenido.
En Apple Vision Pro, abre el diagrama en un espacio inmersivo a tu alrededor, con la ventana de Calíope a la vista, y lo cierra desde el mismo botón. Cada tabla es una tarjeta con sus columnas y sus claves, y cada esquema tiene su capa, detrás de la anterior. Cada clave foránea es una línea de su columna en una tarjeta a su columna en la otra, y la que va de un esquema a otro cruza de una capa a la siguiente. Guardar layout guarda la disposición 3D en este aparato, una por base (no se sincroniza), y el espacio abre con ella la vez siguiente; lo que no tiene sitio guardado sale del diagrama 2D. «+ DB» con el espacio abierto suma su capa sin cerrarlo, y el espacio se cierra solo cuando su sesión se desconecta o se cierra, y la pestaña lo dice; abrirlo desde otra sesión cierra antes el de aquélla. Mientras se monta, la pestaña y el panel del espacio dicen «Cargando 120 tablas…» con el tiempo que lleva. Con muchas tablas las tarjetas se apilan en filas para que ninguna tape a otra, y por encima de 200 tablas el espacio abre sin líneas y enseña sólo las de la tarjeta seleccionada. Las tarjetas y los paneles crecen con el tamaño del texto, y el apilado con ellas; VoiceOver lee cada tarjeta como su tabla, su base, cuántas columnas y relaciones tiene, dice cuál está seleccionada y cuáles se relacionan con ella, y lee cada columna con su tipo entero y su clave.
Elige qué conexión guardada aloja el historial y crea allí su esquema y sus tablas, diciendo si funcionó.
Dibuja el plan que el servidor da para la consulta, sin ejecutarla, como un árbol de tarjetas con el objeto, el tipo de acceso, las filas estimadas y el detalle que añade el motor.
Desglosa la última consulta en las fases internas del servidor, con el tiempo de cada una.
Lista las ejecuciones que grabó el servidor, de la más lenta a la menos, con hora, usuario, base, duración y filas, más las columnas que publica este motor.
Desde el menú de una fila, termina la conexión entera o cancela sólo su consulta en curso tras preguntarme, y dice cuándo el servidor se niega y por qué.
Enseña cuatro tarjetas del servidor al que estoy conectado: el hilo de IO y el hilo SQL con la palabra que da el servidor, el retraso en segundos con su color por umbral («Sin dato» cuando el servidor no tiene cifra) y el servidor de origen del que lee.
Le doy nombre al grupo y elijo, de mis conexiones guardadas, el primario y sus réplicas en el orden en que quiero verlas, con su intervalo de sondeo; sólo se ofrecen las conexiones cuya replicación la herramienta sabe sondear, y hacen falta al menos dos.
Enseña cada evento con su tipo, su posición de inicio y de fin, su clase y el campo Info, que puedo seleccionar y copiar.
Tarjeta de línea con el ritmo de sentencias que ejecuta el servidor, o de transacciones donde el motor cuenta ésas, cada una con su nombre.
La pestaña Información reúne lo que identifica al servidor y a mi conexión: versión, host, puerto, directorio de datos, juego de caracteres y collation, límite de conexiones, y el id y el usuario de mi conexión.
Ejecuta la consulta N veces y da el tiempo mínimo, medio y máximo.
La campana abre Alertas del servidor, donde se activan las notificaciones del sistema y se fijan los umbrales de conexiones frente al máximo, acierto de la caché y retraso de réplica.
Lista cada regla con su consulta, su columna, su condición, el valor medido en esta sesión y su estado, y el pie cuenta cuántas están en alerta.
Un panel enseña lo que corre en cada sesión, los modos activos y las últimas operaciones terminadas con cómo acabó cada una (un fallo, con el motivo del servidor), con Ir a y, cuando la operación lo permite, Detener.
Cuando el error tiene tema de ayuda propio, lleva desde la fila o su detalle directamente a ese tema.
Enseña conexiones, caudal, tiempo en pie, hilos, consultas lentas y aciertos de caché de un servidor en el escritorio, la pantalla de inicio, la de bloqueo o una pared, en los tamaños que ofrece cada sitio.
Enseña el peor estado de los servidores que vigila el Monitor de salud y cuántos necesitan atención, en tres tamaños, y al tocarlo abre el Monitor de salud.
Cada widget colocado tiene su parámetro Servidor, poblado con un catálogo mínimo de perfiles que Calíope escribe en el contenedor compartido, así que varios widgets pueden mirar servidores distintos.
Tocar o hacer clic en el widget de métricas abre Calíope en el Tablero del servidor que ese widget tiene elegido, conectando antes si no había sesión.
Una insignia verde, roja o ámbar, cada una con su símbolo, dice si el dato es actual, si el servidor dejó de responder o si ha pasado más de tres veces la cadencia con que se escribió, con un suelo de 90 segundos.
Ajustes › Widget mantiene al día un perfil anclado sin el Tablero abierto, cada 30 segundos o cada 1, 5 o 15 minutos, abriendo una conexión breve en cada vuelta.
Las cuatro acciones vienen listas para usar, sin construir un atajo: Siri reconoce sus frases en cada idioma, y Spotlight y la app Atajos las sugieren.
Carga un archivo .sql en el Editor SQL, desde el menú Archivo con ⌘O o abriendo el archivo desde Finder o Archivos.
Pone un cilindro en la barra de menús de macOS con Abrir ventana, que trae Calíope al frente, y Salir.
Cada vez que abro una herramienta aparece como mucho una burbuja de ayuda junto al control que explica, en un orden que pone primero las que evitan un error; una vez mostrada, se gasta.
Responde al clic, al doble clic, a mantener pulsado o al clic derecho sobre una celda o el encabezado de una columna con su propia acción: ver el valor, generar el UPDATE, el menú de la celda, ordenar o cambiar el ancho.
Capturo la ventana de Calíope a un tamaño predefinido o a medida, ajustando o rellenando otra proporción, con temporizador, y la guardo o la copio.
La primera vez que se abre una versión nueva, la ventana de novedades lista lo que trae y las versiones anteriores; en el Mac se vuelve a abrir desde el menú Ayuda, y en todas desde su tema de la Ayuda.
Abre en el navegador del sistema, en el idioma de la app, la página que hice para quien llega desde ella —las novedades, la Ayuda, el manual del DBA, datos para practicar, los vídeos y el blog, con un buscador sobre la Ayuda, el manual y el blog—, sin abrir pestaña y sin enviar la versión.
General dice en cuál de los seis idiomas está Calíope y me lleva al ajuste del sistema donde lo elijo por aplicación, porque dentro de la app no hay selector.
«Eliminar todos mis datos» pregunta antes, borra lo que Calíope guarda en este aparato, en el Llavero y en iCloud, y después enseña sitio por sitio qué se borró y qué falló.
No guarda nunca una contraseña, ni truncada, y nombra al servidor por el alias de su perfil en lugar de host, puerto y usuario.
Calíope no anota nada hasta que enciendo «Guardar un informe de uso en este aparato», y entonces cuenta eventos, errores y aperturas de herramientas en un archivo que se queda aquí y que puedo vaciar.
Cada bloque de código lleva al pie que lo generó una IA y hay que verificarlo antes de ejecutarlo, y el nombre del proveedor al que se envió.
Empieza la prueba de 30 días con todo desbloqueado en todos los aparatos con el mismo Apple ID; no pide tarjeta, no se convierte en un cobro y sólo puede empezar una vez por Apple ID, y una cuenta que ya tiene la prueba de 60 días no empieza otra.
La pantalla de compra enumera lo que la compra desbloquea —los motores, las conexiones ilimitadas, SSH y TLS, el editor, el asistente, los respaldos, la monitorización y los diagramas— con el «?» que abre su tema de la Ayuda.
Cada capacidad de esta página está incluida en la compra única. Treinta días gratis y, después, se compra una vez y es tuya para siempre.