IA para Mac en todo el sistema: Conecta Ollama con Raycast

laptop_mac macOS Sonoma Intermediate schedule 8 min read
Author by Alex Rivera • May 14, 2024

Step 1 Liberando IA a Nivel de Sistema en macOS

El usuario avanzado de macOS moderno opera en un ecosistema de IA fragmentado — pestañas del navegador ancladas a ChatGPT, aplicaciones separadas para asistencia de escritura, y un cambio de contexto constante que destruye el estado de flujo. ¿Qué pasaría si tu IA no estuviera aislada en una ventana del navegador, sino entretejida directamente en el tejido de tu sistema operativo, disponible en el instante en que la necesitas, respondiendo en milisegundos, con cero datos saliendo de tu máquina?

Eso es exactamente lo que ocurre cuando conectas Ollama a Raycast. La combinación es genuinamente transformadora para la forma en que interactúas con tu Mac.

Por Qué Esta Arquitectura Es Diferente

La mayoría de las integraciones de IA siguen el mismo patrón: abrir una aplicación, escribir un prompt, esperar una respuesta en la nube, copiar el resultado. Este flujo de trabajo introduce sobrecarga cognitiva en cada paso. Raycast + Ollama rompe este patrón por completo al posicionar la IA como un primitivo de sistema de primer orden.

Enfoque Latencia Privacidad Soporte sin conexión Consciencia de Contexto
ChatGPT basado en navegador Alta (round-trip de red) ❌ Datos enviados a OpenAI ❌ Requiere internet Limitada
Apps de IA nativas Media Variable A veces Mínima
Raycast + Ollama Ultra-baja (localhost) ✅ 100% local ✅ Totalmente offline Profunda (a nivel de sistema)

Lo Que Ollama Aporta a la Ecuación

Ollama es un servidor de inferencia ligero que ejecuta grandes modelos de lenguaje localmente en Apple Silicon. Expone una API REST limpia en http://localhost:11434, lo que hace trivialmente sencillo que otras herramientas lo consuman. Modelos como Llama 3, Mistral, Phi-3 y Gemma 2 se ejecutan con velocidad impresionante en los chips de la serie M, igualando o superando frecuentemente los tiempos de respuesta de los modelos en la nube para tareas típicas.

Terminal
# Verify Ollama is running and listening
curl http://localhost:11434/api/tags

# Expected output: a JSON list of your locally installed models

Una vez que Ollama se ejecuta como servicio en segundo plano, se convierte en un backbone de IA persistente que cualquier aplicación correctamente configurada puede consultar — incluyendo Raycast.

Lo Que Raycast Aporta a la Ecuación

Raycast es un lanzador de comandos a nivel de sistema que ha reemplazado efectivamente a Spotlight para cientos de miles de usuarios de Mac. Su ecosistema de extensiones le permite integrarse con prácticamente cualquier cosa, y su marco de comandos de IA te permite canalizar texto seleccionado, contenido del portapapeles, o prompts de forma libre directamente hacia cualquier endpoint de LLM.

La percepción crítica aquí es que los comandos de Raycast están disponibles desde cualquier lugar en macOS. Ya sea que estés en Xcode revisando una función, en Notion redactando un documento, en Slack componiendo un mensaje, o en Terminal depurando un script — una única invocación mediante tecla de acceso rápido lleva la IA a lo que estés trabajando, sin cambiar de aplicación.

El Poder de la Componibilidad

Lo que hace que esta configuración sea genuinamente poderosa no es ninguna característica individual — es la componibilidad. Puedes:

  • Seleccionar código en cualquier editor → invocar un comando de IA de Raycast → obtener una explicación inyectada en tu portapapeles
  • Resaltar un párrafo denso en Safari → resumirlo en lenguaje sencillo sin abandonar la página
  • Capturar un mensaje de error de Terminal → procesarlo con un prompt de depuración → pegar la solución de vuelta inmediatamente

Esta es la diferencia entre la IA como una herramienta que visitas y la IA como una capacidad que portas. Las secciones siguientes te guiarán en la construcción de este sistema desde cero, desde la instalación de la extensión de Raycast necesaria hasta la configuración de teclas de acceso rápido que hacen que todo el flujo de trabajo se sienta como una característica nativa del sistema operativo.

