Skip to content

Latest commit

 

History

History
813 lines (562 loc) · 84.1 KB

File metadata and controls

813 lines (562 loc) · 84.1 KB

DeepTutor लोगो DeepTutor

DeepTutor: लाइफलॉन्ग व्यक्तिगत ट्यूटरिंग

दस्तावेज़ — deeptutor.info  सहयोग करें — हमारे साथ काम करें

HKUDS%2FDeepTutor | Trendshift  HKUDS%2FDeepTutor | Trendshift  HKUDS%2FDeepTutor | Trendshift

English  简体中文  繁體中文  日本語  Español  Français  Arabic  Русский  Hindi  Português  Thai  Polski

Python 3.11+ Next.js 16 License GitHub release arXiv

Discord Feishu WeChat

विशेषताएं · शुरू करें · एक्सप्लोर करें · CLI · इकोसिस्टम · समुदाय


🤝 हम किसी भी प्रकार के योगदान का स्वागत करते हैं! Roadmap पर roadmap items के लिए वोट करें या नए प्रस्तावित करें, और branching strategy, coding standards और शुरू करने के तरीके के लिए हमारी Contributing Guide देखें।

📰 समाचार

  • 2026-05-22 🌐 आधिकारिक डॉक्स साइट deeptutor.info पर live — guides, references, और capability tours एक ही जगह।
  • 2026-04-19 🎉 111 दिनों में 20k स्टार्स! सच्ची व्यक्तिगत, बुद्धिमान ट्यूटरिंग की दिशा में आपके अविश्वसनीय समर्थन के लिए धन्यवाद।
  • 2026-04-10 📄 हमारा paper अब arXiv पर live है — DeepTutor के design और विचारों के लिए preprint पढ़ें।
  • 2026-02-06 🚀 39 दिनों में 10k स्टार्स! हमारे अविश्वसनीय community के समर्थन के लिए बहुत धन्यवाद।
  • 2026-01-01 🎊 नया साल मुबारक! हमारे Discord, WeChat, या Discussions से जुड़ें — आइए मिलकर DeepTutor को आकार दें।
  • 2025-12-29 🎓 DeepTutor आधिकारिक रूप से जारी हुआ!

✨ मुख्य विशेषताएं

DeepTutor एक agent-native learning workspace है जो tutoring, problem solving, quiz generation, research, visualization, और mastery practice को एक extensible system में जोड़ता है।

  • हर मोड के लिए एक रनटाइम — Chat, Ask Questions, Quiz, Research, Visualize, Solve, Course Study, Mastery Path, Immersive Reading और Immersive Watching एक ही capability runtime और session context share करते हैं, जबकि हर उद्देश्य के लिए बने loops और pipelines बनाए रखते हैं।
  • जुड़ा हुआ लर्निंग कॉन्टेक्स्ट — Knowledge bases, books, Co-Writer drafts, notebooks, question banks, personas, और Memory को उन workflows में reuse किया जा सकता है जो उन्हें support करते हैं, account grants और learning policies के अधीन।
  • इमर्सिव वीडियो लर्निंग — privacy-enhanced native playback, synchronized captions, timestamp-grounded tutoring और resumable progress के लिए एक YouTube link paste करें; administrators materials को rebuild किए बिना playback को self-hosted Invidious instance पर switch कर सकते हैं।
  • सब-एजेंट और Partners — Chat से एक live agent harness (Claude Code, Codex, Antigravity, Kimi, opencode, MiMo, Hermes, OpenClaw, या DeepSeek) या एक Partner से सलाह लें, पिछली conversations import करें, और same brain पर persistent IM companions चलाएं।
  • मल्टी-इंजन नॉलेज — LlamaIndex, PageIndex, GraphRAG, LightRAG, एक remote LightRAG Server, एक self-hosted WeKnora knowledge base, एक Tencent IMA या MarginNote 4 library, या एक linked Obsidian vault के साथ versioned RAG libraries, pluggable document parsing के साथ।
  • एक्सटेंसिबल टूल्स और स्किल्स — built-in tools, MCP servers, CLI apps, image / video / voice generation models, और EduHub से installable community skills।
  • इंस्पेक्टेबल मेमोरी — L1 traces, L2 surface summaries, और L3 synthesis personalization को visible और editable बनाते हैं; Memory Graph L2 facts को L1 evidence से और L3 synthesis को contributing surfaces से link करता है।

🚀 शुरू करें

DeepTutor चार installation paths के साथ आता है। वे सभी एक workspace layout साझा करते हैं: settings उस directory के नीचे data/user/settings/ में रहती हैं जहां से आप launch करते हैं (या DEEPTUTOR_HOME / deeptutor start --home के नीचे अगर आप explicitly set करते हैं)। पूरे app के लिए, recommended flow है workspace directory चुनें → install करें → deeptutor initdeeptutor start

Option 1 — PyPI से Install करें · पूरा local Web app + CLI, clone की जरूरत नहीं

पूरा local Web app + CLI, clone की जरूरत नहीं। Python 3.11–3.14 और PATH पर Node.js 20+ runtime चाहिए (deeptutor start packaged Next.js standalone server को spawn करता है)।

mkdir -p my-deeptutor && cd my-deeptutor
pip install -U deeptutor
deeptutor init     # prompts for ports + LLM provider + optional embedding/search
deeptutor start    # starts backend + frontend; keep the terminal open

deeptutor init backend port (default 8001), frontend port (default 3782), LLM provider / base URL / API key / model, Knowledge Base / RAG के लिए optional embedding provider, और Web Search के लिए optional search provider के लिए prompt करता है।

deeptutor start के बाद, terminal में print किया गया frontend URL खोलें — default रूप से http://127.0.0.1:3782। backend और frontend दोनों को रोकने के लिए उस terminal में Ctrl+C दबाएं। Quick trial के लिए deeptutor init छोड़ना ठीक है; app default ports और empty model settings के साथ boot होगा, उन्हें बाद में Settings → Models में configure करें।

Option 2 — Source से Install करें · checkout के विरुद्ध develop करें

Checkout के विरुद्ध development के लिए। CI और Docker से match करने के लिए Python 3.11–3.14 और Node.js 22 LTS उपयोग करें।

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

# Create a 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

# Install backend + frontend deps
python -m pip install -e .
( cd web && npm ci --legacy-peer-deps )

deeptutor init
deeptutor start --dev

deeptutor start local web/ frontend को production के लिए एक बार build करता है और उसे reuse करता है; --dev Next.js को HMR के साथ run करता है। Config layout, ports, और Ctrl+C Option 1 से match करते हैं।

