Skip to main content

Introducción a Linkly AI CLI

Linkly AI CLI es una herramienta de línea de comandos que, conectándose al servicio MCP de Linkly AI Desktop, le permite buscar, explorar y leer documentos locales desde la terminal. También funciona como puente entre AI Agent (como Claude Desktop, Cursor) y Linkly AI.

Búsqueda en terminal

Busque sus documentos directamente desde la línea de comandos, ideal para desarrolladores y usuarios avanzados

Puente MCP

Se ejecuta en modo MCP stdio, permitiendo que herramientas de IA como Claude Desktop y Cursor invoquen Linkly AI

Instalación

Ejecute en la terminal:
O instale mediante Homebrew:
Si ya tiene instalado Linkly AI Desktop, también puede instalar la CLI desde la aplicación de escritorio: en la pantalla «Conectar un agente» del asistente de primer inicio, pulse «Instalar» y se instalarán a la vez la CLI y las Skills; o bien, en la sección «Avanzado» de la página «Uso por agentes» de la ventana principal, pulse «Instalar» en la fila «Linkly AI CLI». Si aparece «Solo falta un paso», pulse «Configurar» para que la terminal pueda ejecutar directamente el comando linkly.
Después de la instalación, verifique:
Antes de ejecutar CLI, debe iniciar la aplicación Linkly AI Desktop. CLI descubrirá y se conectará automáticamente al servicio MCP de la aplicación de escritorio a través del archivo ~/.linkly/port.

Métodos de uso

CLI sigue el flujo de trabajo progresivo search → outline → read: primero buscar para encontrar el documento objetivo, luego ver el esquema para entender la estructura, y finalmente leer el contenido específico. Cuando el usuario menciona un contenedor (“en mis notas de Notion”, “en mi carpeta de Dropbox”) cuya ruta real no se conoce, llame a find-paths antes de search para localizarla.
Cada salida de comando exitosa termina con una línea de marca de tiempo UTC [meta] now=2026-05-08T...Z (o un campo _meta.now de nivel superior en modo JSON). Estos son metadatos que Desktop proporciona a los asistentes de IA para calcular fechas relativas como “el mes pasado”. Los usuarios humanos pueden ignorarlos; al procesar con scripts, se recomienda filtrar la última línea antes del análisis posterior.

Verificar el estado de conexión

Devuelve el estado de ejecución de Linkly AI Desktop, la versión, el número de documentos indexados y el estado de la indexación.

Buscar documentos

Busca en sus documentos locales y devuelve la lista de resultados más relevantes, incluyendo título, ruta, relevancia y resumen del contenido. Parámetros frecuentes:
--modified-after / --modified-before aceptan formato ISO 8601 UTC: una fecha simple 2024-01-01 (interpretada como 00:00:00Z) o una marca de tiempo RFC 3339 completa 2024-01-01T00:00:00Z. --time-sort acepta newest / oldest; omítalo para preservar el orden de relevancia híbrido BM25 + vectorial.
--scope notes limita los resultados a sus notas e ignora --library y --path-glob: esos filtros se descartan silenciosamente en lugar de producir un error.

Ver el esquema del documento

Obtiene el esquema estructurado y los metadatos del documento. DOC_ID se obtiene de los resultados de búsqueda. Permite ver múltiples documentos a la vez, o pasar los ID mediante una tubería con -:
Cuando el esquema es largo, algunos nodos aparecen plegados. Use --expand para indicar los ID de los nodos que quiere desplegar, separados por comas; el resto quedan plegados. Sin este parámetro, se decide automáticamente qué nodos desplegar:
La función de esquema funciona mejor con documentos Markdown, DOCX, DOC, PowerPoint (PPTX), XLSX, CSV, EPUB y RTF, cuyos títulos pueden ser analizados estructuralmente. Para texto plano o PDF sin marcadores, se recomienda usar directamente el comando read.

Buscar patrones en documentos

Busca coincidencias de una expresión regular dentro de uno o varios documentos. Úselo cuando necesite encontrar texto específico (términos, nombres, fechas, identificadores, etc.):

