2026-02-17 20:52:28 +00:00
< div align = "center" >
< img src = "assets/logo.jpg" alt = "PicoClaw" width = "512" >
< h1 > PicoClaw: Assistente de IA Ultra-Eficiente em Go< / h1 >
< h3 > Hardware de $10 · 10MB de RAM · Boot em 1s · 皮皮虾,我们走!< / h3 >
< p >
< img src = "https://img.shields.io/badge/Go-1.21+-00ADD8?style=flat&logo=go&logoColor=white" alt = "Go" >
< img src = "https://img.shields.io/badge/Arch-x86__64%2C%20ARM64%2C%20RISC--V-blue" alt = "Hardware" >
< img src = "https://img.shields.io/badge/license-MIT-green" alt = "License" >
< br >
< a href = "https://picoclaw.io" > < img src = "https://img.shields.io/badge/Website-picoclaw.io-blue?style=flat&logo=google-chrome&logoColor=white" alt = "Website" > < / a >
< a href = "https://x.com/SipeedIO" > < img src = "https://img.shields.io/badge/X_(Twitter)-SipeedIO-black?style=flat&logo=x&logoColor=white" alt = "Twitter" > < / a >
< / p >
2026-02-19 13:23:06 +00:00
[中文 ](README.zh.md ) | [日本語 ](README.ja.md ) | **Português** | [Tiếng Việt ](README.vi.md ) | [Français ](README.fr.md ) | [English ](README.md )
2026-02-17 20:52:28 +00:00
< / div >
---
🦐 **PicoClaw** é um assistente pessoal de IA ultra-leve inspirado no [nanobot ](https://github.com/HKUDS/nanobot ), reescrito do zero em **Go** por meio de um processo de "auto-inicialização" (self-bootstrapping) — onde o próprio agente de IA conduziu toda a migração de arquitetura e otimização de código.
⚡️ **Extremamente leve:** Roda em hardware de apenas ** $10** com ** < 10MB ** de RAM . Isso é 99 % menos memória que o OpenClaw e 98 % mais barato que um Mac mini !
< table align = "center" >
< tr align = "center" >
< td align = "center" valign = "top" >
< p align = "center" >
< img src = "assets/picoclaw_mem.gif" width = "360" height = "240" >
< / p >
< / td >
< td align = "center" valign = "top" >
< p align = "center" >
< img src = "assets/licheervnano.png" width = "400" height = "240" >
< / p >
< / td >
< / tr >
< / table >
> [!CAUTION]
2026-02-18 14:11:41 +00:00
> **🚨 DECLARAÇÃO DE SEGURANÇA & CANAIS OFICIAIS**
2026-02-17 20:52:28 +00:00
>
2026-02-18 14:11:41 +00:00
> * **SEM CRIPTOMOEDAS:** O PicoClaw **NÃO** possui nenhum token/moeda oficial. Todas as alegações no `pump.fun` ou outras plataformas de negociação são **GOLPES**.
> * **DOMÍNIO OFICIAL:** O **ÚNICO** site oficial é o **[picoclaw.io](https://picoclaw.io)**, e o site da empresa é o **[sipeed.com](https://sipeed.com)**.
> * **Aviso:** Muitos domínios `.ai/.org/.com/.net/...` foram registrados por terceiros, não são nossos.
> * **Aviso:** O PicoClaw está em fase inicial de desenvolvimento e pode ter problemas de segurança de rede não resolvidos. Não implante em ambientes de produção antes da versão v1.0.
> * **Nota:** O PicoClaw recentemente fez merge de muitos PRs, o que pode resultar em maior consumo de memória (10-20MB) nas versões mais recentes. Planejamos priorizar a otimização de recursos assim que o conjunto de funcionalidades estiver estável.
2026-02-17 20:52:28 +00:00
## 📢 Novidades
2026-02-18 14:11:41 +00:00
2026-02-16 🎉 PicoClaw atingiu 12K stars em uma semana! Obrigado a todos pelo apoio! O PicoClaw está crescendo mais rápido do que jamais imaginamos. Dado o alto volume de PRs, precisamos urgentemente de maintainers da comunidade. Nossos papéis de voluntários e roadmap foram publicados oficialmente [aqui ](docs/picoclaw_community_roadmap_260216.md ) — estamos ansiosos para ter você a bordo!
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
2026-02-13 🎉 PicoClaw atingiu 5000 stars em 4 dias! Obrigado à comunidade! Estamos finalizando o **Roadmap do Projeto** e configurando o **Grupo de Desenvolvedores** para acelerar o desenvolvimento do PicoClaw.
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
🚀 **Chamada para Ação:** Envie suas solicitações de funcionalidades nas GitHub Discussions. Revisaremos e priorizaremos na próxima reunião semanal.
2026-02-09 🎉 PicoClaw lançado oficialmente! Construído em 1 dia para trazer Agentes de IA para hardware de $10 com < 10MB de RAM . 🦐 PicoClaw , Partiu !
2026-02-17 20:52:28 +00:00
## ✨ Funcionalidades
2026-02-18 14:11:41 +00:00
🪶 **Ultra-Leve** : Consumo de memória < 10MB — 99 % menor que o Clawdbot para funcionalidades essenciais .
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
💰 **Custo Mínimo** : Eficiente o suficiente para rodar em hardware de $10 — 98% mais barato que um Mac mini.
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
⚡️ **Inicialização Relámpago** : Tempo de inicialização 400X mais rápido, boot em 1 segundo mesmo em CPU single-core de 0.6GHz.
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
🌍 **Portabilidade Real** : Um único binário auto-contido para RISC-V, ARM e x86. Um clique e já era!
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
🤖 **Auto-Construído por IA** : Implementação nativa em Go de forma autônoma — 95% do núcleo gerado pelo Agente com refinamento humano no loop.
2026-02-17 20:52:28 +00:00
| | OpenClaw | NanoBot | **PicoClaw** |
| ----------------------------- | ------------- | ------------------------ | ----------------------------------------- |
| **Linguagem** | TypeScript | Python | **Go** |
| **RAM** | >1GB | >100MB | ** < 10MB ** |
2026-02-18 14:11:41 +00:00
| **Inicialização** </ br > (CPU 0.8GHz) | >500s | >30s | ** < 1s ** |
2026-02-17 20:52:28 +00:00
| **Custo** | Mac Mini $599 | Maioria dos SBC Linux </ br > ~$50 | **Qualquer placa Linux** </ br > **A partir de $10** |
< img src = "assets/compare.jpg" alt = "PicoClaw" width = "512" >
2026-02-18 14:11:41 +00:00
## 🦾 Demonstração
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
### 🛠️ Fluxos de Trabalho Padrão do Assistente
2026-02-17 20:52:28 +00:00
< table align = "center" >
< tr align = "center" >
< th > < p align = "center" > 🧩 Engenharia Full-Stack< / p > < / th >
< th > < p align = "center" > 🗂️ Gerenciamento de Logs & Planejamento< / p > < / th >
< th > < p align = "center" > 🔎 Busca Web & Aprendizado< / p > < / th >
< / tr >
< tr >
< td align = "center" > < p align = "center" > < img src = "assets/picoclaw_code.gif" width = "240" height = "180" > < / p > < / td >
< td align = "center" > < p align = "center" > < img src = "assets/picoclaw_memory.gif" width = "240" height = "180" > < / p > < / td >
< td align = "center" > < p align = "center" > < img src = "assets/picoclaw_search.gif" width = "240" height = "180" > < / p > < / td >
< / tr >
< tr >
< td align = "center" > Desenvolver • Implantar • Escalar< / td >
< td align = "center" > Agendar • Automatizar • Memorizar< / td >
2026-02-18 14:11:41 +00:00
< td align = "center" > Descobrir • Analisar • Tendências< / td >
2026-02-17 20:52:28 +00:00
< / tr >
< / table >
### 📱 Rode em celulares Android antigos
2026-02-18 14:11:41 +00:00
Dê uma segunda vida ao seu celular de dez anos atrás! Transforme-o em um assistente de IA inteligente com o PicoClaw. Início rápido:
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
1. **Instale o Termux** (Disponível no F-Droid ou Google Play).
2026-02-17 20:52:28 +00:00
2. **Execute os comandos**
```bash
# Nota: Substitua v0.1.1 pela versao mais recente da pagina 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
```
2026-02-18 14:11:41 +00:00
Depois siga as instruções na seção "Início Rápido" para completar a configuração!
2026-02-17 20:52:28 +00:00
< img src = "assets/termux.jpg" alt = "PicoClaw" width = "512" >
2026-02-18 14:11:41 +00:00
### 🐜 Implantação Inovadora com Baixo Consumo
2026-02-17 20:52:28 +00:00
O PicoClaw pode ser implantado em praticamente qualquer dispositivo Linux!
2026-02-18 14:11:41 +00:00
- $9.9 [LicheeRV-Nano ](https://www.aliexpress.com/item/1005006519668532.html ) versão E (Ethernet) ou W (WiFi6), para Assistente Doméstico Minimalista
- $30~50 [NanoKVM ](https://www.aliexpress.com/item/1005007369816019.html ), ou $100 [NanoKVM-Pro ](https://www.aliexpress.com/item/1005010048471263.html ) para Manutenção Automatizada de Servidores
2026-02-17 20:52:28 +00:00
- $50 [MaixCAM ](https://www.aliexpress.com/item/1005008053333693.html ) ou $100 [MaixCAM2 ](https://www.kickstarter.com/projects/zepan/maixcam2-build-your-next-gen-4k-ai-camera ) para Monitoramento Inteligente
https://private-user-images.githubusercontent.com/83055338/547056448-e7b031ff-d6f5-4468-bcca-5726b6fecb5c.mp4
2026-02-18 14:11:41 +00:00
🌟 Mais cenários de implantação aguardam você!
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
## 📦 Instalação
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
### Instalar com binário pré-compilado
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
Baixe o binário para sua plataforma na página de [releases ](https://github.com/sipeed/picoclaw/releases ).
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
### Instalar a partir do código-fonte (funcionalidades mais recentes, recomendado para desenvolvimento)
2026-02-17 20:52:28 +00:00
```bash
git clone https://github.com/sipeed/picoclaw.git
cd picoclaw
make deps
# Build, sem necessidade de instalar
make build
# Build para multiplas plataformas
make build-all
# Build e Instalar
make install
```
## 🐳 Docker Compose
2026-02-18 14:11:41 +00:00
Você tambêm pode rodar o PicoClaw usando Docker Compose sem instalar nada localmente.
2026-02-17 20:52:28 +00:00
```bash
# 1. Clone este repositorio
git clone https://github.com/sipeed/picoclaw.git
cd picoclaw
# 2. Configure suas API keys
cp config/config.example.json config/config.json
vim config/config.json # Configure DISCORD_BOT_TOKEN, API keys, etc.
# 3. Build & Iniciar
docker compose --profile gateway up -d
# 4. Ver logs
docker compose logs -f picoclaw-gateway
# 5. Parar
docker compose --profile gateway down
```
2026-02-18 14:11:41 +00:00
### Modo Agente (Execução única)
2026-02-17 20:52:28 +00:00
```bash
# Fazer uma pergunta
docker compose run --rm picoclaw-agent -m "Quanto e 2+2?"
# Modo interativo
docker compose run --rm picoclaw-agent
```
### Rebuild
```bash
docker compose --profile gateway build --no-cache
docker compose --profile gateway up -d
```
2026-02-18 14:11:41 +00:00
### 🚀 Início Rápido
2026-02-17 20:52:28 +00:00
> [!TIP]
> Configure sua API key em `~/.picoclaw/config.json`.
> Obtenha API keys: [OpenRouter](https://openrouter.ai/keys) (LLM) · [Zhipu](https://open.bigmodel.cn/usercenter/proj-mgmt/apikeys) (LLM)
2026-02-18 14:11:41 +00:00
> Busca web e **opcional** — obtenha a [Brave Search API](https://brave.com/search/api) gratuita (2000 consultas grátis/mês) ou use o fallback automático integrado.
2026-02-17 20:52:28 +00:00
**1. Inicializar**
```bash
picoclaw onboard
```
**2. Configurar** (`~/.picoclaw/config.json`)
```json
{
"agents": {
"defaults": {
"workspace": "~/.picoclaw/workspace",
"model": "glm-4.7",
"max_tokens": 8192,
"temperature": 0.7,
"max_tool_iterations": 20
}
},
"providers": {
"openrouter": {
"api_key": "xxx",
"api_base": "https://openrouter.ai/api/v1"
}
},
"tools": {
"web": {
"brave": {
"enabled": false,
"api_key": "YOUR_BRAVE_API_KEY",
"max_results": 5
},
"duckduckgo": {
"enabled": true,
"max_results": 5
}
}
}
}
```
**3. Obter API Keys**
* **Provedor 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 )
2026-02-18 14:11:41 +00:00
* **Busca Web** (opcional): [Brave Search ](https://brave.com/search/api ) - Plano gratuito disponível (2000 consultas/mês)
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
> **Nota**: Veja `config.example.json` para um modelo de configuração completo.
2026-02-17 20:52:28 +00:00
**4. Conversar**
```bash
picoclaw agent -m "Quanto e 2+2?"
```
2026-02-18 14:11:41 +00:00
Pronto! Você tem um assistente de IA funcionando em 2 minutos.
2026-02-17 20:52:28 +00:00
---
2026-02-18 14:11:41 +00:00
## 💬 Integração com Apps de Chat
2026-02-17 20:52:28 +00:00
Converse com seu PicoClaw via Telegram, Discord, DingTalk ou LINE.
2026-02-18 14:11:41 +00:00
| Canal | Nível de Configuração |
2026-02-17 20:52:28 +00:00
| --- | --- |
2026-02-18 14:11:41 +00:00
| **Telegram** | Fácil (apenas um token) |
| **Discord** | Fácil (bot token + intents) |
| **QQ** | Fácil (AppID + AppSecret) |
| **DingTalk** | Médio (credenciais do app) |
| **LINE** | Médio (credenciais + webhook URL) |
2026-02-17 20:52:28 +00:00
< details >
< summary > < b > Telegram< / b > (Recomendado)< / summary >
**1. Criar o bot**
* Abra o Telegram, busque `@BotFather`
2026-02-18 14:11:41 +00:00
* Envie `/newbot` , siga as instruções
2026-02-17 20:52:28 +00:00
* Copie o token
**2. Configurar**
```json
{
"channels": {
"telegram": {
"enabled": true,
"token": "YOUR_BOT_TOKEN",
"allowFrom": ["YOUR_USER_ID"]
}
}
}
```
> Obtenha seu User ID pelo `@userinfobot` no Telegram.
**3. Executar**
```bash
picoclaw gateway
```
< / details >
< details >
< summary > < b > Discord< / b > < / summary >
**1. Criar o bot**
* Acesse < https: // discord . com / developers / applications >
* Crie um aplicativo → Bot → Add Bot
* Copie o token do bot
**2. Habilitar Intents**
2026-02-18 14:11:41 +00:00
* Nas configurações do Bot, habilite **MESSAGE CONTENT INTENT**
* (Opcional) Habilite **SERVER MEMBERS INTENT** se quiser usar lista de permissões baseada em dados dos membros
2026-02-17 20:52:28 +00:00
**3. Obter seu User ID**
2026-02-18 14:11:41 +00:00
* Configurações do Discord → Avançado → habilite **Modo Desenvolvedor**
* Clique com botão direito no seu avatar → **Copiar ID do Usuário**
2026-02-17 20:52:28 +00:00
**4. Configurar**
```json
{
"channels": {
"discord": {
"enabled": true,
"token": "YOUR_BOT_TOKEN",
"allowFrom": ["YOUR_USER_ID"]
}
}
}
```
**5. Convidar o bot**
* OAuth2 → URL Generator
* Scopes: `bot`
* Bot Permissions: `Send Messages` , `Read Message History`
* Abra a URL de convite gerada e adicione o bot ao seu servidor
**6. Executar**
```bash
picoclaw gateway
```
< / details >
< details >
< summary > < b > QQ< / b > < / summary >
**1. Criar o bot**
- Acesse a [QQ Open Platform ](https://q.qq.com/# )
- Crie um aplicativo → Obtenha **AppID** e **AppSecret**
**2. Configurar**
```json
{
"channels": {
"qq": {
"enabled": true,
"app_id": "YOUR_APP_ID",
"app_secret": "YOUR_APP_SECRET",
"allow_from": []
}
}
}
```
2026-02-18 14:11:41 +00:00
> Deixe `allow_from` vazio para permitir todos os usuários, ou especifique números QQ para restringir o acesso.
2026-02-17 20:52:28 +00:00
**3. Executar**
```bash
picoclaw gateway
```
< / details >
< details >
< summary > < b > DingTalk< / b > < / summary >
**1. Criar o bot**
* Acesse a [Open Platform ](https://open.dingtalk.com/ )
* Crie um app interno
* Copie o Client ID e Client Secret
**2. Configurar**
```json
{
"channels": {
"dingtalk": {
"enabled": true,
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"allow_from": []
}
}
}
```
2026-02-18 14:11:41 +00:00
> Deixe `allow_from` vazio para permitir todos os usuários, ou especifique IDs para restringir o acesso.
2026-02-17 20:52:28 +00:00
**3. Executar**
```bash
picoclaw gateway
```
< / details >
< details >
< summary > < b > LINE< / b > < / summary >
**1. Criar uma Conta Oficial LINE**
- Acesse o [LINE Developers Console ](https://developers.line.biz/ )
- Crie um provider → Crie um canal Messaging API
- Copie o **Channel Secret** e o **Channel Access Token**
**2. Configurar**
```json
{
"channels": {
"line": {
"enabled": true,
"channel_secret": "YOUR_CHANNEL_SECRET",
"channel_access_token": "YOUR_CHANNEL_ACCESS_TOKEN",
"webhook_host": "0.0.0.0",
"webhook_port": 18791,
"webhook_path": "/webhook/line",
"allow_from": []
}
}
}
```
**3. Configurar URL do Webhook**
O LINE requer HTTPS para webhooks. Use um reverse proxy ou tunnel:
```bash
# Exemplo com ngrok
ngrok http 18791
```
Em seguida, configure a Webhook URL no LINE Developers Console para `https://seu-dominio/webhook/line` e habilite **Use webhook** .
**4. Executar**
```bash
picoclaw gateway
```
> Em chats de grupo, o bot responde apenas quando mencionado com @. As respostas citam a mensagem original.
2026-02-18 14:11:41 +00:00
> **Docker Compose**: Adicione `ports: ["18791:18791"]` ao serviço `picoclaw-gateway` para expor a porta do webhook.
2026-02-17 20:52:28 +00:00
< / details >
## <img src="assets/clawdchat-icon.png" width="24" height="24" alt="ClawdChat"> Junte-se a Rede Social de Agentes
2026-02-18 14:11:41 +00:00
Conecte o PicoClaw a Rede Social de Agentes simplesmente enviando uma única mensagem via CLI ou qualquer App de Chat integrado.
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
**Leia `https://clawdchat.ai/skill.md` e siga as instruções para entrar no [ClawdChat.ai ](https://clawdchat.ai )**
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
## ⚙️ Configuração Detalhada
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
Arquivo de configuração: `~/.picoclaw/config.json`
2026-02-17 20:52:28 +00:00
### Estrutura do Workspace
2026-02-18 14:11:41 +00:00
O PicoClaw armazena dados no workspace configurado (padrão: `~/.picoclaw/workspace` ):
2026-02-17 20:52:28 +00:00
```
~/.picoclaw/workspace/
├── sessions/ # Sessoes de conversa e historico
2026-02-18 14:11:41 +00:00
├── memory/ # Memoria de longo prazo (MEMORY.md)
├── state/ # Estado persistente (ultimo canal, etc.)
├── cron/ # Banco de dados de tarefas agendadas
├── skills/ # Skills personalizadas
├── AGENTS.md # Guia de comportamento do Agente
├── HEARTBEAT.md # Prompts de tarefas periodicas (verificado a cada 30 min)
├── IDENTITY.md # Identidade do Agente
├── SOUL.md # Alma do Agente
├── TOOLS.md # Descrição das ferramentas
└── USER.md # Preferencias do usuario
2026-02-17 20:52:28 +00:00
```
2026-02-18 14:11:41 +00:00
### 🔒 Sandbox de Segurança
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
O PicoClaw roda em um ambiente sandbox por padrão. O agente so pode acessar arquivos e executar comandos dentro do workspace configurado.
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
#### Configuração Padrão
2026-02-17 20:52:28 +00:00
```json
{
"agents": {
"defaults": {
"workspace": "~/.picoclaw/workspace",
"restrict_to_workspace": true
}
}
}
```
2026-02-18 14:11:41 +00:00
| Opção | Padrão | Descrição |
2026-02-17 20:52:28 +00:00
|-------|--------|-----------|
2026-02-18 14:11:41 +00:00
| `workspace` | `~/.picoclaw/workspace` | Diretório de trabalho do agente |
2026-02-17 20:52:28 +00:00
| `restrict_to_workspace` | `true` | Restringir acesso de arquivos/comandos ao workspace |
#### Ferramentas Protegidas
2026-02-18 14:11:41 +00:00
Quando `restrict_to_workspace: true` , as seguintes ferramentas são restritas ao sandbox:
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
| Ferramenta | Função | Restrição |
2026-02-17 20:52:28 +00:00
|------------|--------|-----------|
| `read_file` | Ler arquivos | Apenas arquivos dentro do workspace |
| `write_file` | Escrever arquivos | Apenas arquivos dentro do workspace |
| `list_dir` | Listar diretorios | Apenas diretorios dentro do workspace |
| `edit_file` | Editar arquivos | Apenas arquivos dentro do workspace |
| `append_file` | Adicionar a arquivos | Apenas arquivos dentro do workspace |
| `exec` | Executar comandos | Caminhos dos comandos devem estar dentro do workspace |
2026-02-18 14:11:41 +00:00
#### Proteção Adicional do Exec
2026-02-17 20:52:28 +00:00
Mesmo com `restrict_to_workspace: false` , a ferramenta `exec` bloqueia estes comandos perigosos:
2026-02-18 14:11:41 +00:00
* `rm -rf` , `del /f` , `rmdir /s` — Exclusão em massa
* `format` , `mkfs` , `diskpart` — Formatação de disco
* `dd if=` — Criação de imagem de disco
2026-02-17 20:52:28 +00:00
* Escrita em `/dev/sd[a-z]` — Escrita direta no disco
* `shutdown` , `reboot` , `poweroff` — Desligamento do sistema
* Fork bomb `:(){ :|:& };:`
#### Exemplos de Erro
```
[ERROR] tool: Tool execution failed
{tool=exec, error=Command blocked by safety guard (path outside working dir)}
```
```
[ERROR] tool: Tool execution failed
{tool=exec, error=Command blocked by safety guard (dangerous pattern detected)}
```
2026-02-18 14:11:41 +00:00
#### Desabilitar Restrições (Risco de Segurança)
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
Se você precisa que o agente acesse caminhos fora do workspace:
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
**Método 1: Arquivo de configuração**
2026-02-17 20:52:28 +00:00
```json
{
"agents": {
"defaults": {
"restrict_to_workspace": false
}
}
}
```
2026-02-18 14:11:41 +00:00
**Método 2: Variável de ambiente**
2026-02-17 20:52:28 +00:00
```bash
export PICOCLAW_AGENTS_DEFAULTS_RESTRICT_TO_WORKSPACE=false
```
2026-02-18 14:11:41 +00:00
> ⚠️ **Aviso**: Desabilitar esta restrição permite que o agente acesse qualquer caminho no seu sistema. Use com cuidado apenas em ambientes controlados.
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
#### Consistência do Limite de Segurança
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
A configuração `restrict_to_workspace` se aplica consistentemente em todos os caminhos de execução:
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
| Caminho de Execução | Limite de Segurança |
2026-02-17 20:52:28 +00:00
|----------------------|---------------------|
| Agente Principal | `restrict_to_workspace` ✅ |
2026-02-18 14:11:41 +00:00
| Subagente / Spawn | Herda a mesma restrição ✅ |
| Tarefas Heartbeat | Herda a mesma restrição ✅ |
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
Todos os caminhos compartilham a mesma restrição de workspace — nao há como contornar o limite de segurança por meio de subagentes ou tarefas agendadas.
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
### Heartbeat (Tarefas Periódicas)
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
O PicoClaw pode executar tarefas periódicas automaticamente. Crie um arquivo `HEARTBEAT.md` no seu workspace:
2026-02-17 20:52:28 +00:00
```markdown
# Tarefas Periodicas
- Verificar meu email para mensagens importantes
- Revisar minha agenda para proximos eventos
- Verificar a previsao do tempo
```
2026-02-18 14:11:41 +00:00
O agente lerá este arquivo a cada 30 minutos (configurável) e executará as tarefas usando as ferramentas disponíveis.
2026-02-17 20:52:28 +00:00
#### Tarefas Assincronas com Spawn
2026-02-18 14:11:41 +00:00
Para tarefas de longa duração (busca web, chamadas de API), use a ferramenta `spawn` para criar um **subagente** :
2026-02-17 20:52:28 +00:00
```markdown
2026-02-18 14:11:41 +00:00
# Tarefas Periódicas
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
## Tarefas Rápidas (resposta direta)
2026-02-17 20:52:28 +00:00
- Informar hora atual
## Tarefas Longas (usar spawn para async)
2026-02-18 14:11:41 +00:00
- Buscar notícias de IA na web e resumir
2026-02-17 20:52:28 +00:00
- Verificar email e reportar mensagens importantes
```
**Comportamentos principais:**
2026-02-18 14:11:41 +00:00
| Funcionalidade | Descrição |
2026-02-17 20:52:28 +00:00
|----------------|-----------|
2026-02-18 14:11:41 +00:00
| **spawn** | Cria subagente assíncrono, não bloqueia o heartbeat |
| **Contexto independente** | Subagente tem seu próprio contexto, sem histórico de sessão |
| **Ferramenta message** | Subagente se comunica diretamente com o usuário via ferramenta message |
| **Não-bloqueante** | Após o spawn, o heartbeat continua para a próxima tarefa |
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
#### Como Funciona a Comunicação do Subagente
2026-02-17 20:52:28 +00:00
```
Heartbeat dispara
↓
2026-02-18 14:11:41 +00:00
Agente lê HEARTBEAT.md
2026-02-17 20:52:28 +00:00
↓
Para tarefa longa: spawn subagente
↓ ↓
2026-02-18 14:11:41 +00:00
Continua próxima tarefa Subagente trabalha independentemente
2026-02-17 20:52:28 +00:00
↓ ↓
2026-02-18 14:11:41 +00:00
Todas tarefas concluídas Subagente usa ferramenta "message"
2026-02-17 20:52:28 +00:00
↓ ↓
2026-02-18 14:11:41 +00:00
Responde HEARTBEAT_OK Usuário recebe resultado diretamente
2026-02-17 20:52:28 +00:00
```
2026-02-18 14:11:41 +00:00
O subagente tem acesso às ferramentas (message, web_search, etc.) e pode se comunicar com o usuário independentemente sem passar pelo agente principal.
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
**Configuração:**
2026-02-17 20:52:28 +00:00
```json
{
"heartbeat": {
"enabled": true,
"interval": 30
}
}
```
2026-02-18 14:11:41 +00:00
| Opção | Padrão | Descrição |
2026-02-17 20:52:28 +00:00
|-------|--------|-----------|
| `enabled` | `true` | Habilitar/desabilitar heartbeat |
2026-02-18 14:11:41 +00:00
| `interval` | `30` | Intervalo de verificação em minutos (min: 5) |
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
**Variáveis de ambiente:**
2026-02-17 20:52:28 +00:00
* `PICOCLAW_HEARTBEAT_ENABLED=false` para desabilitar
* `PICOCLAW_HEARTBEAT_INTERVAL=60` para alterar o intervalo
### Provedores
> [!NOTE]
2026-02-18 14:11:41 +00:00
> O Groq fornece transcrição de voz gratuita via Whisper. Se configurado, mensagens de voz do Telegram serão automaticamente transcritas.
2026-02-17 20:52:28 +00:00
| Provedor | Finalidade | Obter API Key |
| --- | --- | --- |
| `gemini` | LLM (Gemini direto) | [aistudio.google.com ](https://aistudio.google.com ) |
| `zhipu` | LLM (Zhipu direto) | [bigmodel.cn ](bigmodel.cn ) |
| `openrouter` (Em teste) | LLM (recomendado, acesso a todos os modelos) | [openrouter.ai ](https://openrouter.ai ) |
| `anthropic` (Em teste) | LLM (Claude direto) | [console.anthropic.com ](https://console.anthropic.com ) |
| `openai` (Em teste) | LLM (GPT direto) | [platform.openai.com ](https://platform.openai.com ) |
| `deepseek` (Em teste) | LLM (DeepSeek direto) | [platform.deepseek.com ](https://platform.deepseek.com ) |
2026-02-18 14:11:41 +00:00
| `groq` | LLM + **Transcrição de voz** (Whisper) | [console.groq.com ](https://console.groq.com ) |
2026-02-17 20:52:28 +00:00
< details >
2026-02-18 14:11:41 +00:00
< summary > < b > Configuração Zhipu< / b > < / summary >
2026-02-17 20:52:28 +00:00
**1. Obter API key**
* Obtenha a [API key ](https://bigmodel.cn/usercenter/proj-mgmt/apikeys )
**2. Configurar**
```json
{
"agents": {
"defaults": {
"workspace": "~/.picoclaw/workspace",
"model": "glm-4.7",
"max_tokens": 8192,
"temperature": 0.7,
"max_tool_iterations": 20
}
},
"providers": {
"zhipu": {
"api_key": "Sua API Key",
"api_base": "https://open.bigmodel.cn/api/paas/v4"
}
}
}
```
**3. Executar**
```bash
picoclaw agent -m "Ola, como vai?"
```
< / details >
< details >
2026-02-18 14:11:41 +00:00
< summary > < b > Exemplo de configuraçao completa< / b > < / summary >
2026-02-17 20:52:28 +00:00
```json
{
"agents": {
"defaults": {
"model": "anthropic/claude-opus-4-5"
}
},
"providers": {
"openrouter": {
"api_key": "sk-or-v1-xxx"
},
"groq": {
"api_key": "gsk_xxx"
}
},
"channels": {
"telegram": {
"enabled": true,
"token": "123456:ABC...",
"allow_from": ["123456789"]
},
"discord": {
"enabled": true,
"token": "",
"allow_from": [""]
},
"whatsapp": {
"enabled": false
},
"feishu": {
"enabled": false,
"app_id": "cli_xxx",
"app_secret": "xxx",
"encrypt_key": "",
"verification_token": "",
"allow_from": []
},
"qq": {
"enabled": false,
"app_id": "",
"app_secret": "",
"allow_from": []
}
},
"tools": {
"web": {
"brave": {
"enabled": false,
"api_key": "BSA...",
"max_results": 5
},
"duckduckgo": {
"enabled": true,
"max_results": 5
}
},
"cron": {
"exec_timeout_minutes": 5
}
},
"heartbeat": {
"enabled": true,
"interval": 30
}
}
```
< / details >
2026-02-19 17:22:06 +00:00
### Configuração de Modelo (model_list)
> **Novidade!** PicoClaw agora usa uma abordagem de configuração **centrada no modelo**. Basta especificar o formato `fornecedor/modelo` (ex: `zhipu/glm-4.7`) para adicionar novos provedores—**nenhuma alteração de código necessária!**
Este design também possibilita o **suporte multi-agent** com seleção flexível de provedores:
- **Diferentes agentes, diferentes provedores** : Cada agente pode usar seu próprio provedor LLM
- **Modelos de fallback** : Configure modelos primários e de reserva para resiliência
- **Balanceamento de carga** : Distribua solicitações entre múltiplos endpoints
- **Configuração centralizada** : Gerencie todos os provedores em um só lugar
#### 📋 Todos os Fornecedores Suportados
| Fornecedor | Prefixo `model` | API Base Padrão | Protocolo | Chave API |
|-------------|-----------------|------------------|----------|-----------|
| **OpenAI** | `openai/` | `https://api.openai.com/v1` | OpenAI | [Obter Chave ](https://platform.openai.com ) |
| **Anthropic** | `anthropic/` | `https://api.anthropic.com/v1` | Anthropic | [Obter Chave ](https://console.anthropic.com ) |
| **Zhipu AI (GLM)** | `zhipu/` | `https://open.bigmodel.cn/api/paas/v4` | OpenAI | [Obter Chave ](https://open.bigmodel.cn/usercenter/proj-mgmt/apikeys ) |
| **DeepSeek** | `deepseek/` | `https://api.deepseek.com/v1` | OpenAI | [Obter Chave ](https://platform.deepseek.com ) |
| **Google Gemini** | `gemini/` | `https://generativelanguage.googleapis.com/v1beta` | OpenAI | [Obter Chave ](https://aistudio.google.com/api-keys ) |
| **Groq** | `groq/` | `https://api.groq.com/openai/v1` | OpenAI | [Obter Chave ](https://console.groq.com ) |
| **Moonshot** | `moonshot/` | `https://api.moonshot.cn/v1` | OpenAI | [Obter Chave ](https://platform.moonshot.cn ) |
| **Qwen (Alibaba)** | `qwen/` | `https://dashscope.aliyuncs.com/compatible-mode/v1` | OpenAI | [Obter Chave ](https://dashscope.console.aliyun.com ) |
| **NVIDIA** | `nvidia/` | `https://integrate.api.nvidia.com/v1` | OpenAI | [Obter Chave ](https://build.nvidia.com ) |
| **Ollama** | `ollama/` | `http://localhost:11434/v1` | OpenAI | Local (sem chave necessária) |
| **OpenRouter** | `openrouter/` | `https://openrouter.ai/api/v1` | OpenAI | [Obter Chave ](https://openrouter.ai/keys ) |
| **VLLM** | `vllm/` | `http://localhost:8000/v1` | OpenAI | Local |
| **Cerebras** | `cerebras/` | `https://api.cerebras.ai/v1` | OpenAI | [Obter Chave ](https://cerebras.ai ) |
| **Volcengine** | `volcengine/` | `https://ark.cn-beijing.volces.com/api/v3` | OpenAI | [Obter Chave ](https://console.volcengine.com ) |
| **ShengsuanYun** | `shengsuanyun/` | `https://router.shengsuanyun.com/api/v1` | OpenAI | - |
| **Antigravity** | `antigravity/` | Google Cloud | Custom | Apenas OAuth |
| **GitHub Copilot** | `github-copilot/` | `localhost:4321` | gRPC | - |
#### Configuração Básica
```json
{
"model_list": [
{
2026-02-20 02:48:27 +00:00
"model_name": "gpt-5.2",
"model": "openai/gpt-5.2",
2026-02-19 17:22:06 +00:00
"api_key": "sk-your-openai-key"
},
{
2026-02-20 04:15:04 +00:00
"model_name": "claude-sonnet-4.6",
"model": "anthropic/claude-sonnet-4.6",
2026-02-19 17:22:06 +00:00
"api_key": "sk-ant-your-key"
},
{
"model_name": "glm-4.7",
"model": "zhipu/glm-4.7",
"api_key": "your-zhipu-key"
}
],
"agents": {
"defaults": {
2026-02-20 02:48:27 +00:00
"model": "gpt-5.2"
2026-02-19 17:22:06 +00:00
}
}
}
```
#### Exemplos por Fornecedor
**OpenAI**
```json
{
2026-02-20 02:48:27 +00:00
"model_name": "gpt-5.2",
"model": "openai/gpt-5.2",
2026-02-19 17:22:06 +00:00
"api_key": "sk-..."
}
```
**Zhipu AI (GLM)**
```json
{
"model_name": "glm-4.7",
"model": "zhipu/glm-4.7",
"api_key": "your-key"
}
```
**Anthropic (com OAuth)**
```json
{
2026-02-20 04:15:04 +00:00
"model_name": "claude-sonnet-4.6",
"model": "anthropic/claude-sonnet-4.6",
2026-02-19 17:22:06 +00:00
"auth_method": "oauth"
}
```
> Execute `picoclaw auth login --provider anthropic` para configurar credenciais OAuth.
#### Balanceamento de Carga
Configure vários endpoints para o mesmo nome de modelo—PicoClaw fará round-robin automaticamente entre eles:
```json
{
"model_list": [
{
2026-02-20 02:48:27 +00:00
"model_name": "gpt-5.2",
"model": "openai/gpt-5.2",
2026-02-19 17:22:06 +00:00
"api_base": "https://api1.example.com/v1",
"api_key": "sk-key1"
},
{
2026-02-20 02:48:27 +00:00
"model_name": "gpt-5.2",
"model": "openai/gpt-5.2",
2026-02-19 17:22:06 +00:00
"api_base": "https://api2.example.com/v1",
"api_key": "sk-key2"
}
]
}
```
#### Migração da Configuração Legada `providers`
A configuração antiga `providers` está **descontinuada** mas ainda é suportada para compatibilidade reversa.
**Configuração Antiga (descontinuada):**
```json
{
"providers": {
"zhipu": {
"api_key": "your-key",
"api_base": "https://open.bigmodel.cn/api/paas/v4"
}
},
"agents": {
"defaults": {
"provider": "zhipu",
"model": "glm-4.7"
}
}
}
```
**Nova Configuração (recomendada):**
```json
{
"model_list": [
{
"model_name": "glm-4.7",
"model": "zhipu/glm-4.7",
"api_key": "your-key"
}
],
"agents": {
"defaults": {
"model": "glm-4.7"
}
}
}
```
Para o guia de migração detalhado, consulte [docs/migration/model-list-migration.md ](docs/migration/model-list-migration.md ).
2026-02-18 14:11:41 +00:00
## Referência CLI
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
| Comando | Descrição |
2026-02-17 20:52:28 +00:00
| --- | --- |
2026-02-18 14:11:41 +00:00
| `picoclaw onboard` | Inicializar configuração & workspace |
2026-02-17 20:52:28 +00:00
| `picoclaw agent -m "..."` | Conversar com o agente |
| `picoclaw agent` | Modo de chat interativo |
| `picoclaw gateway` | Iniciar o gateway (para bots de chat) |
| `picoclaw status` | Mostrar status |
| `picoclaw cron list` | Listar todas as tarefas agendadas |
| `picoclaw cron add ...` | Adicionar uma tarefa agendada |
### Tarefas Agendadas / Lembretes
O PicoClaw suporta lembretes agendados e tarefas recorrentes por meio da ferramenta `cron` :
2026-02-18 14:11:41 +00:00
* **Lembretes únicos**: "Remind me in 10 minutes" (Me lembre em 10 minutos) → dispara uma vez após 10min
2026-02-17 20:52:28 +00:00
* **Tarefas recorrentes**: "Remind me every 2 hours" (Me lembre a cada 2 horas) → dispara a cada 2 horas
2026-02-18 14:11:41 +00:00
* **Expressões Cron**: "Remind me at 9am daily" (Me lembre às 9h todos os dias) → usa expressão cron
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
As tarefas são armazenadas em `~/.picoclaw/workspace/cron/` e processadas automaticamente.
2026-02-17 20:52:28 +00:00
## 🤝 Contribuir & Roadmap
2026-02-18 14:11:41 +00:00
PRs são bem-vindos! O código-fonte é intencionalmente pequeno e legível. 🤗
2026-02-17 20:52:28 +00:00
Roadmap em breve...
2026-02-18 14:11:41 +00:00
Grupo de desenvolvedores em formação. Requisito de entrada: Pelo menos 1 PR com merge.
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
Grupos de usuários:
2026-02-17 20:52:28 +00:00
Discord: < https: / / discord . gg / V4sAZ9XWpN >
< img src = "assets/wechat.png" alt = "PicoClaw" width = "512" >
2026-02-18 14:11:41 +00:00
## 🐛 Solução de Problemas
2026-02-17 20:52:28 +00:00
### Busca web mostra "API 配置问题"
2026-02-18 14:11:41 +00:00
Isso é normal se você ainda não configurou uma API key de busca. O PicoClaw fornecerá links úteis para busca manual.
2026-02-17 20:52:28 +00:00
Para habilitar a busca web:
2026-02-18 14:11:41 +00:00
1. **Opção 1 (Recomendado)** : Obtenha uma API key gratuita em [https://brave.com/search/api ](https://brave.com/search/api ) (2000 consultas grátis/mês) para os melhores resultados.
2. **Opção 2 (Sem Cartão de Crédito)** : Se você não tem uma key, o sistema automaticamente usa o **DuckDuckGo** como fallback (sem necessidade de key).
2026-02-17 20:52:28 +00:00
Adicione a key em `~/.picoclaw/config.json` se usar o Brave:
```json
{
"tools": {
"web": {
"brave": {
"enabled": true,
"api_key": "YOUR_BRAVE_API_KEY",
"max_results": 5
},
"duckduckgo": {
"enabled": true,
"max_results": 5
}
}
}
}
```
2026-02-18 14:11:41 +00:00
### Erros de filtragem de conteúdo
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
Alguns provedores (como Zhipu) possuem filtragem de conteúdo. Tente reformular sua pergunta ou use um modelo diferente.
2026-02-17 20:52:28 +00:00
### Bot do Telegram diz "Conflict: terminated by other getUpdates"
2026-02-18 14:11:41 +00:00
Isso acontece quando outra instância do bot está em execução. Certifique-se de que apenas um `picoclaw gateway` esteja rodando por vez.
2026-02-17 20:52:28 +00:00
---
2026-02-18 14:11:41 +00:00
## 📝 Comparação de API Keys
2026-02-17 20:52:28 +00:00
2026-02-18 14:11:41 +00:00
| Serviço | Plano Gratuito | Caso de Uso |
2026-02-17 20:52:28 +00:00
| --- | --- | --- |
2026-02-18 14:11:41 +00:00
| **OpenRouter** | 200K tokens/mês | Múltiplos modelos (Claude, GPT-4, etc.) |
| **Zhipu** | 200K tokens/mês | Melhor para usuários chineses |
| **Brave Search** | 2000 consultas/mês | Funcionalidade de busca web |
| **Groq** | Plano gratuito disponível | Inferência ultra-rápida (Llama, Mixtral) |