<p align="center">
<img src="../../frontend/src/assets/images/logo-floatingball.png" width="150" height="150">
</p>

<h1 align="center">ChatClaw</h1>

<p align="center">
  <strong>Obtén un agente AI personal como OpenClaw en 5 minutos. Seguridad Sandbox, pequeño y rápido</strong>
</p>

<p align="center">
  <a href="README.md">English</a> |
  <a href="README_zh-CN.md">简体中文</a> |
  <a href="README_zh-TW.md">繁體中文</a> |
  <a href="README_ja-JP.md">日本語</a> |
  <a href="README_ko-KR.md">한국어</a> |
  <a href="README_ar-SA.md">العربية</a> |
  <a href="README_bn-BD.md">বাংলা</a> |
  <a href="README_de-DE.md">Deutsch</a> |
  <a href="README_es-ES.md">Español</a> |
  <a href="README_fr-FR.md">Français</a> |
  <a href="README_hi-IN.md">हिन्दी</a> |
  <a href="README_it-IT.md">Italiano</a> |
  <a href="README_pt-BR.md">Português</a> |
  <a href="README_sl-SI.md">Slovenščina</a> |
  <a href="README_tr-TR.md">Türkçe</a> |
  <a href="README_vi-VN.md">Tiếng Việt</a>
</p>

ChatClaw es una aplicación de asistente de escritorio gráfico de código abierto y base de conocimientos local.
No requiere programación, se despliega en tu ordenador local con un clic. Conéctate a WeChat, DingTalk, WeCom, QQ, Feishu, WhatsApp y otras aplicaciones de mensajería.
Envía comandos y deja que la IA ejecute tareas por ti. Biblioteca de más de 5000 habilidades integrada, con soporte para gestión de base de conocimientos local similar a IMA.

## Previsualizaciones

### AI Chatbot Assistant

Haga cualquier pregunta a su asistente de IA; buscará inteligentemente en su base de conocimientos y generará respuestas relevantes. Con el mercado de habilidades integrado, los Agentes de IA trabajan de forma autónoma, sin necesidad de supervisión manual. Desde la planificación compleja de proyectos y organización de documentos hasta la generación de PPT y la ejecución de tareas de múltiples pasos, los Agentes de IA pueden analizar de forma autónoma, avanzar eficientemente y entregar resultados completos.

![](../../images/previews/en/image1.png)

![](../../images/previews/en/image2.png)

### Multi-Agent Mode, Tailored for Different Scenarios

Cree múltiples Agentes de IA independientes, cada uno con su propia personalidad, memoria y habilidades. Cambie entre ellos según sea necesario sin interferencias. A cada Agente se le pueden asignar diferentes roles (p. ej. "Servicio al Cliente", "Analista de Datos", "Asistente de Redacción") y configurar con diferentes habilidades, bases de conocimientos y estilos de respuesta.

![](../../images/previews/en/image3.png)

### Local Knowledge Base Management

Cargue sus documentos (TXT, PDF, Word, Excel, CSV, HTML, Markdown). El sistema analiza, divide y convierte automáticamente en incrustaciones vectoriales almacenadas en su base de conocimientos privada para una recuperación y utilización precisa por parte de la IA. Soporta organizar documentos por carpeta y base de conocimientos.

![](../../images/previews/en/image4.png)

### Skill Manager — AI Responds at Command

5000+ habilidades de IA listas para usar cubren productividad, herramientas de desarrollo, multimedia, hogar inteligente y más. Deje que la IA trabaje para usted sin programación. Use comandos para que el robot busque funciones instaladas o instale nuevos plugins de extensión. Mercado de habilidades: explore e instale habilidades libremente.

![](../../images/previews/en/image5.png)

### Memory — Natural & Smarter Interactions

Habilite conversaciones contextuales, servicio personalizado, completación de tareas complejas y aprendizaje continuo y evolución. El robot se convierte en un compañero creciente que proporciona un servicio cada vez más considerado e inteligente.

