<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>Obtenha um agente AI pessoal como o OpenClaw em 5 minutos. Segurança Sandbox, pequeno e 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 é um aplicativo de assistente de desktop gráfico de código aberto e base de conhecimento local.
Não requer programação, implanta no seu computador local com um clique. Conecte-se ao WeChat, DingTalk, WeCom, QQ, Feishu, WhatsApp e outros apps de mensagens.
Envie comandos e deixe a IA executar tarefas para você. Biblioteca integrada com mais de 5000 habilidades, com suporte para gestão de base de conhecimento local estilo IMA.

## Visualizações

### AI Chatbot Assistant

Faça qualquer pergunta ao seu assistente IA; ele pesquisará inteligentemente em sua base de conhecimento e gerará respostas relevantes. Com o mercado de habilidades integrado, os Agentes IA trabalham de forma autônoma — sem necessidade de supervisão manual. Desde planejamento complexo de projetos e organização de documentos até geração de PowerPoint e execução de tarefas multi-etapa, os Agentes IA podem analisar autonomamente, avançar eficientemente e entregar resultados completos.

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

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

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

Crie vários Agentes IA independentes, cada um com sua própria personalidade, memória e habilidades. Alterne entre eles conforme necessário sem interferências. Cada Agente pode receber diferentes funções (ex. "Atendimento ao Cliente", "Analista de Dados", "Assistente de Redação") e ser configurado com diferentes habilidades, bases de conhecimento e estilos de resposta.

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

### Local Knowledge Base Management

Carregue seus documentos (TXT, PDF, Word, Excel, CSV, HTML, Markdown). O sistema analisa automaticamente, divide e converte em inserções vetoriais armazenadas na sua base de conhecimento privada para recuperação e utilização precisas pela IA. Suporta organização de documentos por pasta e base de conhecimento.

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

### Skill Manager — AI Responds at Command

5000+ habilidades de IA prontas para uso cobrem produtividade, ferramentas de desenvolvimento, multimedia, casa inteligente e muito mais. Deixe a IA trabalhar para você sem programação. Use comandos para que o robô encontre recursos instalados ou instale novos plugins de extensão. Mercado de Habilidades — navegue e instale habilidades livremente.

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

### Memory — Natural & Smarter Interactions

Habilite conversas contextuais, forneça serviços personalizados, conclua tarefas complexas e permita aprendizado contínuo e evolução. O robô se torna um companheiro crescente que fornece um serviço cada vez mais atencioso e inteligente.

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

### Free Model Trial

Autorização com um clique para conectar ao ChatWiki, sincronizar créditos, suportar modelos personalizados. LLMs integrados de alta qualidade: Ollama, Google Gemini, OpenAI e mais. Use seu modelo de IA favorito para trabalho de escritório ou cenários profissionais.

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

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

O ChatClaw suporta vários canais de mensagens, enviando resultados de análise, alertas de monitoramento e resumos de pesquisa diretamente para o seu telefone. Após o processamento de IA, os resultados são enviados automaticamente para o canal designado. Envie comandos na janela de chat para controlar remotamente a execução de tarefas de IA.

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

### Scheduled Tasks — Automated Execution

Defina a frequência de monitoramento: a cada 5 minutos, por hora, ou diariamente em horários fixos. Agendador gráfico com expressões cron. Busque periodicamente páginas ou fontes de dados, compare alterações, monitore indicadores-chave e envie alertas via canais de mensagens quando anomalias forem detectadas.

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

### Text Selection for Instant Q&A

Selecione qualquer texto na tela; ele é automaticamente copiado para uma caixa de pergunta rápida flutuante. Um clique o envia ao assistente de IA para uma resposta instantânea.

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

### Smart Sidebar

Um assistente inteligente que pode se encaixar ao lado de outras janelas de aplicativos. Alterne rapidamente entre diferentes assistentes de IA configurados para fazer perguntas. O robô gera respostas com base na sua base de conhecimento associada e suporta o envio de respostas com um clique. Acompanhamento flutuante inteligente — entrada de ferramentas sempre à mão.

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

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

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

