Repolode
ChrisVip001

ChrisVip001/joyczl-agent

Asistente personal local con un núcleo en Rust para el ciclo del agente, la memoria y las herramientas, además de pasarelas de chat y un panel en TypeScript.

Estrellas
112
Forks
0
Issues abiertos
0
Último commit
anteayer

¿Qué es?

Joy es un asistente personal que se ejecuta en el equipo del usuario. El almacén de estado, el ciclo del agente, la memoria y las herramientas están implementados en Rust, mientras que TypeScript proporciona el panel web y las pasarelas de chat para Telegram, Discord, WeChat y Lark. Un SDK ligero de Python envuelve la misma interfaz JSON-RPC que expone el proceso `joy app-server`, así que todos los clientes se comunican con un único proceso que gestiona el estado de SQLite.

La memoria combina datos semánticos que se pueden buscar con FTS5, episodios fechados y Skills procedimentales, con un mecanismo de recuperación que consulta la memoria solo cuando parece relevante. El asistente incluye unas once herramientas integradas para notas, eventos del calendario, búsquedas web, lectura de archivos, obtención de contenido de URL y comandos de shell, y puede conectarse a servidores MCP. La ejecución de shell está desactivada de forma predeterminada y requiere una variable de entorno explícita. Cada turno registra una línea de traza y el uso de tokens.

El proyecto incluye una suite determinista de evaluación y un evaluador LLM para medir la calidad de las respuestas. También admite varios proveedores de LLM, incluidos modelos locales de Ollama que no necesitan una clave de API.

Funciones clave

  • 01Chatea mediante un REPL de terminal, un panel web o las pasarelas de Telegram, Discord, WeChat y Lark.
  • 02Tres tipos de memoria: datos que se pueden buscar, episodios fechados y Skills reutilizables.
  • 03Herramientas integradas para notas, calendario, búsquedas web, lectura de archivos y obtención de contenido de URL, además de compatibilidad con servidores MCP.
  • 04Los comandos de shell están aislados en un entorno controlado, limitados a una lista de permitidos y desactivados salvo que se habiliten explícitamente.
  • 05Los clientes se comunican con el núcleo mediante JSON-RPC, y un único proceso gestiona el estado de SQLite.

Casos de uso

  • Usar un asistente privado que guarde las notas, la memoria y los datos del calendario en tu propio equipo.
  • Chatear con un agente desde Telegram o Discord mientras los datos permanecen en local.
  • Experimentar con un núcleo de agente en Rust que expone una API JSON-RPC para otros clientes.
  • Usar un modelo local de Ollama como LLM del asistente sin enviar datos a un proveedor en la nube.

Inicio rápido

  1. 1

    Compila el proyecto Rust desde el directorio joy-rs

    cd joy-rs && cargo build
  2. 2

    Inicia la REPL en la terminal con un proveedor y una clave API

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

    O inicia el panel en http://localhost:7777

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

Antes de usarlo

  • Es necesario compilar desde el código fuente con Cargo, ya que todavía no hay ningún paquete publicado en PyPI ni npm.
  • Necesita una clave API de un proveedor de LLM o una instalación local de Ollama para poder responder.
  • Las pasarelas de Discord, WeChat y Lark nunca se han conectado a las plataformas reales.

En colecciones

Temas

Preguntas frecuentes

¿Qué es joyczl-agent?
Asistente personal local con un núcleo en Rust para el ciclo del agente, la memoria y las herramientas, además de pasarelas de chat y un panel en TypeScript. Joy es un asistente personal que se ejecuta en el equipo del usuario. El almacén de estado, el ciclo del agente, la memoria y las herramientas están implementados en Rust, mientras que TypeScript proporciona el panel web y las pasarelas de chat para Telegram, Discord, WeChat y Lark. Un SDK ligero de Python envuelve la misma interfaz JSON-RPC que expone el proceso `joy app-server`, así que todos los clientes se comunican con un único proceso que gestiona el estado de SQLite.
¿joyczl-agent es gratuito? ¿Qué licencia tiene?
joyczl-agent es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿joyczl-agent sigue mantenido?
Mantenimiento activo. El último commit de joyczl-agent fue el 4 nov 2026.
¿Para qué puedo usar joyczl-agent?
Usar un asistente privado que guarde las notas, la memoria y los datos del calendario en tu propio equipo. Chatear con un agente desde Telegram o Discord mientras los datos permanecen en local. Experimentar con un núcleo de agente en Rust que expone una API JSON-RPC para otros clientes. Usar un modelo local de Ollama como LLM del asistente sin enviar datos a un proveedor en la nube.
¿Cómo se instala joyczl-agent?
Compila el proyecto Rust desde el directorio joy-rs: cd joy-rs && cargo build Inicia la REPL en la terminal con un proveedor y una clave API: JOY_PROVIDER=deepseek DEEPSEEK_API_KEY=… ./target/debug/joy O inicia el panel en http://localhost:7777: JOY_PROVIDER=deepseek DEEPSEEK_API_KEY=… ./target/debug/joy dashboard
¿Dónde consigo joyczl-agent?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/ChrisVip001/joyczl-agent

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados