Возможности · Начать · Исследовать · CLI · Экосистема · Сообщество
🤝 Мы приветствуем любые вклады в проект! Голосуйте за элементы дорожной карты или предлагайте новые на странице
Roadmap, а также изучите наше Руководство по участию с описанием стратегии ветвления, стандартов кодирования и инструкций по началу работы.
- 2026-05-22 🌐 Официальный сайт документации запущен на deeptutor.info — руководства, справочники и туры по возможностям в одном месте.
- 2026-04-19 🎉 20 тысяч звёзд за 111 дней! Благодарим за поддержку на пути к по-настоящему персонализированному интеллектуальному обучению.
- 2026-04-10 📄 Наша статья опубликована на arXiv — прочитайте препринт о дизайне и идеях, лежащих в основе DeepTutor.
- 2026-02-06 🚀 10 тысяч звёзд всего за 39 дней! Огромная благодарность нашему удивительному сообществу.
- 2026-01-01 🎊 С Новым Годом! Присоединяйтесь к нашему Discord, WeChat или Обсуждениям — давайте вместе формировать DeepTutor.
- 2025-12-29 🎓 DeepTutor официально выпущен!
DeepTutor — это агентная учебная рабочая среда, объединяющая репетиторство, решение задач, генерацию викторин, исследования, визуализацию и практику освоения в одной расширяемой системе.
- Единая среда выполнения для всех режимов — Chat, Ask Questions, Quiz, Research, Visualize, Solve, Course Study, Mastery Path, Immersive Reading и Immersive Watching работают в единой среде выполнения и используют общий контекст сессии, но сохраняют специализированные циклы и конвейеры для своих задач.
- Связанный контекст обучения — базы знаний, книги, черновики Co-Writer, блокноты, банки вопросов, персоны и Memory можно повторно использовать в поддерживающих их рабочих процессах с учётом грантов учётной записи и политик обучения.
- Иммерсивное обучение по видео — вставьте ссылку YouTube для нативного воспроизведения с повышенной конфиденциальностью, синхронизированными субтитрами, репетиторством с привязкой ко временным меткам и возобновляемым прогрессом; администраторы могут переключить воспроизведение на самостоятельно размещённый экземпляр Invidious без пересборки материалов.
- Субагенты и Partners — из Chat обращайтесь к живой агентной среде (Claude Code, Codex, Antigravity, Kimi, opencode, MiMo, Hermes, OpenClaw или DeepSeek) или к Partner, импортируйте прошлые разговоры и запускайте постоянных IM-компаньонов на том же мозге.
- Многодвигательные знания — версионированные RAG-библиотеки на основе LlamaIndex, PageIndex, GraphRAG, LightRAG, удалённого LightRAG Server, самостоятельно размещённого WeKnora, библиотеки Tencent IMA или MarginNote 4, либо связанного хранилища Obsidian, с подключаемым разбором документов.
- Расширяемые инструменты и навыки — встроенные инструменты, MCP-серверы, CLI-приложения, модели генерации изображений / видео / голоса и устанавливаемые навыки сообщества из EduHub.
- Проверяемая память — трассировки L1, сводки поверхностей L2 и синтез L3 делают персонализацию видимой и редактируемой; Memory Graph связывает факты L2 с доказательствами L1, а синтез L3 — с участвующими поверхностями.
DeepTutor поставляется с четырьмя путями установки. Все они используют одну структуру рабочего пространства: настройки хранятся в data/user/settings/ в директории запуска (или в DEEPTUTOR_HOME / deeptutor start --home, если задано явно). Для полного приложения рекомендуемый процесс: выбрать директорию рабочего пространства → установить → deeptutor init → deeptutor start.
Вариант 1 — Установка из PyPI · полное локальное веб-приложение + CLI, клонирование не требуется
Полное локальное веб-приложение + CLI без необходимости клонирования. Требуется Python 3.11–3.14 и среда выполнения Node.js 20+ в PATH (упакованный автономный сервер Next.js запускается командой deeptutor start).
mkdir -p my-deeptutor && cd my-deeptutor
pip install -U deeptutor
deeptutor init # запрашивает порты + провайдер LLM + необязательные настройки встраивания/поиска
deeptutor start # запускает бэкенд + фронтенд; держите терминал открытымdeeptutor init запрашивает порт бэкенда (по умолчанию 8001), порт фронтенда (по умолчанию 3782), провайдер LLM / базовый URL / API-ключ / модель, необязательный провайдер встраивания для базы знаний / RAG и необязательный провайдер поиска для Web Search.
После deeptutor start откройте URL фронтенда, напечатанный в терминале — по умолчанию http://127.0.0.1:3782. Нажмите Ctrl+C в этом терминале, чтобы остановить бэкенд и фронтенд. Пропустить deeptutor init можно для быстрого пробного запуска; приложение загружается с портами по умолчанию и пустыми настройками модели, которые можно настроить позже в Настройки → Модели.
Вариант 2 — Установка из исходного кода · разработка на основе чекаута
Для разработки на основе чекаута. Используйте Python 3.11–3.14 и Node.js 22 LTS для соответствия CI и Docker.
git clone https://github.com/HKUDS/DeepTutor.git
cd DeepTutor
# Создание venv (macOS/Linux). Windows PowerShell:
# py -3.11 -m venv .venv ; .\.venv\Scripts\Activate.ps1
python3 -m venv .venv && source .venv/bin/activate
python -m pip install --upgrade pip
# Установка зависимостей бэкенда + фронтенда
python -m pip install -e .
( cd web && npm ci --legacy-peer-deps )
deeptutor init
deeptutor start --devdeeptutor start один раз собирает продакшен-сборку локального фронтенда web/ и переиспользует её; --dev запускает Next.js с горячей заменой модулей (HMR). Структура конфигурации, порты и Ctrl+C соответствуют Варианту 1.
Среда Conda (вместо venv)
conda create -n deeptutor python=3.11
conda activate deeptutor
python -m pip install --upgrade pipНеобязательные дополнения при установке — движки RAG / dev / partners / matrix / math-animator
pip install -e ".[rag-lightrag]" # Встроенный движок LightRAG (точно поддерживаемая версия SDK)
pip install -e ".[graphrag]" # Движок Microsoft GraphRAG (Python 3.11–3.13)
pip install -e ".[dev]" # инструменты тестирования/линтинга
pip install -e ".[partners]" # SDK каналов IM для Партнёров
pip install -e ".[video-learning]" # compatibility extra; captions ship in the full/CLI installs
pip install -e ".[matrix]" # канал Matrix без E2EE/libolm
pip install -e ".[matrix-e2e]" # Matrix E2EE; требует libolm
pip install -e ".[math-animator]" # дополнение Manim; требует LaTeX/ffmpeg/системных библиотекНастройка зависимостей фронтенда и устранение неполадок сервера разработки
Изменение зависимостей фронтенда: запустите npm install --legacy-peer-deps для обновления web/package-lock.json, затем зафиксируйте оба файла web/package.json и web/package-lock.json.
Зависший сервер разработки: если deeptutor start --dev сообщает о существующем фронтенде, который не отвечает, остановите PID, который он печатает. Если процесс Next.js фактически не запущен, файлы блокировки устарели — удалите их и повторите попытку:
rm -f web/.next/dev/lock web/.next/lock
deeptutor start --devВариант 3 — Docker · один автономный контейнер
Один контейнер для полного веб-приложения. Образы в GitHub Container Registry:
ghcr.io/hkuds/deeptutor:latest— последний стабильный выпускghcr.io/hkuds/deeptutor:<version>— точный выпуск без начальнойv(например,:1.6.3); предварительные выпуски получают только собственный тег версии
Смотрите CONTAINERIZATION.md для развёртываний на podman/rootless/read-only-rootfs и полного руководства по установке.
docker run --rm --name deeptutor \
-p 127.0.0.1:3782:3782 \
-v deeptutor-data:/app/data \
ghcr.io/hkuds/deeptutor:latestПубликовать нужно только порт
3782. Браузер обращается исключительно к источнику фронтенда; промежуточный слой Next.js (web/proxy.ts) перенаправляет/api/*и/ws/*на бэкенд FastAPI внутри контейнера. Публикация8001(-p 127.0.0.1:8001:8001) необязательна — полезна только при прямом обращении к API через curl или скрипты.
Откройте http://127.0.0.1:3782. Контейнер создаёт /app/data/user/settings/*.json при первом запуске; настройте провайдеров моделей на странице веб-настроек. Конфигурация, API-ключи, логи, файлы рабочего пространства, память и базы знаний сохраняются в томе deeptutor-data. Необязательные дополнения принадлежат развёртыванию, а не оболочке: задайте DEEPTUTOR_EXTRAS (и DEEPTUTOR_APT_PACKAGES для системных библиотек), и каждый контейнер, запущенный из него, будет повторно применять их, тогда как docker exec … pip install будет потерян при следующем compose down.
- Другие порты хоста: измените левую часть каждого маппинга
-p host:container(например,-p 127.0.0.1:8088:3782). Если вы измените порты на стороне контейнера в/app/data/user/settings/system.json, перезапустите и обновите правую часть каждого маппинга. - Фоновый режим: добавьте
-d, затемdocker logs -f deeptutorдля слежения,docker stop deeptutorдля остановки,docker rm deeptutorперед повторным использованием имени. Томdeeptutor-dataсохраняет ваши настройки и рабочее пространство между перезапусками.
Удалённый Docker / обратный прокси: браузер обращается только к источнику фронтенда (:3782); промежуточный слой Next.js внутри контейнера перенаправляет /api/* и /ws/* на бэкенд на стороне сервера. В типичном случае с одним контейнером вы вообще не настраиваете базовый URL API — просто направьте ваш обратный прокси / TLS-терминатор на :3782. Базовый URL API нужен только для разделённого развёртывания (бэкенд в отдельном контейнере/хосте): установите next_public_api_base в data/user/settings/system.json на внутрисетевой адрес, который фронтенд-сервер использует для достижения бэкенда (он читается на стороне сервера, никогда не отправляется браузеру).
{
"next_public_api_base": "http://backend:8001"
}next_public_api_base_external (и его псевдоним public_api_base) принимаются как запасные варианты с более низким приоритетом. CORS использует источники фронтенда, а не URL API. При отключённой аутентификации DeepTutor разрешает обычные HTTP/HTTPS источники браузера по умолчанию. При включённой аутентификации добавьте точные источники фронтенда:
{
"cors_origins": ["https://deeptutor.example.com"]
}Подключение к Ollama / LM Studio / llama.cpp / vLLM / Lemonade на хосте
Внутри Docker localhost — это сам контейнер, а не хост-машина. Чтобы обратиться к модельному сервису, запущенному на хосте, используйте шлюз хоста (рекомендуется):
docker run --rm --name deeptutor \
-p 127.0.0.1:3782:3782 -p 127.0.0.1:8001:8001 \
--add-host=host.docker.internal:host-gateway \
-v deeptutor-data:/app/data \
ghcr.io/hkuds/deeptutor:latestЗатем в Настройки → Модели укажите базовый URL провайдера как host.docker.internal:
- Ollama LLM:
http://host.docker.internal:11434/v1 - Ollama embedding:
http://host.docker.internal:11434/api/embed - LM Studio:
http://host.docker.internal:1234/v1 - llama.cpp:
http://host.docker.internal:8080/v1 - Lemonade:
http://host.docker.internal:13305/api/v1
Docker Desktop (macOS/Windows) обычно разрешает host.docker.internal без --add-host. На Linux этот флаг — переносимый способ создания этого имени хоста в современном Docker Engine.
Альтернатива для Linux — сетевой режим хоста: добавьте --network=host и уберите флаги -p. Контейнер напрямую использует сеть хоста, поэтому откройте http://127.0.0.1:3782 (или frontend_port в system.json), а сервисы хоста доступны через обычные localhost-URL, например http://127.0.0.1:11434/v1. Обратите внимание, что хостовый сетевой режим открывает порты контейнера напрямую на хосте и может конфликтовать с существующими сервисами — чтобы оставить их на loopback, установите BACKEND_HOST=127.0.0.1 и FRONTEND_HOST=127.0.0.1 (см. CONTAINERIZATION.md).
Вариант 4 — Только CLI · без веб-интерфейса, из чекаута исходного кода
Когда веб-интерфейс не нужен. Пакет только для CLI устанавливается из чекаута исходного кода, а не из PyPI.
git clone https://github.com/HKUDS/DeepTutor.git
cd DeepTutor
# Создание venv (macOS/Linux). Windows PowerShell:
# py -3.11 -m venv .venv-cli ; .\.venv-cli\Scripts\Activate.ps1
python3 -m venv .venv-cli && source .venv-cli/bin/activate
python -m pip install --upgrade pip
python -m pip install -e ./packaging/deeptutor-cli
deeptutor init --cli
deeptutor chatdeeptutor init --cli использует ту же структуру data/user/settings/, что и полное приложение, но пропускает запросы портов бэкенда/фронтенда. Он по-прежнему предлагает селекторы Embedding и Search (выберите Skip, если они не нужны), записывает основные файлы среды выполнения (system.json, auth.json, integrations.json, interface.json, model_catalog.json, main.yaml, agents.yaml) и запрашивает активный провайдер и модель LLM.
Основные команды
deeptutor chat # интерактивный REPL
deeptutor chat --capability deep_solve --tool rag --kb my-kb
deeptutor run chat "Explain Fourier transform"
deeptutor run deep_solve "Solve x^2 = 4" --tool rag --kb my-kb
deeptutor kb create my-kb --doc textbook.pdf
deeptutor memory show
deeptutor config showЛокальная установка deeptutor-cli не включает веб-ресурсы или серверные зависимости. Сохраните чекаут исходного кода — редактируемая установка указывает на него. Чтобы позже добавить веб-приложение, установите пакет PyPI (Вариант 1) и запустите deeptutor init + deeptutor start из того же рабочего пространства.
Песочница выполнения кода (офисные навыки) · запуск сгенерированного моделью кода для docx / pdf / pptx / xlsx
Встроенные офисные навыки — docx / pdf / pptx / xlsx — работают, заставляя модель написать короткий Python-скрипт (python-docx, reportlab, openpyxl, …), запустить его через инструменты exec / code_execution и вернуть URL для скачивания. Эти инструменты монтируются при наличии активного бэкенда песочницы. DeepTutor выбирает наиболее надёжный настроенный бэкенд в следующем порядке:
- Runner sidecar:
DEEPTUTOR_SANDBOX_RUNNER_URLнаправляет выполнение в защищённый сервис с минимальными привилегиями изDockerfile.runner. - Linux bubblewrap: если доступен
bwrap, он изолирует процесс и файлы. - Резервный ограниченный подпроцесс: локальные и одноконтейнерные установки используют его только при наличии разрешения; в Docker контейнер остаётся дополнительной границей.
Настройка sandbox_allow_subprocess в data/user/settings/system.json (по умолчанию true) управляет только последним резервным вариантом. Установите её в false (или экспортируйте DEEPTUTOR_SANDBOX_ALLOW_SUBPROCESS=0), чтобы запретить выполнение через подпроцесс при отсутствии бэкенда runner или bwrap; более надёжные бэкенды при этом не отключаются.
Справочник конфигурации — файлы конфигурации в data/user/settings/ (JSON/YAML)
Всё в data/user/settings/ — это обычный JSON/YAML. Страница Настройки в браузере является рекомендуемым редактором.
| Файл | Назначение |
|---|---|
model_catalog.json |
Подключения провайдеров, а также профили LLM, задач, встраивания, поиска, TTS, STT, изображений и видео, учётные данные и активные варианты выбора |
system.json |
Порты бэкенда/фронтенда, публичный базовый URL API, CORS, верификация SSL, директория вложений и лимиты загрузки/извлечения |
auth.json |
Необязательное переключение аутентификации, имя пользователя, хэш пароля, настройки токенов/куки |
integrations.json |
Необязательные настройки интеграции PocketBase и сайдкара |
interface.json |
Язык интерфейса и вывода модели / тема / настройки боковой панели |
video_learning.json |
Провайдер воспроизведения YouTube/Invidious по умолчанию, источники Invidious и необязательный адаптер транскриптов |
main.yaml |
Значения по умолчанию для среды выполнения и внедрение пути |
agents.yaml |
Настройки температуры и токенов для возможностей/инструментов |
Ссылки Web Search по умолчанию фильтруются: отображаются только публичные URL http/https без встроенных учётных данных и необычных портов. В развёртываниях можно добавить политику доменов с упором на образование в data/user/settings/system.json:
{
"web_search_source_filtering": {
"enabled": true,
"blocked_domains": ["spam.example"],
"trusted_domains": ["edu.cn", "arxiv.org"]
}
}Если trusted_domains не пуст, ссылки ограничиваются этими доменами и их поддоменами; blocked_domains всегда имеет приоритет.
Корневой файл .env проекта не читается как файл конфигурации приложения. Для минимальной настройки модели откройте Настройки → Модели, добавьте профиль LLM (базовый URL / API-ключ / имя модели) и сохраните. Добавляйте профиль встраивания только если планируете использовать функции базы знаний / RAG.
Профили LLM и моделей задач предоставляют настройку формата API, если их провайдер поддерживает выбор. Оставьте Auto для обычной маршрутизации и резервного варианта или выберите OpenAI Chat Completions, OpenAI Responses либо Anthropic Messages; принудительный режим Responses по-прежнему работает с отказом по умолчанию. Сохраняемое поле — api_format (auto, openai_chat, openai_responses или anthropic); wire_api — производное состояние совместимости. Переопределения Auto / Supported / Not supported для каждой модели охватывают вызов инструментов, ввод изображений, вывод JSON и элементы управления рассуждением.
Удаление и очистка
DeepTutor отделяет установленный код от рабочего пространства среды выполнения. По умолчанию рабочим пространством служит директория, в которой вы запускаете deeptutor init / deeptutor start; --home PATH или DEEPTUTOR_HOME переопределяет её. Результаты работы сохраняются в директории data внутри этого рабочего пространства, поэтому строка баннера запуска, начинающаяся с Workspace:, указывает, что именно следует очищать.
-
Остановите приложение. Нажмите
Ctrl+Cв терминале, где выполняетсяdeeptutor start, или запуститеdeeptutor stop [--home PATH]для лаунчера, запущенного с--detach; перед удалением данных остановите все работающие Partners и отсоединённые контейнеры Docker. -
Удаляйте данные среды выполнения только в том случае, если хотите стереть всё локальное состояние. Сюда входят настройки и API-ключи, история чата, сессии, Memory, Notebooks, Books, состояние Reading, Skills, состояние Partners, журналы, Knowledge Bases, кэши разбора, созданные артефакты и кэш среды выполнения упакованного фронтенда.
Сначала скопируйте точный путь
Workspace:из баннера запуска и убедитесь, что его дочерняя директорияdata— это нужная директория данных DeepTutor. Если что-либо может понадобиться позже, создайте резервную копию, а затем переместите именно эту директорию в Корзину операционной системы. Не выполняйте команду рекурсивного удаления для относительного пути или неразрешённой переменной окружения. -
Удалите установленный пакет. Используйте команду, соответствующую дистрибутиву:
python -m pip uninstall deeptutor python -m pip uninstall deeptutor-cli
Если виртуальная среда была создана только для DeepTutor, удалите её через менеджер сред. Для установки из исходного кода деактивируйте среду, выйдите из директории исходного кода и выполните
git status --shortвнутри именно этого чекаута. Перемещайте чекаут в Корзину только после того, как убедитесь, что в нём нет посторонних или незакоммиченных изменений. -
При использовании Docker перед удалением проверьте точный контейнер и именованный том. Удаление тома навсегда стирает данные, управляемые Docker:
docker ps -a --filter name=^/deeptutor$ docker volume inspect deeptutor-data docker rm -f deeptutor docker volume rm deeptutor-data
Начните с основных поверхностей, которые вы будете использовать ежедневно: Chat, Partners, My Agents, Co-Writer, Book, Knowledge Center, Learning Space, Memory и Settings. Затем тур охватывает многопользовательские развёртывания для общих изолированных рабочих пространств.
Если ответ теряет ранее заданное ограничение, ссылается на слабые доказательства или противоречит выбранному материалу, соберите диагностические данные по REASONING_SAFETY_CHECKLIST.md, прежде чем открывать issue.
💬 Чат — Цикл Агента, Который Вы Используете на Практике
Чат — это возможность по умолчанию и место, где начинается большинство работ. Один поток может нормально общаться, вызывать инструменты, опираться на выбранные базы знаний, читать вложения, генерировать изображения, обращаться к субагентам, записывать в блокнот и продолжать с тем же контекстом в последующих ходах.
Цикл намеренно прост: модель думает раундами, вызывает инструменты при необходимости, наблюдает результаты и завершает сообщением без инструментов. ask_user особенный — вместо угадывания агент может приостановить ход, задать структурированный уточняющий вопрос и возобновить работу, когда вы ответите.
Переключаемые пользователем инструменты: brainstorm, web_search, paper_search, reason и geogebra_analysis — плюс imagegen и videogen после настройки соответствующей генеративной модели. Контекстные инструменты, такие как rag, kb_files, read_source, read_memory, write_memory, read_skill, load_tools, exec, web_fetch, ask_user, list_notebook, write_note, question_bank, github и consult_subagent, монтируются автоматически, когда ход имеет подходящий контекст.
Контекст бывает двух видов: постоянный контекст сессии (возможность, рабочее пространство или курс, инструменты, базы знаний, персонаж, модель и состояние Reading / Mastery) сохраняется между ходами; одноразовые ссылки (файлы, история чата, книги, разделы чтения, блокноты, банк вопросов, импортированные агенты) берутся из меню + для одного хода. Кнопка голосового ввода только транскрибирует текущее сообщение.
На главной странице Chat, Ask Questions, Quiz и Visualize доступны в один клик; Research для цитируемых отчётов, Solve для пошаговых рассуждений и Immersive Watching находятся в разделе Дополнительные возможности. Mastery Path и Immersive Reading представлены отдельными рабочими пространствами на боковой панели; Reading добавляет проверенные кликабельные цитаты, сохранённые цитаты и заметки, основанные на источниках действия чтения вслух / сопровождения обучения / работы со словарём / викторины / перевода и сохранение в блокнот, а Course Study сохраняет собственный контекст, привязанный к курсу.
🤝 Partner — Постоянные Компаньоны на Том Же Мозге
Партнёры — это постоянные компаньоны со своей душой, политикой модели, библиотекой, памятью и каналами. Они не являются отдельным движком бота: каждое входящее веб- или IM-сообщение становится обычным ходом ChatOrchestrator внутри рабочего пространства, ограниченного партнёром. Партнёр — это «чат с личностью и номером телефона».
Каждый партнёр имеет SOUL.md, выбор модели, каналы, политику инструментов и назначенную библиотеку. Базы знаний, навыки и блокноты копируются в data/partners/<id>/workspace/, поэтому те же инструменты RAG, навыков, блокнотов и памяти работают без специальных случаев. Аутентифицированные пользователи без прав администратора сохраняют приватные сессии Partner и память отношений, а Partner читает их личную память только для чтения; трафик администраторов, групп и непривязанных пользователей использует общую область Partner.
Слой каналов управляется схемой и может подключаться к IM-платформам, таким как Feishu, Telegram, Slack, Discord, DingTalk, QQ/NapCat, WeCom, WhatsApp, Zulip, Mattermost, Matrix, Mochat и Microsoft Teams, в зависимости от установленных дополнений и настроенных учётных данных. Партнёр также может быть подключён как субагент и использован из обычного хода чата — см. Мои Агенты ниже.
Для более быстрой настройки страница канала Партнёра может создать приложение Feishu/Lark или AI-бота WeCom, либо войти с личной учётной записью WeChat — по QR-коду, отображаемому в браузере, а не в логе сервера. Feishu/Lark определяет домен учётной записи и сохраняет пользователя, выполнившего сканирование, как первого разрешённого отправителя. WeCom сохраняет существующий белый список, а иначе по умолчанию разрешает доступ всем пользователям, которые могут связаться с ботом, с заметным предупреждением об открытом доступе; ручные формы канала остаются доступны, если протокол сканирования провайдера изменится.
🧑🚀 Мои Агенты — Консультация и Импорт Других Агентов
Мои Агенты превращают других агентов в контекст для DeepTutor и делают две разные вещи. Подключите живого агента — Claude Code, Codex, Antigravity, Kimi, opencode, MiMo Code, Hermes Agent, OpenClaw или DeepSeek Harness на вашей машине, либо одного из ваших Партнёров — и обращайтесь к нему изнутри хода чата: DeepTutor фактически запускает другого агента и транслирует его работу в панель Activity через инструмент consult_subagent. Выберите его и лимит раундов с помощью чипа Agent или отфильтруйте тот же список подключённых агентов через @; выбор остаётся привязанным к сессии.
Импортируйте прошлые разговоры — загрузите существующую историю Claude Code и Codex как именованных, доступных для поиска, возобновляемых агентов. Историю Claude выбирайте по проекту / рабочей директории, а историю Codex — по календарной дате; обновление повторно синхронизирует выбранную область и загружает новые разговоры. Ссылайтесь на один из них из хода Chat через + → Мои Агенты, и DeepTutor читает его как транскрипт третьей стороны — это их разговор, а не собственный голос DeepTutor.
✍️ Co-Writer — Редактирование Markdown с Учётом Выделения
Co-Writer — это разделённое рабочее пространство Markdown для отчётов, руководств, заметок и долгосрочных учебных артефактов. Документы автосохраняются и отображают живой предварительный просмотр (математика KaTeX, ограждения диаграмм), и могут быть сохранены обратно в блокноты, когда черновик становится повторно используемым контекстом. Импортируйте .docx, чтобы начать черновик, и экспортируйте текущий редактор как Markdown или Word.
Его определяющая идея — хирургическое редактирование: выберите фрагмент и попросите DeepTutor переписать, расширить или сократить его. Агент редактирования может опираться на базу знаний или веб-данные и ведёт журнал вызовов инструментов. Если черновик не изменился за время его работы, результат напрямую заменяет выделенный текст и остаётся обратимым с помощью Undo.
📖 Книга — Живые Книги из Ваших Материалов
Книга превращает выбранные источники в интерактивную живую книгу — не статический PDF, а среда чтения, построенная из типизированных блоков. Книга может начинаться с баз знаний, блокнотов, банков вопросов или истории чата; процесс создания предлагает план глав перед генерацией содержания, поэтому вы рассматриваете структуру вместо того, чтобы принимать слепой одноразовый вывод.
Каждая глава компилируется в редактируемые типизированные блоки — текст, выноски, викторины, флэш-карточки, временные шкалы, код, рисунки, интерактивный HTML, анимации, концептуальные графы, углублённые рассуждения и пользовательские заметки — и имеет собственный Page Chat. Вставляйте, перемещайте, регенерируйте и переписывайте блоки или меняйте их тип; выделенные фрагменты попадают в раздел входящих учебных выдержек, где их можно проверить. Прогресс, закладки, попытки прохождения викторин, учебные выдержки и Page Chat остаются личными для каждого читателя, даже если администратор поделился книгой в режиме только для чтения или совместного редактирования; удалять общие книги по-прежнему может только администратор. Любую книгу можно экспортировать в Markdown, длительную компиляцию можно приостанавливать и возобновлять, а deeptutor book health / refresh-fingerprints отмечают расхождения с источниками.
📚 Центр Знаний — Многодвигательные RAG-Библиотеки
Базы знаний — это коллекции документов для RAG, которые обосновывают ходы Chat, редакции Co-Writer, генерацию Book и разговоры с Партнёрами. Отличительной чертой является выбор движков поиска: LlamaIndex (по умолчанию, гибридный векторный поиск + BM25 с необязательным переранжированием cross-encoder и индексами FAISS exact-flat или HNSW), PageIndex (поиск с рассуждением с цитатами на уровне страницы, размещённый или самостоятельно развёрнутый (OSS)), GraphRAG и LightRAG (поиск на основе графа знаний), LightRAG Server (поиск, делегированный внешнему экземпляру LightRAG, подключаемому по HTTP), WeKnora (поиск в базе знаний вашего самостоятельно размещённого развёртывания без локального индекса или копии документов), Tencent IMA (библиотека, которую вы курируете в IMA — доступная для поиска, просмотра и записи через её OpenAPI), MarginNote 4 (ваши учебные данные MN4 — документы, выдержки, карточки интеллект-карт и связи между ними — передаются дополнением (Add-on) приложения и используются с помощью специальных инструментов навигации), или связанное хранилище Obsidian, которое репетитор читает и записывает на месте. Каждая KB привязана к одному движку.
Переносите существующую библиотеку Obsidian, Hermes или Markdown? В руководстве по миграции знаний описаны варианты с подключённым хранилищем и индексированной копией.
При создании KB вы либо создаёте новую (загружаете документы и строите свежий индекс), либо связываете существующую (повторно используете индекс, построенный в другом месте, читаете на месте без переиндексирования). База знаний также может отслеживать репозитории GitHub (репозиторий, ветка и glob-шаблон) или URL сайтов документации (с ограничениями глубины обхода и числа страниц); синхронизация по запросу сравнивает хеши содержимого, чтобы выявить добавленные, изменённые и удалённые материалы, поэтому документация, за которой вы следите, остаётся актуальной без повторной загрузки. Переиндексирование записывает новую плоскую директорию version-N и сохраняет предыдущие, поэтому рабочий индекс никогда не уничтожается в процессе перестройки. Отдельный документ можно удалить даже из базы в состоянии error — убрав файл, который не удалось разобрать, без полного удаления и пересборки. Разбор документов — только текст, MinerU, Docling, Tika, markitdown, PyMuPDF4LLM или LiteParse — выбирается в Настройки → База знаний, с отключёнными по умолчанию загрузками локальных моделей. Docling может также работать в удалённом режиме, обращаясь к серверу Docling Serve (без локальной установки и моделей), который настраивается в Настройки → Разбор документов (mode=remote, базовый URL сервера и необязательный API-ключ) или через переменные окружения DOCLING_MODE / DOCLING_API_BASE_URL / DOCLING_API_TOKEN. Tika работает только в удалённом режиме и указывает на сервер Apache Tika, настроенный на этой странице. CLI отражает жизненный цикл через list/info/create/add/search/set-default/delete, команды добавления/удаления источников, list-sources и sync.
Встроенный движок LightRAG устанавливается командой pip install 'deeptutor[rag-lightrag]'. Это дополнение содержит поддерживаемый SDK LightRAG, но не устанавливает MinerU. Выбирайте MinerU отдельно в разделе Разбор документов и либо настройте его облачный режим, либо установите актуальный локальный CLI, если нужен структурированный разбор. MinerU принимает PDF, распространённые растровые изображения, DOCX, PPTX и XLSX; устаревшая команда magic-pdf по-прежнему работает только с PDF. Текстовый и другие движки разбора не требуют MinerU.
🌐 Пространство Обучения — Навыки, Персоны и Многоразовый Контекст
Пространство Обучения — это уровень библиотеки, организации и персонализации. Разговоры и материалы содержат Chat History, блокноты — записи можно перемещать или копировать между блокнотами и экспортировать в Markdown — и банк вопросов, который хранит ваш ответ, эталонный ответ и объяснение. Персонализация содержит персонажей, навыки (сценарии SKILL.md), устанавливаемые одним кликом MCP-сервисы и CLI-приложения из каталога CLI-Anything, причём руководство по использованию каждого приложения загружается по требованию. Отдельное рабочее пространство My Courses группирует разговоры по предметам и ветки репетиторов; каждый ресурс предлагается только в поддерживающих его рабочих процессах.
Вам не нужно писать каждый навык самостоятельно — Импорт из EduHub просматривает каталог сообщества и загружает навык прямо в вашу библиотеку через шлюз безопасности (см. Экосистема).
🧠 Память — Проверяемая Персонализация
Память — это трёхуровневая система на основе файлов, которую можно читать, курировать и проверять — намеренно не скрытое векторное хранилище. L1 — зеркало рабочего пространства плюс трассировка событий только для добавления (trace/<surface>/<date>.jsonl); L2 — курированные факты на уровне поверхности (L2/<surface>.md) со ссылками на сущности L1; L3 — межповерхностный синтез (L3/<profile|recent|scope|preferences>.md), фиксирующий участвующие поверхности L2.
Граф памяти показывает всю пирамиду — синтез L3 в центре, L2 в среднем кольце, трассировки L1 снаружи — с точными рёбрами доказательств L2 → L1 и связями L3 → участвующие поверхности. Память отслеживается по поверхностям chat, notebook, quiz, kb, book, partner и cowriter; бюджеты обновления / аудита / дедупликации консолидатора настраиваются в Настройки → Память.
⚙️ Настройки — Единая Панель Управления
Настройки — это операционная панель управления с живой строкой статуса (состояние бэкенда и резидентная память по всему дереву процессов) и постоянным навигатором с поиском, который открывает любую страницу в один клик: Внешний вид (тема, язык интерфейса и вывода модели, оформление блоков кода), Сеть (базовый URL API, порты, CORS), Модели (Соединения, LLM, Task-модели, Встраивание, Поиск, Синтез речи, Распознавание речи, Генерация изображений, Генерация видео), База знаний (движок разбора документов), Чат (Video Learning, инструменты с поиском, параметры по возможностям, стартовые подсказки, лимиты вложений), Партнёры и агенты (девять локальных агентных сред), Профиль учащегося (возраст, класс, учебная программа, язык, уровень чтения, стиль объяснений), Guardian (авторизованные учащиеся, материалы, отчёты, сброс учётных данных), Память (бюджеты консолидатора) и О проекте (проверка версии и безопасные обновления). Соединение хранит одну учётную запись провайдера и зеркалирует её во все сервисы, которые этот провайдер может обслуживать, поэтому ключ вводится один раз, а не вставляется на пять разных страниц; Task-модели закрепляют небольшую быструю модель за незаметной фоновой работой — названием разговора, написанием стартовых подсказок для поля ввода — и при пустом значении используют активную модель по умолчанию.
Video Learning в разделе Настройки → Чат по умолчанию использует официальный YouTube IFrame Player с повышенной конфиденциальностью. Чтобы воспроизведение оставалось локальным, задайте управляемый администратором источник Invidious API (например, http://127.0.0.1:3000), протестируйте его, выберите Invidious и сохраните настройки. Новые и повторно открытые видео сразу используют выбранного провайдера с тем же идентификатором материала и прогрессом. Медиаданные Invidious передаются потоково через прокси DeepTutor с поддержкой диапазонов байтов; исходные URL не раскрываются браузеру и не сохраняются на диске. При сбое экземпляра DeepTutor не обращается к YouTube, пока учащийся явно не выберет нативный резервный вариант YouTube. Репетиторство по общедоступным субтитрам необязательно: установите .[video-learning]; без него воспроизведение продолжает работать, а действие «Объяснить здесь» на основе транскрипта отключается с указанием причины.
Большинство разделов используют поток черновика и применения, поэтому вы можете протестировать провайдера перед подтверждением. Вы также можете просто попросить об этом в Chat: ассистент читает текущую конфигурацию, применяет изменение и сообщает, требуется ли перезапуск или переиндексация — предварительно проверяя новую модель перед её применением, поэтому он не может переключить себя на что-то недостижимое. API-ключи никогда не проходят через модель — вместо этого она открывает для вас соответствующую форму. В комплект входят четыре темы — Default, Cream, Dark и Glass. Корневые файлы .env проекта намеренно игнорируются; конфигурация среды выполнения хранится в data/user/settings/*.json, если только DEEPTUTOR_HOME или deeptutor start --home не указывает приложению другое место.
OpenAI Codex OAuth (экспериментально). Выбор OpenAI Codex в разделе Модели → LLM заменяет поля API-ключа входом через браузер, который выполняется по вашему собственному плану ChatGPT, поэтому OPENAI_API_KEY не требуется. Токены хранятся только в data/system/user-secrets/<owner>/private/openai-codex/ — в многоконтейнерном развёртывании Compose это за пределами любого дерева, доступного песочнице выполнения, — и DeepTutor никогда не читает и не изменяет вашу CLI-авторизацию ~/.codex. Список моделей формируется из актуального каталога этой учётной записи; вход публикует профиль, но тот становится активной моделью, только если LLM ещё не настроен. Поскольку токен авторизует план одного человека, профиль нельзя передать через гранты для пользователей — каждая учётная запись входит сама за себя, включая обычных пользователей: их карточка находится в разделе Модели → LLM, а получившиеся модели, каталог и выход из системы остаются приватными для этой учётной записи.
Локальные развёртывания Docker и Podman по умолчанию используют раздельные loopback-сети и во время входа требуют временного моста. Следуйте руководству по временному локальному мосту Codex OAuth для точных команд Docker, Compose, Podman и отключения моста.
При удалённом развёртывании localhost браузера и localhost сервера — это разные машины, поэтому обычный обратный прокси сам по себе не может доставить обратный вызов (callback) с localhost браузера на сервер. Используйте SSH-туннель в качестве моста для обратного вызова. Туннель ведёт к уже опубликованному порту Web; Next.js переписывает только точный путь обратного вызова на публичный брокер обратных вызовов, а брокер проверяет state, прежде чем перенаправить к исходной операции OAuth. Слушатель обратного вызова остаётся на loopback-интерфейсе бэкенда, порты 1455 и 1457 не публикуются, и этот путь поддерживает сеть Docker bridge по умолчанию.
ssh -N -L 1455:127.0.0.1:3782 <ssh-user>@<server-host>Если DeepTutor сообщает резервный порт обратного вызова 1457, используйте:
ssh -N -L 1457:127.0.0.1:3782 <ssh-user>@<server-host>Выполняйте только ту команду, которая соответствует фактическому порту обратного вызова; никогда не запускайте обе. 3782 — это только пример порта Web: это настроенный порт фронтенда/контейнера, указанный как callback_forward_port. Это значение не гарантирует, что тот же порт прослушивается на 127.0.0.1 SSH-хоста. Если Docker или Podman публикует другой хост-порт, или обратный прокси слушает другой порт, замените только правый (целевой) порт (3782 выше) на порт Web, который фактически прослушивается на 127.0.0.1 SSH-хоста; левый порт обратного вызова оставьте равным 1455 или 1457. <server-host> — это SSH-хост, чей loopback владеет этим прослушиваемым портом. Если URL браузера указывает на обратный прокси или балансировщик нагрузки, замените его на правильный SSH-хост фронтенда.
CLI выводит команду туннеля, а затем сразу пытается открыть браузер. При удалённом развёртывании оставьте страницу авторизации открытой, не завершая её, установите выведенный туннель в другом терминале и только после этого продолжите авторизацию.
У определения удалённой топологии есть граница localhost. Если сам Web доступен через переадресацию localhost по SSH или из IDE, браузер не может определить, что сервер удалённый. Для текущей операции Web оставьте её страницу авторизации незавершённой, прочитайте redirect_uri в URL авторизации этой операции, чтобы определить порт обратного вызова 1455 или 1457, и создайте второй туннель от этого локального порта к фактическому порту Web. В качестве альтернативы отмените эту операцию Web и начните новую через CLI; вывод CLI относится к новой операции и не должен использоваться для уже существующей операции Web. Ошибки квоты и сбои каталога показываются как есть и никогда не приводят к переключению на платного провайдера. Этот путь совместимости экспериментален: вышестоящий интерфейс может измениться.
👥 Многопользовательский режим — Общие Развёртывания · необязательная аутентификация, изолированные рабочие пространства
Аутентификация отключена по умолчанию — DeepTutor работает в однопользовательском режиме. Включите её, и одно дерево data/ содержит рабочее пространство администратора, изолированные пользовательские рабочие пространства и партнёрские рабочие пространства рядом:
data/
├── user/ # Рабочее пространство администратора + глобальные настройки
├── users/<uid>/ # Пользовательская область: история чата, память, блокноты, KB
├── partners/<id>/workspace/ # Область партнёра (синтетического пользователя)
├── cli-apps/ # Установленные CLI-приложения, монтируются в песочницу только для чтения
└── system/ # auth · grants · audit · user-secrets/<owner> (OAuth-токены)
Первый зарегистрированный пользователь становится администратором и владеет каталогами моделей, учётными данными провайдеров, общими базами знаний, навыками, каноническими общими книгами и грантами для пользователей. Локальные пользователи, созданные администратором, выбирают Standard, Learner или Custom. Learner блокирует учебные возможности и политику материалов, добавляет адаптивный профиль и поддерживает отзываемые учётные данные устройства со сроком действия и дневными лимитами; авторизованные guardians могут просматривать отчёты, одобрять материалы и сбрасывать учётные данные. Остальные пользователи получают изолированные рабочие пространства и ограниченный доступ к моделям, KB, навыкам, Partners и общим книгам без получения необработанных API-ключей. Если auth.json уже содержит username + password_hash, эта учётная запись является администратором: /register остаётся закрытым, а учётные записи, созданные в /admin/users, всегда имеют role=user до повышения роли.
Включение: включите аутентификацию в data/user/settings/auth.json, перезапустите deeptutor start, зарегистрируйте первого администратора по адресу /register, затем добавляйте пользователей из /admin/users и назначайте модели, KB, навыки, Partners, политику инструментов/MCP/CLI-приложений и доступ к выполнению кода через гранты; настройте общие книги в панели Book access каждого пользователя.
PocketBase остаётся однопользовательской интеграцией — оставьте
integrations.pocketbase_urlпустым для многопользовательских развёртываний, если только вы не подключили внешнее хранилище пользователей.
Один бинарный файл deeptutor, два способа входа: интерактивный REPL для тех, кто живёт в терминале, и структурированный JSON для других агентов, которые управляют DeepTutor как инструментом. Одни и те же возможности, инструменты и базы знаний в любом случае.
Управляйте им самостоятельно
deeptutor chat открывает интерактивный REPL и выбирает режим с помощью --capability; deeptutor run <capability> "<message>" принимает эту возможность как первый позиционный аргумент и завершается после одного хода. Обе команды принимают --tool, --kb и --config.
deeptutor chat # интерактивный REPL
deeptutor chat --capability deep_solve --kb my-kb --tool rag
deeptutor run chat "Explain the Fourier transform" --tool rag --kb textbook
deeptutor run deep_research "Survey 2026 papers on RAG" \
--config mode=report --config depth=standardОсновные функции управления рабочим пространством доступны и здесь — базы знаний (kb), сессии (session), партнёры (partner), навыки (skill), блокноты, память и конфигурация; организация курсов и сессий остаётся в веб-приложении. Полный список ниже.
Позвольте агенту управлять им
DeepTutor создан для того, чтобы им управлял другой агент. Добавьте --format json к любой команде run, и каждый ход транслирует NDJSON — одно событие на строку (content, tool_call, tool_result, done, …), каждая строка помечена своим session_id. Запуски безопасны без TTY: пауза ask_user без TTY автоматически разрешается пустым ответом вместо зависания.
# Один запрос, машиночитаемый
deeptutor run deep_solve "Find d/dx[sin(x^2)]" --tool reason --format json
# Цепочка ходов в одной сессии с состоянием — захватите id, повторно используйте его
SID=$(deeptutor run deep_research "Survey 2026 papers on RAG" \
--config mode=report --config depth=standard --format json \
| jq -r 'select(.type=="done").session_id')
deeptutor run deep_question "Quiz me on that survey" --session "$SID" --format jsonВ репозитории есть корневой SKILL.md — документ передачи на ~200 строк, который знакомит любой использующий инструменты LLM со всей поверхностью за одно чтение. Передайте его Claude Code, Codex или OpenCode (они автоматически подхватывают SKILL.md), или оберните deeptutor run как инструмент в цикл LangChain / AutoGen. Полные рецепты: Agent Handoff.
Справочник команд
| Команда | Описание |
|---|---|
deeptutor init |
Создать или обновить data/user/settings для текущего рабочего пространства |
deeptutor doctor [--online] |
Проверить, готово ли рабочее пространство к запуску сессии; --online также проверяет настроенного провайдера модели, --format json выводит отчёт |
deeptutor start [--home PATH] [--dev] [--detach] [--no-browser] |
Запустить бэкенд + фронтенд вместе; при необходимости отсоединить процесс или запретить открытие браузера |
deeptutor stop [--home PATH] |
Остановить лаунчер, запущенный с --detach |
deeptutor serve [--port PORT] |
Запустить только бэкенд FastAPI |
deeptutor run <capability> <message> |
Запустить один ход возможности (chat, ask_questions, deep_solve, deep_question, deep_research, visualize, math_animator, mastery_path, immersive_reading, course_study, immersive_watching); добавьте --format json для вывода NDJSON |
deeptutor chat |
Интерактивный REPL с управлением возможностями, инструментами, KB, блокнотами и историей |
deeptutor partner list/create/start/stop |
Управление партнёрами, подключёнными к IM |
deeptutor kb list/info/create/add/search/set-default/delete/list-sources/sync |
Управление базами знаний и синхронизация зарегистрированных источников GitHub/Web (с командами добавления/удаления источников) |
deeptutor skill search/install/list/remove/login/logout/publish/update |
Управление навыками, установка из хабов и публикация своих (eduhub:<slug> по умолчанию, см. Экосистема) |
deeptutor memory show/clear |
Просмотр документов памяти L2/L3 или очистка памяти L1/всей памяти |
deeptutor session list/show/open/rename/delete |
Управление общими сессиями |
deeptutor notebook list/create/show/add-md/replace-md/remove-record |
Управление блокнотами из файлов Markdown |
deeptutor book list/health/refresh-fingerprints |
Просмотр книг и обновление исходных отпечатков |
deeptutor plugin list/info |
Просмотр зарегистрированных инструментов и возможностей |
deeptutor config show |
Вывод сводки конфигурации |
deeptutor provider login <provider> |
Аутентификация провайдера (openai-codex вход через OAuth; github-copilot проверяет существующую сессию аутентификации Copilot; codebuddy проверяет аутентификацию CodeBuddy SDK и запускает вход при необходимости) |
Дистрибутив только с CLI
Пакет только с CLI находится в packaging/deeptutor-cli. В этом чекауте установите его из исходного кода:
python -m pip install -e ./packaging/deeptutor-cliОн ещё не опубликован в PyPI, поэтому основной раздел Начало работы сохраняет путь установки из исходного кода.
Навыки DeepTutor используют открытый формат Agent-Skills — папку с плейбуком SKILL.md (YAML frontmatter + Markdown) и необязательными справочными файлами. В нём нет ничего специфичного для DeepTutor, поэтому любой реестр, говорящий на этом формате, становится источником для вашей библиотеки. DeepTutor поставляется с EduHub — нашим собственным образовательным реестром навыков — встроенным в качестве хаба по умолчанию.
EduHub — экосистема навыков DeepTutor
EduHub — это хаб сообщества, запущенный DeepTutor для обмена обучающими навыками агентов — сократовские репетиторы, создатели флэш-карточек, обратная связь по эссе, планы экзаменов, объяснители концепций и многое другое. Он встроен в DeepTutor, поэтому настраивать ничего не нужно: голый слаг или префикс eduhub: разрешается в него.
Найти и установить — в браузере откройте Пространство Обучения → Навыки → Импорт из EduHub для просмотра каталога и загрузки навыка прямо в вашу библиотеку. Из терминала:
deeptutor skill search "socratic tutor" # поиск в EduHub (хаб по умолчанию)
deeptutor skill install socratic-tutor # получить → проверить → зарегистрировать
deeptutor skill install eduhub:socratic-tutor@1.2.0 # указать хаб и версию
deeptutor skill list # локальные навыки с их хабовой принадлежностьюОпубликуйте свой — упакуйте SKILL.md и поделитесь им обратно с сообществом:
deeptutor skill login # вход через браузер в EduHub
deeptutor skill publish ./my-skill # интерактивно: выберите трек + теги, затем загрузите
deeptutor skill update # откатиться или выпустить новую версиюEduHub также является отдельным, совместимым с ClawHub реестром, поэтому агенты, отличные от DeepTutor (Claude Code, Codex, …), могут использовать его напрямую через CLI eduhub — npx eduhub install socratic-tutor.
Шлюз безопасности импорта
Независимо от источника, каждый импорт проходит через один шлюз безопасности перед тем, как что-либо коснётся вашего рабочего пространства:
- сначала проверяется вердикт безопасности реестра — отмеченные пакеты отклоняются, если вы не передали
--allow-unverified; - архивы извлекаются безопасно с проверками обхода путей, числа записей, размера, коэффициента сжатия, суффиксов и символических ссылок; биты исполнения снимаются, а файлы без расширения остаются разрешёнными;
- frontmatter нормализуется по схеме DeepTutor, и
always:удаляется, поэтому загруженный навык никогда не может принудить себя в каждый системный промпт; - происхождение — хаб, версия, вердикт и время установки — записывается в
.hub-lock.jsonдля аудитов и обновлений.
В многопользовательских развёртываниях импорт через браузер попадает в слой навыков аутентифицированного пользователя, тогда как установки через CLI и консоль администратора направляются в рабочее пространство владельца/администратора; навыки администратора остаются скрытыми и доступными обычным пользователям только для чтения, пока не выдан грант.
Также совместим с ClawHub
Поскольку DeepTutor использует открытый формат Agent-Skills, ClawHub также работает как первоклассный источник — он встроен рядом с EduHub. Выберите его с префиксом хаба:
deeptutor skill search "git release notes" --hub clawhub
deeptutor skill install clawhub:git-release-notes@1.0.1
deeptutor skill install clawhub:udiedrichsen/stock-analysisКогда один и тот же слаг используют несколько издателей, поиск показывает каждого издателя и полностью определённую ссылку для установки (clawhub:<ownerHandle>/<slug>).
Добавляйте дополнительные реестры в data/user/settings/skill_hubs.json: запись type: "clawhub" указывает на любой совместимый HTTP API (EduHub и ClawHub оба его поддерживают), type: "command" оборачивает любой CLI получения, который поставляет реестр, а "default" выбирает хаб, используемый для голых слагов. Все они передаются через тот же шлюз импорта.
Используйте код: DEEPTUTOR20 — скидка $20 на первую подписку PageIndex!
Bingxi Zhao |
Xingyu Hou |
Jiahao Zhang |
DeepTutor — это проект с открытым исходным кодом, который ведёт Bingxi Zhao в составе группы HKUDS, и он развивается в полностью открытом формате, создаваясь вместе с сообществом. До сих пор у нас НЕТ платных онлайн-продуктов в каком-либо виде. Не стесняйтесь обращаться по адресу bingxizhao39@gmail.com для обсуждений, идей или сотрудничества.
Сердечная благодарность Chao Huang, директору Лаборатории интеллектуальных данных @ HKU, и нашим коллегам из HKUDS за их тёплую поддержку — особенно Jiahao Zhang, Zirui Guo и Xubin Ren. Мы также глубоко благодарны сообществу открытого исходного кода: ваши звёзды, вопросы, пул-реквесты и обсуждения каждый день формируют DeepTutor.
DeepTutor также стоит на плечах выдающихся проектов с открытым исходным кодом, которые дали нам инструменты и вдохновение:
| Проект | Роль / Вдохновение |
|---|---|
| LlamaIndex | Конвейер RAG и основа индексирования документов |
| nanobot | Ультралёгкий движок агентов, обеспечивавший оригинальный TutorBot (HKUDS) |
| LightRAG | Простой и быстрый RAG (HKUDS) |
| AutoAgent | Фреймворк агентов без кода (HKUDS) |
| AI-Researcher | Автоматизированный исследовательский конвейер (HKUDS) |
| OpenClaw | Открытый шлюз агентов и экосистема навыков за ClawHub |
| Codex | Агентный CLI кодирования, вдохновивший наш рабочий процесс CLI |
| Claude Code | Агентный CLI кодирования, вдохновивший цикл агента DeepTutor |
| ManimCat | Генерация математической анимации на основе ИИ для Math Animator |
Мы хотим, чтобы DeepTutor продолжал развиваться и совершенствоваться — и в конечном итоге стал подарком, который мы возвращаем сообществу открытого исходного кода. Наша дорожная карта обновляется непрерывно; голосуйте там за пункты или предлагайте новые. Если вы хотите участвовать, см. Руководство по участию с описанием стратегии ветвления, стандартов кодирования и инструкций по началу работы.
Лицензировано по Apache License 2.0.























