Repolode
ChrisVip001

ChrisVip001/joyczl-agent

Assistente pessoal local-first com núcleo em Rust para o loop do agente, memória e ferramentas, além de gateways de chat e painel em TypeScript.

Estrelas
112
Forks
0
Issues abertas
0
Último commit
há 3 dias

O que é?

Joy é um assistente pessoal que roda na máquina do próprio usuário. O armazenamento de estado, o loop do agente, a memória e as ferramentas são implementados em Rust, enquanto o TypeScript fornece o painel no navegador e gateways de chat para Telegram, Discord, WeChat e Lark. Um SDK Python enxuto encapsula a mesma interface JSON-RPC exposta pelo processo `joy app-server`, então todos os clientes se comunicam com um único processo, responsável pelo estado em SQLite.

A memória combina fatos semânticos pesquisáveis com FTS5, episódios com data e Skills procedurais, com um mecanismo de recuperação que consulta a memória apenas quando ela parece relevante. O assistente vem com cerca de onze ferramentas integradas para notas, eventos de calendário, pesquisa na web, leitura de arquivos, busca de URLs e comandos de shell, além de poder se conectar a servidores MCP. A execução de shell fica desativada por padrão e exige uma variável de ambiente explícita para ser habilitada. Cada turno registra uma linha de rastreamento e o uso de tokens.

O projeto inclui uma suíte de avaliação determinística e um juiz baseado em LLM para avaliar a qualidade das respostas. Também oferece suporte a vários provedores de LLM, incluindo modelos locais do Ollama que não precisam de chave de API.

Recursos principais

  • 01Converse por um REPL de terminal, um painel no navegador ou pelos gateways do Telegram, Discord, WeChat e Lark.
  • 02Três tipos de memória: fatos pesquisáveis, episódios com data e Skills reutilizáveis.
  • 03Ferramentas integradas para notas, calendário, pesquisa na web, leitura de arquivos e busca de URLs, além de suporte a servidores MCP.
  • 04Os comandos de shell são isolados em sandbox, limitados a uma lista de permissões e desativados por padrão.
  • 05Os clientes se comunicam com o núcleo por JSON-RPC, e um único processo é responsável pelo estado em SQLite.

Casos de uso

  • Executar um assistente privado que mantém notas, memória e dados de calendário na sua própria máquina.
  • Conversar com um agente pelo Telegram ou Discord enquanto o estado permanece local.
  • Experimentar um núcleo de agente em Rust que expõe uma API JSON-RPC para outros clientes.
  • Usar um modelo local do Ollama como LLM do assistente sem enviar dados a um provedor de nuvem.

Início rápido

  1. 1

    Compile o projeto Rust a partir do diretório joy-rs

    cd joy-rs && cargo build
  2. 2

    Inicie o REPL no terminal com um provedor e uma chave de API

    JOY_PROVIDER=deepseek DEEPSEEK_API_KEY=… ./target/debug/joy
  3. 3

    Ou inicie o painel em http://localhost:7777

    JOY_PROVIDER=deepseek DEEPSEEK_API_KEY=… ./target/debug/joy dashboard

Antes de usar

  • É necessário compilar a partir do código-fonte com Cargo, pois ainda não há nenhum pacote publicado no PyPI nem no npm.
  • É necessária uma chave de API de um provedor de LLM ou uma instalação local do Ollama para que ele possa responder.
  • Os gateways do Discord, WeChat e Lark nunca foram conectados às plataformas reais.

Em coleções

Tópicos

Perguntas frequentes

O que é joyczl-agent?
Assistente pessoal local-first com núcleo em Rust para o loop do agente, memória e ferramentas, além de gateways de chat e painel em TypeScript. Joy é um assistente pessoal que roda na máquina do próprio usuário. O armazenamento de estado, o loop do agente, a memória e as ferramentas são implementados em Rust, enquanto o TypeScript fornece o painel no navegador e gateways de chat para Telegram, Discord, WeChat e Lark. Um SDK Python enxuto encapsula a mesma interface JSON-RPC exposta pelo processo `joy app-server`, então todos os clientes se comunicam com um único processo, responsável pelo estado em SQLite.
joyczl-agent é gratuito? Qual é a licença?
joyczl-agent é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
joyczl-agent ainda é mantido?
Manutenção ativa. O último commit de joyczl-agent foi em 4 de nov. de 2026.
Para que posso usar joyczl-agent?
Executar um assistente privado que mantém notas, memória e dados de calendário na sua própria máquina. Conversar com um agente pelo Telegram ou Discord enquanto o estado permanece local. Experimentar um núcleo de agente em Rust que expõe uma API JSON-RPC para outros clientes. Usar um modelo local do Ollama como LLM do assistente sem enviar dados a um provedor de nuvem.
Como instalar joyczl-agent?
Compile o projeto Rust a partir do diretório joy-rs: cd joy-rs && cargo build Inicie o REPL no terminal com um provedor e uma chave de API: JOY_PROVIDER=deepseek DEEPSEEK_API_KEY=… ./target/debug/joy Ou inicie o painel em http://localhost:7777: JOY_PROVIDER=deepseek DEEPSEEK_API_KEY=… ./target/debug/joy dashboard
Onde consigo joyczl-agent?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/ChrisVip001/joyczl-agent

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados