Возможности · Быстрый старт · Обзор · TutorBot · CLI · Дорожная карта · Сообщество
🇬🇧 English · 🇨🇳 中文 · 🇯🇵 日本語 · 🇪🇸 Español · 🇫🇷 Français · 🇸🇦 العربية · 🇮🇳 हिन्दी · 🇵🇹 Português · 🇹🇭 ภาษาไทย
[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). Тур поможет ввести его и проверить соединение.
Один интерактивный скрипт проведёт через установку зависимостей, настройку окружения, проверку соединения в реальном времени и запуск. Ручное редактирование .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снова только при смене провайдеров или переустановке зависимостей.
Если нужен полный контроль, установите и настройте всё вручную.
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.
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 # или :latest2b. Сборка из исходников
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) |
Если нужен только 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.
Шесть режимов, единый контекст.
| Режим | Назначение |
|---|---|
| Chat | RAG, веб, код, рассуждения, мозговой штурм, статьи. |
| Deep Solve | Мультиагенты с цитатами. |
| Генерация квизов | Оценки по KB. |
| Deep Research | Подтемы, параллельные агенты, отчёт с ссылками. |
| Math Animator | Manim. |
| Visualize | SVG, Chart.js, Mermaid или автономный HTML из естественного языка. |
Инструменты отделены от сценариев.
Создавайте несколько документов с отдельным хранением — не одноразовый черновик: полноценный Markdown, ИИ как соавтор. Переписать, Расширить, Сократить; отмена/повтор; блокноты.
Задайте тему и укажите базу знаний — получите структурированную интерактивную книгу: живой документ для чтения, самопроверки и обсуждения в контексте.
Сзади мультиагенты предлагают план, извлекают источники, собирают дерево глав, планируют страницы и компилируют блоки. Вы управляете: проверка плана, порядок глав, чат рядом со страницей.
14 типов блоков — текст, выноска, квиз, карточки, код, рисунок, углубление, анимация, интерактив, таймлайн, граф концепций, раздел, заметка пользователя, заглушка — с отдельными интерактивными компонентами. Линия прогресса в реальном времени.
Коллекции документов, заметки и учебные персоны.
- Базы знаний — PDF, TXT, MD.
- Блокноты — записи из Chat, Co-Writer, Book или Deep Research, по цветам.
- Банк вопросов — просмотр квизов; закладки и @-упоминания в чате для анализа прошлых результатов.
- Skills — персоны через
SKILL.md: имя, описание, триггеры, Markdown в системный промпт чата при активации.
- Сводка — прогресс.
- Профиль — предпочтения, уровень, цели. Общая с TutorBot.
Мультиинстансный агент на nanobot: свой цикл, workspace, память, личность.
- Шаблоны 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Без браузера: возможности, 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-kbdeeptutor run chat "Summarize chapter 3" -f rich
deeptutor run chat "Summarize chapter 3" -f jsondeeptutor 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 | Агенты без кода | Автоисследования | Лёгкий агент |
См. CONTRIBUTING.md.