Não precisa repetir perguntas. Consulte vários "especialistas em IA" simultaneamente, compare suas respostas lado a lado na mesma interface e chegue à melhor conclusão.

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

### One-Click Launcher Ball

Clique na esfera flutuante na área de trabalho para despertar ou abrir instantaneamente a janela do aplicativo principal do ChatClaw.

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

### Community & Contact Us

Bem-vindo para nos contatar para obter ajuda ou fornecer sugestões. WeChat: escaneie o código QR para entrar no grupo de troca técnica do ChatClaw. Por favor, mencione "chatclaw" ao adicionar.


## Implantação em Modo Servidor


## Implantação em Modo Servidor


## Implantação em Modo Servidor


## Implantação em Modo Servidor

ChatClaw pode ser executado como servidor (sem necessidade de GUI de desktop), acessível através do navegador.

### Binário Direto

Baixe o binário para sua plataforma em [GitHub Releases](https://github.com/chatwiki/chatclaw/releases):

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

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

Abra http://localhost:8080 no seu navegador.

O servidor ouve em `0.0.0.0:8080` por padrão. Você pode personalizar host e porta através de variáveis de ambiente:

```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
```

Abra http://localhost:8080 no seu navegador.

### Docker Compose

Crie um arquivo `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:
```

Então execute:

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

Abra http://localhost:8080 no seu navegador. Para parar: `docker compose down`. Os dados persistem no volume `chatclaw-data`.

## Stack Tecnológico

|| Camada | Tecnologia |
||-------|-----------|
|| Framework Desktop | [Wails v3](https://wails.io/) (Go + WebView) |
|| Linguagem 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/) |
|| Estilização | [Tailwind CSS v4](https://tailwindcss.com/) |
|| Gerenciamento de Estado | [Pinia](https://pinia.vuejs.org/) |
|| Ferramenta de Build | [Vite](https://vite.dev/) |
|| Framework AI | [Eino](https://github.com/cloudwego/eino) (ByteDance CloudWeGo) |
|| Fornecedores de Modelos AI | OpenAI / Claude / Gemini / Ollama / DeepSeek / Doubao / Qwen / Zhipu / Grok |
|| Banco de Dados | [SQLite](https://www.sqlite.org/) + [sqlite-vec](https://github.com/asg017/sqlite-vec) (busca vetorial) |
|| Internacionalização | [go-i18n](https://github.com/nicksnyder/go-i18n) + [vue-i18n](https://vue-i18n.intlify.dev/) |
|| Executor de Tarefas | [Task](https://taskfile.dev/) |
|| Ícones | [Lucide](https://lucide.dev/) |

## Estrutura do Projeto

```
ChatClaw_D2/
├── main.go                     # Ponto de entrada do aplicativo
├── go.mod / go.sum             # Dependências do módulo Go
├── Taskfile.yml                # Configuração do executor de tarefas
├── build/                      # Configurações de build e assets de plataforma
│   ├── config.yml              # Configuração de build Wails
│   ├── darwin/                 # Configurações de build macOS e entitlements
│   ├── windows:                # Instalador Windows (NSIS/MSIX) e manifestos
│   ├── linux:                  # Empacotamento Linux (AppImage, nfpm)
│   ├── ios:                    # Configurações de build iOS
│   └── android:                # Configurações de build Android
├── frontend:                   # Aplicativo frontend Vue 3
│   ├── package.json            # Dependências Node.js
│   ├── vite.config.ts          # Configuração do bundler Vite
│   ├── components.json         # Configuração shadcn-vue
│   ├── index.html              # Entry da janela principal
│   ├── floatingball.html       # Entry da janela bola flutuante
│   ├── selection.html          # Entry do popup de seleção de texto
│   ├── winsnap.html            # Entry da janela Snap
│   └── src/
│       ├── assets:             # Ícones (SVG), imagens e CSS global
│       ├── components:         # Componentes compartilhados
│       │   ├── layout:         # Layout do app, barra lateral, barra de título
│       │   └── ui:             # Primitivos shadcn-vue (button, dialog, toast…)
│       ├── composables:        # Composables Vue (lógica reutilizável)
│       ├── i18n:               # Setup i18n do frontend
│       ├── locales:            # Arquivos de tradução (zh-CN, en-US…)
│       ├── lib:                # Funções utilitárias
│       ├── pages:              # Visualizações no nível de página
│       │   ├── assistant:      # Página do assistente de chat AI e componentes
│       │   ├── knowledge:      # Página de gerenciamento de base de conhecimento
│       │   ├── multiask:       # Página de comparação multi-modelo
│       │   └── settings:       # Página de configurações (fornecedores, modelos, ferramentas…)
│       ├── stores:             # Stores de estado Pinia
│       ├── floatingball:       # Mini-app bola flutuante
│       ├── selection:          # Mini-app seleção de texto
│       └── winsnap:            # Mini-app janela Snap
├── internal:                   # Pacotes Go privados
│   ├── bootstrap:              # Inicialização do aplicativo e fiação
│   ├── define:                 # Constantes, fornecedores integrados, flags de ambiente
│   ├── device:                 # Identificação de dispositivo
│   ├── eino:                   # Camada de integração AI/LLM
│   │   ├── agent:              # Orquestração de Agente
│   │   ├── chatmodel:          # Fábrica de modelos de chat (multi-fornecedor)
│   │   ├── embedding:          # Fábrica de modelos de embedding
│   │   ├── filesystem:         # Ferramentas de sistema de arquivos para Agente AI
│   │   ├── parser:             # Parsers de documentos (PDF, DOCX, XLSX, CSV)
│   │   ├── processor:          # Pipeline de processamento de documentos
│   │   ├── raptor:             # Resumo recursivo RAPTOR
│   │   ├── splitter:           # Fábrica de divisores de texto
│   │   └── tools:              # Integrações de ferramentas AI (navegador, pesquisa, calculadora…)
│   ├── errs:                   # Tratamento de erros i18n-aware
│   ├── fts:                    # Tokenizer de busca em texto completo
│   ├── logger:                 # Logging estruturado
│   ├── services:               # Serviços de lógica de negócio
│   │   ├── agents:             # CRUD de Agente
│   │   ├── app:                # Ciclo de vida do aplicativo
│   │   ├── browser:            # Automação de navegador (chromedp)
│   │   ├── chat:               # Chat e streaming
│   │   ├── conversations:      # Gerenciamento de conversas
│   │   ├── document:           # Upload de documentos e vetorização
│   │   ├── floatingball:       # Janela bola flutuante (cross-platform)
│   │   ├── i18n:               # i18n do backend
│   │   ├── library:            # CRUD de biblioteca de conhecimento
│   │   ├── multiask:           # Q&A multi-modelo
│   │   ├── providers:          # Configuração de fornecedor AI
│   │   ├── retrieval:          # Serviço de retrieval RAG
│   │   ├── settings:           # Configurações de usuário com cache
│   │   ├── textselection:      # Seleção de texto na tela (cross-platform)
│   │   ├── thumbnail:          # Captura de miniatura de janela
│   │   ├── tray:               # Bandeja do sistema
│   │   ├── updater:            # Atualização automática (GitHub/Gitee)
│   │   ├── windows:            # Gerenciamento de janelas e serviço Snap
│   │   └── winsnapchat:        # Serviço de sessão de chat Snap
│   ├── sqlite:                 # Camada de banco de dados (Bun ORM + migrações)
│   └── taskmanager:            # Agendador de tarefas em segundo plano
├── pkg:                         # Pacotes Go públicos/reutilizáveis
│   ├── webviewpanel:           # Gerenciador de painel WebView cross-platform
│   ├── winsnap:                # Motor de snap de janelas (macOS/Windows/Linux)
│   └── winutil:                # Utilitários de ativação de janela
├── docs:                       # Documentação de desenvolvimento
└── images:                      # Capturas de tela do README
```