Nota: Todo en esta guía se ejecuta íntegramente en el dispositivo. Sin claves de API, sin suscripciones, sin telemetría. Tus prompts y respuestas nunca abandonan tu Mac.

Step 2 Requisitos Previos: Configuración de Raycast

Antes de adentrarse en la integración con Ollama, necesitas un entorno de Raycast correctamente configurado. Saltarse esta base generará fricción más adelante — así que hagamos esto bien desde el principio.

Lo Que Necesitarás

Requisito Versión Notas
Raycast 1.50.0+ Plan Pro requerido para características de IA
macOS 12 Monterey+ Ventura o Sonoma fuertemente recomendados
Ollama 0.1.20+ Debe ejecutarse como servicio local
RAM 8GB mínimo 16GB+ recomendado para modelos más grandes

Instalando Raycast

Si aún no has instalado Raycast, el proceso es sencillo. Descarga la última versión estable directamente desde raycast.com o instala vía Homebrew:

Terminal
brew install --cask raycast

Una vez instalado, lanza Raycast y completa el proceso inicial de configuración. Reemplaza Spotlight inmediatamente — esto no es negociable para el flujo de trabajo que estamos construyendo. Navega a:

Terminal
System Settings → Keyboard → Keyboard Shortcuts → Spotlight

Desmarca Show Spotlight search de ⌘Space, luego asigna ⌘Space dentro de las preferencias de Raycast en General → Raycast Hotkey.


Verificando Tu Versión de Raycast

La extensión de Ollama requiere que la API de extensiones de Raycast admita endpoints de modelos personalizados. Abre las preferencias de Raycast y confirma tu compilación:

Terminal
Raycast → About Raycast → Build Number

Alternativamente, ejecuta esta verificación rápida desde tu terminal:

Terminal
defaults read com.raycast.macos CFBundleShortVersionString

Si tu versión está desactualizada, el actualizador integrado se encargará de ello:

Terminal
Raycast → Check for Updates

Habilitando Extensiones en Raycast

Por defecto, la tienda de extensiones de Raycast es accesible, pero conviene asegurarse de que la pestaña Extensions esté desbloqueada y la tienda sea alcanzable. Abre las preferencias de Raycast con ⌘, y confirma que puedes navegar a la pestaña Extensions sin errores.

Configuración crítica que debes habilitar antes de continuar:

Navega a Raycast Preferences → Extensions y asegúrate de que "Allow Extension Installation from Store" esté activado. Sin esto, la instalación de la extensión de Ollama en el siguiente paso fallará silenciosamente.


Confirmando Que Ollama Está en Ejecución

Raycast necesita una instancia activa de Ollama con la que comunicarse. Antes de configurar nada dentro de Raycast, verifica que Ollama esté activo y respondiendo:

Terminal
# Check if Ollama is running
curl http://localhost:11434/api/tags

# Expected response (example)
{
  "models": [
    {
      "name": "llama3:latest",
      "modified_at": "2024-01-15T10:30:00Z",
      "size": 4661211584
    }
  ]
}

Si el comando curl agota el tiempo de espera o devuelve un error de conexión, inicia Ollama manualmente:

Terminal
ollama serve

Consejo Pro: Agrega Ollama a los elementos de inicio de sesión de macOS para que arranque automáticamente. Navega a System Settings → General → Login Items y añade la aplicación Ollama. Esto garantiza que Raycast siempre tenga un backend de modelos disponible en el momento en que despiertas tu máquina.


Permisos de Red

macOS solicitará permisos de acceso a la red la primera vez que Raycast intente alcanzar tu instancia local de Ollama. Haz clic en "Allow" sin dudar — esta es comunicación por localhost, no acceso a red externa. Si accidentalmente denegaste el prompt, restablécelo mediante:

Terminal
tccutil reset All com.raycast.macos

Con estos requisitos previos asegurados, tu entorno está preparado y listo para la instalación de la extensión.

Step 3 Paso 1: Instalando la Extensión Raycast Ollama