![](../../images/previews/en/image6.png)

### Free Model Trial

Autorización con un clic para conectar a ChatWiki, sincronizar créditos, soportar modelos personalizados. LLMs de alta calidad integrados: Ollama, Google Gemini, OpenAI y más. Use su modelo de IA favorito para trabajo de oficina o escenarios profesionales.

![](../../images/previews/en/image7.png)

### Multi-Channel Remote Control via WeChat/QQ/WhatsApp

ChatClaw soporta múltiples canales de mensajes, enviando resultados de análisis, alertas de monitoreo y resúmenes de investigación directamente a su teléfono. Después del procesamiento de IA, los resultados se envían automáticamente al canal designado. Envíe comandos en la ventana de chat para controlar remotamente la ejecución de tareas de IA.

![](../../images/previews/en/image8.png)

### Scheduled Tasks — Automated Execution

Establezca la frecuencia de monitoreo: cada 5 minutos, cada hora o diariamente a horas fijas. Programador gráfico con expresiones cron. Periódicamente capture páginas o fuentes de datos, compare cambios, monitoree indicadores clave y envíe alertas a través de canales de mensajes cuando se detecten anomalías.

![](../../images/previews/en/image9.png)

### Text Selection for Instant Q&A

Seleccione cualquier texto en pantalla; se copia automáticamente en un cuadro de pregunta rápida flotante. Un clic lo envía al asistente de IA para una respuesta instantánea.

![](../../images/previews/en/image10.png)

### Smart Sidebar

Un asistente inteligente que se puede acoplar junto a otras ventanas de aplicaciones. Cambie rápidamente entre diferentes asistentes de IA configurados para hacer preguntas. El robot genera respuestas basadas en su base de conocimientos asociada y soporta el envío de respuestas con un clic. Seguimiento flotante inteligente: entrada de herramientas siempre a mano.

![](../../images/previews/en/image11.png)

![](../../images/previews/en/image12.png)

### One Question, Multiple Answers: Compare with Ease

No necesita repetir preguntas. Consulte a múltiples "expertos en IA" simultáneamente, compare sus respuestas en paralelo en la misma interfaz y llegue a la mejor conclusión.

![](../../images/previews/en/image13.png)

### One-Click Launcher Ball

Haga clic en la bola flotante de su escritorio para activar o abrir instantáneamente la ventana de la aplicación principal de ChatClaw.

![](../../images/previews/en/image14.png)

### Community & Contact Us

Bienvenido a contactarnos para obtener ayuda o proporcionar sugerencias. WeChat: escanee el código QR para unirse al grupo de intercambio técnico de ChatClaw. Por favor, mencione "chatclaw" al agregar.


## Despliegue en Modo Servidor


## Despliegue en Modo Servidor


## Despliegue en Modo Servidor


## Despliegue en Modo Servidor

ChatClaw puede ejecutarse como servidor (sin necesidad de GUI de escritorio), accesible a través del navegador.

### Binario Directo