Leer el contenido del documento

Lee el contenido completo de uno o varios documentos con números de línea. Para documentos extensos, puede leer por páginas:
Con --json, varios documentos se imprimen como JSON Lines: un objeto por línea. Un único ID sigue imprimiendo un solo objeto, por lo que los scripts existentes no se ven afectados.
Estrategia de paginación: Por defecto se leen 200 líneas por vez (máximo 500). Para documentos extensos, lea progresivamente ajustando --offset:

Localización de rutas (find-paths)

Realiza una coincidencia aproximada de palabras clave contra el campo ruta de archivo de los documentos indexados, agrega las coincidencias a nivel de carpeta y devuelve los mejores candidatos. Está posicionada como una herramienta auxiliar de search: cuando el usuario nombra un contenedor (“en mis notas de Notion”, “en mi carpeta de Dropbox”) sin conocer su ruta en el disco, llame primero a find-paths, y luego pase un segmento distintivo de la ruta retornada como --path-glob a search. Cuando el nombre de una carpeta contiene metacaracteres glob (* ? [), use directamente el campo path_glob retornado — ya está escapado para coincidir literalmente con esa carpeta. Flujo de trabajo típico de dos pasos:
Coincidencia con variantes: --patterns acepta una lista de palabras clave separadas por comas, combinadas internamente por OR contra la ruta. Pase varias variantes en una sola llamada (pares de traducción, mayúsculas/minúsculas, identificadores reales de aplicación) para maximizar la recuperación al primer intento:
find-paths es una herramienta para “encontrar carpetas”, no para “encontrar archivos”: solo cuentan las coincidencias en segmentos de directorio. Si las palabras clave coinciden únicamente con el segmento de nombre de archivo (un “archivo huérfano”), se descartan silenciosamente. Si una consulta no devuelve carpetas a pesar de que espera coincidencias, recurra a llamar linkly search directamente sin --path-glob.

Bibliotecas y vista general (list-libraries, explore)

Lista las bibliotecas disponibles. Los nombres devueltos se pueden usar en el parámetro --library de otros comandos.
Ofrece una vista general de todos los documentos o de una biblioteca concreta; resulta útil para saber qué material hay antes de buscar. --library acepta un nombre de biblioteca o local://<id>; con --remote también admite cloud://<owner>/<slug>.

Notas

Linkly AI guarda notas breves en Markdown dentro de la carpeta de su biblioteca. Son archivos locales corrientes — nunca se suben — y se indexan como cualquier otro documento.
Para editar una nota existente se necesitan su note_id y su version actual, que linkly list --scope notes devuelve:
Los #tag que aparecen en el texto de la nota son sus etiquetas: --tags solo añade (para quitar una etiqueta hay que borrar su #tag del contenido). En los Desktop anteriores a la 0.11.0, en cambio, --tags es obligatorio al editar y se trata como el conjunto de reemplazo completo. --base-version es una comprobación de concurrencia: si la nota cambió desde que usted la leyó, el comando falla con NOTE_VERSION_CONFLICT en lugar de sobrescribirla. El contenido de las notas admite un subconjunto restringido de Markdown (párrafos, negrita, tachado, listas); los títulos, el código, los enlaces y las tablas se rechazan.

Diagnosticar la conexión (doctor)

Comprueba la conexión con la aplicación de escritorio de este equipo y, si ha guardado una clave remota o una conexión de red local, también esas. Cada conexión muestra su propio grupo de resultados, con sugerencias cuando algo falla. Basta con que una conexión funcione para que el comando salga con 0. Con --remote, --lan o --endpoint / --token, solo comprueba esa conexión, y el código de salida depende únicamente de ella:

Gestionar las Skills (skills)

install instala las Skills en ~/.agents/skills/linkly-ai y crea en ~/.claude/skills/linkly-ai un enlace que apunta a ellas. Más detalles en Usar Skills. Cuando hay una versión nueva de las Skills, la salida de los comandos termina con una línea de aviso, como máximo una vez cada 4 horas. Defina la variable de entorno LINKLY_NO_SKILLS_HINT=1 para desactivarlo. Si define esa variable en la configuración del cliente MCP, el puente linkly mcp también deja de mostrarlo.

Autocompletado del shell

Imprime un script de autocompletado para bash, zsh, fish, powershell o elvish.
Abra después una nueva shell. El script es estático: nunca contacta con Linkly AI Desktop, por lo que funciona con la aplicación cerrada y no puede ralentizar su prompt.

Modo MCP

Se ejecuta en modo servidor MCP stdio, exponiendo las herramientas de Linkly AI a clientes de IA compatibles con MCP. El destino al que se conecta el puente determina a qué puede acceder el cliente:
--remote es el único modo puente que puede alcanzar las bibliotecas en la nube. Antes inicie sesión con linkly auth login (consulte Modo remoto).
El puente no puede conectarse a una aplicación de escritorio de otro dispositivo de la red local. Los clientes de IA de la red local deben conectarse directamente a la aplicación de escritorio por HTTP (consulte Acceso en red local); los clientes que solo admiten stdio pueden usar linkly mcp --remote en su lugar.
--client <nombre> indica el nombre de la aplicación en el registro de acceso de la aplicación de escritorio, como en los ejemplos siguientes. Con --remote, el nombre también se envía al servicio en la nube. Configurar aplicaciones de IA locales como Claude Desktop: Agregue el siguiente contenido al archivo de configuración de Claude Desktop u otras aplicaciones:
Edite ~/Library/Application Support/Claude/claude_desktop_config.json:
Configurar Cursor: En Cursor, abra Settings → MCP Servers → Add Server y agregue:
  • Name: linkly-ai
  • Command: linkly mcp --client cursor

Actualizar CLI

Verifica y actualiza automáticamente a la última versión. CLI también comprueba actualizaciones en segundo plano con cada inicio y le notificará si hay una nueva versión disponible.

Modos de conexión

CLI admite tres formas de conectarse a su base de conocimiento de Linkly AI: Sin --lan ni --remote, CLI solo se conecta a la aplicación de escritorio de este equipo.
Una API Key (la que empieza por lkai_) y un token de acceso LAN equivalen a la llave de su biblioteca local. No los pegue en ninguna conversación con una IA (ChatGPT, Claude, Cursor, Codex, Doubao, Kimi, etc.), ni deje que un asistente de IA ejecute linkly auth set-key por usted: el contenido de las conversaciones se envía al proveedor del modelo y queda guardado en el historial, y algunas aplicaciones lo sincronizan en la nube. Para que un asistente de IA se conecte en remoto, use el inicio de sesión en dos pasos de linkly auth login que se describe abajo: usted solo autoriza en el navegador. Ejecute set-key usted mismo, en su propia terminal. Si una clave ya ha aparecido en una conversación, revóquela y cree una nueva en la consola; un token LAN se regenera en «Ver la configuración de conexión MCP».

Modo local (predeterminado)

No requiere opciones adicionales. CLI lee ~/.linkly/port para encontrar la aplicación de escritorio en ejecución:

Modo de red local

Conéctese a una instancia de Linkly AI que se ejecuta en otro dispositivo de su red local. La dirección y el token se obtienen en ese dispositivo: en su aplicación de escritorio, abra la página «Uso por agentes», active «Permitir acceso por LAN» en la sección «Gestión», pulse «Ver la configuración de conexión MCP» en la sección «Integración» y cópielos del apartado «LAN» (más detalles en Acceso en red local). Después, guárdelos una vez en este equipo, usted mismo, en su propia terminal:
Después, use --lan con cualquier comando:
Si prefiere no guardarlos, también puede pasar la dirección y el token directamente cada vez:
Si el token se regenera, vuelva a ejecutar auth set-key --lan con el nuevo token. Cuando ya no lo necesite, elimine la configuración de red local guardada con linkly auth logout --lan.
Guardar una conexión de red local y la opción --lan requieren CLI 1.0.0 o posterior. La CLI solo puede guardar una conexión de red local: volver a ejecutar auth set-key --lan sobrescribe la dirección y el token guardados. Para conectarse temporalmente a otro dispositivo, use --endpoint y --token.

Modo remoto

Conéctese a su base de conocimiento desde cualquier lugar mediante el túnel en la nube. Primero, inicie sesión una vez:
La CLI muestra un enlace de un solo uso y un código de confirmación (XXXX-XXXX), y abre el navegador cuando puede. Abra el enlace en cualquier dispositivo (si la CLI se ejecuta en un servidor, puede usar el móvil), inicie sesión, compruebe que el código coincide con el de su terminal y haga clic en Autorizar. La CLI guarda entonces una API Key recién emitida. El enlace es válido durante 10 minutos; la página muestra la cuenta que está autorizando, el código de confirmación, el dispositivo que solicita acceso (según lo declara ese mismo dispositivo) y los permisos que recibirá. Si no quiere que la CLI intente abrir el navegador, añada --no-browser y solo mostrará el enlace. Después, use --remote con cualquier comando:
Los agentes y scripts que no pueden esperar en primer plano dividen el inicio de sesión en dos pasos. El agente solo le entrega el enlace y el código; la CLI guarda la clave por sí misma, así que nunca pasa por la conversación. Ejecute ambos en el mismo entorno, con el mismo usuario del sistema y el mismo directorio de configuración:
--wait se rinde a los 300 segundos (cámbielo con --timeout) con el código timeout; vuelva a ejecutarlo mientras el enlace siga siendo válido. En modo --json, los fallos incluyen un code: timeout, expired, denied, no_pending_login, login_in_progress (use --wait, o --restart para empezar de nuevo), already_logged_in (ejecute antes linkly auth logout) y network. Cada mensaje indica el siguiente comando que debe ejecutar. Cada inicio de sesión crea una API Key nueva llamada cli-<hostname>-xxxx, que puede ver y revocar en la consola. Una cuenta puede tener hasta 10 API Keys; si ya ha llegado al límite, la página de autorización lo indica. Iniciar sesión solo demuestra qué cuenta es la suya: no significa que sus bibliotecas en la nube o la aplicación de escritorio estén accesibles. ¿Prefiere pegar una clave? Cree una en la consola y guárdela usted mismo, en su propia terminal:
Consulte o borre la clave guardada en cualquier momento:
logout también revoca una clave emitida por auth login, que deja de funcionar en unos 90 segundos. Una clave guardada con set-key solo se elimina de este equipo, porque puede estar en uso en otro sitio; revóquela en la consola si es necesario. Las credenciales, y un inicio de sesión que aún espera autorización, se guardan por defecto en ~/.linkly. Defina LINKLY_CONFIG_DIR para guardarlas en otro lugar; por ejemplo, un directorio por usuario cuando un agente atiende a varias personas desde la misma cuenta del sistema. Cada directorio contiene una sola cuenta. La detección de la aplicación de escritorio local (~/.linkly/port) no se ve afectada.
--lan, --remote y --endpoint no pueden combinarse. --endpoint y --token son obligatorios de forma conjunta y, en ese caso, no se lee la configuración de red local guardada.

Descripción de parámetros

Opciones globales

--lan, --endpoint, --token y --remote están disponibles en los comandos de documentos (search, grep, outline, read, list, note-save, find-paths, explore, list-libraries), además de status y doctor. El comando mcp solo acepta --remote. --json no tiene efecto en auth set-key, self-update, skills install, skills update, completions ni mcp.

Exit Codes

De forma predeterminada, CLI usa los dos valores convencionales: 0 si tuvo éxito y 1 si falló. Tenga en cuenta que «éxito» incluye no encontrar nada: una búsqueda sin resultados sigue devolviendo 0. Los errores de argumentos (falta un argumento obligatorio, un valor no válido, etc.) devuelven 2, se use o no --exit-code. Pase --exit-code para distinguir ambos casos:
Esta opción no está activada por defecto porque cambia el significado de 1. Sin ella, 1 significa «falló», que es lo que comprueban los scripts existentes.

Parámetros de find-paths

Parámetros de outline

Parámetros de grep

Parámetros de read

Parámetros de list

Parámetros de note-save

Parámetros de completions