diff --git a/README.es.md b/README.es.md index 7d8a5a47c..e9f864bb4 100644 --- a/README.es.md +++ b/README.es.md @@ -3,7 +3,7 @@

PicoClaw: Asistente de IA Ultra-Eficiente en Go

-

Hardware por 10$ · 10MB de RAM · Arranque en 1s · 皮皮虾,我们走!

+

Hardware de $10 · 10 MB de RAM · Arranque en 1 s · 皮皮虾,我们走!

Go @@ -23,9 +23,9 @@ --- -🦐 PicoClaw es un Asistente de IA personal ultraligero inspirado en [nanobot](https://github.com/HKUDS/nanobot), reescrito desde cero en Go mediante un proceso de autogestión, donde el propio agente de IA dirigió toda la migración de arquitectura y la optimización del código. +🦐 PicoClaw es un asistente de IA personal ultraligero inspirado en [nanobot](https://github.com/HKUDS/nanobot), reescrito desde cero en Go mediante un proceso de auto-generación en el que el propio agente de IA dirigió toda la migración arquitectónica y la optimización del código. -⚡️ Corre en hardware de $10 con <10MB de RAM: ¡Eso es un 99% menos de memoria que OpenClaw y 98% más barato que una Mac mini! +⚡️ Funciona en hardware de $10 con menos de 10 MB de RAM: ¡un 99 % menos de memoria que OpenClaw y un 98 % más barato que una Mac mini! @@ -45,52 +45,52 @@ > [!CAUTION] > **🚨 SEGURIDAD Y CANALES OFICIALES / 安全声明** > -> * **SIN CRIPTO:** PicoClaw **NO** tiene ningún token/moneda oficial. Cualquier afirmación en `pump.fun` u otras plataformas comerciales son **ESTAFAS**. +> * **SIN CRIPTOMONEDAS:** PicoClaw **NO** tiene token ni moneda oficial. Cualquier afirmación en `pump.fun` u otras plataformas de trading son **ESTAFAS**. > > * **DOMINIO OFICIAL:** El **ÚNICO** sitio web oficial es **[picoclaw.io](https://picoclaw.io)**, y el sitio de la empresa es **[sipeed.com](https://sipeed.com)** -> * **Advertencia:** Muchos dominios `.ai/.org/.com/.net/...` están registrados por terceros. -> * **Advertencia:** picoclaw se encuentra actualmente en desarrollo inicial y puede tener problemas de seguridad de red no resueltos. No lo implementes en entornos de producción antes de la versión v1.0. -> * **Nota:** picoclaw ha incorporado recientemente muchos PRs, lo que puede resultar en un mayor consumo de memoria (10–20MB) en las últimas versiones. Planeamos priorizar la optimización de recursos tan pronto como las funcionalidades actuales alcancen un estado estable. +> * **Advertencia:** Muchos dominios `.ai/.org/.com/.net/...` han sido registrados por terceros. +> * **Advertencia:** PicoClaw se encuentra en desarrollo temprano y puede tener problemas de seguridad de red sin resolver. No lo despliegues en entornos de producción antes del lanzamiento de la versión v1.0. +> * **Nota:** PicoClaw ha incorporado recientemente muchos PRs, lo que puede resultar en un mayor consumo de memoria (10–20 MB) en las versiones más recientes. Tenemos previsto priorizar la optimización de recursos en cuanto el conjunto de características actual alcance un estado estable. ## 📢 Noticias -2026-02-16 🎉 ¡PicoClaw alcanzó 12K estrellas en una semana! ¡Gracias a todos por su apoyo! PicoClaw está creciendo más rápido de lo que jamás imaginamos. Dado el alto volumen de PRs, necesitamos con urgencia mantenedores en la comunidad. Nuestros roles para voluntarios y la hoja de ruta están publicados oficialmente [aquí](ROADMAP.md) —¡Estamos ansiosos por tenerte a bordo! +2026-02-16 🎉 ¡PicoClaw alcanzó las 12 000 estrellas en una semana! ¡Gracias a todos por vuestro apoyo! PicoClaw está creciendo más rápido de lo que jamás imaginamos. Dado el gran volumen de PRs, necesitamos urgentemente mantenedores de la comunidad. Los roles de voluntario y la hoja de ruta están publicados oficialmente [aquí](ROADMAP.md) — ¡estamos deseando tenerte a bordo! -2026-02-13 🎉 ¡PicoClaw alcanzó 5000 estrellas en 4 días! ¡Gracias a la comunidad! Hay un montón de PRs e issues llegando (durante las vacaciones del Año Nuevo Chino), estamos finalizando la Hoja de Ruta del proyecto y creando el Grupo de Desarrolladores para acelerar el avance de PicoClaw. -🚀 Llamada a la Acción: Por favor envía tus sugerencias de funciones en GitHub Discussions. Las revisaremos y priorizaremos en nuestra próxima reunión semanal. +2026-02-13 🎉 ¡PicoClaw alcanzó las 5000 estrellas en 4 días! ¡Gracias a la comunidad! Han llegado muchísimos PRs e issues (durante las vacaciones del Año Nuevo Chino); estamos finalizando la Hoja de Ruta del Proyecto y configurando el Grupo de Desarrolladores para acelerar el desarrollo de PicoClaw. +🚀 Llamada a la acción: Por favor, envía tus solicitudes de funcionalidades en GitHub Discussions. Las revisaremos y priorizaremos durante nuestra próxima reunión semanal. -2026-02-09 🎉 ¡PicoClaw ha sido Lanzado! Creado en 1 día para llevar Agentes de IA a hardware de $10 con <10MB de RAM. 🦐 PicoClaw,Let's Go! +2026-02-09 🎉 ¡PicoClaw ha sido lanzado! Construido en 1 día para llevar agentes de IA a hardware de $10 con menos de 10 MB de RAM. 🦐 ¡PicoClaw, vamos! ## ✨ Características -🪶 **Ultra-Ligero**: Huella de memoria de <10MB — 99% más ligero que Clawdbot (en funciones base). +🪶 **Ultra-Ligero**: Huella de memoria inferior a 10 MB — un 99 % más pequeño que Clawdbot en su funcionalidad principal. -💰 **Costo Mínimo**: Lo bastante eficiente como para ejecutarse en hardware de $10 — 98% más barato que un Mac mini. +💰 **Coste mínimo**: Lo suficientemente eficiente para ejecutarse en hardware de $10 — un 98 % más barato que una Mac mini. -⚡️ **Rápido como el Rayo**: Un inicio 400 veces más rápido, arranca en 1 segundo incluso en monocore de 0.6GHz. +⚡️ **Increíblemente rápido**: Tiempo de arranque 400 veces más rápido, inicia en 1 segundo incluso en un núcleo a 0,6 GHz. -🌍 **Verdadera Portabilidad**: Un único binario ejecutable e independiente en RISC-V, ARM, MIPS, y x86, ¡Un clic y a correr! +🌍 **Verdadera portabilidad**: Binario único autocontenido para RISC-V, ARM, MIPS y x86. ¡Un clic para ejecutarlo! -🤖 **IA Inicializada por sí sola**: Implementación autónoma e independiente nativa en Go — 95% del código del núcleo fue generado por el Agente con refinamiento humano guiado. +🤖 **Impulsado por IA**: Implementación nativa en Go de forma autónoma — núcleo generado en un 95 % por agentes con refinamiento humano. | | OpenClaw | NanoBot | **PicoClaw** | | ----------------------------- | ------------- | ------------------------ | ----------------------------------------- | | **Lenguaje** | TypeScript | Python | **Go** | -| **RAM** | >1GB | >100MB | **< 10MB** | -| **Arranque**
(núcleo 0.8GHz) | >500s | >30s | **<1s** | -| **Costo** | Mac Mini 599$ | Muchos Linux SBC
~50$ | **Cualquier Placa Linux**
**Desde 10$** | +| **RAM** | >1 GB | >100 MB | **< 10 MB** | +| **Arranque**
(núcleo a 0,8 GHz) | >500 s | >30 s | **<1 s** | +| **Coste** | Mac Mini 599$ | La mayoría de SBC Linux
~50$ | **Cualquier placa Linux**
**Desde $10** | PicoClaw -## 🦾 Demonstration +## 🦾 Demostración -### 🛠️ Standard Assistant Workflows +### 🛠️ Flujos de Trabajo Estándar del Asistente
- - - + + + @@ -98,49 +98,49 @@ - - - + + +

🧩 Full-Stack Engineer

🗂️ Logging & Planning Management

🔎 Web Search & Learning

🧩 Ingeniería Full-Stack

🗂️ Gestión de Registros y Planificación

🔎 Búsqueda Web y Aprendizaje

Develop • Deploy • ScaleSchedule • Automate • MemoryDiscovery • Insights • TrendsDesarrollar · Desplegar · EscalarPlanificar · Automatizar · RecordarDescubrir · Analizar · Tendencias
-### 📱 Run on old Android Phones +### 📱 Ejecución en Teléfonos Android Antiguos -¡Dale a tu teléfono de hace una década una segunda vida! Conviértelo en un Asistente de IA inteligente con PicoClaw. Inicio rápido: +¡Dale una segunda vida a tu teléfono de hace una década! Conviértelo en un asistente de IA inteligente con PicoClaw. Inicio rápido: -1. **Instala Termux** (Disponible en F-Droid o Google Play). -2. **Ejecuta los siguientes comandos** +1. **Instala Termux** (disponible en F-Droid o Google Play). +2. **Ejecuta los comandos** ```bash -# Note: Replace v0.1.1 with the latest version from the Releases page +# Nota: Reemplaza v0.1.1 con la versión más reciente de la página de Releases wget https://github.com/sipeed/picoclaw/releases/download/v0.1.1/picoclaw-linux-arm64 chmod +x picoclaw-linux-arm64 pkg install proot termux-chroot ./picoclaw-linux-arm64 onboard ``` -¡Y luego sigue las instrucciones en la sección "Inicio Rápido" para terminar de configurar! +¡Luego sigue las instrucciones de la sección "Inicio Rápido" para completar la configuración! PicoClaw -### 🐜 Innovative Low-Footprint Deploy +### 🐜 Despliegue Innovador de Bajo Consumo -¡PicoClaw puede ser instalado en casi cualquier dispositivo Linux! +¡PicoClaw puede desplegarse en prácticamente cualquier dispositivo Linux! -- $9.9 [LicheeRV-Nano](https://www.aliexpress.com/item/1005006519668532.html) versión E(Ethernet) o W(WiFi6), para un Asistente del Hogar Mínimo -- $30~50 [NanoKVM](https://www.aliexpress.com/item/1005007369816019.html), o $100 [NanoKVM-Pro](https://www.aliexpress.com/item/1005010048471263.html) para Mantenimiento Automatizado de Servidores -- $50 [MaixCAM](https://www.aliexpress.com/item/1005008053333693.html) o $100 [MaixCAM2](https://www.kickstarter.com/projects/zepan/maixcam2-build-your-next-gen-4k-ai-camera) para Monitoreo Inteligente +- $9,9 [LicheeRV-Nano](https://www.aliexpress.com/item/1005006519668532.html) versión E (Ethernet) o W (WiFi6), para un asistente doméstico mínimo +- $30–50 [NanoKVM](https://www.aliexpress.com/item/1005007369816019.html), o $100 [NanoKVM-Pro](https://www.aliexpress.com/item/1005010048471263.html) para mantenimiento automatizado de servidores +- $50 [MaixCAM](https://www.aliexpress.com/item/1005008053333693.html) o $100 [MaixCAM2](https://www.kickstarter.com/projects/zepan/maixcam2-build-your-next-gen-4k-ai-camera) para monitorización inteligente -🌟 ¡Más Casos de Instalación Están Por Venir! +🌟 ¡Más casos de despliegue están por llegar! -## 📦 Install +## 📦 Instalación -### Instalación mediante binario precompilado +### Instalación con binario precompilado -Descarga el firmware de tu respectiva plataforma accediendo a la página de [releases](https://github.com/sipeed/picoclaw/releases). +Descarga el firmware para tu plataforma desde la página de [releases](https://github.com/sipeed/picoclaw/releases). -### Instalación desde el código fuente (últimas funciones, recomendado para desarrolladores) +### Instalación desde el código fuente (últimas funcionalidades, recomendado para desarrollo) ```bash git clone https://github.com/sipeed/picoclaw.git @@ -148,76 +148,76 @@ git clone https://github.com/sipeed/picoclaw.git cd picoclaw make deps -# Build, no need to install +# Compilar, sin necesidad de instalar make build -# Build for multiple platforms +# Compilar para múltiples plataformas make build-all -# Build for Raspberry Pi Zero 2 W (32-bit: make build-linux-arm; 64-bit: make build-linux-arm64) +# Compilar para Raspberry Pi Zero 2 W (32 bits: make build-linux-arm; 64 bits: make build-linux-arm64) make build-pi-zero -# Build And Install +# Compilar e instalar make install ``` -**Raspberry Pi Zero 2 W:** Usa el binario que corresponda a tu SO: Raspberry Pi OS 32-bit → `make build-linux-arm` (salida: `build/picoclaw-linux-arm`); 64-bit → `make build-linux-arm64` (salida: `build/picoclaw-linux-arm64`). O ejecuta `make build-pi-zero` para compilar todo a la vez. +**Raspberry Pi Zero 2 W:** Usa el binario que corresponda a tu sistema operativo: Raspberry Pi OS de 32 bits → `make build-linux-arm` (salida: `build/picoclaw-linux-arm`); 64 bits → `make build-linux-arm64` (salida: `build/picoclaw-linux-arm64`). O ejecuta `make build-pi-zero` para compilar ambos. ## 🐳 Docker Compose -También puedes ejecutar PicoClaw usando Docker Compose sin instalar nada en local. +También puedes ejecutar PicoClaw con Docker Compose sin instalar nada localmente. ```bash -# 1. Clona este proyecto +# 1. Clona este repositorio git clone https://github.com/sipeed/picoclaw.git cd picoclaw -# 2. En el primer inicio — auto genera el docker/data/config.json y luego se cierra +# 2. Primera ejecución: genera automáticamente docker/data/config.json y luego se detiene docker compose -f docker/docker-compose.yml --profile gateway up -# El contenedor imprimirá en consola un "First-run setup complete." y se detendrá a sí mismo. +# El contenedor imprime "First-run setup complete." y se detiene. -# 3. Pon tus contraseñas y llaves de la API -vim docker/data/config.json # Pon las api keys del proveedor, los tokens, etc. +# 3. Configura tus claves API +vim docker/data/config.json # Establece las claves API del proveedor, tokens de bot, etc. -# 4. Iniciar +# 4. Inicia docker compose -f docker/docker-compose.yml --profile gateway up -d ``` > [!TIP] -> **Usuarios de Docker**: Por defecto, el Gateway escucha del enlace `127.0.0.1` el cual es inaccesible desde el host público local. Si necesitas acceder a los endpoints o los puertos, establece la variable `PICOCLAW_GATEWAY_HOST=0.0.0.0` para tu entorno local o actualiza de manera manual el archivo de `config.json`. +> **Usuarios de Docker**: Por defecto, el Gateway escucha en `127.0.0.1`, lo que no es accesible desde el host. Si necesitas acceder a los endpoints de salud o exponer puertos, establece `PICOCLAW_GATEWAY_HOST=0.0.0.0` en tu entorno o actualiza `config.json`. ```bash -# 5. Comprobar registros (logs) +# 5. Revisar los registros docker compose -f docker/docker-compose.yml logs -f picoclaw-gateway -# 6. Parar +# 6. Detener docker compose -f docker/docker-compose.yml --profile gateway down ``` -### Modo Interfaz (Consola Web) +### Modo Launcher (Consola Web) -La imagen del `launcher` incluye explusivamente los 3 binarios (`picoclaw`, `picoclaw-launcher`, `picoclaw-launcher-tui`) e inicia de manera predeterminada la consola web, la cual proporciona una UI dentro del explorador para uso común y configuraciones fáciles. +La imagen `launcher` incluye los tres binarios (`picoclaw`, `picoclaw-launcher`, `picoclaw-launcher-tui`) e inicia la consola web por defecto, que proporciona una interfaz basada en navegador para configuración y chat. ```bash docker compose -f docker/docker-compose.yml --profile launcher up -d ``` -Abre http://localhost:18800 en tu navegador. El `launcher` administrará el proceso del gateway automáticamente. +Abre http://localhost:18800 en tu navegador. El launcher gestiona el proceso del gateway automáticamente. > [!WARNING] -> La consola web por el momento no cuenta con soporte de autenticación. Evite la exposición a servidores y entornos públicos de internet. +> La consola web aún no admite autenticación. Evita exponerla a Internet público. -### Modo Agente (Disparo Único) +### Modo Agente (Ejecución puntual) ```bash -# Haz una pregunta -docker compose -f docker/docker-compose.yml run --rm picoclaw-agent -m "¿Cuanto es 2+2?" +# Hacer una pregunta +docker compose -f docker/docker-compose.yml run --rm picoclaw-agent -m "¿Cuánto es 2+2?" -# Modo Interactivo +# Modo interactivo docker compose -f docker/docker-compose.yml run --rm picoclaw-agent ``` -### Actualización +### Actualizar ```bash docker compose -f docker/docker-compose.yml pull @@ -227,15 +227,15 @@ docker compose -f docker/docker-compose.yml --profile gateway up -d ### 🚀 Inicio Rápido > [!TIP] -> Establece tus Llaves de API (API Key) en `~/.picoclaw/config.json`. Obtén las llaves aquí: [Volcengine (CodingPlan)](https://console.volcengine.com) (LLM) · [OpenRouter](https://openrouter.ai/keys) (LLM) · [Zhipu](https://open.bigmodel.cn/usercenter/proj-mgmt/apikeys) (LLM). Las herramientas de búsqueda de internet son opcionales — obtén una gratis aquí: [Tavily API](https://tavily.com) (1000 res/mes) o [Brave Search API](https://brave.com/search/api) (2000 res/mes). +> Establece tu clave API en `~/.picoclaw/config.json`. Obtén claves API en: [Volcengine (CodingPlan)](https://console.volcengine.com) (LLM) · [OpenRouter](https://openrouter.ai/keys) (LLM) · [Zhipu](https://open.bigmodel.cn/usercenter/proj-mgmt/apikeys) (LLM). La búsqueda web es opcional — obtén una [API de Tavily](https://tavily.com) gratuita (1000 consultas/mes) o una [API de Brave Search](https://brave.com/search/api) (2000 consultas gratuitas/mes). -**1. Inicialización** +**1. Inicializar** ```bash picoclaw onboard ``` -**2. Configuración** (`~/.picoclaw/config.json`) +**2. Configurar** (`~/.picoclaw/config.json`) ```json { @@ -297,58 +297,58 @@ picoclaw onboard } ``` -> **Nuevo**: El formato de configuración en `model_list` actualmente permite la funcionalidad de proveedores de 'zero-code addition'. Revisa la [Configuración del Modelo](#model-configuration-model_list) para más detalles. -> `request_timeout` es opcional y usa los milisegundos. Si se omite o es `<= 0`, PicoClaw usa el valor esperado de la terminal por defecto (120s). +> **Nuevo**: El formato de configuración `model_list` permite añadir proveedores sin modificar el código. Consulta [Configuración de Modelos](#configuración-de-modelos-model_list) para más detalles. +> `request_timeout` es opcional y se expresa en segundos. Si se omite o se establece en `<= 0`, PicoClaw usa el tiempo de espera predeterminado (120 s). -**3. Obtener Llaves API** +**3. Obtener claves API** -* **Proveedores de LLM**: [OpenRouter](https://openrouter.ai/keys) · [Zhipu](https://open.bigmodel.cn/usercenter/proj-mgmt/apikeys) · [Anthropic](https://console.anthropic.com) · [OpenAI](https://platform.openai.com) · [Gemini](https://aistudio.google.com/api-keys) -* **Búsqueda Web** (opcional): - * [Brave Search](https://brave.com/search/api) - De subscripción ($5/1000 request, ~$5-6/mes) - * [Perplexity](https://www.perplexity.ai) - Entrenado y enfocado a interfaces y aplicaciones de chat AI - * [SearXNG](https://github.com/searxng/searxng) - Hosting local propio (gratis, API y llave no requerida) - * [Tavily](https://tavily.com) - Específicamente enfocado y optimizado en Agentes (1000 request/mes) - * DuckDuckGo - Búsqueda en general por defecto y fallback (API no requerida) +* **Proveedor LLM**: [OpenRouter](https://openrouter.ai/keys) · [Zhipu](https://open.bigmodel.cn/usercenter/proj-mgmt/apikeys) · [Anthropic](https://console.anthropic.com) · [OpenAI](https://platform.openai.com) · [Gemini](https://aistudio.google.com/api-keys) +* **Búsqueda web** (opcional): + * [Brave Search](https://brave.com/search/api) - De pago ($5/1000 consultas, ~$5–6/mes) + * [Perplexity](https://www.perplexity.ai) - Búsqueda con IA e interfaz de chat + * [SearXNG](https://github.com/searxng/searxng) - Motor de metabúsqueda autoalojado (gratuito, sin clave API) + * [Tavily](https://tavily.com) - Optimizado para agentes de IA (1000 peticiones/mes) + * DuckDuckGo - Alternativa incorporada (sin clave API requerida) -> **Nota**: Revisa el template de configuración completo aquí: `config.example.json`. +> **Nota**: Consulta `config.example.json` para una plantilla de configuración completa. **4. Chatear** ```bash -picoclaw agent -m "¿Cuanto es 2+2?" +picoclaw agent -m "¿Cuánto es 2+2?" ``` -¡Eso es todo! Ya tienes a tu asistente personal en solo 2 minutos. +¡Eso es todo! Tendrás un asistente de IA funcionando en 2 minutos. --- ## 💬 Aplicaciones de Chat -Habla con tu picoclaw a través de Telegram, Discord, WhatsApp, Matrix, QQ, DingTalk, LINE o WeCom. +Habla con PicoClaw a través de Telegram, Discord, WhatsApp, Matrix, QQ, DingTalk, LINE o WeCom. -> **Nota**: Todos los canales que utilizan webhooks (LINE, WeCom, etc.) están servidos sobre un solo servidor HTTP Gateway abierto y compartido (`gateway.host`:`gateway.port`, el predeterminado es `127.0.0.1:18790`). No hay puertos pre-configurados para los canales. Nota: Feishu usa modo WebSocket/SDK y no utilizará el servidor HTTP webhook compartido de este servicio. +> **Nota**: Todos los canales basados en webhooks (LINE, WeCom, etc.) se sirven en un único servidor HTTP Gateway compartido (`gateway.host`:`gateway.port`, por defecto `127.0.0.1:18790`). No hay puertos individuales por canal. Nota: Feishu usa el modo WebSocket/SDK y no utiliza el servidor HTTP de webhooks compartido. -| Canal | Configuración | -| ------------ | ---------------------------------- | -| **Telegram** | Fácil (solo con el token) | -| **Discord** | Fácil (token de bot + intents) | -| **WhatsApp** | Fácil (nativo: escanear código QR; o usando puente de URL) | -| **Matrix** | Medio (homeserver + token de acceso a un bot) | -| **QQ** | Fácil (AppID + AppSecret) | -| **DingTalk** | Medio (credenciales de app) | -| **LINE** | Medio (credenciales + URL del webhook) | -| **WeCom AI Bot** | Medio (Token + llave AES) | +| Canal | Configuración | +| ------------ | ------------------------------------------ | +| **Telegram** | Sencilla (solo un token) | +| **Discord** | Sencilla (token de bot + intents) | +| **WhatsApp** | Sencilla (nativo: escaneo QR; o URL de puente) | +| **Matrix** | Media (servidor homeserver + token de acceso del bot) | +| **QQ** | Sencilla (AppID + AppSecret) | +| **DingTalk** | Media (credenciales de la app) | +| **LINE** | Media (credenciales + URL de webhook) | +| **WeCom AI Bot** | Media (Token + clave AES) |

Telegram (Recomendado) -**1. Crea tu bot** +**1. Crear un bot** -* Abre Telegram, y busca al bot `@BotFather` -* Envíale `/newbot`, y sigue las instrucciones en la pantalla -* Copia el token de acceso +* Abre Telegram y busca `@BotFather` +* Envía `/newbot` y sigue las instrucciones +* Copia el token -**2. Configura tu bot** +**2. Configurar** ```json { @@ -362,42 +362,42 @@ Habla con tu picoclaw a través de Telegram, Discord, WhatsApp, Matrix, QQ, Ding } ``` -> Obtén tu propia ID de usuario hablando con el bot `@userinfobot` en la aplicación de Telegram. +> Obtén tu ID de usuario desde `@userinfobot` en Telegram. -**3. Ejecútalo** +**3. Ejecutar** ```bash picoclaw gateway ``` -**4. Menú de comandos en Telegram (se auto-registra al inicio)** +**4. Menú de comandos de Telegram (registro automático al inicio)** -PicoClaw ahora es capaz de mantener las definiciones y registros de los comandos en un solo sitio compartido. Al encenderlo, Telegram inmediatamente auto-registrará todos los comandos del bot que puedan ser permitidos (por ejemplo `/start`, `/help`, `/show`, `/list`) manteniendo en sintonía su menú de comandos en tiempo de ejecución. -El registro del menú de comandos de Telegram conservará su UX de descubrimiento por canales de chat locales; sin embargo, la ejecución en sí de comandos genéricos también es manejada mediante un lazo al agente que procesa a través del ejecutor propio de comandos. +PicoClaw mantiene las definiciones de comandos en un registro compartido. Al iniciarse, Telegram registrará automáticamente los comandos del bot compatibles (por ejemplo, `/start`, `/help`, `/show`, `/list`), de modo que el menú de comandos y el comportamiento en tiempo de ejecución estén sincronizados. +El registro del menú de comandos de Telegram es un proceso de descubrimiento local al canal; la ejecución genérica de comandos se gestiona de forma centralizada en el bucle del agente a través del ejecutor de comandos. -Si el comando de registros falla (por ejemplo por culpa de errores en el API o en la conexión de la red), el canal todavía comenzará a correr con naturalidad y PicoClaw simplemente reintentará ejecutar la registración fallida de fondo. +Si el registro de comandos falla (errores transitorios de red o de la API), el canal sigue iniciándose y PicoClaw reintenta el registro en segundo plano.
Discord -**1. Crea un bot** +**1. Crear un bot** -* Ve aquí: -* Crea tu aplicación → Bot → Añadir Bot (Add Bot) -* Copia el token que te dará el bot +* Ve a +* Crea una aplicación → Bot → Añadir Bot +* Copia el token del bot -**2. Habilita 'Intents'** +**2. Habilitar intents** -* Dentro de las opciones del Bot o 'Bot settings', marca para activar esto: **MESSAGE CONTENT INTENT** -* (Opcional) Actívalo también para el uso general de la lista a usar con miembros y datos de **SERVER MEMBERS INTENT** +* En la configuración del Bot, habilita **MESSAGE CONTENT INTENT** +* (Opcional) Habilita **SERVER MEMBERS INTENT** si planeas usar listas de permisos basadas en datos de miembros -**3. Obtén de Discord tu propio User ID (ID de Usuario)** -* Configuración en Discord → Avanzado (Advanced) → activa el **Developer Mode** (Modo desarrollador) -* Da click derecho a tu avatar y selecciona → **Copy User ID** +**3. Obtener tu ID de usuario** +* Ajustes de Discord → Avanzado → habilita el **Modo desarrollador** +* Haz clic derecho en tu avatar → **Copiar ID de usuario** -**4. Configuración** +**4. Configurar** ```json { @@ -411,16 +411,16 @@ Si el comando de registros falla (por ejemplo por culpa de errores en el API o e } ``` -**5. Invita a tu bot** +**5. Invitar al bot** -* Ve a OAuth2 → Generador de enlace de URL -* Busca los Scopes y selecciona: `bot` -* Permisos del Bot (Bot Permissions): Selecciona `Send Messages` y `Read Message History` -* Ya deberías haber generado un enlace, abre el enlace generado de invitación de URL que has creado y añade tú solo al equipo servidor (server) en que estés. +* OAuth2 → Generador de URL +* Ámbitos: `bot` +* Permisos del bot: `Send Messages`, `Read Message History` +* Abre la URL de invitación generada y añade el bot a tu servidor -**Opcional: Disparador en modo de grupos** +**Opcional: Modo de activación en grupos** -Por defecto, el bot siempre tratará de responder a todo mensaje que encuentre en su canal de los servidores. Si quieres configurar esto, añade una restricción simple con solo @ y la mención que tú elijas que lo llame: +Por defecto, el bot responde a todos los mensajes en un canal de servidor. Para restringir las respuestas solo a menciones con @, añade: ```json { @@ -432,7 +432,7 @@ Por defecto, el bot siempre tratará de responder a todo mensaje que encuentre e } ``` -También le puedes asignar activadores de comando específicos con atajos en prefijos (como decir: `!bot`): +También puedes activarlo mediante prefijos de palabras clave (por ejemplo, `!bot`): ```json { @@ -444,7 +444,7 @@ También le puedes asignar activadores de comando específicos con atajos en pre } ``` -**6. Ejecuta tu script** +**6. Ejecutar** ```bash picoclaw gateway @@ -453,14 +453,14 @@ picoclaw gateway
-WhatsApp (Nativo usando whatsmeow) +WhatsApp (nativo a través de whatsmeow) -PicoClaw puede integrarse y conectarse con tu WhatsApp de dos formas distintas: +PicoClaw puede conectarse a WhatsApp de dos formas: -- **Nativo (Recomendado):** En un solo proceso usando la herramienta [whatsmeow](https://github.com/tulir/whatsmeow). Sin necesidad de ningún puente de configuración separado. Establece el flag de `"use_native": true` y simplemente deja en blanco `bridge_url`. Al arrancar el programa por primera vez, escanea tu código QR particular con WhatsApp (Mediante Dispositivos Enlazados). La sesión o tu token será directamente almacenada a través de tu entorno en (`workspace/whatsapp/`). Esto es **opcional** para asegurar mantener a tu binario lo más pequeño y ligero posible; compila el proyecto con `-tags whatsapp_native` (usa `make build-whatsapp-native` o construye así `go build -tags whatsapp_native ./cmd/...`). -- **Puente:** Conéctate con WhatsApp a través de un puente o enlace provisto mediante WebSocket externo. Establece y llena `bridge_url` (usa `ws://localhost:3001` como ejemplo) y deja a `use_native` como falso. +- **Nativo (recomendado):** En proceso usando [whatsmeow](https://github.com/tulir/whatsmeow). Sin puente externo. Establece `"use_native": true` y deja `bridge_url` vacío. En la primera ejecución, escanea el código QR con WhatsApp (Dispositivos vinculados). La sesión se almacena en tu espacio de trabajo (por ejemplo, `workspace/whatsapp/`). El canal nativo es **opcional** para mantener el binario predeterminado pequeño; compila con `-tags whatsapp_native` (por ejemplo, `make build-whatsapp-native` o `go build -tags whatsapp_native ./cmd/...`). +- **Puente:** Conéctate a un puente WebSocket externo. Establece `bridge_url` (por ejemplo, `ws://localhost:3001`) y mantén `use_native` en false. -**Configuración (Método nativo)** +**Configurar (nativo)** ```json { @@ -475,19 +475,19 @@ PicoClaw puede integrarse y conectarse con tu WhatsApp de dos formas distintas: } ``` -Si `session_store_path` se encuentra vacío, la sesión pasará a ser almacenada en un directorio como `<workspace>/whatsapp/`. Para iniciar todo debes ejecutar mediante `picoclaw gateway`; en la primera ocasión, debes en la terminal escanear y visualizar el código QR mediante la misma aplicación de tu WhatsApp → Dispositivos Vinculados o Linked Devices. +Si `session_store_path` está vacío, la sesión se almacena en `/whatsapp/`. Ejecuta `picoclaw gateway`; en la primera ejecución, escanea el código QR que aparece en el terminal con WhatsApp → Dispositivos vinculados.
QQ -**1. Crea un bot** +**1. Crear un bot** -- Ve a [QQ Open Platform](https://q.qq.com/#) -- Genera una aplicación → Obten su respectiva **AppID** y su **AppSecret** +- Ve a la [Plataforma Abierta de QQ](https://q.qq.com/#) +- Crea una aplicación → Obtén el **AppID** y el **AppSecret** -**2. Configuración** +**2. Configurar** ```json { @@ -502,9 +502,9 @@ Si `session_store_path` se encuentra vacío, la sesión pasará a ser almacenada } ``` -> Pon `allow_from` como un arreglo vacío para brindar los permisos a cualquiera, o en todo caso puedes restringir accesos mediante y añadiendo varios números de QQ para dar un correcto permiso y autorización específicos. +> Deja `allow_from` vacío para permitir todos los usuarios, o especifica números de QQ para restringir el acceso. -**3. Ejecútalo** +**3. Ejecutar** ```bash picoclaw gateway @@ -515,13 +515,13 @@ picoclaw gateway
DingTalk -**1. Crea un bot** +**1. Crear un bot** -* Dirígete a [Open Platform](https://open.dingtalk.com/) -* Construye una internal app -* Selecciona la llave Client ID y Client Secret y cópialas +* Ve a la [Plataforma Abierta](https://open.dingtalk.com/) +* Crea una aplicación interna +* Copia el Client ID y el Client Secret -**2. Configuración** +**2. Configurar** ```json { @@ -536,9 +536,9 @@ picoclaw gateway } ``` -> Pon `allow_from` con un arreglo vacío para ceder permisos a nivel global y universal, o delimita accesos escribiendo y guardando las IDs de usuarios DingTalk para brindar un seguro acceso particular solo al personal y equipo. +> Deja `allow_from` vacío para permitir todos los usuarios, o especifica IDs de usuario de DingTalk para restringir el acceso. -**3. Ejecútalo** +**3. Ejecutar** ```bash picoclaw gateway @@ -548,12 +548,12 @@ picoclaw gateway
Matrix -**1. Configura una cuenta para un bot** +**1. Preparar la cuenta del bot** -* Utiliza al homeserver que suelas preferir (e.g. `https://matrix.org` o en host local) -* Crea en él a un usuario y extrae y obtén el pertinente token clave de su perfil. +* Usa tu servidor homeserver preferido (por ejemplo, `https://matrix.org` o uno autoalojado) +* Crea un usuario bot y obtén su token de acceso -**2. Configuración** +**2. Configurar** ```json { @@ -569,26 +569,26 @@ picoclaw gateway } ``` -**3. Ejecútalo** +**3. Ejecutar** ```bash picoclaw gateway ``` -Para parámetros extras muy detallados (`device_id`, `join_on_invite`, `group_trigger`, `placeholder`, `reasoning_channel_id`), puedes ver a fondo visitando la [Guía de Configuración Matrix Channel](docs/channels/matrix/README.md). +Para opciones completas (`device_id`, `join_on_invite`, `group_trigger`, `placeholder`, `reasoning_channel_id`), consulta la [Guía de Configuración del Canal Matrix](docs/channels/matrix/README.md).
LINE -**1. Crea una Cuenta Oficial de LINE** +**1. Crear una cuenta oficial de LINE** -- Dirígete a la [LINE Developers Console](https://developers.line.biz/) -- Crea un proveedor (provider) → Crea un canal Messaging API -- Copia tu respectivo **Channel Secret** y el **Channel Access Token** +- Ve a la [Consola de Desarrolladores de LINE](https://developers.line.biz/) +- Crea un proveedor → Crea un canal de API de Mensajería +- Copia el **Channel Secret** y el **Channel Access Token** -**2. Configuración** +**2. Configurar** ```json { @@ -604,48 +604,48 @@ Para parámetros extras muy detallados (`device_id`, `join_on_invite`, `group_tr } ``` -> Un webhook de LINE es servido y usado sobre un servidor o nodo de Gateway compartido (`gateway.host`:`gateway.port`, el predeterminado es `127.0.0.1:18790`). +> El webhook de LINE se sirve en el servidor Gateway compartido (`gateway.host`:`gateway.port`, por defecto `127.0.0.1:18790`). -**3. Establecer y asentar el Webhook URL** +**3. Configurar la URL del webhook** -LINE requiere siempre el uso de protocolo HTTPS para webhooks. Emplea proxy en verso o túnel seguro: +LINE requiere HTTPS para los webhooks. Usa un proxy inverso o un túnel: ```bash -# Example with ngrok (gateway default port is 18790) +# Ejemplo con ngrok (el puerto predeterminado del gateway es 18790) ngrok http 18790 ``` -Llegado este punto, establece la URL del webhook de LINE Developers Console hacia o apuntando a `https://your-domain/webhook/line` y activa la opción llamada **Use webhook**. +Luego establece la URL del webhook en la Consola de Desarrolladores de LINE como `https://your-domain/webhook/line` y habilita **Usar webhook**. -**4. Ejecútalo** +**4. Ejecutar** ```bash picoclaw gateway ``` -> Aviso para uso en chats de canales grupales, el AI Bot solamente dará respuesta única si es @mencionado. Cuando se contesta se añade cita (quote) del mensaje de origen. +> En chats de grupo, el bot responde solo cuando se le menciona con @. Las respuestas citan el mensaje original.
WeCom (企业微信) -PicoClaw soporta tres formatos distintos en integraciones WeCom: +PicoClaw admite tres tipos de integración con WeCom: -**Opción 1: WeCom Bot (Bot)** - Modo de instalación súper sencillo, soportando los chats o conversaciones colectivas. -**Opción 2: WeCom App (Custom App)** - Incluye mejores opciones, mensajería de alertas activas, orientado pero sólo aplicable a los chats privados. -**Opción 3: WeCom AI Bot (AI Bot)** - Agente Oficial de bot integrado de inteligencia, soporta respuesta fluida e integrable en chats grupales o DM privado. +**Opción 1: Bot de WeCom (Bot)** - Configuración más sencilla, admite chats de grupo +**Opción 2: App de WeCom (App personalizada)** - Más funciones, mensajería proactiva, solo chat privado +**Opción 3: Bot de IA de WeCom (AI Bot)** - Bot de IA oficial, respuestas en streaming, admite grupos y chat privado -Lee atentamente e infórmate bajo detalle en la sección [Guía de Configuración WeCom AI Bot](docs/channels/wecom/wecom_aibot/README.zh.md) sobre detalles de cada procedimiento de tu elección. +Consulta la [Guía de Configuración del Bot de IA de WeCom](docs/channels/wecom/wecom_aibot/README.zh.md) para instrucciones detalladas de configuración. -**Inicio Rápido - WeCom Bot:** +**Configuración rápida - Bot de WeCom:** -**1. Crear a un bot** +**1. Crear un bot** -* Dirígete e ingresa propiamente y ve a tu Consola Admin de WeCom → Chat en Grupo (Group Chat) → Añadir al Bot en Conjunto (Add Group Bot) -* Selecciona la URL de tipo formato del webhoook y pégala (eje: `https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx`) +* Ve a la Consola de Administración de WeCom → Chat de grupo → Añadir bot de grupo +* Copia la URL del webhook (formato: `https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx`) -**2. Configuración** +**2. Configurar** ```json { @@ -662,23 +662,23 @@ Lee atentamente e infórmate bajo detalle en la sección [Guía de Configuració } ``` -> El webhook de WeCom se encuentra sirviéndose ahora al estar inter-conectado con la aplicación por defecto y su Gateway (`gateway.host`:`gateway.port`, enlace original en `127.0.0.1:18790`). +> El webhook de WeCom se sirve en el servidor Gateway compartido (`gateway.host`:`gateway.port`, por defecto `127.0.0.1:18790`). -**Montaje Rápido o Startup - WeCom App:** +**Configuración rápida - App de WeCom:** -**1. Crea una app** +**1. Crear una app** -* Dirígete y abre la Consola de Administración WeCom → Funciones de la App u Opciones(App Management) → Crea la App -* Consigue la llave encriptada de **AgentId** y el propio **Secret** -* Transfiriéndite hacia tu sección o portal "Mi empresa" (My Company page), resalta y copia todo contenido del **CorpID** +* Ve a la Consola de Administración de WeCom → Gestión de apps → Crear app +* Copia el **AgentId** y el **Secret** +* Ve a la página "Mi empresa" y copia el **CorpID** -**2. Configuraciones en torno a Mensajes Entrantes** +**2. Configurar la recepción de mensajes** -* Dentro mismo desde sus App detail Settings o "App details", clickea el cuadro de recibir mensaje "Receive Message" → "Set API" -* Localiza y ajusta ahora allí la URL del API por la vía y puerto de la siguiente sintaxis `http://your-server:18790/webhook/wecom-app` -* Desencadena y crea un enlace en forma de **Token** y **EncodingAESKey** +* En los detalles de la app, haz clic en "Recibir mensajes" → "Establecer API" +* Establece la URL como `http://your-server:18790/webhook/wecom-app` +* Genera el **Token** y el **EncodingAESKey** -**3. Configuración** +**3. Configurar** ```json { @@ -697,23 +697,23 @@ Lee atentamente e infórmate bajo detalle en la sección [Guía de Configuració } ``` -**4. Ejecútalo** +**4. Ejecutar** ```bash picoclaw gateway ``` -> **Nota**: El sistema original de respuesta llamado WeCom callback usa el puerto de salida base y de puente conocido como Gateway port (default 18790). Por razones lógicas usa tú a su vez y de preferencia reverse un protocolo de proxy en red para HTTPS. +> **Nota**: Las callbacks de webhook de WeCom se sirven en el puerto del Gateway (por defecto 18790). Usa un proxy inverso para HTTPS. -**Montaje Rápido e instalación de Setup - WeCom AI Bot:** +**Configuración rápida - Bot de IA de WeCom:** -**1. Crea un Bot (Específico al AI Bot)** +**1. Crear un Bot de IA** -* Abre a través del navegador tu interfaz WeCom, loguéate del propio WeCom Admin Console → App Management → y busca opciones del AI Bot dentro. -* Directamente desde esas propias preferencias allí asignadas de esa propia IA "AI Bot settings", asienta su función en configuración para la variable de URL callback : `http://your-server:18791/webhook/wecom-aibot` -* Copia el **Token** originado y cliquea generar aleatorio de su llave ("Random Generate") referida y necesaria para el **EncodingAESKey** +* Ve a la Consola de Administración de WeCom → Gestión de apps → Bot de IA +* En la configuración del Bot de IA, configura la URL de callback: `http://your-server:18791/webhook/wecom-aibot` +* Copia el **Token** y haz clic en "Generar aleatoriamente" para el **EncodingAESKey** -**2. Configuración** +**2. Configurar** ```json { @@ -724,100 +724,101 @@ picoclaw gateway "encoding_aes_key": "YOUR_43_CHAR_ENCODING_AES_KEY", "webhook_path": "/webhook/wecom-aibot", "allow_from": [], - "welcome_message": "Hello! How can I help you?" + "welcome_message": "¡Hola! ¿En qué puedo ayudarte?" } } } ``` -**3. Run** +**3. Ejecutar** ```bash picoclaw gateway ``` -> **Note**: WeCom AI Bot uses streaming pull protocol — no reply timeout concerns. Long tasks (>30 seconds) automatically switch to `response_url` push delivery. +> **Nota**: El Bot de IA de WeCom usa el protocolo de extracción en streaming — sin preocupaciones por tiempos de espera en las respuestas. Las tareas largas (más de 30 segundos) cambian automáticamente a entrega mediante `response_url`.
-## ClawdChat Únete a la Red Social de Agente (Agent Social Network) +## ClawdChat Únete a la Red Social de Agentes -Conecta Picoclaw a la red social global Agent Social Network solo mandando también un único mensaje desde la CLI principal o desde cualquier Chat App vinculada e integrada al mismo. +Conecta PicoClaw a la Red Social de Agentes simplemente enviando un mensaje a través de la CLI o cualquier aplicación de chat integrada. -**Lee con atención `https://clawdchat.ai/skill.md` y guíate por la información mostrada de la página para unirte a [ClawdChat.ai](https://clawdchat.ai)** +**Lee `https://clawdchat.ai/skill.md` y sigue las instrucciones para unirte a [ClawdChat.ai](https://clawdchat.ai)** -## ⚙️ Ajustes y Configuración +## ⚙️ Configuración -Fichero index de configuración: `~/.picoclaw/config.json` +Archivo de configuración: `~/.picoclaw/config.json` -### Variables de Entorno y Variables Locales +### Variables de Entorno -A través de las variables de entorno puedes sobrescribir parámetros por defecto de los directorios preestablecidos. Resultando en algo altamente provechoso y aconsejable al desarrollar en puertos de instalaciones portátiles, despliegues docker encapsulados, para probar un picoclaw como un host temporal en formato de system service. Dichas dependientes controlarán direcciones de pathing (rutas estables de carpeta) por separado. +Puedes sobrescribir las rutas predeterminadas usando variables de entorno. Esto resulta útil para instalaciones portátiles, despliegues en contenedores o para ejecutar PicoClaw como un servicio del sistema. Estas variables son independientes y controlan rutas diferentes. -| Variable | Descripción | Directorio Default | -|-------------------|-----------------------------------------------------------------------------------------------------------------------------------------|---------------------------| -| `PICOCLAW_CONFIG` | Sobrescribe toda la ruta al file original `.json` de configuración inicial principal. Le permite a tu picoclaw saber por propia carga en `config.json` cuál parámetro montar y levantar primero e ignora y exime las otras dependencias del ecosistema general. | `~/.picoclaw/config.json` | -| `PICOCLAW_HOME` | Interviene sobrescribiendo a su homólogo nativo y original de base de datos base (root) desde las particiones del picoclaw alojado ahí. Realiza también cambios alternos dentro del árbol de localización pre-estructurada por omisión del actual `workspace` entre más registros. | `~/.picoclaw` | +| Variable | Descripción | Ruta predeterminada | +|-------------------|------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------| +| `PICOCLAW_CONFIG` | Sobrescribe la ruta al archivo de configuración. Indica directamente a PicoClaw qué `config.json` cargar, ignorando todas las demás ubicaciones. | `~/.picoclaw/config.json` | +| `PICOCLAW_HOME` | Sobrescribe el directorio raíz de datos de PicoClaw. Cambia la ubicación predeterminada del `workspace` y otros directorios de datos. | `~/.picoclaw` | **Ejemplos:** ```bash -# Iniciar picoclaw usando un layout específico con configuración propia apartada -# La ruta general del folder y de workspace son procesadas y evaluadas luego de cargar lo estipulado para ese archivo config base +# Ejecutar PicoClaw usando un archivo de configuración específico +# La ruta del workspace se leerá desde ese archivo de configuración PICOCLAW_CONFIG=/etc/picoclaw/production.json picoclaw gateway -# Ejecuta el picoclaw pero reubicando donde residirán sus dependencias de todos tus datas e info a nivel local como en la base -> /opt/picoclaw -# Su índice y el Config en sí por pre-carga son reubicados con -> ~/.picoclaw/config.json -# Luego la terminal del Workspace te generará su resultado final en -> /opt/picoclaw/workspace +# Ejecutar PicoClaw con todos sus datos almacenados en /opt/picoclaw +# La configuración se cargará desde el ~/.picoclaw/config.json predeterminado +# El workspace se creará en /opt/picoclaw/workspace PICOCLAW_HOME=/opt/picoclaw picoclaw agent -# Usar ambos a la en conjunto a la par para realizar un Setup completamente estructurado y customizado por el usuario a la medida +# Usar ambas para una configuración totalmente personalizada PICOCLAW_HOME=/srv/picoclaw PICOCLAW_CONFIG=/srv/picoclaw/main.json picoclaw gateway ``` -### Esquema de Directorio y Workspace +### Estructura del Workspace -PicoClaw mantiene los valores internos almacenados mediante y del modo configurado que hayas designado (el inicial es: `~/.picoclaw/workspace`): +PicoClaw almacena los datos en tu workspace configurado (por defecto: `~/.picoclaw/workspace`): ``` ~/.picoclaw/workspace/ -├── sessions/ # Tus sesiones del diálogo individual o grupal conversado en el tiempo y su histórico -├── memory/ # Datos en variables de resguardo de a Memoria con largo término y contexto local (MEMORY.md) -├── state/ # El state actual de pre-uso interactivo guardado del usuario (del último chat, etc.) -├── cron/ # Trabajos pre-cargados a nivel de datos por su database en forma base y listado prehecho -├── skills/ # Todo el panel base por skills y facultades únicas personalizadas (skills) -├── AGENTS.md # Fichero guía guía o parámetro a comportamientos o instrucciones dictaminadas a la IA -├── HEARTBEAT.md # Parámetros por cronómetros para revisar (revisa cada 30 mn pre-asignado de fabrica) -├── IDENTITY.md # Preceptos propios del AI / Base principal -├── SOUL.md # Estructura referida al sistema abstracto al que reza del tipo soul y de cognición de rol general -└── USER.md # Preferencias designadas e instruídas de un User particular del sistema (y al agente) +├── sessions/ # Sesiones de conversación e historial +├── memory/ # Memoria a largo plazo (MEMORY.md) +├── state/ # Estado persistente (último canal, etc.) +├── cron/ # Base de datos de tareas programadas +├── skills/ # Habilidades personalizadas +├── AGENTS.md # Guía de comportamiento del agente +├── HEARTBEAT.md # Prompts de tareas periódicas (verificado cada 30 min) +├── IDENTITY.md # Identidad del agente +├── SOUL.md # Alma del agente +└── USER.md # Preferencias del usuario ``` -### Fuentes directas y Skills Sources Extras +### Fuentes de Habilidades -De igual magnitud, aquí listamos dónde puedes encontrar o por origen dónde de forma de origen por omisión las "skills" principales radican (loads base/global): +Por defecto, las habilidades se cargan desde: -1. `~/.picoclaw/workspace/skills` (workspace de base) -2. `~/.picoclaw/skills` (en un uso por red en global) -3. `/skills` (aquí encontrarás alojado a variables en código directas builtin o incorporadas nativamente pre compuestas) +1. `~/.picoclaw/workspace/skills` (workspace) +2. `~/.picoclaw/skills` (global) +3. `/skills` (incorporado) -Para pruebas y configuraciones más complejas (advanced testings y dev), estás en la capacidad de sobrescribir ese folder de builtin base root (el "root" o la raíz a tus skills). Intenta usando: +Para configuraciones avanzadas o de prueba, puedes sobrescribir la raíz de habilidades incorporadas con: ```bash export PICOCLAW_BUILTIN_SKILLS=/path/to/skills ``` -### Protocolo Sobre Políticas Unificadas en cuanto de Comandos al Ejecutivo +### Política Unificada de Ejecución de Comandos -- Toda variante por los comandos más comunes (de "slash") se ejecutarán usando la base por paso sencillo (o path único) en `pkg/agent/loop.go` gracias a su enrutado manejado vía de las directrices `commands.Executor`. -- Ya ningún manejador ni adaptador intercede al querer usar dichos precomandos locales; ellos transfieren ese propio formato de ingreso texto nativo (inbound txt predefinido del user host) hacia otra de orden y guía bus/agent externa ya trazada de la propia y original vía de origen del agente. Al comienzo del "start up", Telegram continúa un auto pre-registro desde sus menús soportando estos iniciales formatos con y tras los encendidos del base a todo software. -- Los falsos, irreconocibles comandos slash o "ignorados de base a una lógica global" (te daremos ejemplos clave aquí de "uso": `/foo`) proseguirá ignorado al final pero filtrándose bajo pase de acceso con tu natural, regular forma usual normal como lo procesa LLM natural de procesado base en una plática y charla interactiva sin comando. -- Con los casos a comando (o un slash command como `/show` pero que pudiste haber intentado ejecutar o mandar en la interfaz de un WhatsApp para lo antes propuesto) sí estarán integrados, y aunque en verdad puedan pertenecer al listado que le sea lícito "usar a ti a modo universal" si estás de modo errante "prohibiéndolo usar" de un punto y a este punto de otra app paralela o distinta donde es negada total o parcialmente sí acabarán devueltos devolviéndote como lo es a su lado de origin de host una alerta o interrupción devolviéndolo explícito al usuario parando todas los tipos de procesos futuros a su cargo directos e indirectos generables o que le interceden subsecuentemente y/o posteriormente en lo pronto e inmediato paralizando todos por de su natural funcionamiento y labor a procesos por seguridad de inter interacciones u otros mandos de comandos no dados o previstos que intercede. -### 🔒 Entorno Sandbox (Caja de Arena Seguridad) +- Los comandos con barra diagonal genéricos se ejecutan a través de una única ruta en `pkg/agent/loop.go` mediante `commands.Executor`. +- Los adaptadores de canal ya no procesan comandos genéricos localmente; reenvían el texto entrante al bus/agente. Telegram sigue registrando automáticamente los comandos compatibles al inicio. +- Los comandos con barra diagonal desconocidos (por ejemplo, `/foo`) se pasan al procesamiento normal del LLM. +- Un comando registrado pero no admitido en el canal actual (por ejemplo, `/show` en WhatsApp) devuelve un error explícito al usuario y detiene el procesamiento. -PicoClaw siempre de origen por su sistema nativo mantendrá el total estado a la ejecución bajo un estricto proceso de un tipo sandboxed virtual muy hermético, y únicamente bajo la condición segura a toda instancia. Como por normal función local o principal limitará tu agende interaccionando lográndo usarlo sólo para que a un modo estricto al acceder interviniera dentro y por exclusividad a sus comandos o funciones solo bajo y para a un workspace directo interno u asignado explícitamente y validado u autorizado explícitamente configurándose dentro por la partición base global u a todo este propio y a "TU workspace". +### 🔒 Sandbox de Seguridad -#### Configuración por Defecto +PicoClaw se ejecuta en un entorno aislado (sandbox) por defecto. El agente solo puede acceder a archivos y ejecutar comandos dentro del workspace configurado. + +#### Configuración Predeterminada ```json { @@ -830,36 +831,36 @@ PicoClaw siempre de origen por su sistema nativo mantendrá el total estado a la } ``` -| Opciones | Por defecto | Descripción | -| ----------------------- | ----------------------- | ----------------------------------------- | -| `workspace` | `~/.picoclaw/workspace` | La ruta activa general en la que correrá libre tu app desde el espacio reservado del agente interactivo al agente | -| `restrict_to_workspace` | `true` | Condicional que delimita accesibilidad bajo a toda clase e instancia virtual y pre-carga referida a accesos de limitación bajo comandos, paths entre carpetas pre asignadas sólo en lo limitado restringido por defecto del propio o original *workspace* | +| Opción | Predeterminado | Descripción | +| ----------------------- | ----------------------- | ----------------------------------------------------- | +| `workspace` | `~/.picoclaw/workspace` | Directorio de trabajo del agente | +| `restrict_to_workspace` | `true` | Restringe el acceso a archivos/comandos al workspace | -#### Herramientas Restringidas e Invocables Virtuales de Cautela de Privacidad del Usuario Final +#### Herramientas Protegidas -Acerca e integrando a los estados referidos en el apartado o base de un y para `restrict_to_workspace: true`, debes saber aquí acerca que un selectivo muy específico uso sobre tipos de llamadas listaremos como de estas formas operarán con "sandboxing": +Cuando `restrict_to_workspace: true`, las siguientes herramientas están aisladas en el sandbox: -| Herramientas (Tool) | Para que sirve | Estado de su Cautela o restricción (Restriction limits) | -| ------------- | ---------------- | -------------------------------------- | -| `read_file` | Lee ficheros o cualquier archivo a modo de su contenido | Lo restringe o acota "sólo" al de origen dentro a su red o del archivo que interviene propio y de el del propio "Workspace" asignado | -| `write_file` | Ejecuta y guarda en sobre y archivos escribiendo | Intervenciones restrictivamente dentro por espacio delimitado a sus ficheros generados desde de ese workspace. | -| `list_dir` | Carga listando a tu requerimiento sus locaciones directorios o sub | Y la misma constante limitante exclusiva "Sólo para folders de subcarpeta/rutas interiores directas u explícitas creadas del ambiente al rededor virtual generalizado acoto a interioridad asignable a dicho *workspace* | -| `edit_file` | Puede o interviene con edición del archivo | En ficheros o variables sólo en donde aplique a esa exclusiva caja sandbox delimitada en él "Workspace" | -| `append_file` | Función anexante de añadir desde las terminaciones de archivos | Funcional sólo interconectado a las ubicaciones u entornos acotando de los archivos del Workspace de orígen. | -| `exec` | Llamadas activadoras o ejecutora al usar y al querer usar e emitir un lineamiento por comando de tu sistema/shell | La instancia para poder lanzar todos/alguna forma en código o comandos tienen que hallarse dentro al entorno directo e interino confinado a el entorno o a la ruta y path para al propio o su "workspace" (de su origin local pre-fijado). | +| Herramienta | Función | Restricción | +| ------------- | -------------------- | --------------------------------------------------- | +| `read_file` | Leer archivos | Solo archivos dentro del workspace | +| `write_file` | Escribir archivos | Solo archivos dentro del workspace | +| `list_dir` | Listar directorios | Solo directorios dentro del workspace | +| `edit_file` | Editar archivos | Solo archivos dentro del workspace | +| `append_file` | Añadir a archivos | Solo archivos dentro del workspace | +| `exec` | Ejecutar comandos | Las rutas de los comandos deben estar en el workspace | -#### Protecciones Adicionales sobre Ejecución +#### Protección Adicional para exec -Aún y si `restrict_to_workspace: false` es configurado, la herramienta global de `exec` continuará evadiendo los siguientes códigos de riesgo comunes: +Incluso con `restrict_to_workspace: false`, la herramienta `exec` bloquea estos comandos peligrosos: -* `rm -rf`, `del /f`, `rmdir /s` — Eliminación brutal -* `format`, `mkfs`, `diskpart` — Formateados y manejo de disco -* `dd if=` — Modificaciones de imagen en disco -* Escrituras sin permiso hacia un `/dev/sd[a-z]` — Permisos directos o writes en disco root -* `shutdown`, `reboot`, `poweroff` — Opciones de Apagado de equipo y de sistemas -* Fork bomb en Bash `:(){ :|:& };:` +* `rm -rf`, `del /f`, `rmdir /s` — Eliminación masiva +* `format`, `mkfs`, `diskpart` — Formateo de disco +* `dd if=` — Imagen de disco +* Escritura en `/dev/sd[a-z]` — Escritura directa en disco +* `shutdown`, `reboot`, `poweroff` — Apagado del sistema +* Fork bomb `:(){ :|:& };:` -#### Ejemplos de Error +#### Ejemplos de Errores ``` [ERROR] tool: Tool execution failed @@ -871,11 +872,11 @@ Aún y si `restrict_to_workspace: false` es configurado, la herramienta global d {tool=exec, error=Command blocked by safety guard (dangerous pattern detected)} ``` -#### Desactivar las Restricciones (Riesgo en Seguridad) +#### Deshabilitar las Restricciones (Riesgo de Seguridad) -Si llegas a requerir que el Agente y sistema intercedan ingresando con permisos bajo paths desde fuera del área límite a sus variables configuradas para su trabajo directo por defecto. +Si necesitas que el agente acceda a rutas fuera del workspace: -**Método 1: Archivo Config File** +**Método 1: Archivo de configuración** ```json { @@ -893,79 +894,79 @@ Si llegas a requerir que el Agente y sistema intercedan ingresando con permisos export PICOCLAW_AGENTS_DEFAULTS_RESTRICT_TO_WORKSPACE=false ``` -> ⚠️ **Aviso legal de precaución**: El anular de manera manual dicha condición a tu configuración expone al agente con libres autorizaciones de interactuar con el entorno sobre tu dispositivo entero. Utiliza precaución sobre su activación pre ponderando al ecosistema como uno con entorno altamente comprobado donde esto esté bien manejado y blindado y controlado a base. +> ⚠️ **Advertencia**: Deshabilitar esta restricción permite al agente acceder a cualquier ruta del sistema. Úsalo con precaución únicamente en entornos controlados. -#### Consistencia Continua y Confines de Seguridad perimetral +#### Consistencia del Perímetro de Seguridad -La configuración aplicada de la bandera en configuración `restrict_to_workspace` va ser propagada y pre aplciada de forma continua a lo largo por medio dentro a un todo los procesos de caminos y lazos del ambiente de ejecución: +La configuración `restrict_to_workspace` se aplica de forma coherente en todas las rutas de ejecución: -| Ruta del Environment o Enrutado | Límites Seguros Internos (Boundary) | -| ---------------- | ---------------------------- | -| Agente Base | `restrict_to_workspace` ✅ | -| Modo Sub agente / Spawn | Estará obligado bajo heredadas dependencias similares de idéntica instancia y limitante anterior ✅ | -| Lazo para una Tarea Heartbeat | Estará obligado bajo heredadas dependencias similares de idéntica instancia limitante ✅ | +| Ruta de Ejecución | Perímetro de Seguridad | +| ---------------------- | ----------------------------------- | +| Agente principal | `restrict_to_workspace` ✅ | +| Subagente / Spawn | Hereda la misma restricción ✅ | +| Tareas de Heartbeat | Hereda la misma restricción ✅ | -En todo modo u operaciones de vía y trazo de los enrutados y puestas las restricciones mantendrán una pre visualizable e inmutable aplicación a la variable límite inicial de tu configuración (workspace root). Sin manera o error bajo un camino paralelo evadida por permisos ignorados para ni las tasks referidas como temporizadas mediante heartbeat. +Todas las rutas comparten la misma restricción de workspace — no hay forma de saltarse el perímetro de seguridad a través de subagentes o tareas programadas. -### Heartbeat (Tareas Periódicas y repetitivas) +### Heartbeat (Tareas Periódicas) -PicoClaw puede realizar y configurar su ejecución natural temporal periódica o autómata general para rutinas sobre una tarea sin esfuerzo y de forma automágica. Ingresa al interior del ecosistema para tu agente interactivo desde el fichero para su entorno inicial llamado workspace y adjunta con nombre de archivo allí mismo un nuevo archivo de markdown: `HEARTBEAT.md`: +PicoClaw puede realizar tareas periódicas de forma automática. Crea un archivo `HEARTBEAT.md` en tu workspace: ```markdown -# Tareas Periódicas Y Rutinarias Regulares +# Tareas Periódicas -- Revisar mi bandeja de entradas (email) y filtrar las notificaciones de vital foco relevante e imperativa lectura -- Corresponde ahora para reportarme revisando el calendario pre configurado mío e inminentes reuniones planeadas proximamente (events) -- Avísame del clima +- Revisar mi correo electrónico en busca de mensajes importantes +- Consultar mi calendario para ver los próximos eventos +- Comprobar el pronóstico del tiempo ``` -El asistente auto inspeccionará sus comandos por fichero en variables designados leyendo de paso siempre o verificando esto cíclicamente (30 mn configurables por omisión e inicio). +El agente leerá este archivo cada 30 minutos (configurable) y ejecutará las tareas usando las herramientas disponibles. -#### Variables tipo y Tareas de Asincronismo con Async usando Sub-agentes Spawn +#### Tareas Asíncronas con Spawn -Desde un enfoque global bajo parámetros de uso largo y duradero o que suelas programar tareas que mantengas procesos más exigencias demorados sobre en un tipo particular iterativo como las exploraciones y comandos web para "Web search", o para llamadas APIs lentas pre programadas "API calls", podrás y debes intentar hacer una delegación creando o requiriendo con invocar herramientas referidas mediante y de el `spawn` en modo para delegando a tareas para en general para **subagent**: +Para tareas de larga duración (búsqueda web, llamadas a API), usa la herramienta `spawn` para crear un **subagente**: ```markdown -# Labores Periódicas Y Regulares de Tiempo Autómata +# Tareas Periódicas -## Funciones para uso Tareas express e rápidas +## Tareas Rápidas (responder directamente) -- Diciéndome que la respectiva hora del día es la actual de manera en el registro ahora +- Reportar la hora actual -## Procederes y Labores Prolongadas tipo (Long Tasks con uso vía spawn como para async func a variables locales) +## Tareas Largas (usar spawn para ejecución asíncrona) -- Buscaré el modo dentro sobre el Internet local noticias exclusivas del tema actual y el mundo en tecnología del momento mediante y una y dando la IA general luego un extracto e pre resumen al terminar. -- Procede en modo rutinario e internamente de verificar la mensajería del chat y app para emails pre reportando solo aquellos clasificados imperativos al propio al user. +- Buscar noticias de IA en la web y hacer un resumen +- Revisar el correo electrónico e informar de los mensajes importantes ``` -**Comportamientos a base Clave (Behaviors):** +**Comportamientos clave:** -| Funciones | Relativa y en Descripción | -| ----------------------- | --------------------------------------------------------- | -| **spawn** | Configura y arranca en instanciar el asíncrono agente sub-colegial interno el o a en modo por (async), garantizando que su origen por flujo o pipeline de base inicial referencial el local host no trabaje para bloquear su tarea en paralela. | -| **Independent context** | Su hilo originado internamente cuenta de suyo solo su propio estado independiente para de la base original sus diálogos internos. | -| **message tool** | Desde un plano aparte puede también dicho propio sub agente mantener flujos e ingresos mediante reportes originados paralelos por herramientas `message` exclusivas con un aviso directo y simple al host. | -| **Non-blocking** | Tan pronto luego es desplegado localmente este originado de manera delegada de tareas pasa al estado activo su proceso asincróno inicial y lo de las propias previas temporales funciones el latido original proseguiré su en local original curso al la que corresponda inmediatamente o después al comando de origen de Heartbeat. | +| Característica | Descripción | +| ----------------------- | ------------------------------------------------------------------- | +| **spawn** | Crea un subagente asíncrono, no bloquea el heartbeat | +| **Contexto independiente** | El subagente tiene su propio contexto, sin historial de sesión | +| **herramienta message** | El subagente se comunica directamente con el usuario mediante la herramienta message | +| **No bloqueante** | Tras el spawn, el heartbeat continúa con la siguiente tarea | -#### Como La Plática del Propio Sub agente al host con el Interconectado Actúa u Opera Funcionalmente +#### Cómo Funciona la Comunicación del Subagente ``` -Heartbeat triggers +El heartbeat se activa ↓ -Agent reads HEARTBEAT.md +El agente lee HEARTBEAT.md ↓ -For long task: spawn subagent - ↓ ↓ -Continue to next task Subagent works independently - ↓ ↓ -All tasks done Subagent uses "message" tool - ↓ ↓ -Respond HEARTBEAT_OK User receives result directly +Para tarea larga: lanza un subagente (spawn) + ↓ ↓ +Continúa con la siguiente tarea El subagente trabaja de forma independiente + ↓ ↓ +Todas las tareas completadas El subagente usa la herramienta "message" + ↓ ↓ +Responde HEARTBEAT_OK El usuario recibe el resultado directamente ``` -Cualquier sub agente local tiene acceso habilitado y derecho al uso general interino de todo tipo de tools listadas y preexistentes a ese nodo (tools nativas como el uso de message o la opción de herramienta de rastreo general de internet web_search, así consecutivamente). E y comunicará los resultados independientemente mediante los diálogos, saltándose si es necesario los caminos centrales por del agente inicial u original. +El subagente tiene acceso a herramientas (message, web_search, etc.) y puede comunicarse con el usuario de forma independiente sin pasar por el agente principal. -**Configuración base:** +**Configuración:** ```json { @@ -976,72 +977,70 @@ Cualquier sub agente local tiene acceso habilitado y derecho al uso general inte } ``` -| Tipo de Parámetro o "Option" | Valor Base Asignado | Que hace o su Descripción | -| ---------- | ------- | ---------------------------------- | -| `enabled` | `true` | Cede opciones lógicas como las booleanas y con ello puede Reactivar y/o Permitir e inhábilitarlo | -| `interval` | `30` | Variable con conteos del lapso natural pre programado con revisiones interinas del valor para "in minutes" en sí su mínimo: (`min: 5`) | +| Opción | Predeterminado | Descripción | +| ---------- | -------------- | ---------------------------------------- | +| `enabled` | `true` | Habilitar/deshabilitar el heartbeat | +| `interval` | `30` | Intervalo de verificación en minutos (mínimo: 5) | -**Variable Entorno Local:** +**Variables de entorno:** -* El uso configurado de `PICOCLAW_HEARTBEAT_ENABLED=false` logrará apagar el modo de rastreo por y de rutinas inmiscuidas "disable" -* A través a la variable constante `PICOCLAW_HEARTBEAT_INTERVAL=60` reconfiguramos los lapsos y minutos a el proceso iterativo deseado. +* `PICOCLAW_HEARTBEAT_ENABLED=false` para deshabilitar +* `PICOCLAW_HEARTBEAT_INTERVAL=60` para cambiar el intervalo -### Proveedores del Sistema de Modelos +### Proveedores > [!NOTE] -> La organización a cargo de Groq actualmente dota y brinda provecho general gratuito a tu integración al usar transcripciones por grabados al enviar voz empleando con uso del módulo con API "Whisper". Si se habilita de la correcta manera en tu configuration, cualquier nota auditiva para cualquier canal configurado generará conversiones y logrando que sean auto-transcripciones automáticas ya leíbles del y al agente natural. +> Groq proporciona transcripción de voz gratuita a través de Whisper. Si está configurado, los mensajes de audio de cualquier canal se transcribirán automáticamente a nivel del agente. -| Proveedores Principales de tu sistema y Agente | Y sus Propósitos (Purpose) | Enlaces (Conseguir u obtener el API Key respectivo) | -| -------------------------- | --------------------------------------- | -------------------------------------------------------------------- | -| `gemini` | IA base / LLM (Gemini direct) | [aistudio.google.com](https://aistudio.google.com) | -| `zhipu` | LLM (Zhipu direct o base) | [bigmodel.cn](https://bigmodel.cn) | -| `openrouter(Recomendado siempre e infalible, por probar en casos)` | LLM de la mejor elección (Por acceso a todos) | [openrouter.ai](https://openrouter.ai) | -| `anthropic(De prueba)` | LLM de Anthropic (Claude directo) | [console.anthropic.com](https://console.anthropic.com) | -| `openai(Puede ser por probar)` | LLM (ChatGPT / GPT en directo nativo) | [platform.openai.com](https://platform.openai.com) | -| `deepseek(Prueba disponible pendiente)` | LLM de base a (DeepSeek en un host de base propia local directo) | [platform.deepseek.com](https://platform.deepseek.com) | -| `qwen` | LLM usado como el modelo inicial por default al pre cargar el local direct del Qwen en este repositorio local de Github (Qwen direct) | [dashscope.console.aliyun.com](https://dashscope.console.aliyun.com) | -| `groq` | LLM + **Herramienta especial de y para transcripción oral sobre la Voice** del susodicho servicio prestado e interactivo por de Whisper para grabarse vía de audios directos | [console.groq.com](https://console.groq.com) | -| `cerebras` | LLM (Enlace en versión tipo Cerebras base u nativo por host de tu directorio directo) | [cerebras.ai](https://cerebras.ai) | -| `vivgrid` | LLM nativamente cargado directo (Del origin por origen natural a el Vivgrid directo localmente) | [vivgrid.com](https://vivgrid.com) | +| Proveedor | Propósito | Obtener clave API | +| -------------------------- | ---------------------------------------- | -------------------------------------------------------------------- | +| `gemini` | LLM (Gemini directo) | [aistudio.google.com](https://aistudio.google.com) | +| `zhipu` | LLM (Zhipu directo) | [bigmodel.cn](https://bigmodel.cn) | +| `openrouter (por probar)` | LLM (recomendado, acceso a todos los modelos) | [openrouter.ai](https://openrouter.ai) | +| `anthropic (por probar)` | LLM (Claude directo) | [console.anthropic.com](https://console.anthropic.com) | +| `openai (por probar)` | LLM (GPT directo) | [platform.openai.com](https://platform.openai.com) | +| `deepseek (por probar)` | LLM (DeepSeek directo) | [platform.deepseek.com](https://platform.deepseek.com) | +| `qwen` | LLM (Qwen directo) | [dashscope.console.aliyun.com](https://dashscope.console.aliyun.com) | +| `groq` | LLM + **Transcripción de voz** (Whisper) | [console.groq.com](https://console.groq.com) | +| `cerebras` | LLM (Cerebras directo) | [cerebras.ai](https://cerebras.ai) | +| `vivgrid` | LLM (Vivgrid directo) | [vivgrid.com](https://vivgrid.com) | -### Configuración Referente al Modelo Usado por Defecto: (model_list) +### Configuración de Modelos (model_list) -> **Lo nuevo implementado:** PicoClaw desde ahora se pre programará, servirá y correrá por base como un sistema con características desde su **model-centric** con gran particularidad nativa base hacia todo un acercamiento en general con un particular approach de modo generalizado y general hacia base desde un nodo centrado directo en su configuration inicial nativamente y única. Al designar o simplemente re escribiendo al invocar de la vía de `vendor/model` y tu formato referenciado con el prefijo tipo (e.g., y esto es ejemplo: el caso desde `zhipu/glm-4.7`) y así estar interactuando bajo un permiso con múltiples proveedores extra—**sin requerir editar líneas extrañadas nulas con código nuevo ni nada (todo zero code changes de antemano o required!)** +> **¿Qué hay de nuevo?** PicoClaw ahora usa un enfoque de configuración **centrado en el modelo**. Simplemente especifica el formato `proveedor/modelo` (por ejemplo, `zhipu/glm-4.7`) para añadir nuevos proveedores — **¡sin cambios de código!** -Esto posibilita crear opciones de **agentes cruzados para soporte universal multi-agente en uso preconfigurable e integrado nativo para el manejo con múltiples soportes en soporte desde varias interacciones simultáneamente multi AI** desde las facultativos variaciones base bajo de un método para selección versátil: +Este diseño también permite el **soporte multi-agente** con selección flexible de proveedores: -- **Múltiples inteligencias y diferentes combinables inteligencias u agentes, usando interactivos múltiples variables extra e distintos combinables pre modelos usados por vendors (providers)**: Se autorizará sin restricción a poder pre dotarle local e íntegramente de un servicio AI propio individual con el que le dictamines desde tu "own LLM endpoint" en cada variante AI u a tus host a elegir que tú así requieras integrador desde este modo. -- **Modelados fallback o recaída e resiliencia de la misma IA base:** Configura para mantener latentes pre cargados tus base principal de sistema artificial LLM pero también una variante resiliencia en un modelo a modo por un modelo recaída local un base LLM que se hará y le sirva desde respaldo local. -- **Ecualizador y nivelador integral de servidores:** Realiza distribuciones para tus procesos o sobre todas las tareas por vía del balance originado dividiendo request paralelamente sobre diferentes hosts interactuando múltiples nodos a nivel y servidores endpoint directos y bases conjuntas. -- **Entorno en la misma Central:** Podrás siempre estar facultado sobre manejarlo con centralizaciones y gestionarlos mediante las "configuration profiles" sin problemas en todo a un único centro neurálgico a manera concentrada en un general sitio sin divisiones ("one place"). +- **Diferentes agentes, diferentes proveedores**: Cada agente puede usar su propio proveedor LLM +- **Fallbacks de modelo**: Configura modelos primarios y de respaldo para mayor resiliencia +- **Balanceo de carga**: Distribuye las peticiones entre múltiples endpoints +- **Configuración centralizada**: Gestiona todos los proveedores en un solo lugar -#### 📋 All Supported Vendors +#### 📋 Todos los Proveedores Compatibles -#### 📋 Todos y Varios Exclusivos o Integrados Múltiples de Base Pre Configurados Tipos Soportes/Vendors Soportados por Completo a la de hoy día - -| Soporte Principal "Vendor" | Uso o Llamado a tu `model` Vía prefijada en (Prefix) | Valor del Sistema API por "Default" (API Base) | Lenguaje y modo o Familia/Protocolo del "Protocol" | Adquirir su o un Enlace LLM de las Llaves para su Base (API Key) | -| ------------------- | ----------------- |-----------------------------------------------------| --------- | ---------------------------------------------------------------- | -| **OpenAI** | `openai/` | `https://api.openai.com/v1` | OpenAI | [Consigue su llave desde aquí "Get Key"](https://platform.openai.com) | -| **Anthropic** | `anthropic/` | `https://api.anthropic.com/v1` | Anthropic | [Consígue Llave de Base](https://console.anthropic.com) | -| **智谱 AI (GLM)** | `zhipu/` | `https://open.bigmodel.cn/api/paas/v4` | OpenAI | [Adquiere La Propia Key](https://open.bigmodel.cn/usercenter/proj-mgmt/apikeys) | -| **DeepSeek** | `deepseek/` | `https://api.deepseek.com/v1` | OpenAI | [Su encriptado aquí](https://platform.deepseek.com) | -| **Google Gemini** | `gemini/` | `https://generativelanguage.googleapis.com/v1beta` | OpenAI | [Reciba tu propia LLM key Key](https://aistudio.google.com/api-keys) | -| **Groq** | `groq/` | `https://api.groq.com/openai/v1` | OpenAI | [El portal web de keys y Tokens en "Key"](https://console.groq.com) | -| **Moonshot** | `moonshot/` | `https://api.moonshot.cn/v1` | OpenAI | [Conseguir Aquí la "Key"](https://platform.moonshot.cn) | -| **通义千问 (Qwen)** | `qwen/` | `https://dashscope.aliyuncs.com/compatible-mode/v1` | OpenAI | [Abre el link Get Key](https://dashscope.console.aliyun.com) | -| **NVIDIA** | `nvidia/` | `https://integrate.api.nvidia.com/v1` | OpenAI | [Pide Y Genere Get Key](https://build.nvidia.com) | -| **Ollama** | `ollama/` | `http://localhost:11434/v1` | OpenAI | No tienes por qué hacerlo Localmente ni pide llave (no key needed o none requerido) | -| **OpenRouter** | `openrouter/` | `https://openrouter.ai/api/v1` | OpenAI | [Entra Al Generador](https://openrouter.ai/keys) | -| **LiteLLM Proxy** | `litellm/` | `http://localhost:4000/v1` | OpenAI | Para Esto Vas Necesitar tu Propia proxy interna "proxy key de LiteLLM" | -| **VLLM** | `vllm/` | `http://localhost:8000/v1` | OpenAI | Local local y ya sin keys y demás (Local) | -| **Cerebras** | `cerebras/` | `https://api.cerebras.ai/v1` | OpenAI | [Usa Cerebras keys URL site web de base origen](https://cerebras.ai) | -| **VolcEngine (Doubao)** | `volcengine/` | `https://ark.cn-beijing.volces.com/api/v3` | OpenAI | [Pide el permiso Token API y API origin del KEY o token key "Key" ](https://console.volcengine.com) | -| **神算云** | `shengsuanyun/` | `https://router.shengsuanyun.com/api/v1` | OpenAI | - | -| **BytePlus** | `byteplus/` | `https://ark.ap-southeast.bytepluses.com/api/v3` | OpenAI | [Copia la Api-key personal desde la origin web oficial site URL en -> Base Keys en "Get Key"](https://console.volcengine.com) | -| **Vivgrid** | `vivgrid/` | `https://api.vivgrid.com/v1` | OpenAI | [El Portal A Su App Console en Origin: API Key base En "API Key link Get"](https://vivgrid.com) | -| **LongCat** | `longcat/` | `https://api.longcat.chat/openai` | OpenAI | [Copia Su Respective API KEY Get en la Official URL link "Key"](https://longcat.chat/platform) | -| **Antigravity** | `antigravity/` | Para Y Del Origin o de Cloud Platform del Entorno Original Base Y Su Origin Host Cloud o de Google Cloud | Uno Personalizado O Vía "Custom" y customizado y "Personal Custom Protocol" e "Internamente Nativo" | Este Y Única e Exclusiva Usa Por Única Exclusividad la variante "OAuth only" | -| **GitHub Copilot** | `github-copilot/` | `localhost:4321` | El Protocolo Vía Y Base O En "gRPC" | - | +| Proveedor | Prefijo `model` | Base de API predeterminada | Protocolo | Clave API | +| ---------------------- | ----------------- | --------------------------------------------------- | --------- | ---------------------------------------------------------------- | +| **OpenAI** | `openai/` | `https://api.openai.com/v1` | OpenAI | [Obtener clave](https://platform.openai.com) | +| **Anthropic** | `anthropic/` | `https://api.anthropic.com/v1` | Anthropic | [Obtener clave](https://console.anthropic.com) | +| **智谱 AI (GLM)** | `zhipu/` | `https://open.bigmodel.cn/api/paas/v4` | OpenAI | [Obtener clave](https://open.bigmodel.cn/usercenter/proj-mgmt/apikeys) | +| **DeepSeek** | `deepseek/` | `https://api.deepseek.com/v1` | OpenAI | [Obtener clave](https://platform.deepseek.com) | +| **Google Gemini** | `gemini/` | `https://generativelanguage.googleapis.com/v1beta` | OpenAI | [Obtener clave](https://aistudio.google.com/api-keys) | +| **Groq** | `groq/` | `https://api.groq.com/openai/v1` | OpenAI | [Obtener clave](https://console.groq.com) | +| **Moonshot** | `moonshot/` | `https://api.moonshot.cn/v1` | OpenAI | [Obtener clave](https://platform.moonshot.cn) | +| **通义千问 (Qwen)** | `qwen/` | `https://dashscope.aliyuncs.com/compatible-mode/v1` | OpenAI | [Obtener clave](https://dashscope.console.aliyun.com) | +| **NVIDIA** | `nvidia/` | `https://integrate.api.nvidia.com/v1` | OpenAI | [Obtener clave](https://build.nvidia.com) | +| **Ollama** | `ollama/` | `http://localhost:11434/v1` | OpenAI | Local (sin clave requerida) | +| **OpenRouter** | `openrouter/` | `https://openrouter.ai/api/v1` | OpenAI | [Obtener clave](https://openrouter.ai/keys) | +| **LiteLLM Proxy** | `litellm/` | `http://localhost:4000/v1` | OpenAI | Tu clave del proxy LiteLLM | +| **VLLM** | `vllm/` | `http://localhost:8000/v1` | OpenAI | Local | +| **Cerebras** | `cerebras/` | `https://api.cerebras.ai/v1` | OpenAI | [Obtener clave](https://cerebras.ai) | +| **VolcEngine (Doubao)**| `volcengine/` | `https://ark.cn-beijing.volces.com/api/v3` | OpenAI | [Obtener clave](https://console.volcengine.com) | +| **神算云** | `shengsuanyun/` | `https://router.shengsuanyun.com/api/v1` | OpenAI | - | +| **BytePlus** | `byteplus/` | `https://ark.ap-southeast.bytepluses.com/api/v3` | OpenAI | [Obtener clave](https://console.volcengine.com) | +| **Vivgrid** | `vivgrid/` | `https://api.vivgrid.com/v1` | OpenAI | [Obtener clave](https://vivgrid.com) | +| **LongCat** | `longcat/` | `https://api.longcat.chat/openai` | OpenAI | [Obtener clave](https://longcat.chat/platform) | +| **Antigravity** | `antigravity/` | Google Cloud | Custom | Solo OAuth | +| **GitHub Copilot** | `github-copilot/` | `localhost:4321` | gRPC | - | #### Configuración Básica @@ -1077,7 +1076,7 @@ Esto posibilita crear opciones de **agentes cruzados para soporte universal mult } ``` -#### Ejemplos Específicos según tu Vendor +#### Ejemplos por Proveedor **OpenAI** @@ -1119,7 +1118,7 @@ Esto posibilita crear opciones de **agentes cruzados para soporte universal mult } ``` -**Anthropic (Usando clave de API key)** +**Anthropic (con clave API)** ```json { @@ -1129,9 +1128,9 @@ Esto posibilita crear opciones de **agentes cruzados para soporte universal mult } ``` -> Ejecuta en ventana de comandos tu `picoclaw auth login --provider anthropic` que hará un paste seguro de tu propio API token en él. +> Ejecuta `picoclaw auth login --provider anthropic` para pegar tu token de API. -**Ollama (En modo local)** +**Ollama (local)** ```json { @@ -1140,7 +1139,7 @@ Esto posibilita crear opciones de **agentes cruzados para soporte universal mult } ``` -**Formato de Custom Proxy/API Personalizada Proxy** +**Proxy/API personalizado** ```json { @@ -1163,11 +1162,11 @@ Esto posibilita crear opciones de **agentes cruzados para soporte universal mult } ``` -PicoClaw en modo de pre-fijo solo se libra y purga así mismo limpiando desde el sufijo exterior nativo base en sí `litellm/` de la línea justo previo al ser enviado tu base tipo request base original, haciendo posible que tu proxy trabaje y enviando desde `litellm/lite-gpt4` pueda y lance un `lite-gpt4` en sí mismo solo para ser de igual modo su equivalente y par para un tipo en `litellm/openai/gpt-4o` enviando puro origin a solo `openai/gpt-4o`. +PicoClaw elimina únicamente el prefijo externo `litellm/` antes de enviar la petición, por lo que los alias del proxy como `litellm/lite-gpt4` envían `lite-gpt4`, mientras que `litellm/openai/gpt-4o` envía `openai/gpt-4o`. -#### Nivelador Y Distinguidor Con Load Balancing +#### Balanceo de Carga -Pre configure los puntos extremos o enlaces múltiples (endpoints) dedicados para el mismo modelo e idéntico model name—PicoClaw pre asignará a la app automáticamente poder ir interactuando internamente de un lado y entre éstos de round-robin: +Configura múltiples endpoints para el mismo nombre de modelo — PicoClaw alternará automáticamente entre ellos en round-robin: ```json { @@ -1188,11 +1187,11 @@ Pre configure los puntos extremos o enlaces múltiples (endpoints) dedicados par } ``` -#### Migración del Legacy pre origin config para `providers` +#### Migración desde la Configuración `providers` Antigua -Esta antigua variante `providers` configuración a la iteración general ha sido ya **depreciada (deprecated)** nativamente mas sin embargo esta permanece siendo apta bajo mantenimientos por una mera funcionalidad general a la compatibilidad con apps retrocesivas y backward compatibility. +La configuración antigua de `providers` está **obsoleta** pero sigue siendo compatible por razones de retrocompatibilidad. -**Configuración Antigua Obsoleta (deprecated):** +**Configuración antigua (obsoleta):** ```json { @@ -1211,7 +1210,7 @@ Esta antigua variante `providers` configuración a la iteración general ha sid } ``` -**Configuración Nueva Actual (recomendada):** +**Nueva configuración (recomendada):** ```json { @@ -1230,26 +1229,26 @@ Esta antigua variante `providers` configuración a la iteración general ha sid } ``` -Para mayor guianza y guías actualizadas ver en detalle la guía listada (migration guide), entra a este link [docs/migration/model-list-migration.md](docs/migration/model-list-migration.md). +Para una guía de migración detallada, consulta [docs/migration/model-list-migration.md](docs/migration/model-list-migration.md). -### Arquitectura Del Proveedor Y Sus Conexiones +### Arquitectura de Proveedores -PicoClaw traza (routes) enlaces de enrutado vía un formato preestablecido categorizando proveedores agrupados o (protocol family): +PicoClaw enruta los proveedores por familia de protocolo: -- Compatible con la variante o protocolo OpenAI (OpenAI-compatible protocol): OpenRouter, los endpoints para variantes tipo compatibles pasarelas o OpenAI-compatible gateways, tales como Groq, Zhipu, e los puertos u endpoints con estilo e iniciales nativas y vLLM-style. -- Protocolos de base de Anthropic (Anthropic protocol): El propio comportamiento e instancias base de Claude. -- Codex Auth u autorización mediante su ruta y base Token (OAuth path): Formatos del Token OpenAI para accesibilidad libre, o la ruta principal del API en validaciones e autentificaciones (authentication route). +- Protocolo compatible con OpenAI: OpenRouter, gateways compatibles con OpenAI, Groq, Zhipu y endpoints tipo vLLM. +- Protocolo Anthropic: comportamiento nativo de la API de Claude. +- Ruta Codex/OAuth: ruta de autenticación OAuth/token de OpenAI. -Esta opción retiene tu base de red (runtime) súper ágil y liviana pero al propio rato genera unas condiciones óptimas pre adaptadas base listas para ser compatibles con integraciones de cualquier nodo actual e incorporaciones de OpenAI (OpenAI-compatible) ya instalados y actualizados mediante tan solo en general en sí una configuración sola a base u "config operation" pre asignando sus propios (`api_base` + `api_key`). +Esto mantiene el tiempo de ejecución ligero y hace que la incorporación de nuevos backends compatibles con OpenAI sea principalmente una operación de configuración (`api_base` + `api_key`).
Zhipu -**1. Generar la Llave de Claves de la Original API y su URL (Get API key and base URL)** +**1. Obtener clave API y URL base** -* Genera la base [Key URL o clave origen del API base de su servicio desde (API key)](https://bigmodel.cn/usercenter/proj-mgmt/apikeys) +* Obtén tu [clave API](https://bigmodel.cn/usercenter/proj-mgmt/apikeys) -**2. Configuración** +**2. Configurar** ```json { @@ -1264,14 +1263,14 @@ Esta opción retiene tu base de red (runtime) súper ágil y liviana pero al pro }, "providers": { "zhipu": { - "api_key": "Your API Key", + "api_key": "Tu clave API", "api_base": "https://open.bigmodel.cn/api/paas/v4" } } } ``` -**3. Ejecútalo** +**3. Ejecutar** ```bash picoclaw agent -m "Hola" @@ -1280,7 +1279,7 @@ picoclaw agent -m "Hola"
-Configuración con Template y Ejemplo Completo (Full config example) +Ejemplo de configuración completa ```json { @@ -1369,59 +1368,59 @@ picoclaw agent -m "Hola"
-## Referencias de Uso sobre CLI (CLI Reference) +## Referencia de la CLI -| Comandos Ejecutables | Descripción Base | -| ------------------------- | ----------------------------- | -| `picoclaw onboard` | Iniciador para preparar tu config & tu entorno propio workspace | -| `picoclaw agent -m "..."` | Usa a modo de Chat de diálogo a tu agente | -| `picoclaw agent` | Interactivo Modo en terminal "Interactive chat mode" | -| `picoclaw gateway` | Prende en modo Inicial y empieza a servir por base "gateway" | -| `picoclaw status` | Muestra estado operativo del sistema y su agente (Show status) | -| `picoclaw cron list` | Lista todas aquellas y en conjunto tareas previas de tu listado (scheduled jobs) | -| `picoclaw cron add ...` | Anexa uno de manera nueva entre una labor al agent programada | +| Comando | Descripción | +| ------------------------- | ---------------------------------------- | +| `picoclaw onboard` | Inicializar la configuración y el workspace | +| `picoclaw agent -m "..."` | Chatear con el agente | +| `picoclaw agent` | Modo de chat interactivo | +| `picoclaw gateway` | Iniciar el gateway | +| `picoclaw status` | Mostrar el estado | +| `picoclaw cron list` | Listar todas las tareas programadas | +| `picoclaw cron add ...` | Añadir una tarea programada | -### Rutinas, Alertas, Records, Tareas Programadas y Temporizadas (Scheduled Tasks / Reminders) +### Tareas Programadas / Recordatorios -PicoClaw de frente de origen trae incorporado su soporte particular y en natural y rutinas al recordatorio agendadas desde la instancia por función o herramienta del tipo `cron`: +PicoClaw admite recordatorios programados y tareas recurrentes a través de la herramienta `cron`: -* **Un simple y único recordatorio y ya (One-time)**: "Dime en 10 minutos..." → se activa su función como un gatillo pre pasados esos referidos al momento en cuestión (10min o lo elegido) -* **Tareas a bases recurrente en repetición sucesiva (Recurring)**: "Recuérdame cada 2 horas..." → Esto se acciona como un disparador natural y latente que cada dichas 2 horas te lo enviará -* **Expresiones del tipo Cron de alto grado paramétrico (Cron Exp)**: "Alértame a las 9 am a todos mis amaneceres" → y lo enlista desde o tomando tus valores propios con ayuda del motor cron para uso a expresiones cron origin base. +* **Recordatorios únicos**: "Recuérdame en 10 minutos" → se activa una vez tras 10 min +* **Tareas recurrentes**: "Recuérdame cada 2 horas" → se activa cada 2 horas +* **Expresiones cron**: "Recuérdame a las 9 de la mañana cada día" → usa una expresión cron -Las mismas programadas acciones serán en listado o fichero guardadas dentro de su y en tu original propio `~/.picoclaw/workspace/cron/` del base folder para iterar a ser evaluadas posteriormente de auto format en manera autónoma. +Los trabajos se almacenan en `~/.picoclaw/workspace/cron/` y se procesan automáticamente. -## 🤝 Contribuciones del Open Source & Enfoque sobre la Hoja de Ruta (Roadmap y Contribute) +## 🤝 Contribuir y Hoja de Ruta -Tus pull requests (PRs) se animan y ¡son súper y más que bienvenidos y agradecidos! La composición base a esta lógica estructural del tipo de su repositorio (codebase) está predispuesta natural en diseño premeditada de en origen para hacerse ser uno pequeño intencional de lo más limpio que la normalidad para que ser entendible con lectura y sumamente amigable e interpretable comprensible y simple de la forma a toda manera posible general. 🤗 +¡Los PRs son bienvenidos! El código es intencionalmente pequeño y legible. 🤗 -Mira con nosotros y nuestra lista completa aquí trazada bajo las metas y miras de en [La comunidad y Lo que su Hoja de Ruta o su Roadmap en la misma mira](https://github.com/sipeed/picoclaw/blob/main/ROADMAP.md). +Consulta nuestra [Hoja de Ruta de la Comunidad](https://github.com/sipeed/picoclaw/blob/main/ROADMAP.md) completa. -El preámbulo a pertenecer ya del grupo base de Devs o sea Developer group en base a conformarse por los creadores: Únase ya por sí te adhieres logrando hacer de por forma exitoso primer Merge base subiendo la versión final el paso su propio primer (merged PR)! +¡El grupo de desarrolladores está en formación, únete tras tu primer PR aceptado! -Grupo Origin Chat para o a los de comunidad de tipo Users de usuarios (Users Groups): +Grupos de usuarios: -En base y para Discord lo hay aquí: +Discord: PicoClaw -## 🐛 Problemas de Bug O de Falla General y de cómo se Resuelven (Troubleshooting) +## 🐛 Solución de Problemas -### La función usada al querer pre revisar del buscar de la "Web" "web search error", dice referir sobre "Configuración en origin por API Key issue conflict o falta en sí para buscar de origen en base al configuration error base por no API (API key configuration issue)" +### La búsqueda web indica "problema de configuración de clave API" -Señala un algo simple natural sin cuidado porque resulta muy normal a ti siempre en lo general (si lo ves), si esto no o es en sí la base en configuraciones hechas o simplemente porque nunca o ni porque siquiera haya pre cargado antes uno configurando una origin api del engine o base para Web. PicoClaw igual de forma útil por pre format sin intercesión nativa si le dejas, proporcionará en links enlaces de utilidad directa pre armada en vez en caso manual proporcionarle links "manual searching". +Esto es normal si aún no has configurado una clave API de búsqueda. PicoClaw proporcionará enlaces útiles para realizar búsquedas manuales. -#### Niveles, Preceptos sobre Proveedores (Prioridad) Sobre Las Diferentes Búsquedas +#### Prioridad de Proveedores de Búsqueda -Por defecto pre selecciona y acciona sin o con una sobre elección un sistema o listado con sus prioridades eligidas base este PicoClaw o prioriza o asienta una origin pre base buscando por su propia ruta (best available search provider algorithm routing format in this order origin): -1. **Perplexity** (Siempre a condición natural de ser con un uso general de 'enabled' o habilitadas si lo de pre cargaste el "API key pre en base configurado" y originado - de base provisto e Inteligente IA que da los rastros indexados "citations citations base") -2. **Brave Search** (Siempre y a la a condición igual estar lo 'enabled' de base al API pre configurado base original "key configured") - Uno respetando del usuario origin a origin privacidad original y pago un tanto base ("Privacy-focused paid API en $5/1000 origin pre base queries") -3. **SearXNG** (Estando también 'enabled' su habilitación y origin o URL en `base_url` estando también o si "configured") - El servicio general alojado hosteado mediante una forma original a tu o y/o en todo o local "metasearch aggregating 70+ base en pre uso u pre engine list" (es gratis). -4. **DuckDuckGo** (Habilitación base e "enabled, de forma nativa por en caso y fallback total por defecto default fall fallback route pre origin default a origen al fallo general) - Por si se lo hace u se usa no o necesita requerir ser provisto al base API Key a ninguna key origin o token de nada ni (No origin al API origin key ni base requerimiento al required list" gratis también). +PicoClaw selecciona automáticamente el mejor proveedor de búsqueda disponible en este orden: +1. **Perplexity** (si está habilitado y tiene clave API configurada) - Búsqueda con IA y citas +2. **Brave Search** (si está habilitado y tiene clave API configurada) - API de pago orientada a la privacidad ($5/1000 consultas) +3. **SearXNG** (si está habilitado y tiene `base_url` configurada) - Metabuscador autoalojado que agrega más de 70 motores (gratuito) +4. **DuckDuckGo** (si está habilitado, alternativa predeterminada) - Sin clave API requerida (gratuito) -#### Algunas de Diversa Variedad por Múltiples Configuraciones Opciones sobre Tus "Buscadores u Exploración a nivel en y del uso general por web (Web Search base en options config Configuration o Settings en configuraciones u base configuration Options en web Options Configuration Option en Configuration) " +#### Opciones de Configuración de Búsqueda Web -**Opción Inicial Variante 1 de opción prioritaria 1 (Base Result General Mejorada Pre opción "Best Results" general en el top general y origin top)**: IA basada por el potente Perplexity AI Search motor o Engine +**Opción 1 (Mejores resultados)**: Búsqueda con IA de Perplexity ```json { "tools": { @@ -1436,7 +1435,7 @@ Por defecto pre selecciona y acciona sin o con una sobre elección un sistema o } ``` -**Variante segunda U la Opción origin en base 2 Variante (Su de base Paid Base a Paid API uso origin a API "Paid Origin" o Paid Origin a la en Paid uso API de Paid pre origin API Origin para Paid de Opciones a Paid Para Paid API Usage a API en API Paid en base origen o modelo Pago API Origin API Base Paid API base API origin de la Opciones Paid u Opciones a modo Paid Use de Pago o "Paid u Paid pre origin API origin u uso o uso origen de u Base uso de Paid base Paid a Uso Opciones Usage Opciones Usage en Uso "Paid base Use de Opciones API o Pago Paid Usage de API a API en Paid Usage Opciones de Paid base Paid API base a Uso Opciones a Pago Paid")**: Genera u obtén de forma desde u en tu Origin key en forma Origin (en [https://brave.com/search/api](https://brave.com/search/api)) un Key o de llave en de base (origin token key a API key token) de origin ("Get an API a Base a Key API en Origin: $5 en / 1000 de Base a queries pre en "queries $5 a / 1000 base de las queries/mes $5 base $6 mes ~5$ dólares a o hasta 6 / mensuales" al /~ $5-6 de o /$ base a origin de "month base mensuales" de month / $5-mes a los mes /mes $ mensuales month a / mensuales / y de mes -/ de month/ mensuales month") +**Opción 2 (API de pago)**: Obtén una clave API en [https://brave.com/search/api](https://brave.com/search/api) ($5/1000 consultas, ~$5–6/mes) ```json { "tools": { @@ -1451,7 +1450,7 @@ Por defecto pre selecciona y acciona sin o con una sobre elección un sistema o } ``` -**Alternativa Para Variación Para la Base u y Opción o en su Variante Tres en base o 3 a la 3 o Variante Opciones de Base o Uso Variante y 3 u (Pre Instalada u Base o Y En Tu Entorno Origin Self base para su Opción Self en Opciones y de u Host de la misma Instalado "Self-Hosted base de Hosted Instalado u Self o Host "Opciones Self en y origin uso a Uso origin o Opciones Hosted Instalada Origin o Hosted Instalada Opciones a Hosted Opciones Opciones u de la Host origin u en self alojado mismo host" u Opciones Opciones Hosted ")**: Puedes Desplegar tú también tú solo tú a base o pre base un pre host de Opciones base o de propio (su origin Opciones Origin) su uso propio uso el instanciador ("instance Opciones de [SearXNG](https://github.com/searxng/searxng)" Opciones) +**Opción 3 (Autoalojado)**: Despliega tu propia instancia de [SearXNG](https://github.com/searxng/searxng) ```json { "tools": { @@ -1466,16 +1465,16 @@ Por defecto pre selecciona y acciona sin o con una sobre elección un sistema o } ``` -Beneficios de usar SearXNG: -- **Cero costo**: Sin tarifas de API ni límites de tasa de peticiones. -- **Centrado en la privacidad**: Alojado por ti mismo, sin rastreos. -- **Varios resultados**: Consulta en más de 70 motores de búsqueda simultáneamente. -- **Perfecto para máquinas virtuales (VM) en la nube**: Soluciona problemas de bloqueo de IP en centros de datos (Oracle Cloud, GCP, AWS, Azure). -- **No requiere API key**: Solamente despliega y configura la URL base. +Ventajas de SearXNG: +- **Sin coste**: Sin tarifas de API ni límites de uso +- **Orientado a la privacidad**: Autoalojado, sin rastreo +- **Resultados agregados**: Consulta más de 70 motores de búsqueda simultáneamente +- **Ideal para VMs en la nube**: Resuelve problemas de bloqueo de IPs de centros de datos (Oracle Cloud, GCP, AWS, Azure) +- **Sin clave API**: Solo despliega y configura la URL base -**Opción 4 (No Requiere Configuración)**: DuckDuckGo está habilitado por defecto como opción de respaldo (no necesita API key). +**Opción 4 (Sin configuración previa)**: DuckDuckGo está habilitado por defecto como alternativa (sin clave API requerida) -Agrega la clave a `~/.picoclaw/config.json` si usas Brave: +Añade la clave a `~/.picoclaw/config.json` si usas Brave: ```json { @@ -1505,31 +1504,31 @@ Agrega la clave a `~/.picoclaw/config.json` si usas Brave: } ``` -### Obtengo errores de filtrado de contenido +### Aparecen errores de filtrado de contenido -Algunos proveedores (como Zhipu) tienen filtros de contenido. Intenta reformular tu consulta o usar un modelo diferente. +Algunos proveedores (como Zhipu) aplican filtros de contenido. Intenta reformular tu consulta o utiliza un modelo diferente. -### El bot de Telegram dice "Conflict: terminated by other getUpdates" +### El bot de Telegram indica "Conflict: terminated by other getUpdates" -Esto ocurre cuando hay otra instancia del bot en ejecución. Asegúrate de tener un solo `picoclaw gateway` corriendo a la vez. +Esto ocurre cuando hay otra instancia del bot en ejecución. Asegúrate de que solo haya un proceso `picoclaw gateway` activo a la vez. --- -## 📝 Comparación de Apis (API Key) +## 📝 Comparativa de Claves API -| Servicio | Nivel Gratuito | Caso de Uso | -| ---------------- | ------------------------ | ------------------------------------- | -| **OpenRouter** | 200K tokens/mes | Múltiples modelos (Claude, GPT-4, etc.) | -| **Volcengine CodingPlan** | ¥9.9/primer mes | Ideal para usuarios chinos, múltiples modelos SOTA (Doubao, DeepSeek, etc.) | -| **Zhipu** | 200K tokens/mes | Adecuado para usuarios chinos | -| **Brave Search** | De Pago ($5/1000 búsquedas) | Funcionalidad de búsqueda en la red | -| **SearXNG** | Ilimitado (Autoalojado) | Metabuscador centrado en la privacidad (70+ motores) | -| **Groq** | Nivel gratuito disponible| Inferencia súper rápida (Llama, Mixtral) | -| **Cerebras** | Nivel gratuito disponible| Inferencia súper rápida (Llama, Qwen, etc.) | -| **LongCat** | Hasta 5M tokens/día | Inferencia rápida (nivel gratuito) | +| Servicio | Nivel Gratuito | Caso de Uso | +| ----------------- | ------------------------------- | ------------------------------------------------ | +| **OpenRouter** | 200 000 tokens/mes | Múltiples modelos (Claude, GPT-4, etc.) | +| **Volcengine CodingPlan** | ¥9,9/primer mes | Ideal para usuarios chinos, múltiples modelos SOTA (Doubao, DeepSeek, etc.) | +| **Zhipu** | 200 000 tokens/mes | Adecuado para usuarios chinos | +| **Brave Search** | De pago ($5/1000 consultas) | Funcionalidad de búsqueda web | +| **SearXNG** | Ilimitado (autoalojado) | Metabúsqueda orientada a la privacidad (70+ motores) | +| **Groq** | Nivel gratuito disponible | Inferencia rápida (Llama, Mixtral) | +| **Cerebras** | Nivel gratuito disponible | Inferencia rápida (Llama, Qwen, etc.) | +| **LongCat** | Hasta 5 M tokens/día | Inferencia rápida (nivel gratuito) | ---
PicoClaw Meme -
+ \ No newline at end of file diff --git a/README.fr.md b/README.fr.md index 1d5a3a256..cf766296b 100644 --- a/README.fr.md +++ b/README.fr.md @@ -14,7 +14,7 @@ Twitter

- [中文](README.zh.md) | [日本語](README.ja.md) | [Português](README.pt-br.md) | [Tiếng Việt](README.vi.md) | [English](README.md) | **Français** +[中文](README.zh.md) | [日本語](README.ja.md) | [Português](README.pt-br.md) | [Tiếng Việt](README.vi.md) | [English](README.md) | **Français** | [Español](README.es.md) --- diff --git a/README.ja.md b/README.ja.md index d41975294..9777cbe7b 100644 --- a/README.ja.md +++ b/README.ja.md @@ -12,7 +12,7 @@ License

-[中文](README.zh.md) | **日本語** | [Português](README.pt-br.md) | [Tiếng Việt](README.vi.md) | [Français](README.fr.md) | [English](README.md) +[中文](README.zh.md) | **日本語** | [Português](README.pt-br.md) | [Tiếng Việt](README.vi.md) | [Français](README.fr.md) | [English](README.md) | [Español](README.es.md) diff --git a/README.pt-br.md b/README.pt-br.md index 474cb199c..ea384fc18 100644 --- a/README.pt-br.md +++ b/README.pt-br.md @@ -14,7 +14,7 @@ Twitter

- [中文](README.zh.md) | [日本語](README.ja.md) | **Português** | [Tiếng Việt](README.vi.md) | [Français](README.fr.md) | [English](README.md) +[中文](README.zh.md) | [日本語](README.ja.md) | **Português** | [Tiếng Việt](README.vi.md) | [Français](README.fr.md) | [English](README.md) | [Español](README.es.md) --- diff --git a/README.vi.md b/README.vi.md index 38eed4d4d..bbed94866 100644 --- a/README.vi.md +++ b/README.vi.md @@ -14,7 +14,7 @@ Twitter

-[中文](README.zh.md) | [日本語](README.ja.md) | [Português](README.pt-br.md) | **Tiếng Việt** | [Français](README.fr.md) | [English](README.md) +[中文](README.zh.md) | [日本語](README.ja.md) | [Português](README.pt-br.md) | **Tiếng Việt** | [Français](README.fr.md) | [English](README.md) | [Español](README.es.md) --- diff --git a/README.zh.md b/README.zh.md index 6395b1e7b..93685638b 100644 --- a/README.zh.md +++ b/README.zh.md @@ -14,7 +14,7 @@ Twitter

-**中文** | [日本語](README.ja.md) | [Português](README.pt-br.md) | [Tiếng Việt](README.vi.md) | [Français](README.fr.md) | [English](README.md) +**中文** | [日本語](README.ja.md) | [Português](README.pt-br.md) | [Tiếng Việt](README.vi.md) | [Français](README.fr.md) | [English](README.md) | [Español](README.es.md)