Con Ollama ejecutándose localmente y Raycast instalado, el puente entre tu lanzador a nivel de sistema y tus modelos de IA locales es una única extensión. Esta sección te guía a través del proceso de instalación preciso, garantizando cero ambigüedad en cada paso.

Encontrando la Extensión en la Tienda de Raycast

Raycast mantiene un marketplace de extensiones curado, accesible directamente desde la propia aplicación. Así se navega hacia él:

  1. Abre Raycast con tu tecla de acceso rápido configurada (por defecto: ⌥ Space)
  2. Escribe "Store" y selecciona Raycast Store
  3. En la barra de búsqueda, escribe Ollama
  4. Localiza la extensión titulada "Ollama AI" — creada por la comunidad y validada por el equipo de Raycast

Alternativamente, puedes instalarla directamente desde la web:

Terminal
https://www.raycast.com/massimiliano_pasquini/raycast-ollama

Haz clic en "Install Extension" en la página web, y Raycast realizará un deep-link directamente hacia el prompt de instalación en tu máquina.


Instalación mediante la CLI de Raycast (Método para Usuarios Avanzados)

Si prefieres flujos de trabajo basados en terminal, Raycast admite la gestión de extensiones a través de su cadena de herramientas CLI. Primero, asegúrate de tener la CLI de Raycast instalada:

Terminal
# Install Raycast CLI via npm
npm install -g @raycast/api

# Verify installation
raycast --version

Nota: El método CLI está principalmente orientado al desarrollo de extensiones, no a la instalación por parte del usuario final. Para uso en producción, se recomienda el método de la interfaz de la Tienda.


Guía de Instalación de la Extensión

Una vez que hayas hecho clic en Install desde la interfaz de la Tienda o el portal web, verás el siguiente prompt de permisos en Raycast:

Permiso Solicitado Motivo
Acceso a Red Se comunica con la API HTTP local de Ollama
Lectura/Escritura del Portapapeles Habilita los comandos de transformación de texto
Servicios del Sistema Permite que las respuestas de IA se inyecten en las apps activas

Acepta todos los permisos — ninguno de estos alcanza internet. Cada solicitud se enruta únicamente a localhost, lo que significa que tus datos nunca abandonan tu máquina.


Verificando la Instalación

Tras la instalación, confirma que la extensión está activa:

  1. Abre Raycast (⌥ Space)
  2. Escribe Ollama — deberías ver inmediatamente un grupo de comandos aparecer: - Ollama: Chat - Ollama: Ask - Ollama: Summarize - Ollama: Fix Grammar
  3. Selecciona Ollama: Chat y presiona

Si Ollama está en ejecución (ollama serve en tu terminal), accederás directamente a una sesión de chat interactiva. Si ves un error de conexión, verifica que el daemon esté activo:

Terminal
# Check if Ollama is running
curl http://localhost:11434/api/tags

# Expected output (truncated):
# {"models":[{"name":"llama3.2:latest",...}]}

# If not running, start it:
ollama serve

Descargando Tu Primer Modelo (Si Aún No Lo Has Hecho)

La extensión requiere que al menos un modelo esté descargado localmente antes de que los comandos se ejecuten. Una opción predeterminada rápida y capaz para uso general:

Terminal
# Lightweight and fast — ideal for system-wide commands
ollama pull llama3.2

# Higher capability for complex tasks (requires more RAM)
ollama pull mistral

# Verify models are available
ollama list

En este punto, la extensión está instalada, conectada y lista. El siguiente paso se adentra en la configuración precisa de la API — ajustando el endpoint, el puerto y el comportamiento de las respuestas para adaptarse exactamente a tu hardware y demandas de flujo de trabajo.

Step 4 Paso 2: Configurando los Endpoints y Puertos de la API

Con la extensión Raycast Ollama instalada, el siguiente paso crítico es asegurarse de que Raycast pueda comunicarse efectivamente con tu instancia local de Ollama. Esto requiere una comprensión sólida de cómo Ollama expone su API y cómo configurar la extensión para apuntar al endpoint correcto.

Comprendiendo la Configuración de Red Predeterminada de Ollama

Por defecto, Ollama ejecuta un servidor de API REST local en la siguiente dirección:

