Skip to content

jdalmeida/liteclaw

Repository files navigation

LiteClaw

Agente autônomo com LLM local inspirado no OpenClaw. Wrapper Python para o LiteRT-LM da Google, com tools, skills (formato AgentSkills), Gateway WebSocket, WebChat e canais (Telegram, Discord).

Características

  • LLM local — Executa modelos via lit serve (LiteRT-LM), sem dependência de APIs externas
  • Tools — Function calling com decorator @tool e tools builtin (exec, read, write, web_fetch)
  • Skills — Formato AgentSkills (SKILL.md) com gating e injeção no prompt
  • Gateway — Servidor WebSocket + HTTP na porta 18789
  • WebChat — Interface web para conversar com o agente
  • Canais — Telegram e Discord como canais de mensagem

Instalação

# Linux/macOS
./scripts/install.sh

# Windows (PowerShell)
.\scripts\install.ps1

Ou manualmente: python -m venv .venvsource .venv/bin/activatepip install -e .

Requisitos: Python 3.8+, executável lit do LiteRT-LM no projeto.

Início rápido

# 1. Inicie o gateway (WebChat em http://127.0.0.1:18789)
liteclaw gateway --verbose

# 2. Envie uma mensagem via CLI
liteclaw agent -m "Olá! O que você consegue fazer?"

Ou use em Python:

from liteclaw import LiteClawClient, tool

@tool(description="Retorna o clima de uma localização")
def get_weather(location: str) -> dict:
    return {"location": location, "temperature": 25, "condition": "Sunny"}

client = LiteClawClient(model="qwen2.5-1.5b", auto_start=True)
client.tools.register(get_weather)
print(client.chat("Como está o clima em Paris?"))

Documentação

Documento Descrição
Instalação Requisitos e instalação detalhada
Guia rápido Primeiros passos e exemplos
Arquitetura Visão geral do sistema
Tools Como criar e usar tools
Skills Formato AgentSkills e gating
Gateway Protocolo WebSocket e API
Canais Telegram, Discord e configuração
Configuração config.json e variáveis de ambiente
Referência API Classes e métodos

Estrutura do projeto

liteclaw/
├── client.py       # LiteClawClient (lit serve)
├── agent.py        # Loop do agente
├── session.py      # Gerenciador de sessões
├── skills.py       # Loader de skills
├── tools.py        # @tool e ToolRegistry
├── tools_builtin.py# exec, read, write, web_fetch
├── gateway/        # Servidor HTTP + WebSocket
├── channels/       # Telegram, Discord
└── web/            # WebChat (HTML/JS)

Modelos recomendados

Para function calling, use modelos treinados para tools:

Licença

Apache-2.0 (compatível com LiteRT-LM)

About

Agente autônomo com LLM local inspirado no OpenClaw utilizando LiteRT-LM

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors