Ahorrando en API Keys: Conectando Ollama Local a un VPS con OpenClaw
A veces pagar por la API de OpenAI o Anthropic para tareas de agentes autónomos puede salirse de control. Si tienes una buena PC en casa (en mi caso, un i7 con 32GB de RAM y una GTX 1050), puedes sacarle provecho corriendo modelos locales con Ollama y conectarlos a tu servidor VPS en la nube.
En este post te enseño cómo conecté mi instancia de OpenClaw alojada en un VPS de Vultr hacia mi máquina local mediante un túnel SSH inverso.
1. El problema: Limitaciones de Hardware y Red
OpenClaw es un framework increíble para crear asistentes de terminal interactivos, pero en un VPS económico, no tienes la potencia gráfica (VRAM) para correr un modelo como qwen2.5-coder:7b nativamente.
La solución lógica es: Ejecutar el modelo en la PC de tu casa y decirle al VPS que envíe las peticiones hacia allá. El obstáculo es que mi PC local está detrás de un router con IP dinámica y NAT cerrado.
2. La Solución: Túnel SSH Inverso (Reverse SSH Tunnel)
La forma más segura de exponer tu puerto de Ollama local (11434) hacia tu VPS es usar SSH.
Desde la máquina local (tu PC en casa), ejecutas el siguiente comando:
ssh -R 11434:localhost:11434 deployer@IP_DE_TU_VPS -N -f
¿Qué hace esto?
-R 11434:localhost:11434: Le dice al VPS: "Abre tu puerto 11434 y todo lo que entre ahí, mándamelo por el túnel a mi puerto 11434 local".-N -f: Mantiene la conexión abierta en el fondo sin abrir una consola (ideal para dejarlo corriendo).
3. Configurando OpenClaw
Ahora que el VPS cree que tiene un Ollama corriendo en http://127.0.0.1:11434, necesitamos editar el archivo ~/.openclaw/openclaw.json para que OpenClaw sepa cómo usarlo.
La configuración correcta (esquema oficial) es la siguiente:
\"models\": {
\"providers\": {
\"ollama\": {
\"baseUrl\": \"http://127.0.0.1:11434\",
\"api\": \"ollama\",
\"models\": [
{
\"id\": \"qwen2.5-coder:7b\",
\"name\": \"Qwen 2.5 Coder 7B\",
\"reasoning\": false,
\"input\": [\"text\"],
\"cost\": {
\"input\": 0,
\"output\": 0,
\"cacheRead\": 0,
\"cacheWrite\": 0
},
\"contextWindow\": 8192,
\"maxTokens\": 4096
}
]
}
}
}
El detalle crucial: La VRAM
Es vital configurar correctamente el contextWindow y el maxTokens. Al principio OpenClaw intentaba enviar ventanas de contexto de 16,000 tokens a mi modelo. Como mi GTX 1050 solo tiene 4GB de VRAM, el proceso desbordaba la memoria de video y pasaba a la RAM del sistema (CPU), volviendo al agente extremadamente lento.
Ajustar el contexto a 8192 y el output a 4096 fue el punto dulce para que el agente fluyera con rapidez sin asfixiar la tarjeta gráfica.
Conclusión
Conectar la potencia cruda de tu PC en casa a la disponibilidad 24/7 de un VPS es un patrón de arquitectura súper útil. Te permite tener un bot de Telegram, Discord o Terminal funcionando siempre, pero delegando el trabajo pesado a tu hardware local gratuito.