Skip to content

Latest commit

 

History

History
730 lines (520 loc) · 37.3 KB

File metadata and controls

730 lines (520 loc) · 37.3 KB

📦 Релизы

[2026.4.21] v1.2.1 — лимиты токенов чата по этапам в agents.yaml (ответы до 8000 токенов), повторная генерация последнего ответа (CLI / WebSocket / Web UI), исправление падения RAG при None в эмбеддингах, совместимость Gemma с json_object, читаемость тёмных блоков кода.

[2026.4.20] v1.2.0 — Book Engine: мультиагентный компилятор «живых книг» с 14 типами блоков, многодокументный Co-Writer, интерактивные HTML-визуализации, @-упоминания банка вопросов в чате, фаза 2 выноса промптов, переработка боковой панели.

[2026.4.18] v1.1.2 — вкладка Channels на схеме с маскировкой секретов; единый конвейер RAG; укрепление согласованности RAG/KB; вынесенные промпты чата; README на тайском.

[2026.4.17] v1.1.1 — универсальный «Ответить сейчас» во всех возможностях; синхронизация прокрутки Co-Writer; выбор сообщений при сохранении в блокнот; единая панель настроек; кнопка Stop при стриминге; атомарная запись конфигурации TutorBot.

[2026.4.15] v1.1.0 — переработка разбора блочных формул LaTeX; LLM-диагностика через agents.yaml; исправление пересылки дополнительных заголовков; исправление UUID в SaveToNotebook; руководство по Docker и локальным LLM.

[2026.4.14] v1.1.0-beta — сессии с URL-закладками; тема Snow; heartbeat WebSocket и авто-переподключение; ускорение ChatComposer; переработка реестра провайдеров эмбеддингов; провайдер поиска Serper.

[2026.4.13] v1.0.3 — блокнот вопросов с закладками и категориями; Mermaid в Visualize; обнаружение несоответствия эмбеддингов; совместимость Qwen/vLLM; поддержка LM Studio и llama.cpp; тема Glass.

[2026.4.11] v1.0.2 — консолидация поиска с резервом SearXNG; исправление переключения провайдера; утечки ресурсов на фронтенде.

[2026.4.10] v1.0.1 — возможность Visualize (Chart.js/SVG); защита от дубликатов тестов; поддержка модели o4-mini.

[2026.4.10] v1.0.0-beta.4 — прогресс эмбеддингов с повтором при лимите; кроссплатформенные зависимости; проверка MIME.

[2026.4.8] v1.0.0-beta.3 — нативные SDK OpenAI/Anthropic (без litellm); Math Animator на Windows; более устойчичный разбор JSON; полная китайская i18n.

[2026.4.7] v1.0.0-beta.2 — горячая перезагрузка настроек; вложенный вывод MinerU; исправление WebSocket; минимум Python 3.11+.

[2026.4.4] v1.0.0-beta.1 — агентно-нативная переработка (~200k строк): плагины Tools + Capabilities, CLI и SDK, TutorBot, Co-Writer, Guided Learning и постоянная память.

Прошлые релизы

[2026.1.23] v0.6.0 — сессии, инкрементальная загрузка, гибкий RAG, полная китайская локализация.

[2026.1.18] v0.5.2 — Docling, логи, исправления.

[2026.1.15] v0.5.0 — единая конфигурация, RAG по KB, генерация вопросов, боковая панель.

[2026.1.9] v0.4.0 — мульти-провайдеры LLM/эмбеддинги, новая главная, разделение RAG, переменные окружения.

[2026.1.5] v0.3.0 — PromptManager, CI/CD, образы GHCR.

[2026.1.2] v0.2.0 — Docker, Next.js 16 и React 19, WebSocket, уязвимости.

📰 Новости

[2026.4.4] Давно не виделись! ✨ Вышел DeepTutor v1.0.0 — агентно-нативная эволюция: архитектура переписана с нуля, TutorBot и гибкие режимы под Apache-2.0. Начинается новая глава!

[2026.2.6] 🚀 10k звёзд за 39 дней — спасибо сообществу!

[2026.1.1] С Новым годом! Discord, WeChat, Discussions.

[2025.12.29] Официальный релиз DeepTutor.

✨ Ключевые возможности

  • Единое чат-пространство — шесть режимов в одной ветке: Chat, Deep Solve, квизы, Deep Research, Math Animator и Visualize с общим контекстом.
  • AI Co-Writer — мультидокументный Markdown: переписать, расширить, сократить с KB и вебом.
  • Book Engine — структурированные интерактивные «живые книги»: мультиагентный конвейер, 14 типов блоков (квизы, карточки, таймлайны, графы концепций и др.).
  • Центр знаний — RAG-базы, цветные блокноты, банк вопросов, пользовательские Skills.
  • Постоянная память — сводка прогресса и профиль ученика; общая с TutorBot.
  • Персональные TutorBot — не чат-боты: автономные репетиторы со своей памятью, личностью и навыками. nanobot.
  • Агентно-нативный CLI — возможности, KB, сессии, TutorBot одной командой; Rich и JSON. SKILL.md.

🚀 Быстрый старт

Предварительные требования

Перед началом убедитесь, что установлено:

Требование Версия Проверка Примечание
Git любая git --version для клонирования
Python 3.11+ python --version backend
Node.js 18+ node --version сборка фронтенда (не нужен только для CLI или Docker)
npm 9+ npm --version обычно вместе с Node.js

Нужен как минимум один API-ключ LLM-провайдера (например OpenAI, DeepSeek, Anthropic). Тур поможет ввести его и проверить соединение.

Вариант A — интерактивный тур (рекомендуется)

Один интерактивный скрипт проведёт через установку зависимостей, настройку окружения, проверку соединения в реальном времени и запуск. Ручное редактирование .env почти не требуется.

git clone https://github.com/HKUDS/DeepTutor.git
cd DeepTutor

# Виртуальное окружение Python (выберите одно):
conda create -n deeptutor python=3.11 && conda activate deeptutor   # Anaconda / Miniconda
python -m venv .venv && source .venv/bin/activate                    # иначе (macOS / Linux)
python -m venv .venv && .venv\Scripts\activate                       # иначе (Windows)

python scripts/start_tour.py

Тур спрашивает, как вы хотите использовать DeepTutor:

  • Режим Web (рекомендуется) — ставит все зависимости (pip + npm), поднимает временный сервер и открывает Настройки в браузере; четыре шага для LLM, эмбеддингов и поиска с проверкой соединения; по завершении DeepTutor перезапускается с вашей конфигурацией.
  • Режим CLI — полностью интерактивный сценарий в терминале: профиль, установка, провайдеры, проверка и применение без выхода из shell.

В обоих случаях вы получите DeepTutor на http://localhost:3782.

Ежедневный запуск — тур нужен только один раз. Дальше используйте:

python scripts/start_web.py

Запускает backend и frontend одной командой и открывает браузер. Запускайте start_tour.py снова только при смене провайдеров или переустановке зависимостей.

Вариант B — ручная локальная установка

Если нужен полный контроль, установите и настройте всё вручную.

1. Установка зависимостей

git clone https://github.com/HKUDS/DeepTutor.git
cd DeepTutor

# Создать и активировать окружение (как в варианте A)
conda create -n deeptutor python=3.11 && conda activate deeptutor

# DeepTutor с зависимостями backend + web-сервера
pip install -e ".[server]"

# Фронтенд (нужен Node.js 18+)
cd web && npm install && cd ..

2. Настройка окружения

cp .env.example .env

Отредактируйте .env и заполните как минимум обязательные поля:

# LLM (обязательно)
LLM_BINDING=openai
LLM_MODEL=gpt-4o-mini
LLM_API_KEY=sk-xxx
LLM_HOST=https://api.openai.com/v1

# Эмбеддинги (обязательно для базы знаний)
EMBEDDING_BINDING=openai
EMBEDDING_MODEL=text-embedding-3-large
EMBEDDING_API_KEY=sk-xxx
EMBEDDING_HOST=https://api.openai.com/v1
EMBEDDING_DIMENSION=3072
Поддерживаемые провайдеры LLM
Провайдер Binding Базовый URL по умолчанию
AiHubMix aihubmix https://aihubmix.com/v1
Anthropic anthropic https://api.anthropic.com/v1
Azure OpenAI azure_openai
BytePlus byteplus https://ark.ap-southeast.bytepluses.com/api/v3
BytePlus Coding Plan byteplus_coding_plan https://ark.ap-southeast.bytepluses.com/api/coding/v3
Custom (OpenAI-compat) custom
DashScope (Qwen) dashscope https://dashscope.aliyuncs.com/compatible-mode/v1
DeepSeek deepseek https://api.deepseek.com
Gemini gemini https://generativelanguage.googleapis.com/v1beta/openai/
GitHub Copilot github_copilot https://api.githubcopilot.com
Groq groq https://api.groq.com/openai/v1
llama.cpp llama_cpp http://localhost:8080/v1
LM Studio lm_studio http://localhost:1234/v1
MiniMax minimax https://api.minimax.io/v1
Mistral mistral https://api.mistral.ai/v1
Moonshot (Kimi) moonshot https://api.moonshot.ai/v1
Ollama ollama http://localhost:11434/v1
OpenAI openai https://api.openai.com/v1
OpenAI Codex openai_codex https://chatgpt.com/backend-api
OpenRouter openrouter https://openrouter.ai/api/v1
OpenVINO Model Server ovms http://localhost:8000/v3
Qianfan (Ernie) qianfan https://qianfan.baidubce.com/v2
SiliconFlow siliconflow https://api.siliconflow.cn/v1
Step Fun stepfun https://api.stepfun.com/v1
vLLM vllm http://localhost:8000/v1
VolcEngine volcengine https://ark.cn-beijing.volces.com/api/v3
VolcEngine Coding Plan volcengine_coding_plan https://ark.cn-beijing.volces.com/api/coding/v3
Xiaomi MIMO xiaomi_mimo https://api.xiaomimimo.com/v1
Zhipu AI (GLM) zhipu https://open.bigmodel.cn/api/paas/v4
Поддерживаемые провайдеры эмбеддингов
Провайдер Binding Пример модели Размерность по умолчанию
OpenAI openai text-embedding-3-large 3072
Azure OpenAI azure_openai имя развёртывания
Cohere cohere embed-v4.0 1024
Jina jina jina-embeddings-v3 1024
Ollama ollama nomic-embed-text 768
vLLM / LM Studio vllm Любая embedding-модель
OpenAI-совместимый custom

OpenAI-совместимые провайдеры (DashScope, SiliconFlow и др.) работают через binding custom или openai.

Поддерживаемые веб-поисковые провайдеры
Провайдер Переменная окружения Примечания
Brave BRAVE_API_KEY Рекомендуется, есть бесплатный уровень
Tavily TAVILY_API_KEY
Serper SERPER_API_KEY Результаты Google через Serper
Jina JINA_API_KEY
SearXNG Самохостинг, без API-ключа
DuckDuckGo Без API-ключа
Perplexity PERPLEXITY_API_KEY Нужен API-ключ

3. Запуск сервисов

Самый быстрый способ:

python scripts/start_web.py

Запускает backend и frontend и открывает браузер.

Или запускайте вручную в отдельных терминалах:

# Backend (FastAPI)
python -m deeptutor.api.run_server

# Frontend (Next.js) — другой терминал
cd web && npm run dev -- -p 3782
Сервис Порт по умолчанию
Backend 8001
Frontend 3782

Откройте http://localhost:3782.

Вариант C — Docker

Docker упаковывает backend и frontend в один контейнер; локальные Python и Node.js не нужны. Достаточно Docker Desktop (или Docker Engine + Compose на Linux).

1. Переменные окружения (нужны для обоих вариантов ниже)

git clone https://github.com/HKUDS/DeepTutor.git
cd DeepTutor
cp .env.example .env

Заполните .env как минимум обязательные поля (как в варианте B).

2a. Официальный образ (рекомендуется)

Официальные образы публикуются в GitHub Container Registry для linux/amd64 и linux/arm64.

docker compose -f docker-compose.ghcr.yml up -d

Чтобы зафиксировать версию, измените тег образа в docker-compose.ghcr.yml:

image: ghcr.io/hkuds/deeptutor:1.0.0  # или :latest

2b. Сборка из исходников

docker compose up -d

Собирает образ из Dockerfile локально и запускает контейнер.

3. Проверка и управление

Откройте http://localhost:3782, когда контейнер станет healthy.

docker compose logs -f   # логи
docker compose down       # остановить и удалить контейнер
Облако / удалённый сервер

На удалённом сервере браузеру нужен публичный URL backend API. Добавьте в .env:

# Публичный URL, по которому доступен backend
NEXT_PUBLIC_API_BASE_EXTERNAL=https://your-server.com:8001

Скрипт запуска фронтенда подставляет значение во время выполнения — пересборка не нужна.

Режим разработки (hot-reload)

Подключите dev-override, чтобы смонтировать исходники и включить hot-reload для обоих сервисов:

docker compose -f docker-compose.yml -f docker-compose.dev.yml up

Изменения в deeptutor/, deeptutor_cli/, scripts/ и web/ применяются сразу.

Свои порты

Переопределите порты в .env:

BACKEND_PORT=9001
FRONTEND_PORT=4000

Затем перезапустите:

docker compose up -d     # или docker compose -f docker-compose.ghcr.yml up -d
Персистентность данных

Данные пользователя и базы знаний сохраняются через Docker-тома в локальные каталоги:

Путь в контейнере Путь на хосте Содержимое
/app/data/user ./data/user Настройки, память, workspace, сессии, логи
/app/data/knowledge_bases ./data/knowledge_bases Загруженные документы и векторные индексы

Каталоги сохраняются после docker compose down и используются снова при следующем up.

Справочник переменных окружения
Переменная Обяз. Описание
LLM_BINDING Да Провайдер LLM (openai, anthropic, …)
LLM_MODEL Да Имя модели (напр. gpt-4o)
LLM_API_KEY Да API-ключ LLM
LLM_HOST Да URL эндпоинта
EMBEDDING_BINDING Да Провайдер эмбеддингов
EMBEDDING_MODEL Да Имя модели эмбеддингов
EMBEDDING_API_KEY Да Ключ API эмбеддингов
EMBEDDING_HOST Да Эндпоинт эмбеддингов
EMBEDDING_DIMENSION Да Размерность вектора
SEARCH_PROVIDER Нет Поиск (tavily, jina, serper, perplexity, …)
SEARCH_API_KEY Нет Ключ поиска
BACKEND_PORT Нет Порт backend (по умолч. 8001)
FRONTEND_PORT Нет Порт frontend (по умолч. 3782)
NEXT_PUBLIC_API_BASE_EXTERNAL Нет Публичный URL backend для облака
DISABLE_SSL_VERIFY Нет Отключить проверку SSL (по умолч. false)

Вариант D — только CLI

Если нужен только CLI без веб-интерфейса:

pip install -e ".[cli]"

Провайдер LLM всё равно нужно настроить. Быстрый путь:

cp .env.example .env   # затем отредактируйте .env и укажите ключи

После настройки:

deeptutor chat
deeptutor run chat "Explain Fourier transform"
deeptutor run deep_solve "Solve x^2 = 4"
deeptutor kb create my-kb --doc textbook.pdf

Полное руководство: DeepTutor CLI.


📖 Обзор DeepTutor

Архитектура DeepTutor

💬 Чат — единое интеллектуальное пространство

Чат

Шесть режимов, единый контекст.

Режим Назначение
Chat RAG, веб, код, рассуждения, мозговой штурм, статьи.
Deep Solve Мультиагенты с цитатами.
Генерация квизов Оценки по KB.
Deep Research Подтемы, параллельные агенты, отчёт с ссылками.
Math Animator Manim.
Visualize SVG, Chart.js, Mermaid или автономный HTML из естественного языка.

Инструменты отделены от сценариев.

✍️ Co-Writer — мультидокументное пространство с ИИ

Co-Writer

Создавайте несколько документов с отдельным хранением — не одноразовый черновик: полноценный Markdown, ИИ как соавтор. Переписать, Расширить, Сократить; отмена/повтор; блокноты.

📖 Book Engine — интерактивные «живые книги»

БиблиотекаЧиталкаАнимация

Задайте тему и укажите базу знаний — получите структурированную интерактивную книгу: живой документ для чтения, самопроверки и обсуждения в контексте.

Сзади мультиагенты предлагают план, извлекают источники, собирают дерево глав, планируют страницы и компилируют блоки. Вы управляете: проверка плана, порядок глав, чат рядом со страницей.

14 типов блоков — текст, выноска, квиз, карточки, код, рисунок, углубление, анимация, интерактив, таймлайн, граф концепций, раздел, заметка пользователя, заглушка — с отдельными интерактивными компонентами. Линия прогресса в реальном времени.

📚 Управление знаниями

Знания

Коллекции документов, заметки и учебные персоны.

  • Базы знаний — PDF, TXT, MD.
  • Блокноты — записи из Chat, Co-Writer, Book или Deep Research, по цветам.
  • Банк вопросов — просмотр квизов; закладки и @-упоминания в чате для анализа прошлых результатов.
  • Skills — персоны через SKILL.md: имя, описание, триггеры, Markdown в системный промпт чата при активации.

🧠 Память

Память
  • Сводка — прогресс.
  • Профиль — предпочтения, уровень, цели. Общая с TutorBot.

🦞 TutorBot — постоянные автономные ИИ-репетиторы

Архитектура TutorBot

Мультиинстансный агент на nanobot: свой цикл, workspace, память, личность.

TutorBot
  • Шаблоны Soul — личность и педагогика.
  • Отдельный workspace — память, сессии, навыки; общий слой DeepTutor.
  • Проактивный Heartbeat — напоминания и задачи.
  • Полный набор инструментов — RAG, код, веб, статьи, рассуждения, мозговой штурм.
  • Навыки — файлы skill.
  • Мультиканал — Telegram, Discord, Slack, Feishu, WeCom, DingTalk, почта и др.
  • Команды и субагенты.
deeptutor bot create math-tutor --persona "Socratic math teacher who uses probing questions"
deeptutor bot create writing-coach --persona "Patient, detail-oriented writing mentor"
deeptutor bot list

⌨️ DeepTutor CLI — интерфейс для агентов

CLI

Без браузера: возможности, KB, сессии, память, TutorBot. Rich + JSON. SKILL.md.

deeptutor run chat "Explain the Fourier transform" -t rag --kb textbook
deeptutor run deep_solve "Prove that √2 is irrational" -t reason
deeptutor run deep_question "Linear algebra" --config num_questions=5
deeptutor run deep_research "Attention mechanisms in transformers"
deeptutor run visualize "Draw the architecture of a transformer"
deeptutor chat --capability deep_solve --kb my-kb
# В REPL: /cap, /tool, /kb, /history, /notebook, /config для переключения на лету
deeptutor kb create my-kb --doc textbook.pdf
deeptutor kb add my-kb --docs-dir ./papers/
deeptutor kb search my-kb "gradient descent"
deeptutor kb set-default my-kb
deeptutor run chat "Summarize chapter 3" -f rich
deeptutor run chat "Summarize chapter 3" -f json
deeptutor session list
deeptutor session open <id>
Полная справка по CLI

Верхний уровень

Команда Описание
deeptutor run <capability> <message> Запуск возможности за один ход (chat, deep_solve, deep_question, deep_research, math_animator, visualize)
deeptutor chat Интерактивный REPL с --capability, --tool, --kb, --language и др.
deeptutor serve Запуск сервера API DeepTutor

deeptutor bot

Команда Описание
deeptutor bot list Список экземпляров TutorBot
deeptutor bot create <id> Создать и запустить бота (--name, --persona, --model)
deeptutor bot start <id> Запустить бота
deeptutor bot stop <id> Остановить бота

deeptutor kb

Команда Описание
deeptutor kb list Список баз знаний
deeptutor kb info <name> Детали базы
deeptutor kb create <name> Создать из документов (--doc, --docs-dir)
deeptutor kb add <name> Добавить документы
deeptutor kb search <name> <query> Поиск по базе
deeptutor kb set-default <name> База по умолчанию
deeptutor kb delete <name> Удалить (--force)

deeptutor memory

Команда Описание
deeptutor memory show [file] Просмотр (summary, profile, all)
deeptutor memory clear [file] Очистить (--force)

deeptutor session

Команда Описание
deeptutor session list Список сессий (--limit)
deeptutor session show <id> Сообщения сессии
deeptutor session open <id> Продолжить в REPL
deeptutor session rename <id> Переименовать (--title)
deeptutor session delete <id> Удалить

deeptutor notebook

Команда Описание
deeptutor notebook list Список блокнотов
deeptutor notebook create <name> Создать (--description)
deeptutor notebook show <id> Записи
deeptutor notebook add-md <id> <path> Импорт Markdown
deeptutor notebook replace-md <id> <rec> <path> Заменить запись
deeptutor notebook remove-record <id> <rec> Удалить запись

deeptutor book

Команда Описание
deeptutor book list Список всех книг в рабочей области
deeptutor book health <book_id> Дрейф KB и состояние книги
deeptutor book refresh-fingerprints <book_id> Обновить отпечатки KB и очистить устаревшие страницы

deeptutor config / plugin / provider

Команда Описание
deeptutor config show Сводка конфигурации
deeptutor plugin list Зарегистрированные инструменты и возможности
deeptutor plugin info <name> Детали инструмента или возможности
deeptutor provider login <provider> OAuth (openai-codex, github-copilot)

🗺️ Дорожная карта

Статус Этап
🎯 Аутентификация и вход — опциональная страница входа для публичных развёртываний и мультипользовательский режим
🎯 Темы и оформление — разнообразные темы и настройка интерфейса
🎯 Улучшение интерфейса — доработка иконок и деталей взаимодействия
🔜 Улучшенная память — более мощное управление памятью
🔜 Интеграция LightRAG — подключение LightRAG как продвинутого движка баз знаний
🔜 Сайт документации — полная документация: руководства, справочник API и учебные материалы

Если DeepTutor вам полезен, поставьте звезду — это помогает проекту!


🌐 Сообщество и экосистема

Проект Роль
nanobot Движок TutorBot
LlamaIndex RAG
ManimCat Math Animator
⚡ LightRAG 🤖 AutoAgent 🔬 AI-Researcher 🧬 nanobot
Быстрый RAG Агенты без кода Автоисследования Лёгкий агент

🤝 Участие

Надеемся, что DeepTutor станет подарком сообществу. 🎁

Contributors

См. CONTRIBUTING.md.

⭐ История звёзд

Star History Rank