Conda environment (venv की बजाय)
conda create -n deeptutor python=3.11
conda activate deeptutor
python -m pip install --upgrade pip
वैकल्पिक install extras — RAG engines / dev / partners / matrix / math-animator
pip install -e ".[rag-lightrag]"    # Built-in LightRAG engine (exact supported SDK)
pip install -e ".[graphrag]"        # Microsoft GraphRAG engine (Python 3.11–3.13)
pip install -e ".[dev]"             # tests/lint tools
pip install -e ".[partners]"        # Partner IM channel SDKs
pip install -e ".[video-learning]"  # compatibility extra; captions ship in the full/CLI installs
pip install -e ".[matrix]"          # Matrix channel without E2EE/libolm
pip install -e ".[matrix-e2e]"      # Matrix E2EE; requires libolm
pip install -e ".[math-animator]"   # Manim addon; requires LaTeX/ffmpeg/system libs
Frontend dependency tweaks और dev-server troubleshooting

Frontend dependencies बदलना: web/package-lock.json refresh करने के लिए npm install --legacy-peer-deps run करें, फिर web/package.json और web/package-lock.json दोनों को commit करें।

Stuck dev server: अगर deeptutor start --dev एक existing frontend report करता है जो respond नहीं कर रहा, तो उस PID को stop करें जो वह print करता है। अगर कोई Next.js process actually नहीं चल रही, तो lock files stale हैं — उन्हें remove करें और retry करें:

rm -f web/.next/dev/lock web/.next/lock
deeptutor start --dev
Option 3 — Docker · एक self-contained container

पूरे Web app के लिए एक container। GitHub Container Registry पर images:

  • ghcr.io/hkuds/deeptutor:latest — latest stable release
  • ghcr.io/hkuds/deeptutor:<version> — शुरू के v के बिना exact release (उदाहरण :1.6.3); pre-releases को केवल उनका version tag मिलता है

podman/rootless/read-only-rootfs deployments और पूरे per-installation guide के लिए CONTAINERIZATION.md देखें।

docker run --rm --name deeptutor \
  -p 127.0.0.1:3782:3782 \
  -v deeptutor-data:/app/data \
  ghcr.io/hkuds/deeptutor:latest