Terminal
http://localhost:11434

Este es el valor más importante que configurarás. Cada solicitud de IA que realice Raycast — ya sea una resumición de texto, una explicación de código o una corrección gramatical — se enruta a través de este endpoint como una solicitud HTTP al motor de inferencia de Ollama que se ejecuta en tu máquina.

Puedes verificar que Ollama está en ejecución y respondiendo en cualquier momento consultando el endpoint de salud directamente desde tu terminal:

Terminal
curl http://localhost:11434
# Expected output: Ollama is running

Si esto devuelve un error, Ollama no está en ejecución. Inícialo con:

Terminal
ollama serve

Consejo Pro: En macOS, si instalaste Ollama mediante la aplicación GUI .dmg, se ejecuta automáticamente como un proceso en la barra de menú. Si lo instalaste mediante Homebrew, es posible que necesites iniciarlo manualmente o configurar un servicio launchd.


Configurando el Endpoint de la Extensión en Raycast

Abre Raycast (⌘ Space por defecto), escribe Extensions y navega a la configuración de la extensión Ollama. Encontrarás los siguientes campos configurables:

Configuración Valor Predeterminado Descripción
Ollama API URL http://localhost:11434 URL base para el servidor Ollama local
Request Timeout 60000 ms Tiempo máximo de espera antes de que una solicitud falle
Default Model (definido por el usuario) Modelo utilizado cuando no se especifica una anulación

Establece la Ollama API URL en http://localhost:11434 a menos que hayas cambiado deliberadamente el puerto predeterminado de Ollama. Si ejecutas Ollama en un puerto diferente — por ejemplo, para evitar conflictos con otros servicios locales — puedes anularlo al iniciar:

Terminal
OLLAMA_HOST=0.0.0.0:11435 ollama serve

En ese caso, actualiza la URL de la extensión de Raycast para que coincida:

Terminal
http://localhost:11435

Gestión de Instancias Remotas y en Red de Ollama

Una de las capacidades subestimadas de esta configuración es que Raycast no requiere que Ollama se ejecute localmente. Si ejecutas Ollama en una máquina remota, un NAS, o un servidor GPU dedicado en tu red local, puedes apuntar Raycast a la dirección IP de esa máquina en su lugar:

Terminal
http://192.168.1.50:11434

Consideración de seguridad importante: Por defecto, Ollama solo se vincula a localhost. Para exponerlo en una interfaz de red, debes configurarlo explícitamente:

Terminal
OLLAMA_HOST=0.0.0.0:11434 ollama serve

Nunca expongas este puerto a la internet pública sin autenticación. Ollama no tiene capa de autenticación integrada — trátalo como un puerto de base de datos abierto y aplica las reglas de firewall correspondientes.


Confirmando la Disponibilidad de Modelos

Antes de continuar, verifica que tus modelos objetivo estén descargados y disponibles mediante la API:

Terminal
curl http://localhost:11434/api/tags | jq '.models[].name'

Esto devuelve una lista de todos los modelos disponibles localmente. La extensión de Raycast poblará su selector de modelos a partir de esta lista, por lo que cualquier modelo que pretendas usar en un comando personalizado debe descargarse primero usando ollama pull <model-name>.

Con tu endpoint configurado y los modelos confirmados, Raycast ahora tiene un canal claro y de baja latencia hacia tu IA local — cero dependencias en la nube, cero costos de API y tiempos de respuesta inferiores al segundo en hardware capaz.

Step 5 Creando Comandos de IA Personalizados (Resumir, Reescribir, Corregir Gramática)

Con tu extensión Ollama configurada y comunicándose con tus modelos locales, el verdadero poder proviene de construir comandos de IA de propósito específico que se activan instantáneamente desde cualquier lugar de tu Mac. El sistema de scripting de Raycast te permite crear comandos adaptados exactamente a tu flujo de trabajo — sin copiar y pegar en una interfaz de chat, sin cambios de contexto.

Comprendiendo las Extensiones de IA de Raycast vs. Scripts Personalizados

