Локальный персональный AI-ассистент на понятном Python: собственный цикл агента, память на SQLite и встроенные evals.
ChrisVip001/joyczl-agent
Персональный ассистент с локальным хранением данных: ядро на Rust отвечает за цикл агента, память и инструменты, а TypeScript — за чат-шлюзы и панель управления.
- Звёзды
- 112
- Форки
- 0
- Открытые issues
- 0
- Последний коммит
- позавчера
Что это?
Joy — персональный ассистент, который работает на компьютере пользователя. Хранилище состояния, цикл агента, память и инструменты реализованы на Rust, а TypeScript используется для веб-панели управления и чат-шлюзов для Telegram, Discord, WeChat и Lark. Тонкий Python SDK оборачивает тот же интерфейс JSON-RPC, который предоставляет процесс `joy app-server`, поэтому все клиенты обращаются к единому процессу, управляющему состоянием в SQLite.
Память объединяет семантические факты, доступные для поиска через FTS5, эпизоды с датами и процедурные Skills. Механизм фильтрации обращается к памяти, только если она кажется уместной. В ассистенте есть около одиннадцати встроенных инструментов для работы с заметками и событиями календаря, веб-поиска, чтения файлов, получения данных по URL и выполнения команд оболочки; также он может подключаться к MCP-серверам. Выполнение команд оболочки по умолчанию отключено и требует явного флага окружения. Для каждого хода записываются строка трассировки и расход токенов.
В проект входят детерминированный набор тестов для оценки и LLM-судья для проверки качества ответов. Поддерживается широкий выбор LLM-провайдеров, включая локальные модели Ollama, которым не нужен API-ключ.
Ключевые возможности
- 01Общайтесь через терминальный REPL, веб-панель управления или шлюзы Telegram, Discord, WeChat и Lark.
- 02Три типа памяти: факты с поиском, эпизоды с датами и повторно используемые Skills.
- 03Встроенные инструменты для заметок, календаря, веб-поиска, чтения файлов и получения данных по URL, а также поддержка MCP-серверов.
- 04Команды оболочки изолированы, ограничены списком разрешённых и отключены, пока их явно не включат.
- 05Клиенты взаимодействуют с ядром по JSON-RPC, а состоянием в SQLite управляет единый процесс.
Сценарии использования
- Запустите приватного ассистента, который хранит заметки, память и данные календаря на вашем компьютере.
- Общайтесь с агентом через Telegram или Discord, сохраняя состояние локально.
- Экспериментируйте с ядром агента на Rust, которое предоставляет другим клиентам API JSON-RPC.
- Используйте локальную модель Ollama в качестве LLM ассистента, не отправляя данные облачному провайдеру.
Быстрый старт
- 1
Соберите проект Rust из каталога joy-rs
cd joy-rs && cargo build - 2
Запустите REPL в терминале, указав провайдера и API-ключ
JOY_PROVIDER=deepseek DEEPSEEK_API_KEY=… ./target/debug/joy - 3
Или запустите панель управления по адресу http://localhost:7777
JOY_PROVIDER=deepseek DEEPSEEK_API_KEY=… ./target/debug/joy dashboard
Что важно знать
- Необходимо собрать проект из исходного кода с помощью Cargo, поскольку пакет пока не опубликован в PyPI или npm.
- Для ответов нужен API-ключ провайдера LLM или локально настроенный Ollama.
- Шлюзы Discord, WeChat и Lark ни разу не подключались к реальным платформам.
В подборках
Темы
Частые вопросы
- Что такое joyczl-agent?
- Персональный ассистент с локальным хранением данных: ядро на Rust отвечает за цикл агента, память и инструменты, а TypeScript — за чат-шлюзы и панель управления. Joy — персональный ассистент, который работает на компьютере пользователя. Хранилище состояния, цикл агента, память и инструменты реализованы на Rust, а TypeScript используется для веб-панели управления и чат-шлюзов для Telegram, Discord, WeChat и Lark. Тонкий Python SDK оборачивает тот же интерфейс JSON-RPC, который предоставляет процесс `joy app-server`, поэтому все клиенты обращаются к единому процессу, управляющему состоянием в SQLite.
- joyczl-agent можно использовать бесплатно? Какая у него лицензия?
- joyczl-agent распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- joyczl-agent всё ещё поддерживается?
- Активно поддерживается. Последний коммит в joyczl-agent — 4 нояб. 2026 г..
- Для чего можно использовать joyczl-agent?
- Запустите приватного ассистента, который хранит заметки, память и данные календаря на вашем компьютере. Общайтесь с агентом через Telegram или Discord, сохраняя состояние локально. Экспериментируйте с ядром агента на Rust, которое предоставляет другим клиентам API JSON-RPC. Используйте локальную модель Ollama в качестве LLM ассистента, не отправляя данные облачному провайдеру.
- Как установить joyczl-agent?
- Соберите проект Rust из каталога joy-rs: cd joy-rs && cargo build Запустите REPL в терминале, указав провайдера и API-ключ: JOY_PROVIDER=deepseek DEEPSEEK_API_KEY=… ./target/debug/joy Или запустите панель управления по адресу http://localhost:7777: JOY_PROVIDER=deepseek DEEPSEEK_API_KEY=… ./target/debug/joy dashboard
- Где скачать joyczl-agent?
- Исходный код и инструкции по установке — на GitHub: https://github.com/ChrisVip001/joyczl-agent
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Открытый AI-ассистент для планирования, письма и личных знаний; работает на Mac или на собственном сервере с вашими ключами моделей.
Легковесное самохостируемое приложение-персональный агент с TUI и GUI, инструментами для локального рабочего пространства, подтверждением действий человеком, сохраняемыми сессиями, памятью и расширениями Skill/Plugin/MCP.
Личный self-hosted AI-агент со встроенным WebUI, памятью, инструментами, поддержкой MCP, субагентами и автоматизациями по расписанию; работает с локальными и облачными LLM.
Rust-фреймворк для создания компонуемых сред выполнения AI-агентов, объединяющих модели, инструменты, память и других агентов.
Локальный self-hosted ИИ-агент для личного использования: многоуровневая память, разрешения для инструментов, рабочие процессы и интеграция с мессенджерами.