Saltar al contenido principal

Ejecutar un worker

Un worker es un plugin de DeepSeek Harness que comparte los modelos ya instalados en esta máquina, al precio que tú fijes. Ejecuta Ollama localmente; no hay clave de API en la nube ni factura de inferencia por consumo.

Requisitos​

  • DeepSeek Harness 0.2.2-rc.1 o posterior, y Node 22+.
  • Ollama con al menos un modelo descargado (ollama pull qwen3:8b, por ejemplo).
  • Una billetera en Base Sepolia con un poco de ETH de prueba para el gas. El plugin genera una por ti.

No hay token GenKaKu ni staking. Ganas USDC; gastas ETH en gas.

Instalación​

En DeepSeek Harness abre Plugins → Añadir plugin y pega:

@genkaku/dsh-worker-plugin

Deja la fuente de instalación en Registro predeterminado (registry.npmjs.org), confirma y reinicia DeepSeek Harness. Lo mismo desde una shell:

dsh plugin add @genkaku/dsh-worker-plugin

Aparece una entrada GenKaKu worker en la barra lateral.

Primer arranque​

El plugin busca Ollama en http://127.0.0.1:11434 y arranca ollama serve por su cuenta si está instalado pero no en ejecución. La primera sección del panel muestra si Ollama está funcionando y cuántos modelos encontró.

Cuando el tablón de ofertas está vacío, el plugin lista todos los modelos locales a defaultPricePerHour, que es 0 por defecto. Es algo deliberado: una máquina cuyo dueño no ha fijado un precio no debería poner precio a su hardware.

Fijar un precio​

Abre Modelos ofrecidos en el panel y asigna a cada modelo un precio por hora en USDC, como entero con 6 decimales de precisión (así, 250000 es 0.25 USDC/hour). Déjalo en 0 para servir el modelo gratis.

  • Un modelo de pago abre un escrow en USDC por sesión y liquida con un recibo firmado.
  • Un modelo gratuito se sirve sin tocar la cadena: sin escrow, sin gas, sin transacción.

El cobro se acumula por minuto iniciado de una sesión, así que un trabajo de dos minutos paga dos minutos a la tarifa por hora, no una hora completa.

Publicar en la cadena (opcional)​

El interruptor Directorio escribe tu peer ID y tu localizador en WorkerRegistry, para que los usuarios puedan encontrarte sin conocer tu dirección de antemano.

Está desactivado por defecto, y solo se activa cuando esta máquina tiene una dirección alcanzable globalmente. Un listado cuya dirección nadie puede marcar es peor que no tener listado. Publicar cuesta una transacción, y un localizador es permanente una vez en la cadena: un nombre de host o una IP escritos ahí no se pueden retirar, solo sustituir.

Los pares en la misma LAN pueden conectarse sin una entrada en el registro, usando una multiaddr manual en el plugin de usuario.

Billetera y pagos​

La sección Billetera muestra:

  • la dirección del worker,
  • los saldos de ETH (gas) y USDC (ganancias),
  • sin reclamar en escrow: ingresos liquidados que ya son tuyos pero siguen dentro de JobEscrow,
  • un botón Reclamar que mueve ese saldo a la billetera.

Reclamar es una transacción, así que la billetera necesita un poco de ETH. El USDC es lo que el worker gana, no lo que gasta.

La clave privada se guarda en texto plano, con permisos 0600, en ~/.dsh/genkaku/genkaku.keys.json. Firma recibos y vincula la entrada del directorio en la cadena: haz una copia de seguridad antes de mover la máquina a otro disco, y trata a cualquiera que pueda leer ese archivo como dueño de la billetera.

Niveles de modelo​

El mercado etiqueta cada modelo a partir de las capacidades que informa Ollama y del número de parámetros:

NivelSignificado
agentTiene tools y al menos 9B de parámetros: apto para un bucle de agente
lightTiene tools pero es pequeño o de tamaño desconocido: las llamadas a herramientas pueden ser poco fiables
chatSin capacidad de tools: no apto para agentes

El nivel es una etiqueta, nunca un filtro. Nada te impide listar un modelo chat; el usuario simplemente ve que no puede mover un agente.

Los modelos de razonamiento se ejecutan con think: false por defecto, para que una sola petición no gaste su presupuesto en razonamiento oculto. Define GENKAKU_OLLAMA_THINK=1 antes de arrancar DeepSeek Harness para mantener el comportamiento predeterminado de Ollama.

Puertos y red​

  • libp2p escucha en /ip4/0.0.0.0/tcp/4001 y /ip6/::/tcp/4002 por defecto. Abre los puertos TCP que configures si quieres conexiones directas.
  • El servidor de estado local se enlaza al primer puerto libre en 47821–47826. Dos perfiles de DSH en una misma máquina necesitan cada uno su propio puerto; si ves "Loading worker status…" para siempre, probablemente otro perfil ocupa ese rango.
  • En Windows, permite que Node pase por el firewall la primera vez que arranca el worker.

Solución de problemas​

No se detecta Ollama. Ejecuta ollama serve una vez, o pulsa Start Ollama en el panel. Si Ollama está en otro sitio, cambia ollamaHost en la configuración del plugin.

El interruptor Directorio aparece en gris. La máquina no tiene una dirección alcanzable globalmente. Los pares en la misma LAN aún pueden conectarse por multiaddr; si no, la sesión tendrá que ir a través del relay semilla.

Se sirvió una sesión pero el saldo no se movió. La liquidación acredita accrued dentro del contrato. Pulsa Reclamar; entonces la cifra aparece como el saldo de USDC de la billetera.

¿No hay nada listado en npm? Comprueba que estás en registry.npmjs.org y no en un espejo que aún no se ha sincronizado.