Raycast ofrece dos vías para los comandos de IA personalizados:

  1. Comandos basados en extensiones — Construidos a través del panel de configuración de prompts de la extensión Raycast Ollama
  2. Script commands — Scripts de shell o JavaScript que llaman directamente a la API de Ollama

Para la mayoría de los usuarios, el enfoque basado en extensiones cubre el 90% de los casos de uso. Para pipelines avanzados, los script commands te brindan control total.


Configurando Prompts en la Extensión Ollama

Abre Raycast, busca "Ollama" y navega a Custom Commands. Cada comando requiere:

Campo Descripción Ejemplo
Name Identificador del comando en Raycast Summarize Selection
Model Qué modelo Ollama usar llama3.2
System Prompt Instrucción persistente al modelo You are a concise summarizer.
User Prompt Template Prompt dinámico con la variable {selection} Summarize this in 3 bullet points: {selection}
Output Dónde aparece el resultado Portapapeles / HUD / Vista Detallada

Los Tres Comandos Esenciales

1. Resumir

Este comando destila cualquier texto seleccionado — correos electrónicos, artículos, documentación — en puntos clave fácilmente asimilables.

System Prompt:

Terminal
You are a precise summarization assistant. Extract only the essential information. Never add opinions or information not present in the source text. Respond only with the summary, no preamble.

User Prompt:

Terminal
Summarize the following text into 3-5 concise bullet points:

{selection}

Establece Output en Detail View para que los resúmenes más extensos permanezcan legibles sin saturar tu portapapeles.


2. Reescribir

El comando de reescritura transforma prosa torpe en texto pulido y profesional. Ideal para mensajes de Slack, documentación y correos electrónicos.

System Prompt:

Terminal
You are an expert editor and technical writer. Rewrite the provided text to be clear, concise, and professional. Preserve the original meaning and tone intent. Return only the rewritten text with no explanation.

User Prompt:

Terminal
Rewrite the following to be clearer and more professional:

{selection}

Establece Output en Clipboard para que puedas pegar la versión mejorada al instante con ⌘V.


3. Corregir Gramática

Corrección gramatical quirúrgica sin alterar tu voz — crítico para desarrolladores que escriben documentación o hablantes no nativos de inglés.

System Prompt:

Terminal
You are a grammar correction tool. Fix all grammatical errors, punctuation mistakes, and spelling issues in the provided text. Do not change the writing style, tone, or word choices unless grammatically necessary. Return only the corrected text.

User Prompt:

Terminal
Fix the grammar and punctuation in the following text:

{selection}

Avanzado: Script Command para Procesamiento por Lotes

Para usuarios avanzados que necesitan control programático, llama directamente a la API REST de Ollama mediante un Raycast Script Command:

Terminal
#!/bin/bash
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title Fix Grammar (Script)
# @raycast.mode silent

SELECTION=$(pbpaste)

RESPONSE=$(curl -s http://localhost:11434/api/generate \
  -H "Content-Type: application/json" \
  -d "{
    \"model\": \"llama3.2\",
    \"prompt\": \"Fix grammar only, return corrected text: ${SELECTION}\",
    \"stream\": false
  }" | python3 -c "import sys, json; print(json.load(sys.stdin)['response'])")

echo "$RESPONSE" | pbcopy

Guarda esto como fix-grammar.sh, hazlo ejecutable con chmod +x fix-grammar.sh, y colócalo en ~/.config/raycast/scripts/.


Estrategia de Selección de Modelos

No todas las tareas requieren tu modelo más potente. Adecúa el tamaño del modelo a la complejidad del comando:

Comando Modelo Recomendado Por Qué
Corregir Gramática phi3 o gemma2:2b Rápido, ligero, tarea simple
Reescribir llama3.2 Equilibrio entre calidad y velocidad
Resumir llama3.2 o mistral Requiere profundidad de comprensión

Consejo Pro: Los modelos más pequeños responden en menos de un segundo en Apple Silicon — para correcciones gramaticales, esa diferencia de velocidad es transformadora cuando usas el comando decenas de veces al día.

Step 6 Optimizando las Teclas de Acceso Rápido para un Acceso Ultrarrápido