Descarga el binario para tu plataforma desde [GitHub Releases](https://github.com/chatwiki/chatclaw/releases):

|| Plataforma | Archivo |
||----------|------|
|| Linux x86_64 | `ChatClaw-server-linux-amd64` |
|| Linux ARM64 | `ChatClaw-server-linux-arm64` |

```bash
chmod +x ChatClaw-server-linux-amd64
./ChatClaw-server-linux-amd64
```

Abre http://localhost:8080 en tu navegador.

El servidor escucha en `0.0.0.0:8080` por defecto. Puedes personalizar host y puerto mediante variables de entorno:

```bash
WAILS_SERVER_HOST=127.0.0.1 WAILS_SERVER_PORT=3000 ./ChatClaw-server-linux-amd64
```

### Docker

```bash
docker run -d \
  --name chatclaw-server \
  -p 8080:8080 \
  -v chatclaw-data:/root/.config/chatclaw \
  registry.cn-hangzhou.aliyuncs.com/chatwiki/chatclaw:latest
```

Abre http://localhost:8080 en tu navegador.

### Docker Compose

Crea un archivo `docker-compose.yml`:

```yaml
services:
  chatclaw:
    image: registry.cn-hangzhou.aliyuncs.com/chatwiki/chatclaw:latest
    container_name: chatclaw-server
    volumes:
      - chatclaw-data:/root/.config/chatclaw
    ports:
      - "8080:8080"
    restart: unless-stopped

volumes:
  chatclaw-data:
```

Luego ejecuta:

```bash
docker compose up -d
```

Abre http://localhost:8080 en tu navegador. Para detener: `docker compose down`. Los datos persisten en el volumen `chatclaw-data`.

## Stack Tecnológico

|| Capa | Tecnología |
||-------|-----------|
|| Framework de Escritorio | [Wails v3](https://wails.io/) (Go + WebView) |
|| Lenguaje Backend | [Go 1.26](https://go.dev/) |
|| Framework Frontend | [Vue 3](https://vuejs.org/) + [TypeScript](https://www.typescriptlang.org/) |
|| Componentes UI | [shadcn-vue](https://www.shadcn-vue.com/) + [Reka UI](https://reka-ui.com/) |
|| Estilizado | [Tailwind CSS v4](https://tailwindcss.com/) |
|| Gestión de Estado | [Pinia](https://pinia.vuejs.org/) |
|| Herramienta de Build | [Vite](https://vite.dev/) |
|| Framework AI | [Eino](https://github.com/cloudwego/eino) (ByteDance CloudWeGo) |
|| Proveedores de Modelos AI | OpenAI / Claude / Gemini / Ollama / DeepSeek / Doubao / Qwen / Zhipu / Grok |
|| Base de Datos | [SQLite](https://www.sqlite.org/) + [sqlite-vec](https://github.com/asg017/sqlite-vec) (búsqueda vectorial) |
|| Internacionalización | [go-i18n](https://github.com/nicksnyder/go-i18n) + [vue-i18n](https://vue-i18n.intlify.dev/) |
|| Ejecutor de Tareas | [Task](https://taskfile.dev/) |
|| Iconos | [Lucide](https://lucide.dev/) |

## Estructura del Proyecto

```
ChatClaw_D2/
├── main.go                     # Punto de entrada de la aplicación
├── go.mod / go.sum             # Dependencias del módulo Go
├── Taskfile.yml                # Configuración del ejecutor de tareas
├── build/                      # Configuraciones de build y activos de plataforma
│   ├── config.yml              # Configuración de build de Wails
│   ├── darwin/                 # Configuración de build de macOS y permisos
│   ├── windows/                # Instalador de Windows (NSIS/MSIX) y manifiestos
│   ├── linux/                  # Empaquetado de Linux (AppImage, nfpm)
│   ├── ios/                    # Configuración de build de iOS
│   └── android:                # Configuración de build de Android
├── frontend:                   # Aplicación frontend Vue 3
│   ├── package.json            # Dependencias de Node.js
│   ├── vite.config.ts          # Configuración del bundle Vite
│   ├── components.json         # Configuración de shadcn-vue
│   ├── index.html              # Entrada de ventana principal
│   ├── floatingball.html       # Entrada de ventana de bola flotante
│   ├── selection.html          # Entrada de popup de selección de texto
│   ├── winsnap.html            # Entrada de ventana Snap
│   └── src/
│       ├── assets/             # Iconos (SVG), imágenes y CSS global
│       ├── components/         # Componentes compartidos
│       │   ├── layout/         # Layout de app, barra lateral, barra de título
│       │   └── ui:             # Primitivos de shadcn-vue (button, dialog, toast…)
│       ├── composables:        # Composables de Vue (lógica reutilizable)
│       ├── i18n:               # Configuración de i18n del frontend
│       ├── locales:            # Archivos de traducción (zh-CN, en-US…)
│       ├── lib:                # Funciones de utilidad
│       ├── pages:              # Vistas a nivel de página
│       │   ├── assistant:      # Página de asistente de chat AI y componentes
│       │   ├── knowledge:      # Página de gestión de base de conocimiento
│       │   ├── multiask:       # Página de comparación de múltiples modelos
│       │   └── settings:       # Página de configuración (proveedores, modelos, herramientas…)
│       ├── stores:             # Almacenes de estado Pinia
│       ├── floatingball:       # Mini-app de bola flotante
│       ├── selection:          # Mini-app de selección de texto
│       └── winsnap:            # Mini-app de ventana Snap
├── internal:                   # Paquetes Go privados
│   ├── bootstrap:              # Inicialización de aplicación y cableado
│   ├── define:                 # Constantes, proveedores integrados, flags de entorno
│   ├── device:                 # Identificación de dispositivo
│   ├── eino:                   # Capa de integración AI/LLM
│   │   ├── agent:              # Orquestación de Agent
│   │   ├── chatmodel:          # Fábrica de modelos de chat (multi-proveedor)
│   │   ├── embedding:          # Fábrica de modelos de embedding
│   │   ├── filesystem:         # Herramientas de sistema de archivos para AI Agent
│   │   ├── parser:             # Parsers de documentos (PDF, DOCX, XLSX, CSV)
│   │   ├── processor:          # Pipeline de procesamiento de documentos
│   │   ├── raptor:             # Resumen recursivo RAPTOR
│   │   ├── splitter:          # Fábrica de divisores de texto
│   │   └── tools:              # Integraciones de herramientas AI (buscador, búsqueda, calculadora…)
│   ├── errs:                   # Manejo de errores con soporte i18n
│   ├── fts:                    # Tokenizador de búsqueda de texto completo
│   ├── logger:                 # Logging estructurado
│   ├── services:               # Servicios de lógica de negocio
│   │   ├── agents:             # CRUD de Agent
│   │   ├── app:                # Ciclo de vida de aplicación
│   │   ├── browser:            # Automatización de navegador (chromedp)
│   │   ├── chat:               # Chat y streaming
│   │   ├── conversations:      # Gestión de conversaciones
│   │   ├── document:           # Carga de documentos y vectorización
│   │   ├── floatingball:       # Ventana de bola flotante (multi-plataforma)
│   │   ├── i18n:               # i18n del backend
│   │   ├── library:            # CRUD de biblioteca de conocimiento
│   │   ├── multiask:           # Q&A multi-modelo
│   │   ├── providers:          # Configuración de proveedor AI
│   │   ├── retrieval:          # Servicio de retrieval RAG
│   │   ├── settings:           # Configuración de usuario con caché
│   │   ├── textselection:      # Selección de texto en pantalla (multi-plataforma)
│   │   ├── thumbnail:          # Captura de miniaturas de ventana
│   │   ├── tray:               # Bandeja del sistema
│   │   ├── updater:            # Actualización automática (GitHub/Gitee)
│   │   ├── windows:            # Gestión de ventanas y servicio de snap
│   │   └── winsnapchat:        # Servicio de sesión de chat snap
│   ├── sqlite:                 # Capa de base de datos (Bun ORM + migraciones)
│   └── taskmanager:            # Programador de tareas en segundo plano
├── pkg:                         # Paquetes Go públicos/reutilizables
│   ├── webviewpanel:           # Gestor de panel WebView multiplataforma
│   ├── winsnap:                # Motor de snap de ventanas (macOS/Windows/Linux)
│   └── winutil:                # Utilidades de activación de ventanas
├── docs:                       # Documentación de desarrollo
└── images:                      # Capturas de pantalla del README
```