केवल 3782 publish करना जरूरी है। Browser exclusively frontend origin से बात करता है; Next.js middleware (web/proxy.ts) container के अंदर /api/* और /ws/* को FastAPI backend पर forward करता है। 8001 publish करना (-p 127.0.0.1:8001:8001) optional है — केवल curl या scripts से API directly hit करने के लिए उपयोगी।

http://127.0.0.1:3782 खोलें। Container पहले boot पर /app/data/user/settings/*.json बनाता है; Web Settings page से model providers configure करें। Config, API keys, logs, workspace files, memory, और knowledge bases deeptutor-data volume में persist करते हैं। वैकल्पिक extras deployment पर belong करते हैं, किसी shell में नहीं: DEEPTUTOR_EXTRAS (और system libraries के लिए DEEPTUTOR_APT_PACKAGES) set करें, और उससे शुरू होने वाला हर container उन्हें फिर से apply करता है — जबकि एक docker exec … pip install अगले compose down पर खो जाता है।

  • अलग host ports: प्रत्येक -p host:container mapping के left side को बदलें (जैसे -p 127.0.0.1:8088:3782)। अगर आप /app/data/user/settings/system.json में container-side ports बदलते हैं, तो restart करें और match करने के लिए प्रत्येक mapping के right side को update करें।
  • Detached: -d add करें, फिर follow करने के लिए docker logs -f deeptutor, stop करने के लिए docker stop deeptutor, नाम reuse करने से पहले docker rm deeptutordeeptutor-data volume आपकी settings और workspace को restarts के पार रखता है।

Remote Docker / reverse proxy: browser केवल frontend origin (:3782) से बात करता है; in-container Next.js middleware /api/* और /ws/* को backend server-side पर forward करता है। सामान्य single-container case के लिए API base configure करने की जरूरत नहीं — बस अपना reverse proxy / TLS terminator :3782 पर point करें। Split deployment (backend अलग container/host में) के लिए ही API base चाहिए: data/user/settings/system.json में next_public_api_base को वह in-network address set करें जो frontend server backend तक पहुंचने के लिए उपयोग करता है (यह server-side read होता है, browser को कभी नहीं भेजा जाता)।

{
  "next_public_api_base": "http://backend:8001"
}

next_public_api_base_external (और इसका alias public_api_base) lower-precedence fallbacks के रूप में accept किए जाते हैं। CORS frontend origins उपयोग करता है, API URLs नहीं। Auth disabled होने पर, DeepTutor default रूप से normal HTTP/HTTPS browser origins permit करता है। Auth enabled होने पर, exact frontend origins add करें:

{
  "cors_origins": ["https://deeptutor.example.com"]
}
Host पर Ollama / LM Studio / llama.cpp / vLLM / Lemonade से Connect करना

Docker के अंदर, localhost container itself है, आपका host machine नहीं। Host पर चल रहे model service तक पहुंचने के लिए, host gateway उपयोग करें (recommended):

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

फिर Settings → Models में, provider Base URL को host.docker.internal पर point करें:

  • 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) आमतौर पर --add-host के बिना host.docker.internal resolve करता है। Linux पर, यह flag modern Docker Engine पर वह hostname बनाने का portable तरीका है।

Linux alternative — host networking: --network=host add करें और -p flags हटाएं। Container host network directly share करता है, इसलिए http://127.0.0.1:3782 (या system.json में frontend_port) खोलें, और host services को normal localhost URLs जैसे http://127.0.0.1:11434/v1 से reach किया जा सकता है। ध्यान दें कि host networking container ports को host पर directly expose करता है और existing services से conflict हो सकता है — उन्हें loopback पर रखने के लिए BACKEND_HOST=127.0.0.1 और FRONTEND_HOST=127.0.0.1 set करें (CONTAINERIZATION.md देखें)।

Option 4 — केवल CLI · कोई Web UI नहीं, source checkout से

जब आपको Web UI की जरूरत न हो। CLI-only package PyPI से नहीं, source checkout से install होता है।

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

# Create a 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 chat

deeptutor init --cli पूरे app के समान data/user/settings/ layout share करता है लेकिन backend/frontend port prompts skip करता है। यह फिर भी Embedding और Search selectors offer करता है (जरूरत न हो तो Skip चुनें), मुख्य runtime files (system.json, auth.json, integrations.json, interface.json, model_catalog.json, main.yaml, agents.yaml) लिखता है, और active LLM provider और model के लिए prompt करता है।

सामान्य commands
deeptutor chat                                          # interactive 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

Local deeptutor-cli install में कोई Web assets या server dependencies नहीं हैं। Source checkout को आसपास रखें — editable install उस पर point करता है। बाद में Web app add करने के लिए, PyPI package (Option 1) install करें और same workspace से deeptutor init + deeptutor start run करें।

Code Execution Sandbox (office skills) · docx / pdf / pptx / xlsx के लिए model-generated code run करना

Built-in office skills — docx / pdf / pptx / xlsx — model द्वारा एक short Python script (python-docx, reportlab, openpyxl, …) लिखकर, इसे exec / code_execution tools के जरिए run करके, और download URL वापस करके काम करती हैं। वे tools तब mount होते हैं जब एक sandbox backend active होता है। DeepTutor इस क्रम में सबसे मजबूत configured backend चुनता है:

  • Runner sidecar: DEEPTUTOR_SANDBOX_RUNNER_URL execution को Dockerfile.runner की hardened, least-privileged service पर route करता है।
  • Linux bubblewrap: उपलब्ध होने पर bwrap process और files को isolate करता है।
  • Restricted subprocess fallback: local और single-container installs इसे केवल अनुमति होने पर उपयोग करते हैं; Docker में container एक अतिरिक्त isolation boundary बना रहता है।

data/user/settings/system.json में sandbox_allow_subprocess setting (default true) केवल अंतिम fallback को control करती है। कोई runner या bwrap backend उपलब्ध न होने पर subprocess execution को refuse करने के लिए इसे false set करें (या DEEPTUTOR_SANDBOX_ALLOW_SUBPROCESS=0 export करें); यह उन मजबूत backends को disable नहीं करता।

Configuration referencedata/user/settings/ के नीचे config files (JSON/YAML)

data/user/settings/ के नीचे सब कुछ plain JSON/YAML है। Browser में Settings page recommended editor है।

File उद्देश्य
model_catalog.json Provider connections और LLM, task, embedding, search, TTS, STT, image व video profiles, credentials, और active selections
system.json Backend/frontend ports, public API base, CORS, SSL verification, attachment directory और upload/extraction limits
auth.json Optional auth toggle, username, password hash, token/cookie settings
integrations.json Optional PocketBase और sidecar integration settings
interface.json UI और model output language / theme / sidebar preferences
video_learning.json Default YouTube/Invidious playback provider, Invidious origins, और optional transcript adapter
main.yaml Runtime behavior defaults और path injection
agents.yaml Capability/tool temperature और token settings

Web Search references default रूप से filter होते हैं: केवल public http/https URLs दिखाए जाते हैं, जिनमें embedded credentials या unusual ports नहीं होते। Deployments data/user/settings/system.json में education-focused domain policy जोड़ सकते हैं:

{
  "web_search_source_filtering": {
    "enabled": true,
    "blocked_domains": ["spam.example"],
    "trusted_domains": ["edu.cn", "arxiv.org"]
  }
}

जब trusted_domains खाली नहीं होता, references केवल उन्हीं domains और उनके subdomains तक सीमित रहते हैं; blocked_domains हमेशा precedence लेता है।

Project-root .env application config file के रूप में नहीं पढ़ा जाता। Minimal model setup के लिए, Settings → Models खोलें, एक LLM profile (Base URL / API key / model name) add करें, और save करें। Embedding profile केवल तभी add करें जब आप Knowledge Base / RAG features उपयोग करने की योजना रखते हों।

LLM और task-model profiles तब API format setting expose करते हैं जब उनका provider choices support करता है। सामान्य routing और fallback के लिए Auto रखें, या OpenAI Chat Completions, OpenAI Responses, अथवा Anthropic Messages चुनें; Forced Responses mode fail-closed रहता है। Persist किया गया field api_format है (auto, openai_chat, openai_responses, या anthropic); wire_api derived compatibility state है। Per-model Auto / Supported / Not supported overrides tool calling, image input, JSON output, और reasoning controls को cover करते हैं।

Uninstall और cleanup

DeepTutor installed code को runtime workspace से अलग रखता है। Default रूप से workspace वही directory है जहां आप deeptutor init / deeptutor start चलाते हैं; --home PATH या DEEPTUTOR_HOME इसे override करता है। Runtime output उस workspace के भीतर data directory में होता है, इसलिए startup banner में Workspace: से शुरू होने वाली line बताती है कि क्या clean करना है।

  1. App रोकें। deeptutor start चलाने वाले terminal में Ctrl+C दबाएं, या --detach से शुरू किए गए launcher के लिए deeptutor stop [--home PATH] चलाएं; data delete करने से पहले किसी running Partner और detached Docker containers को भी रोकें।

  2. Runtime data केवल तभी हटाएं जब आप पूरी local state भी मिटाना चाहते हों। इसमें settings और API keys, chat history, sessions, Memory, Notebooks, Books, Reading state, Skills, Partners state, logs, Knowledge Bases, parse caches, generated artifacts, और packaged frontend runtime cache शामिल हैं।

    पहले startup banner से exact Workspace: path copy करें और verify करें कि उसका data child intended DeepTutor data directory है। अगर बाद में कुछ भी चाहिए हो सकता है तो backup लें, फिर उसी exact directory को operating system के Trash/Recycle Bin में move करें। किसी relative path या unresolved environment variable पर recursive deletion command न चलाएं।

  3. Installed package हटाएं। Distribution से match करने वाली command उपयोग करें:

    python -m pip uninstall deeptutor
    python -m pip uninstall deeptutor-cli

    अगर virtual environment केवल DeepTutor के लिए बनाई गई थी, तो उसे environment manager से हटाएं। Source install के लिए environment deactivate करें, source directory छोड़ें, और उसी exact checkout में git status --short चलाएं। यह confirm करने के बाद ही checkout को Trash/Recycle Bin में move करें कि उसमें कोई unrelated या uncommitted work नहीं है।

  4. Docker path के लिए exact container और named volume हटाने से पहले inspect करें। Volume removal Docker-managed data को permanently मिटा देता है:

    docker ps -a --filter name=^/deeptutor$
    docker volume inspect deeptutor-data
    docker rm -f deeptutor
    docker volume rm deeptutor-data

📖 DeepTutor को एक्सप्लोर करें

दैनिक उपयोग की मुख्य surfaces से शुरू करें: Chat, Partners, My Agents, Co-Writer, Book, Knowledge Center, Learning Space, Memory, और Settings। फिर tour साझा, isolated workspaces के लिए Multi-User deployments को cover करता है।

अगर कोई answer पहले का constraint खो दे, weak evidence cite करे, या selected material से disagree करे, तो issue खोलने से पहले REASONING_SAFETY_CHECKLIST.md में diagnostics collect करें।

DeepTutor होम — sidebar में हर surface के साथ Chat workspace
🏗️ System architecture
DeepTutor सिस्टम आर्किटेक्चर
💬 Chat — वह Agent Loop जो आप Actually उपयोग करते हैं

Chat default capability है और जहां से अधिकांश काम शुरू होता है। एक single thread normally बात कर सकता है, tools call कर सकता है, selected knowledge bases में खुद को ground कर सकता है, attachments पढ़ सकता है, images generate कर सकता है, subagents से consult कर सकता है, notebook records लिख सकता है, और turns के पार same context के साथ जारी रह सकता है।

DeepTutor Chat workspace

Loop जानबूझकर simple है: model rounds में सोचता है, जब उपयोगी हो tools call करता है, results observe करता है, और tool-free message के साथ finish करता है। ask_user special है — guess करने की बजाय, agent turn pause कर सकता है, एक structured clarifying question पूछ सकता है, और आपके जवाब देने के बाद resume कर सकता है।

DeepTutor Chat agent loop

User-toggleable tools हैं brainstorm, web_search, paper_search, reason, और geogebra_analysis — साथ ही imagegen और videogen जब आप matching generation model configure करें। Contextual tools जैसे 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 तब automatically mount होते हैं जब turn के पास सही context हो।

Context दो प्रकार की होती है: sticky session context (capability, workspace या course, tools, knowledge bases, persona, model, और Reading / Mastery state) turns के पार persist करती है; एक-बार references (files, chat history, books, reading sections, notebooks, question bank, imported agents) एक single turn के लिए + menu से आते हैं। Voice button केवल current message को transcribe करता है।

Home Chat, Ask Questions, Quiz, और Visualize को एक क्लिक की दूरी पर रखता है; cited reports के लिए Research, worked reasoning के लिए Solve, और Immersive Watching More Capabilities के नीचे रहते हैं। Mastery Path और Immersive Reading dedicated sidebar workspaces हैं; Reading verified clickable citations, saved citations और notes, source-grounded read-aloud / study guidance / vocabulary / quiz / translation actions, और notebook capture जोड़ता है, जबकि Course Study अपना course-bound context बनाए रखता है।

🤝 Partner — Same Brain पर Persistent Companions
DeepTutor Partners workspace

Partners अपनी soul, model policy, library, memory, और channels वाले persistent companions हैं। वे एक अलग bot engine नहीं हैं: हर inbound web या IM message partner-scoped workspace के अंदर एक normal ChatOrchestrator turn बन जाता है। एक partner "एक chat है जिसकी personality और phone number है।"

DeepTutor Partners आर्किटेक्चर

हर partner के पास एक SOUL.md, model selection, channels, tool policy, और assigned library है। Knowledge bases, skills, और notebooks data/partners/<id>/workspace/ में copy होते हैं, इसलिए same RAG, skill, notebook, और memory tools special cases के बिना काम करते हैं। Authenticated non-admin users private Partner sessions और relationship memory रखते हैं, जबकि Partner उनकी personal memory को read-only पढ़ता है; admin, group, और unbound traffic shared Partner scope उपयोग करते हैं।

प्रत्येक partner के लिए per-partner IM channel configuration

Channel layer schema-driven है और installed extras और configured credentials के आधार पर Feishu, Telegram, Slack, Discord, DingTalk, QQ/NapCat, WeCom, WhatsApp, Zulip, Mattermost, Matrix, Mochat, और Microsoft Teams जैसे IM platforms से connect हो सकती है। एक partner को subagent के रूप में भी connect किया जा सकता है और normal chat turn से consult किया जा सकता है — नीचे My Agents देखें।

तेज़ setup के लिए, Partner channel page एक Feishu/Lark app या WeCom AI bot create कर सकता है, या एक personal WeChat account को sign in करा सकता है, server log की बजाय browser में draw किए गए एक QR scan से। Feishu/Lark account domain detect करता है और scanning user को initial allowed sender के रूप में save करता है। WeCom एक existing allowlist रखता है और अन्यथा bot तक पहुंच सकने वाले सभी users को default करता है, एक visible open-access warning के साथ; अगर किसी provider का scan protocol बदलता है तो manual channel forms उपलब्ध रहते हैं।

🧑‍🚀 My Agents — दूसरे Agents को Consult और Import करें
DeepTutor My Agents workspace

My Agents दूसरे agents को DeepTutor के लिए context बनाता है, और दो अलग काम करता है। लाइव एजेंट connect करें — आपकी machine पर Claude Code, Codex, Antigravity, Kimi, opencode, MiMo Code, Hermes Agent, OpenClaw, या DeepSeek Harness, या आपके Partners में से एक — और इसे chat turn के अंदर से consult करें: DeepTutor actually दूसरे agent को run करता है और इसके काम को consult_subagent tool के जरिए Activity panel में stream करता है। Agent chip से इसे और इसकी round limit select करें, या @ से connected agents की उसी list को filter करें; यह selection session से जुड़ा रहता है।

Claude Code subagent को live consult करना

पिछली conversations import करें — अपनी existing Claude Code और Codex history को named, searchable, resumable agents के रूप में bring in करें। Claude history को project / working directory और Codex history को calendar date के अनुसार चुनें; refresh उस scope को re-sync करता है और नई conversations खींचता है। Chat turn से किसी एक को + → My Agents के जरिए reference करें, और DeepTutor इसे एक third-party transcript के रूप में पढ़ता है — यह उनकी conversation रहती है, DeepTutor की अपनी आवाज नहीं।

✍️ Co-Writer — Selection-Aware Markdown Drafting
DeepTutor Co-Writer workspace

Co-Writer reports, tutorials, notes, और long-form learning artifacts के लिए एक split-view Markdown workspace है। Documents autosave होते हैं और live preview render करते हैं (KaTeX math, diagram fences), और जब draft reusable context बन जाए तो notebooks में save किए जा सकते हैं। नया draft शुरू करने के लिए .docx import करें, और वर्तमान editor को Markdown या Word के रूप में export करें।

live preview वाला Co-Writer editor

इसका defining idea surgical editing है: एक span select करें और DeepTutor से rewrite, expand, या shorten करने के लिए कहें। Edit agent change को एक knowledge base या web evidence में ground कर सकता है और अपने tool calls का trace रखता है। अगर उसके काम के दौरान draft नहीं बदला है, तो result selected text को directly replace करता है और Undo से reversible रहता है।

📖 Book — आपकी सामग्री से Living Books
DeepTutor पुस्तक लाइब्रेरी

Book selected sources को एक interactive living book में बदलता है — एक static PDF नहीं, बल्कि typed blocks से बना एक reading environment। एक book knowledge bases, notebooks, question banks, या chat history से शुरू हो सकती है; creation flow content generate होने से पहले एक chapter outline propose करता है, इसलिए आप blind one-shot output accept करने की बजाय shape review करते हैं।

पुस्तक quiz block   पुस्तक Manim animation block   पुस्तक interactive widget block

हर chapter editable typed blocks में compile होता है — text, callouts, quizzes, flash cards, timelines, code, figures, interactive HTML, animations, concept graphs, deep dives, और user notes — और उसका अपना Page Chat होता है। किसी block को insert, move, regenerate, rewrite, या उसका type switch करें; selected passages review की जा सकने वाली learning-capture inbox में जाते हैं। Progress, bookmarks, quiz attempts, captures, और Page Chat हर reader के लिए private रहते हैं, भले admin की book read-only या collaborative editing के लिए share की गई हो; shared book delete करना admin-only रहता है। कोई भी book Markdown में export हो सकती है, लंबी compiles pause और resume होती हैं, और deeptutor book health / refresh-fingerprints source drift को flag करते हैं।

📚 Knowledge Center — Multi-Engine RAG Libraries
DeepTutor ज्ञान केंद्र

Knowledge bases RAG के पीछे document collections हैं — वे Chat turns, Co-Writer edits, Book generation, और Partner conversations को ground करते हैं। जो distinctive है वह है retrieval engines का choice: LlamaIndex (default, hybrid vector + BM25 के साथ optional cross-encoder reranking और exact-flat या HNSW FAISS indexes), PageIndex (reasoning retrieval with page-level citations, hosted या self-hosted OSS), GraphRAG और LightRAG (knowledge-graph retrieval), LightRAG Server (retrieval एक external LightRAG instance पर offload किया जाता है जिसे आप HTTP पर connect करते हैं), WeKnora (आपके self-hosted deployment की knowledge base से retrieval, बिना local index या document copy के), Tencent IMA (एक library जिसे आप IMA में curate करते हैं — इसके OpenAPI पर search, browse, और write back किया जाता है), MarginNote 4 (आपका MN4 study data — documents, excerpts, mind-map cards और उनके बीच के links — जिन्हें app का Add-on push करता है और dedicated tools से navigate किया जाता है), या एक linked Obsidian vault जिसे tutor in-place पढ़ता और लिखता है। हर KB एक engine से bound होती है।

एक knowledge base बनाएं

Existing Obsidian, Hermes, या Markdown library migrate कर रहे हैं? Connected-vault और indexed-copy paths के लिए Knowledge migration guide देखें।

KB बनाते समय, आप either नया create करते हैं (documents upload करें और fresh index build करें) या existing link करते हैं (कहीं और बना index reuse करें, re-index के बिना in-place पढ़ें)। एक KB GitHub repositories (repo, branch, glob) या documentation-site URLs (सीमित crawl depth और page count) को भी track कर सकती है; on-demand sync added, changed, और removed content का hash-diff करती है, इसलिए जो documentation आप follow करते हैं वह re-upload किए बिना current बनी रहती है। Re-indexing एक नई flat version-N directory लिखता है और prior ones रखता है, इसलिए एक working index rebuild के दौरान कभी destroy नहीं होता। एक single document को error-state base से भी remove किया जा सकता है — पूरी delete-and-rebuild के बिना parse होने में failed हुई file को drop करना। Document parsing — Text-only, MinerU, Docling, Tika, markitdown, PyMuPDF4LLM, या LiteParse — Settings → Knowledge Base में choose किया जाता है, local model downloads default रूप से off हैं। Docling को remote mode में भी एक Docling Serve server के विरुद्ध चलाया जा सकता है (कोई local install या models की जरूरत नहीं), जिसे Settings → Document Parsing (mode=remote, एक server base URL, और एक optional API key) या DOCLING_MODE / DOCLING_API_BASE_URL / DOCLING_API_TOKEN environment variables के जरिए configure किया जाता है। Tika remote-only है और उस page पर configured Apache Tika server पर point करता है। CLI lifecycle को list/info/create/add/search/set-default/delete, source add/remove commands, list-sources, और sync से mirror करता है।

Built-in LightRAG engine pip install 'deeptutor[rag-lightrag]' से install होता है। उस extra में supported LightRAG SDK शामिल है लेकिन यह MinerU install नहीं करता। Document Parsing में MinerU को स्वतंत्र रूप से चुनें और structured parsing चाहिए हो तो या तो इसका cloud mode configure करें या इसका current local CLI install करें। MinerU PDF, common raster images, DOCX, PPTX, और XLSX स्वीकार करता है; legacy magic-pdf command PDF-only रहता है। Text-only और बाकी parsing engines को MinerU की जरूरत नहीं होती।

🌐 Learning Space — Skills, Personas, और Reusable Context
DeepTutor Learning Space केंद्र

Learning Space library, organization, और personalization layer है। Conversations & Materials में Chat History, notebooks — जिनके records notebooks के बीच move या copy होते हैं और Markdown में export किए जा सकते हैं — और एक question bank है जो आपका जवाब, reference answer, और explanation रखता है। Personalization में personas, skills (SKILL.md playbooks), one-click MCP Services, और CLI-Anything catalog के CLI Apps हैं, जिनकी usage guide on-demand load होती है। अलग My Courses workspace subject conversations और tutor threads को group करता है; हर asset केवल उन workflows में उपलब्ध होता है जो उसे support करते हैं।

EduHub से skills import करें

आपको हर skill खुद नहीं लिखनी है — Import from EduHub community catalog browse करता है और एक security gate के जरिए directly आपकी library में skill download करता है (देखें Ecosystem)।

🧠 Memory — Inspectable Personalization
DeepTutor memory अवलोकन

Memory एक file-backed, three-layer system है जिसे आप पढ़, curate, और audit कर सकते हैं — जानबूझकर एक hidden vector store नहीं। L1 workspace mirror plus एक append-only event trace (trace/<surface>/<date>.jsonl) है; L2 per-surface curated facts (L2/<surface>.md) है, जिसमें L1 entities के references होते हैं; L3 cross-surface synthesis (L3/<profile|recent|scope|preferences>.md) है, जो अपनी contributing L2 surfaces record करता है।

DeepTutor memory graph

Memory Graph पूरा pyramid दिखाता है — L3 synthesis centre में, L2 middle ring में, L1 traces outside में — exact L2 → L1 evidence edges और L3 → contributing-surface links के साथ। Memory chat, notebook, quiz, kb, book, partner, और cowriter surfaces पर track किया जाता है; consolidator के Update / Audit / Dedup budgets Settings → Memory में tune किए जाते हैं।

⚙️ Settings — एक Control Plane
DeepTutor Settings केंद्र

Settings operational control plane है, एक live status strip (Backend health और पूरे process tree में resident memory) और एक persistent, searchable navigator के साथ जो एक ही क्लिक में किसी भी page तक पहुंचाता है: Appearance (theme, UI और model output language, code-block styling), Network (API base, ports, CORS), Models (Connections, LLM, Task models, Embedding, Search, Text-to-Speech, Speech-to-Text, Image Generation, Video Generation), Knowledge Base (document parsing engine), Chat (Video Learning, searchable tools, per-capability parameters, starting points, attachment caps), Partners & Agents (नौ local harnesses), Learner profile (age, grade, curriculum, language, reading level, explanation style), Guardian (authorized learners, materials, reports, credential resets), Memory (consolidator के budgets), और About (version checks और safe updates)। एक connection एक vendor credential रखती है और उसे हर उस service में mirror करती है जिसे वह vendor serve कर सकता है, इसलिए एक key पांच pages में paste करने की बजाय एक बार enter की जाती है; task models उस काम के लिए एक छोटा, तेज़ model pin करते हैं जो किसी ने नहीं मांगा — किसी conversation को नाम देना, composer के starting points लिखना — और खाली छोड़े जाने पर active default पर resolve हो जाते हैं।

Settings → Chat के तहत Video Learning default रूप से official privacy-enhanced YouTube IFrame Player उपयोग करता है। Playback को local रखने के लिए administrator-managed Invidious API origin (उदाहरण के लिए http://127.0.0.1:3000) set करें, इसे test करें, Invidious select करें, और save करें। नई या फिर से खोली गई videos वही material ID और progress रखते हुए तुरंत provider अपना लेती हैं। Invidious media DeepTutor के byte-range proxy से stream होता है; upstream URLs न browser के सामने expose होते हैं, न disk पर store किए जाते हैं। अगर instance fail हो जाए, तो learner के explicitly native YouTube fallback चुनने तक DeepTutor YouTube से offline रहता है। Public-caption tutoring optional है: .[video-learning] install करें; इसके बिना playback जारी रहता है, जबकि transcript-based Explain here कारण के साथ disabled रहता है।

DeepTutor appearance settings और themes

अधिकांश sections एक draft-and-apply flow उपयोग करते हैं, इसलिए आप provider को commit करने से पहले test कर सकते हैं। आप बस Chat में भी पूछ सकते हैं: assistant current configuration पढ़ता है, एक change apply करता है, और बताता है कि उसे restart या re-index चाहिए या नहीं — एक नए model को commit करने से पहले probe करते हुए, इसलिए यह खुद को किसी unreachable चीज़ पर switch नहीं कर सकता। API keys कभी model से नहीं गुजरतीं, जो इसकी बजाय आपके लिए matching form खोल देता है। चार themes box में आते हैं — Default, Cream, Dark, और Glass। Project-root .env files जानबूझकर ignored हैं; runtime configuration data/user/settings/*.json के नीचे रहती है जब तक कि DEEPTUTOR_HOME या deeptutor start --home app को कहीं और point न करे।

OpenAI Codex OAuth (experimental). Models → LLM के तहत OpenAI Codex चुनना API-key fields को एक browser sign-in से replace कर देता है जो आपके अपने ChatGPT plan के विरुद्ध चलता है, इसलिए किसी OPENAI_API_KEY की जरूरत नहीं। Tokens केवल data/system/user-secrets/<owner>/private/openai-codex/ में रहते हैं — multi-container Compose deployment में, उस हर tree के बाहर जहां exec sandbox पहुंच सकता है — और DeepTutor कभी आपकी ~/.codex CLI login को न तो पढ़ता है न ही modify करता है। Model list उस account के live catalog से आती है; sign in करना profile को publish करता है लेकिन यह active model तभी बनता है जब अभी तक कोई LLM configure न हो, इसलिए यह कभी भी आपकी जानकारी के बिना किसी deployment को repoint नहीं करता। क्योंकि एक token एक व्यक्ति के plan को authorize करता है, profile user grants के जरिए shareable नहीं है — हर account खुद के लिए sign in करता है, सामान्य users भी शामिल: उनका card Models → LLM के तहत रहता है, और resulting models, catalog, और sign-out उस account के लिए private रहते हैं।

Default local Docker और Podman deployments separate loopback networks उपयोग करते हैं और sign-in के दौरान एक temporary bridge की जरूरत होती है। Docker, Compose, Podman, और teardown के exact commands के लिए temporary local Codex OAuth bridge guide follow करें।

Remote deployment में, browser का localhost और server का localhost एक ही machine नहीं हैं, इसलिए सिर्फ एक ordinary reverse proxy browser के localhost callback को server तक नहीं पहुंचा सकता — callback bridge बनाने के लिए SSH tunnel जरूरी है। Tunnel पहले से published Web port तक पहुंचता है; Next.js केवल exact callback path को public callback broker पर rewrite करता है, और broker original OAuth operation पर route करने से पहले state validate करता है। Callback listener backend loopback पर ही रहता है, ports 1455 और 1457 publish नहीं होते, और यह path default Docker bridge network को support करता है।

ssh -N -L 1455:127.0.0.1:3782 <ssh-user>@<server-host>

अगर DeepTutor fallback callback port 1457 report करता है, तो उपयोग करें:

ssh -N -L 1457:127.0.0.1:3782 <ssh-user>@<server-host>

केवल वही एक command run करें जो actual callback port से मेल खाता हो; कभी दोनों run न करें। 3782 केवल example Web port है: यह configured frontend/container port है जो callback_forward_port के रूप में report होता है। यह value गारंटी नहीं देती कि वही port SSH host के 127.0.0.1 पर listen कर रहा है। अगर Docker या Podman कोई अलग host port publish करता है, या कोई reverse proxy किसी अलग port पर listen करता है, तो केवल right-hand target port (ऊपर 3782) को उस Web port से replace करें जो actually SSH host के 127.0.0.1 पर listen कर रहा है; left-hand callback port को 1455 या 1457 ही रखें। <server-host> वह SSH host है जिसका loopback उस listening port को own करता है। अगर browser URL किसी reverse proxy या load balancer का नाम लेता है, तो उसे सही SSH frontend host से replace करें।

CLI tunnel command print करता है और फिर तुरंत browser खोलने की कोशिश करता है। Remote deployment पर, authorization page को complete किए बिना खुला रखें, दूसरे terminal में printed tunnel establish करें, और तभी authorization जारी रखें।

Remote-topology detection की एक localhost boundary है। अगर Web खुद एक SSH या IDE localhost forward के जरिए reach होता है, तो browser यह नहीं बता सकता कि server remote है। Current Web operation के लिए, इसका authorization page अधूरा छोड़ें, callback port 1455 या 1457 identify करने के लिए उस operation के authorize URL में redirect_uri पढ़ें, और उस local port से actual Web port तक दूसरा tunnel बनाएं। वैकल्पिक रूप से, उस Web operation को cancel करें और CLI से एक नया शुरू करें; CLI output नए operation से belong करता है और इसे existing Web operation के लिए उपयोग नहीं किया जाना चाहिए। Quota errors और catalog failures जैसे हैं वैसे ही report होते हैं और कभी किसी paid provider पर fall back नहीं करते। यह compatibility path experimental है: upstream interface बदल सकता है।

👥 Multi-User — Shared Deployments · optional auth, isolated per-user workspaces

Authentication default रूप से बंद है — DeepTutor single-user चलता है। इसे on करें और एक data/ tree एक admin workspace, isolated per-user workspaces, और partner workspaces को side by side host करती है:

data/
├── user/                    # Admin workspace + global settings
├── users/<uid>/             # Per-user scope: chat history, memory, notebooks, KBs
├── partners/<id>/workspace/ # Partner (synthetic-user) scope
├── cli-apps/                # Installed CLI apps, mounted read-only into the sandbox
└── system/                  # auth · grants · audit · user-secrets/<owner> (OAuth tokens)

पहला registered user admin बनता है और model catalogs, provider credentials, shared knowledge bases, skills, canonical shared books, और per-user grants own करता है। Admin द्वारा बनाए गए local users Standard, Learner, या Custom चुनते हैं। Learner learning capabilities और material policy को lock करता है, adaptive profile जोड़ता है, और expiry तथा daily limits वाले revocable device credentials support करता है; authorized guardians reports देख सकते हैं, materials approve कर सकते हैं, और credentials reset कर सकते हैं। अन्य users को raw API keys दिए बिना isolated workspaces के साथ scoped models, KBs, skills, partners, और shared-book access मिलता है। अगर auth.json में पहले से username + password_hash है, तो वही account admin है: /register बंद रहता है और /admin/users से बनाए गए accounts हमेशा role=user रहते हैं, जब तक आप उन्हें promote न करें।

Enable करें: data/user/settings/auth.json में auth on करें, deeptutor start restart करें, /register पर पहला admin register करें, फिर /admin/users से users add करें और grants के जरिए models, KBs, skills, Partners, tool/MCP/CLI-app policy, और code-execution access assign करें; हर user के Book access panel में shared books configure करें।

PocketBase single-user integration रहता है — multi-user deployments के लिए integrations.pocketbase_url blank रखें जब तक आपने external user store wire up नहीं किया हो।

⌨️ DeepTutor CLI — एजेंट-नेटिव इंटरफेस

एक deeptutor binary, दो तरीके से: terminal में रहने वालों के लिए interactive REPL, और DeepTutor को tool के रूप में drive करने वाले दूसरे agents के लिए structured JSON। दोनों तरफ same capabilities, tools, और knowledge bases।

खुद drive करें

deeptutor chat एक interactive REPL खोलता है और --capability से mode चुनता है; deeptutor run <capability> "<message>" उस capability को अपना पहला positional argument लेता है और एक turn के बाद exit करता है। दोनों --tool, --kb, और --config accept करते हैं।

deeptutor chat                                              # interactive 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

Core workspace management यहां भी उपलब्ध है — knowledge bases (kb), sessions (session), partners (partner), skills (skill), notebooks, memory, और config; course और session organization Web app में ही रहते हैं। नीचे पूरी list।

किसी agent को drive करने दें

DeepTutor दूसरे agent द्वारा operated होने के लिए built है। किसी भी run में --format json add करें और हर turn NDJSON — एक event per line stream करता है (content, tool_call, tool_result, done, …), हर line session_id के साथ tagged। Runs headless-safe हैं: बिना TTY के ask_user pause automatically empty reply से resolve होता है बजाय hang करने के।

# One shot, machine-readable
deeptutor run deep_solve "Find d/dx[sin(x^2)]" --tool reason --format json

# Chain turns in one stateful session — capture the id, reuse it
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

Repo एक root SKILL.md ship करता है — एक ~200-line handover doc जो किसी भी tool-using LLM को एक read में पूरा surface सिखाता है। इसे Claude Code, Codex, या OpenCode को दें (वे SKILL.md automatically pick up करते हैं), या deeptutor run को LangChain / AutoGen loop में एक tool के रूप में wrap करें। पूरे recipes: Agent Handoff

Command reference
Command विवरण
deeptutor init Current workspace के लिए data/user/settings create या update करें
deeptutor doctor [--online] Check करें कि workspace session शुरू करने के लिए ready है या नहीं; --online configured model provider को भी probe करता है, --format json report print करता है
deeptutor start [--home PATH] [--dev] [--detach] [--no-browser] Backend + frontend को एक साथ launch करें; वैकल्पिक रूप से detach करें या browser खुलना रोकें
deeptutor stop [--home PATH] --detach से शुरू किए launcher को stop करें
deeptutor serve [--port PORT] केवल FastAPI backend start करें
deeptutor run <capability> <message> एक single capability turn run करें (chat, ask_questions, deep_solve, deep_question, deep_research, visualize, math_animator, mastery_path, immersive_reading, course_study, immersive_watching); NDJSON output के लिए --format json add करें
deeptutor chat capability, tool, KB, notebook, और history controls के साथ interactive REPL
deeptutor partner list/create/start/stop IM-connected partners manage करें
deeptutor kb list/info/create/add/search/set-default/delete/list-sources/sync Knowledge bases manage करें और registered GitHub/web sources sync करें (source add/remove commands के साथ)
deeptutor skill search/install/list/remove/login/logout/publish/update Skills manage करें, hubs से install करें, और अपनी खुद publish करें (default eduhub:<slug>, Ecosystem देखें)
deeptutor memory show/clear L2/L3 memory docs inspect करें या L1/all memory clear करें
deeptutor session list/show/open/rename/delete Shared sessions manage करें
deeptutor notebook list/create/show/add-md/replace-md/remove-record Markdown files से notebooks manage करें
deeptutor book list/health/refresh-fingerprints Books inspect करें और source fingerprints refresh करें
deeptutor plugin list/info Registered tools और capabilities inspect करें
deeptutor config show Configuration summary print करें
deeptutor provider login <provider> Provider auth (openai-codex OAuth login; github-copilot existing Copilot auth session validate करता है; codebuddy CodeBuddy SDK auth validate करता है और ज़रूरत पड़ने पर login शुरू करता है)
CLI-only distribution

CLI-only package packaging/deeptutor-cli में रहता है। इस checkout में, इसे source से install करें:

python -m pip install -e ./packaging/deeptutor-cli

यह अभी PyPI पर publish नहीं है, इसलिए main शुरू करें section source-install path रखता है।

🧩 इकोसिस्टम — EduHub और Skills Community

DeepTutor skills open Agent-Skills format उपयोग करती हैं — एक SKILL.md playbook (YAML frontmatter + Markdown) और optional reference files के साथ एक folder। इसमें DeepTutor-specific कुछ नहीं है, इसलिए format बोलने वाली कोई भी registry आपकी library के लिए एक source बन जाती है। DeepTutor EduHub के साथ ship होता है — हमारी अपनी education-focused skill registry — default hub के रूप में built in।

EduHub — DeepTutor का skill ecosystem

EduHub वह community hub है जिसे DeepTutor ने teaching-oriented agent skills share करने के लिए launch किया — Socratic tutors, flashcard builders, essay feedback, exam blueprints, concept explainers, और बहुत कुछ। यह DeepTutor में built in है, इसलिए configure करने की कोई जरूरत नहीं: एक bare slug या eduhub: prefix इसे resolve करता है।

ढूंढें और install करें — browser में, catalog browse करने और directly आपकी library में skill download करने के लिए Learning Space → Skills → Import from EduHub खोलें। Terminal से:

deeptutor skill search "socratic tutor"               # search EduHub (the default hub)
deeptutor skill install socratic-tutor                # fetch → verify → register
deeptutor skill install eduhub:socratic-tutor@1.2.0   # pin a hub and a version
deeptutor skill list                                  # local skills with their hub provenance

अपनी खुद publish करें — एक SKILL.md package करें और community के साथ share करें:

deeptutor skill login                                 # browser sign-in to EduHub
deeptutor skill publish ./my-skill                    # interactive: pick a track + tags, then upload
deeptutor skill update                                # roll back or release a new version

EduHub एक standalone, ClawHub-compatible registry भी है, इसलिए DeepTutor नहीं होने वाले agents (Claude Code, Codex, …) इसे eduhub CLI के जरिए directly use कर सकते हैं — npx eduhub install socratic-tutor

Import safety gate

Source चाहे जो भी हो, हर import आपके workspace को touch करने से पहले same safety gate से गुजरता है:

  • registry का security verdict पहले check होता है — flagged packages refuse किए जाते हैं जब तक आप --allow-unverified pass नहीं करते;
  • archives path-traversal, entry-count, size, compression-ratio, suffix, और symlink checks के साथ defensively extract होते हैं; executable bits strip हो जाते हैं, जबकि extensionless files allowed रहती हैं;
  • frontmatter DeepTutor के schema में normalize होता है और always: stripped होता है, इसलिए एक downloaded skill खुद को हर system prompt में force नहीं कर सकती;
  • provenance — hub, version, verdict, और install time — audits और updates के लिए .hub-lock.json में लिखा जाता है।

Multi-user deployments में, browser imports authenticated caller की skill layer में आते हैं, जबकि CLI और admin-console installs owner/admin workspace को target करते हैं; admin skills grant होने तक सामान्य users से hidden और read-only रहती हैं।

ClawHub के साथ भी compatible

क्योंकि DeepTutor open Agent-Skills format बोलता है, ClawHub भी एक first-class source है — यह EduHub के साथ built in है। इसे hub prefix से चुनें:

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

जब कई publishers same slug share करते हैं, तो search हर publisher को और एक fully scoped install ref (clawhub:<ownerHandle>/<slug>) दिखाता है।

data/user/settings/skill_hubs.json में और registries add करें: एक type: "clawhub" entry किसी भी compatible HTTP API पर point करती है (EduHub और ClawHub दोनों इसे बोलते हैं), type: "command" जो fetch CLI एक registry ship करती है उसे wrap करता है, और "default" bare slugs के लिए उपयोग होने वाला hub choose करता है। सभी same import gate feed करते हैं।

🤝 ओपन सोर्स पार्टनर्स

PageIndex

कोड का उपयोग करें: DEEPTUTOR20 — अपनी पहली PageIndex subscription पर $20 की छूट पाएं!

🌐 समुदाय

🔗 मेंटेनर्स

Bingxi Zhao
Bingxi Zhao
Xingyu Hou
Xingyu Hou
Jiahao Zhang
Jiahao Zhang

📮 संपर्क

DeepTutor HKUDS Group के अंदर Bingxi Zhao द्वारा lead किया जाने वाला एक open-source project है, और यह पूरी तरह open-source रूप में, community के साथ मिलकर बनाया जाता है। अब तक, हमारे पास किसी भी प्रकार के paid online products नहीं हैं। discussions, ideas, या collaboration के लिए bingxizhao39@gmail.com पर contact करें।

🙏 आभार

Chao Huang, Data Intelligence Lab @ HKU के director, और उनके warm support के लिए हमारे HKUDS labmates — विशेष रूप से Jiahao Zhang, Zirui Guo, और Xubin Ren — के प्रति हार्दिक आभार। हम open-source community के प्रति भी गहराई से आभारी हैं: आपके stars, issues, pull requests, और discussions हर एक दिन DeepTutor को आकार देते हैं।

DeepTutor outstanding open-source projects के कंधों पर खड़ा है जिन्होंने हमें tools और inspiration दोनों दिए:

Project भूमिका / Inspiration
LlamaIndex RAG pipeline और document-indexing backbone
nanobot Ultra-lightweight agent engine जिसने original TutorBot को powered किया (HKUDS)
LightRAG Simple & fast RAG (HKUDS)
AutoAgent Zero-code agent framework (HKUDS)
AI-Researcher Automated research pipeline (HKUDS)
OpenClaw ClawHub के पीछे open agent gateway और skill ecosystem
Codex Agent-native coding CLI जिसने हमारे CLI workflow को inspire किया
Claude Code Agentic coding CLI जिसने DeepTutor agent loop को inspire किया
ManimCat Math Animator के लिए AI-driven math animation generation

🗺️ Roadmap और योगदान

हम चाहते हैं कि DeepTutor iterate और improve करता रहे — और अंततः open-source community को एक gift बने। हमारा roadmap continuously update होता है; वहां items पर vote करें या नए propose करें। अगर आप contribute करना चाहते हैं, तो branching strategy, coding standards, और शुरू करने के तरीके के लिए Contributing Guide देखें।

हम आशा करते हैं कि DeepTutor community के लिए एक उपहार बने। 🎁

योगदानकर्ता

स्टार इतिहास रैंक

Apache License 2.0 के तहत licensed।

दृश्य