La diferencia entre un buen flujo de trabajo de IA y uno excelente radica en la fricción. Cada clic adicional, cada cambio de contexto, cada momento invertido en buscar un menú es sobrecarga cognitiva que interrumpe tu estado de flujo. Las teclas de acceso rápido eliminan esa fricción por completo — transformando la asistencia de IA de una herramienta deliberada en una extensión invisible de tu pensamiento.

La Arquitectura de Teclas de Acceso Rápido de Raycast

Raycast admite dos capas distintas de asignación de atajos de teclado:

Capa Alcance Mejor Utilizada Para
Global Hotkey A nivel de sistema, funciona en cualquier app Tu comando de IA de mayor uso
Extension Hotkey Activa comandos de extensión específicos Comandos frecuentes pero secundarios
Alias Abre Raycast + pre-rellena el comando Acceso rápido sin memorizar nombres completos
Quicklink Atajo de Raycast a un prompt específico Tareas de IA repetibles y con plantilla

Asignando Teclas de Acceso Rápido a Tus Comandos de IA

Navega a Raycast Preferences → Extensions → Ollama AI y localiza cada comando personalizado que construiste en la sección anterior. Haz clic en el campo de tecla de acceso rápido junto a cualquier comando y presiona la combinación de teclas deseada.

Esquema de teclas de acceso rápido recomendado para comandos de IA:

Terminal
⌥ + Space        → Open Raycast (main launcher)
⌃ + ⌥ + S        → AI Summarize (selected text)
⌃ + ⌥ + R        → AI Rewrite (selected text)  
⌃ + ⌥ + G        → Fix Grammar (selected text)
⌃ + ⌥ + O        → Open Ollama Chat (freeform)

Consejo Pro: Usa Control (⌃) + Option (⌥) como prefijo modificador para todos los comandos de IA. Esta combinación rara vez está reclamada por los atajos del sistema de macOS u otras aplicaciones, lo que te otorga un espacio de nombres limpio y libre de conflictos.

Evitando Conflictos de Teclas de Acceso Rápido

Antes de finalizar cualquier atajo, verifica que no esté ya reclamado:

Terminal
# Check system-level shortcuts via defaults
defaults read com.apple.symbolichotkeys AppleSymbolicHotKeys

También puedes navegar a System Settings → Keyboard → Keyboard Shortcuts y examinar cada categoría. Las zonas de conflicto comunes incluyen:

  • Mission Control posee la mayoría de las combinaciones ⌃ + Arrow
  • Spotlight usa por defecto ⌘ + Space
  • Las herramientas de captura de pantalla ocupan varios slots ⌘ + Shift + número
  • Aplicaciones de terceros como Alfred, 1Password o Magnet pueden reclamar atajos basados en

Potenciando los Flujos de Trabajo de Selección de Texto

El verdadero poder de las teclas de acceso rápido de IA a nivel de sistema emerge cuando se combinan con disparadores de selección de texto. Configura tus comandos de Ollama para operar sobre el texto actualmente seleccionado en cualquier aplicación:

  1. Selecciona texto en Safari, Notion, Xcode, Slack — donde sea
  2. Presiona ⌃ + ⌥ + S
  3. Ollama procesa la selección y devuelve un resumen en línea, sin cambiar de aplicación

Esto funciona porque Raycast lee el portapapeles del sistema y el contexto de selección activo. Para garantizar la fiabilidad, habilita "Read selected text from active app" en el panel de configuración de tu extensión.

Creando un Mapa de Memoria Muscular

Anota tus teclas de acceso rápido y mantenlas durante 30 días. La consistencia es lo que convierte los atajos conscientes en memoria muscular subconsciente. Considera esta progresión:

Terminal
Week 1:  Use hotkeys consciously, referring to your cheat sheet
Week 2:  Fingers begin finding shortcuts without looking
Week 3:  Hotkeys feel as natural as ⌘+C / ⌘+V
Week 4:  You forget AI assistance is a "tool" — it's just thinking

El objetivo es el acceso a la IA con latencia cero — donde la brecha entre la intención y la ejecución desaparece por completo. Con la arquitectura de teclas de acceso rápido correcta en su lugar, Ollama deja de ser algo que abres y se convierte en algo a lo que simplemente acudes.