🤝 あらゆる形の貢献を歓迎します!
Roadmapでアイテムに投票したり新しいアイデアを提案したりできます。ブランチ戦略、コーディング基準、参加方法については 貢献ガイド をご覧ください。
- 2026-09-20 🎉 9か月で40kスター達成!これからもDeepTutorの学習エコシステムを広げていきます。
- 2026-05-22 🌐 公式ドキュメントサイトが deeptutor.info で公開 — ガイド、リファレンス、機能ツアーを一か所に。
- 2026-04-19 🎉 111日間で20kスター達成!真にパーソナライズされたインテリジェント個別指導に向けた支援に感謝します。
- 2026-04-10 📄 arXivに論文を公開 — DeepTutorの設計とアイデアについてはプレプリントをご覧ください。
- 2026-02-06 🚀 わずか39日間で10kスター達成!素晴らしいコミュニティに心から感謝します。
- 2026-01-01 🎊 あけましておめでとうございます!Discord、WeChat、またはDiscussionsに参加して一緒にDeepTutorを形作りましょう。
- 2025-12-29 🎓 DeepTutor正式リリース!
DeepTutorは、個別指導、問題解決、クイズ生成、研究、ビジュアライゼーション、習熟度練習を1つの拡張可能なシステムに統合したエージェントネイティブな学習ワークスペースです。
- すべてのモードで1つのランタイム — Chat、Ask Questions、Quiz、Research、Visualize、Solve、Mastery Path、Immersive Reading、Audio Overviewは、同じ機能ランタイムとセッションコンテキストを共有しながら、用途別に設計されたループとパイプラインを維持します。
- Task Board — 学習タスクをTo do、In progress、Doneで管理できます。メモ、ドラッグ&ドロップやキーボードで操作できる移動ボタン、復元可能なアーカイブを備えます。カードは現在のワークスペースに保存され、既存の外観と言語の設定に従います。モデル設定は不要です。
- 接続された学習コンテキスト — 知識ベース、本、学習ノートブックのページ、Favorites、問題バンク、ペルソナ、Memoryは、アカウントのグラントと学習ポリシーに従い、それらをサポートするワークフロー間で再利用できます。
- 没入型動画学習 — YouTubeやBilibiliのリンクをReadingに追加すると、ネイティブ再生、文字起こしの検索、タイムスタンプに基づく個別指導、ノートの保存、再開可能な進捗を利用できます。YouTubeの字幕取得と動画の閲覧には、管理者が設定したInvidiousインスタンスを使用できます。
- サブエージェントとPartners — Chatからライブエージェントハーネス(Claude Code、Codex、Grok CLI、Antigravity、Kimi、opencode、MiMo、Hermes、OpenClaw、DeepSeek)またはPartnerに相談し、過去の会話をインポートし、同じブレインで永続的なIMコンパニオンを実行できます。
- マルチエンジン知識 — LlamaIndex、PageIndex、GraphRAG、LightRAG、リモートのLightRAG Server、セルフホストのWeKnora知識ベース、Tencent IMAまたはMarginNote 4ライブラリ、接続されたKiwix ZIMアーカイブ、あるいはリンクされたObsidianボールトにまたがるバージョン管理されたRAGライブラリ(プラグ可能なドキュメント解析付き)。独立した抽出・クエリ・ビジョン設定、デフォルトのみの作成、確認付き再構築についてはネイティブLightRAGロールモデルを参照してください。
- 拡張可能なツールとスキル — 組み込みツール、MCPサーバー、CLIアプリ、画像/ビデオ/音声生成モデル、EduHubからインストール可能なコミュニティスキル。
- 検査可能なメモリ — L1トレース、L2サーフェスサマリー、L3合成によりパーソナライズが可視化・編集可能となります。Memory GraphはL2の事実をL1の証拠に、L3の合成を寄与したサーフェスに結び付けます。
次のプロンプトを、ターミナルを操作できるAIエージェント(CodexやClaude Codeなど)にコピーしてください:
Help me install and configure the current dev version of DeepTutor from https://github.com/HKUDS/DeepTutor.
Clone the dev branch, or inspect and reuse my existing checkout, and read SKILL.md and
docs-for-dev/AGENT_SETUP.md first. Follow that guide to prepare the environment,
configure my model provider, verify the setup, and start the Web app.
Ask me for any missing provider, model, or credential-source information;
do not print API keys. Preserve my existing files and settings, and finish
with the access URL and the results of your checks.
エージェントセットアップガイドは、対話なしでのCLI設定を含む一連の手順を説明しています。自分でインストールする場合は、以下の方法から選んでください。
DeepTutorは4つのインストールパスを提供しています。どれも同じランタイムホームのレイアウトを共有します。プライベート設定は、起動元のディレクトリ(または明示的に設定した場合はDEEPTUTOR_HOME / deeptutor start --home)配下のdata/user/settings/に保存されます。ストレージの全体構成、データベースのサポート、バックアップの注意点についてはローカルデータの永続化をご覧ください。フルアプリの場合、推奨されるフローは ランタイムホームディレクトリの選択 → インストール → deeptutor init → deeptutor start です。
Dockerがまだインストールされていない場合は、まずDockerをインストールしてください。その後、PythonやNode.jsを設定せずにフルアプリを試せます。
docker run --rm --name deeptutor \
-p 127.0.0.1:3782:3782 \
-v deeptutor-data:/app/data \
ghcr.io/hkuds/deeptutor:latesthttp://127.0.0.1:3782を開き、Settings → Providersでモデルプロバイダーを設定してください。終了するにはCtrl+Cを押します。名前付きのdeeptutor-dataボリュームに、次回の実行に向けて設定とローカルデータが保持されます。
コンテンツワークスペースは、DeepTutorのプライベートなランタイムホームとは別のものです。エージェントが読み取れるフォルダで、生成ファイルはoutputs/<capability>/<session>/<turn>/に置かれます。カスタムワークスペースでは、会話、学習教材、進捗、キャッシュが、ファイルツールから参照できないプライベートな.deeptutor/data/ツリーに分離されます。設定、認証情報、Memoryは引き続きアカウント単位で共有されます。
設定しない場合、コンテンツワークスペースは<runtime-home>/data/user/workspaceになります。ローカルのPyPI、CLI、ソースインストールでは、Settings → Workspacesでフォルダを選択できます。デフォルトのフォルダは次のコマンドで設定します。
deeptutor workspace show
deeptutor workspace set /absolute/path/to/my-folder
deeptutor workspace reset各機能は、組み込みのワークスペースツールを通じて選択されたワークスペースを検査します。モデルが受け取るのはoutputs/...のような相対パスのみです。workspace_presentを使用すると、UIは認証済みの開けるスナップショットをレンダリングします。同じ正確な相対パスは、通常のMarkdownリンクや画像でもそのまま機能します。後で元のファイルを変更しても、すでに提示されたスナップショットは変わりません。
Learning Spaceはリソースライブラリを管理します。Settings → Workspacesで各ワークスペースにSkills、MCPサービス、知識ベースを割り当てるか、既存のアクセスルールを維持できます。既存のワークスペースは、選択を保存するまで現在のアクセス権を保持します。割り当ては元のリソースを参照し、認証情報や知識インデックスをコピーしません。ワークスペース固有のスキルは共有版を上書きできます。ワークスペースのリソース割り当てを参照してください。
実行はoutputs/の外では読み取り専用です。生成されたファイルをコンテンツワークスペース内の別の場所にコピーするには、その正確なコピー元とコピー先について明示的なAllow onceの確認が必要です。利用可能な場合はシステムサンドボックスまたはDocker runnerがこの境界を強制します。ローカルの制限付きサブプロセスフォールバックは、Workspace設定でbest effortとして表示されます。
オプション1 — PyPIからインストール · クローン不要のフルローカルWebアプリ + CLI
1.7.0のモジュール式インストール: WebアプリとCLIにはdeeptutor[full]を、コアのチャットにはdeeptutorを使用します。機能モジュールはコアと同じバージョンである必要があります。1.6.15以前は従来のパッケージ構成を使用します。現在のdevで開発する場合は、以下のソースインストール手順を使うか、ローカルwheelをビルドしてください。Python 3.11–3.14とPATH上の**Node.js 20+**ランタイムが必要です(パッケージ済みのNext.jsスタンドアロンサーバーはdeeptutor startによって起動されます)。
mkdir -p my-deeptutor && cd my-deeptutor
pip install -U "deeptutor[full]"
deeptutor init # prompts for ports + LLM provider + optional embedding/search
deeptutor start # starts backend + frontend; keep the terminal opendeeptutor initはバックエンドポート(デフォルト8001)、フロントエンドポート(デフォルト3782)、LLMプロバイダー / ベースURL / APIキー / モデル、Knowledge Base / RAG用のオプション埋め込みプロバイダー、およびWeb Search用のオプション検索プロバイダーを設定します。
1.7.0へのアップグレード: アプリを停止し、ランタイムホームをバックアップしてください。python -m pip install --upgrade "deeptutor[full]==1.7.0"を実行し、その後python -m pip checkとdeeptutor module listで確認します。従来のdeeptutor-cliパッケージがインストールされている場合は、先にpython -m pip uninstall deeptutor-cliを実行してからアップグレードコマンドを実行してください(必要に応じてdeeptutor-cli==1.7.0も追加します)。旧CLIは共有Pythonファイルを所有するため、同じ処理でアップグレードすると新しいコアのファイルを削除する場合があります。パッケージをアンインストールしてもランタイムホームのデータは保持されます。同じDEEPTUTOR_HOMEと既存の設定を使用してください。1.7.0では、単なるpip install -U deeptutorはコアのみを選択します。フルアプリのインストールプロファイルを指定するには[full]を使用してください。ローカルでビルドしたパッケージについては、ローカルwheelのアップグレード手順を参照してください。
deeptutor start後、ターミナルに出力されたフロントエンドURLを開いてください(デフォルトはhttp://127.0.0.1:3782)。そのターミナルでCtrl+Cを押すとバックエンドとフロントエンドが両方停止します。手軽に試すためにdeeptutor initをスキップしても問題ありません。アプリはデフォルトのポートと空のモデル設定で起動し、後からSettings → ProvidersとLanguage modelsで設定できます。
ブラウザのマイク音声の文字起こし: OpenAI互換のSTTアダプターは、ブラウザの音声をローカルで変換せずにプロバイダーへ転送します。ネイティブのDashScopeとVolcengineのSTTアダプターは、ブラウザのWebM/Opusを16 kHz WAVに変換するため、DeepTutorのPATH上にffmpeg実行ファイルが必要です。標準形式の16 kHzモノラルPCM WAVでは、この変換は行われません。WindowsのPyPIインストールでいずれかのネイティブアダプターを使用する場合は、FFmpegをインストールし、そのbinディレクトリをサービスのPATHに追加してからDeepTutorを再起動してください。変換に失敗した場合は、チャット入力欄の下にエラーが表示されます。
オプション2 — ソースからインストール · チェックアウトに対して開発
チェックアウトに対して開発する場合。CIとDockerに合わせてPython 3.11–3.14とNode.js 22 LTSを使用してください。
git clone --branch dev 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 -r requirements/full.txt
python -m pip install -e . --no-deps
( 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
python scripts/install_extras.py rag-lightrag # Built-in LightRAG engine (exact supported SDK)
python scripts/install_extras.py graphrag # Microsoft GraphRAG engine (Python 3.11–3.13)
python scripts/install_extras.py dev # tests/lint tools
python scripts/install_extras.py partners # Partner IM channel SDKs
python scripts/install_extras.py video-learning # captions for reading/video-learning
python scripts/install_extras.py matrix # Matrix channel without E2EE/libolm
python scripts/install_extras.py matrix-e2e # Matrix E2EE; requires libolm
python scripts/install_extras.py math-animator # Manim addon; requires LaTeX/ffmpeg/system libs
python scripts/install_extras.py edge-tts # Optional free speech provider and video-lesson narrationVideo Lesson: チャットでVideo Lessonを選択するか、deeptutor run video_lesson "Explain a concept"を実行します。バックエンドにはNode.js 22+とnpmが必要です。初回使用時に、バージョン固定されたRemotionパッケージとWebAssemblyのJavaScriptインタープリターがダウンロードされます。Dockerは不要です。フレームの検証は、ホストのファイルシステム、認証情報、ネットワーク、プロセスAPIへのアクセスを持たないインタープリター内で、メモリと実行の制限下で行われます。キャンセルするとビルドプロセスが停止します。ローカルとコンテナのデプロイメントは同じ実行経路を使い、サンドボックスなしのフォールバックはありません。生成されたレッスンはブラウザで再生でき、オプションのナレーションを利用できない場合は字幕が表示されます。
フロントエンド依存関係の調整とdevサーバーのトラブルシューティング
フロントエンド依存関係の変更: npm install --legacy-peer-depsを実行してweb/package-lock.jsonを更新し、web/package.jsonとweb/package-lock.jsonの両方をコミットしてください。
devサーバーが動かない場合: deeptutor start --devが応答しない既存のフロントエンドを報告する場合は、表示されたPIDを停止してください。実際にNext.jsプロセスが実行されていない場合、ロックファイルが古くなっています — それらを削除して再試行してください:
rm -f web/.next/dev/lock web/.next/lock
deeptutor start --devオプション3 — Docker · 自己完結型コンテナ1つ
フルWebアプリ用のコンテナ1つ。GitHub Container Registryのイメージ:
ghcr.io/hkuds/deeptutor:latest— 最新の安定版リリースghcr.io/hkuds/deeptutor:<version>— 先頭のvを除いた正確なリリース(例::1.6.3)。プレリリースにはそのバージョンタグのみが付与されます
ポッドマン/rootless/読み取り専用rootfsデプロイメントと完全なインストール別ガイドについては CONTAINERIZATION.md を参照してください。
docker run --rm --name deeptutor \
-p 127.0.0.1:3782:3782 \
-v deeptutor-data:/app/data \
ghcr.io/hkuds/deeptutor:latestホスト側のコンテンツフォルダをコンテナ起動時に選択するには、それを安定したコンテナパスにマウントし、DeepTutorをそのパスに固定します。
mkdir -p "$PWD/deeptutor-workspace/outputs"
docker run --rm --name deeptutor \
-p 127.0.0.1:3782:3782 \
-v deeptutor-data:/app/data \
-v "$PWD/deeptutor-workspace:/workspace" \
-e DEEPTUTOR_WORKSPACE_ROOT=/workspace \
-e DEEPTUTOR_WORKSPACE_ALLOWED_ROOTS=/workspace \
ghcr.io/hkuds/deeptutor:latestComposeの場合は、python scripts/docker_compose.py up -dを実行する前にDEEPTUTOR_WORKSPACE_HOST=/absolute/host/folderを設定してください。省略した場合は./data/user/workspaceが使用されます。Dockerのパスは起動時に選択されるため、Web設定ページではロックされた状態で表示されます。
公開が必要なのは
3782のみです。 ブラウザはフロントエンドオリジンのみと通信し、Next.jsミドルウェア(web/proxy.ts)が/api/*と/ws/*をコンテナ内部のFastAPIバックエンドに転送します。8001を公開(-p 127.0.0.1:8001:8001)するのはオプションで、curlやスクリプトでAPIに直接アクセスする場合にのみ便利です。
http://127.0.0.1:3782を開いてください。コンテナは初回起動時に/app/data/user/settings/*.jsonを作成します。Web Settingsページからモデルプロバイダーを設定してください。設定、APIキー、ログ、デフォルトのContent Workspace、メモリ、知識ベースはdeeptutor-dataボリュームに永続化されます。別途マウントされたContent Workspaceは、代わりにそのホストパスに永続化されます。オプションのエクストラはシェルではなくデプロイメント自体に属します: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ボリュームは、再起動をまたいでプライベートなランタイムデータとデフォルトのContent Workspaceを保持します。別途マウントされたContent Workspaceは、そのホストパスに永続化されます。
リモートDocker / リバースプロキシ: ブラウザはフロントエンドオリジン(:3782)のみと通信します。コンテナ内のNext.jsミドルウェアが/api/*と/ws/*をバックエンドサーバーサイドに転送します。一般的な単一コンテナの場合、APIベースをまったく設定しません — リバースプロキシ/TLS終端を:3782に向けるだけです。APIベースが必要なのは分割デプロイメント(バックエンドが別のコンテナ/ホスト)のみです:data/user/settings/system.jsonのnext_public_api_baseをフロントエンドサーバーがバックエンドに到達するためのネットワーク内アドレスに設定してください(サーバーサイドで読み取られ、ブラウザには送信されません)。
{
"next_public_api_base": "http://backend:8001"
}next_public_api_base_external(およびそのエイリアスpublic_api_base)は低優先度のフォールバックとして受け入れられます。CORSはAPIのURLではなくフロントエンドのオリジンを使用します。認証が無効の場合、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:latestSettings → ProvidersでプロバイダーのBase 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)は通常--add-hostなしでhost.docker.internalを解決します。Linuxでは、このフラグが最新のDocker Engineでそのホスト名を作成するポータブルな方法です。
Linuxの代替 — ホストネットワーキング: --network=hostを追加して-pフラグを削除します。コンテナはホストネットワークを直接共有するため、http://127.0.0.1:3782(またはsystem.jsonのfrontend_port)を開き、ホストサービスにはhttp://127.0.0.1:11434/v1のような通常のlocalhostのURLでアクセスできます。ホストネットワーキングはコンテナのポートをホスト上に直接公開し、既存のサービスと競合する可能性があります — それらをループバックに保つにはBACKEND_HOST=127.0.0.1とFRONTEND_HOST=127.0.0.1を設定してください(CONTAINERIZATION.md参照)。
オプション4 — CLIのみ · ソースチェックアウトからWeb UIなし
Web UIが不要な場合は、このチェックアウトのCLIを使用し、Node/npmのセットアップを省略できます。ソースはチェックインされたすべてのモジュールを公開するため、それらのPython依存関係が必要です。1.7.0のモジュール式リリースで最小構成をインストールするには、コアのdeeptutor wheelを使用し、機能モジュールを別途追加してください。
git clone --branch dev 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 -r requirements/full.txt
python -m pip install -e . --no-deps
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 # interactive REPL
deeptutor chat --capability deep_solve --kb my-kb
deeptutor run chat "Explain Fourier transform"
deeptutor run deep_solve "Solve x^2 = 4" --kb my-kb
deeptutor kb create my-kb --doc textbook.pdf
deeptutor memory show
deeptutor config showこのソースインストールにはサーバーの依存関係が含まれますが、フロントエンドのセットアップは省略します。編集可能インストールはチェックアウトを参照するため、チェックアウトは保持してください。後からWeb UIを追加するには、Node.js 22 LTSをインストールし、web/でnpm ci --legacy-peer-depsを実行してから、プロジェクトルートでdeeptutor initとdeeptutor startを実行してください。
コード実行サンドボックス(オフィススキル) · docx / pdf / pptx / xlsx 用にモデル生成コードを実行
組み込みオフィススキル — docx / pdf / pptx / xlsx — は、モデルが短いPythonスクリプト(python-docx、reportlab、openpyxlなど)を書き、単一のexecツールで実行し、保存されたワークスペースファイルを提示することで機能します。このツールはサンドボックスバックエンドがアクティブなときにマウントされます。DeepTutorは、設定済みのバックエンドから次の順序で最も強力なものを選択します:
- Runner sidecar:
DEEPTUTOR_SANDBOX_RUNNER_URLは、実行をDockerfile.runnerのハードニングされた最小権限サービスにルーティングします。 - Linux bubblewrap: 利用可能な場合、
bwrapがプロセスとファイルを分離します。 - 制限付きサブプロセスフォールバック: ローカルおよび単一コンテナのインストールでは、許可されている場合にのみ使用されます。Dockerでは、コンテナ自体も別の境界として機能します。
data/user/settings/system.jsonのsandbox_allow_subprocess設定(デフォルトtrue)が制御するのは、最後のフォールバックだけです。Runnerまたはbwrapバックエンドが利用できない場合にサブプロセス実行を拒否するには、falseに設定するかDEEPTUTOR_SANDBOX_ALLOW_SUBPROCESS=0をエクスポートしてください。より強力なバックエンドは無効になりません。
設定リファレンス — data/user/settings/下の設定ファイル(JSON/YAML)
data/user/settings/以下のものはすべてプレーンなJSON/YAMLです。Settingsページが推奨エディターです。ワークスペースの登録情報は別途data/user/.runtime/workspaces.sqlite3に保存されます。
| ファイル | 目的 |
|---|---|
model_catalog.json |
プロバイダー接続に加え、LLM、タスク、埋め込み、検索、TTS、STT、画像、動画の各プロフィール、認証情報、アクティブな選択 |
system.json |
バックエンド/フロントエンドポート、公開APIベース、CORS、SSL検証、添付ファイルディレクトリ、アップロード/抽出の上限 |
auth.json |
オプション認証トグル、ユーザー名、パスワードハッシュ、トークン/クッキー設定 |
integrations.json |
オプションのPocketBaseとサイドカー統合設定 |
interface.json |
UIの言語とモデル出力言語/テーマ/サイドバー設定 |
document_parsing.json |
解析エンジンと画像説明モデルの選択、リモートエンドポイント、エンジン固有のオプション |
video_learning.json |
YouTube字幕プロバイダー、Invidiousオリジンとアカウントアクセス、文字起こし設定 |
main.yaml |
ランタイム動作のデフォルトとパス注入 |
agents.yaml |
機能/ツールのtemperatureとトークン設定 |
デフォルトでWeb Searchの参照先はフィルタリングされます。埋め込み認証情報や通常でないポートを含まない、公開http/https URLのみが表示されます。デプロイメントでは、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はアプリケーション設定ファイルとして読み込まれません。最小限のモデル設定では、Settings → ProvidersにBase URLとAPIキーを保存し、Language modelsでLLMを追加して選択してください。Knowledge Base / RAG機能を使用する予定がある場合のみ埋め込みプロフィールを追加してください。
API Routeを使う場合は、Settings → ProvidersでAPI Routeを選択し、API Routeのキーを入力します。プリセットのURLはhttps://global.api-route.com/v1です。その後、Language modelsでAPI RouteのモデルIDを指定してモデルを追加してください。キーとモデルの設定については、API Routeクイックスタートを参照してください。
プロバイダーが選択肢をサポートする場合、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は、インストールされたコード、プライベートなランタイムホーム、そしてオプションのContent Workspaceを分離しています。デフォルトでは、ランタイムホームはdeeptutor init / deeptutor startを実行したディレクトリです。--home PATHまたはDEEPTUTOR_HOMEで上書きできます。プライベートなアプリケーション状態は、そのホーム内のdataディレクトリなので、起動バナーのWorkspace:で始まる行を見れば、そのランタイムの場所が分かります。Settings → Workspaceが別のフォルダを指している場合は、そのコンテンツフォルダを個別にバックアップまたは削除してください。DeepTutorのアンインストールによって意図的に消去されることはありません。
-
アプリを停止します。
deeptutor startを実行しているターミナルでCtrl+Cを押すか、--detachで起動したランチャーに対してdeeptutor stop [--home PATH]を実行します。データを削除する前に、実行中のPartnerとデタッチされたDockerコンテナーも停止してください。 -
すべてのローカル状態も消去したい場合のみ、ランタイムデータを削除します。これには、設定とAPIキー、チャット履歴、セッション、Memory、Notebooks、Books、Reading状態、Skills、Partners状態、ログ、Knowledge Bases、解析キャッシュ、生成されたアーティファクト、パッケージ済みフロントエンドのランタイムキャッシュが含まれます。
まず起動バナーから正確な
Workspace:パスをコピーし、そのdata子ディレクトリが意図したDeepTutorデータディレクトリであることを確認します。後で必要になる可能性があるものはバックアップし、その正確なディレクトリをOSのゴミ箱/ごみ箱に移動します。相対パスや未解決の環境変数に対して再帰的な削除コマンドを実行しないでください。 -
インストール済みパッケージを削除します。ディストリビューションに合うコマンドを使用してください:
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
科目やプロジェクト用のワークスペースから始めましょう。そのHome、Learning、Resourcesに、会話、学習活動、教材がまとまります。PartnersとPersonalizationはワークスペースをまたいでアカウントに紐づきます。以下のツアーでは各画面のつながりを紹介し、続いて設定とマルチユーザーデプロイメントを説明します。
回答が以前の制約を失ったり、弱い根拠を引用したり、選択した資料と矛盾したりする場合は、Issueを開く前にREASONING_SAFETY_CHECKLIST.mdに診断情報をまとめてください。
💬 Chat — 実際に使うエージェントループ
Chatはデフォルト機能であり、ほとんどの作業が始まる場所です。1つのスレッドで通常の会話、ツールの呼び出し、選択した知識ベースへのグラウンディング、添付ファイルの読み取り、画像生成、サブエージェントとの相談、ノートブックレコードの書き込みが可能で、ターンをまたいで同じコンテキストを維持します。
チューターは必要に応じてツールを呼び出し、確認の質問をするために一時停止できます。右上のCustomize pageで、表示するモードと、Skills、MCP、Partners、Preferences、音声入力の各コントロールを選択します。Starting promptsでは、Explain、Solve、Practice、Plan、Researchのタイトルとプロンプトを追加、編集、削除できます。Saveはアカウントの設定を適用し、Cancelは編集を破棄し、Restore defaultsは元の選択に戻します。
ユーザーが切り替えられるツールはbrainstorm、web_search、paper_search、zotero_search、reason、geogebra_analysis — 加えて、対応する生成モデルを設定すればimagegenとvideogenも利用できます。rag、kb_files、knowledge_frontier、read_source、read_memory、write_memory、read_skill、load_tools、exec、web_fetch、ask_user、list_favorites、save_favorite、write_note、search_notes、question_bank、github、consult_subagent、workspace_list、workspace_read、workspace_search、workspace_present、workspace_exportなどのコンテキスト依存ツールは、ターンに適切なコンテキストがある場合に自動的にマウントされます。
コンテキストには2種類あります:スティッキーセッションコンテキスト(機能、ワークスペースまたはコース、ツール、知識ベース、ペルソナ、モデル、Reading / Masteryの状態)はターンをまたいで持続します。ワンタイム参照(ファイル、チャット履歴、本、読書セクション、ノートブック、問題バンクから選択した項目、インポートしたエージェント)は単一のターンのために+メニューから追加します。音声ボタンが文字起こしするのは現在のメッセージだけです。
フルプロファイルでは、HomeからChat、Ask Questions、Quiz、Visualize、Video Lessonにワンクリックでアクセスできます。引用付きレポートのResearchと手順を追った推論のSolveはその他の機能の下にあります。All learningの上にあるLearning → New learningは、Book、Mastery Path、Immersive Reading、Practice専用のページを開きます。そのCustomize pageコントロールで、既存のレコードを変更せずに学習方法を非表示にしたり復元したりできます。利用できないモジュールは引き続き除外されます。Readingは文書、動画、音声をまとめ、検証済みの引用、保存したノート、ソースの文章 / 学習ガイダンス / 語彙 / クイズ / 翻訳アクションからの自然な読み上げ、ノートブックへの取り込みを提供します。
🤝 Partner — 同じブレインで動く永続コンパニオン
Partnersは独自のソウル、モデルポリシー、ライブラリ、メモリ、チャンネルを持つ永続コンパニオンです。別個のボットエンジンではありません。ウェブまたはIMからの受信メッセージは、パートナースコープのワークスペース内の通常のChatOrchestratorターンになります。Partnerは「個性を持ったチャットであり、電話番号を持っている」存在です。
各PartnerにはSOUL.md、モデル選択、チャンネル、ツールポリシー、割り当てられたライブラリがあります。ライブラリは知識ベース、スキル、Favoritesコレクションをdata/partners/<id>/workspace/にコピーするか、既存のワークスペースのファイルとリソースにリンクしたまま利用できます。ソウル、会話、Partnerのメモリは独立したままです。認証済みの非管理者ユーザーは、非公開のPartnerセッションと関係メモリを維持し、Partnerはそのユーザーの個人メモリを読み取り専用で参照します。管理者、グループ、未バインドのトラフィックは共有Partnerスコープを使用します。
チャンネル層はスキーマ駆動で、インストール済みエクストラと設定された認証情報に応じて、Feishu、Telegram、Slack、Discord、DingTalk、QQ/NapCat、WeCom、WhatsApp、Zulip、Mattermost、Matrix、Mochat、Microsoft Teamsなどのプラットフォームに接続できます。PartnerはサブエージェントとしてMy Agentsに接続でき、通常のチャットターンから相談できます。詳細は以下のMy Agentsを参照してください。
セットアップを高速化するため、Partnerチャンネルページはサーバーログではなくブラウザに描画されたQRコードのスキャンから、Feishu/Larkアプリの作成、WeCom AIボットの作成、または個人のWeChatアカウントのサインインを行えます。Feishu/Larkはアカウントドメインを検出し、スキャンしたユーザーを初期許可送信者として保存します。WeComは既存の許可リストを保持し、それ以外の場合はボットに到達できるすべてのユーザーをデフォルトで許可します(目に見えるオープンアクセス警告付き)。プロバイダーのスキャンプロトコルが変更された場合に備え、手動のチャンネルフォームも引き続き利用できます。
🧑🚀 My Agents — 他のエージェントと相談・インポート
My Agentsは他のエージェントをDeepTutorのコンテキストにし、2つの異なることを行います。ライブエージェントを接続 — マシン上のClaude Code、Codex、Grok CLI、Antigravity、Kimi、opencode、MiMo Code、Hermes Agent、OpenClaw、DeepSeek Harness、リモートのHermesゲートウェイ、または自分のPartnersのいずれか — してチャットターン内から相談できます。DeepTutorは実際に他のエージェントを実行し、consult_subagentツールを介してその作業をActivityパネルにストリーミングします。Agentチップでエージェントとラウンド上限を選択するか、@で同じ接続済みエージェント一覧を絞り込め、選択内容はセッションに紐づいたまま保持されます。
Grok CLIを接続する。 DeepTutorバックエンドを実行しているマシンにxAIのGrok CLIをインストールし、そこでgrok loginを実行して、grok --helpが--output-format streaming-jsonを一覧に含むことを確認してください。続いてMy Agents → Connectを開き、Grok CLIを選択して、作業ディレクトリを選びます。検出処理は実行ファイルのプロトコル対応をチェックするだけで、ログインやモデルへのアクセス権を検証するものではありません。このコネクタはGrok CLI 1.0.3で検証済みです。同名grokの無関係なサードパーティ製コマンドはサポートされません。
Settings → Partners & Agents → Grok CLIでは、モデルと推論努力度を空欄のままにするとCLIのデフォルトが使われます。値を入力する場合は、お使いのアカウントのgrok models出力がサポートするものを指定してください。システム指示は--rulesを通じて渡されます。デフォルトの権限モードはdontAskです:Grokは既存のルールと組み込みの読み取り専用処理を使用し、承認が必要な操作は拒否します。これはCLIの権限ポリシーであり、ファイルシステムのサンドボックスではありません。より広いモードは設定で明示的に選択できます。高度なCLIフラグはサブエージェント設定APIのbackends.grok.extra_argsから引き続き利用できます。
Grokは自身の認証とセッションストレージを使用し、DeepTutorはその認証情報をコピーしません。追加の相談は同じ作業ディレクトリでその接続のセッションを再開します。テキストとツールのアクティビティはライブでストリーミングされますが、非公開の思考ペイロードは省略されます。クロスセッションのGrokメモリはデフォルトで無効です。このコネクタはテキストによる質問とCLIツールをサポートしますが、画像の転送や過去のGrok会話のインポートはサポートしません。Dockerでは、Grokはバックエンドコンテナ内にインストールして認証してください — ブラウザ側のマシンにのみインストールされたCLIには到達できません。
過去の会話をインポート — 既存のChatGPT、Claude Code、Codexの履歴を検索可能、再開可能な会話として取り込みます。安全でべき等なスナップショットインポートを行うには、公式のChatGPTデータエクスポートからconversations.jsonを選択します。Claudeの履歴はプロジェクト / 作業ディレクトリ単位、Codexの履歴はカレンダーの日付単位で選択します。フォルダベースのエージェントは引き続き更新可能で、選択したスコープに新しい会話を取り込めます。Chatターンから+ → My Agentsで会話を参照でき、DeepTutorはそれをサードパーティのトランスクリプトとして読み取ります — それはDeepTutor自身の声ではなく、相手の会話として保持されます。
✍️ 学習ノートブック — ページ、ソース、Dito
学習ノートブック(旧Co-Writer)は、アクティブなワークスペース内で、自分の文章をページ、サブページ、ブロックに整理します。Word文書のインポート、ページツリーの整理、Favoritesの元のレコードの根拠としての挿入ができます。各ページには保存状態が常に表示され、MarkdownまたはWordにエクスポートできます。インタラクティブなコンテンツはWordでは静的な内容になります。
Ditoと文章やブロックについて話し合い、説明、例、書き直し、練習問題を依頼できます。会話は関連するページと行に紐づいたまま保持されます。提案された変更を確認してから受け入れるか、回答を行の下に挿入して作業を続けられます。Favoritesには元のレコードを保存し、ノートブックでは自分の理解を組み立てていきます。
📖 Book — 素材から生きている本を作成
Bookは選択したソースをインタラクティブな生きている本に変換します。静的なPDFではなく、タイプ指定されたブロックから構築された読書環境です。知識ベース、Favorites、問題バンク、チャット履歴から本を開始できます。作成フローではコンテンツが生成される前に章のアウトラインを提案するため、盲目的な一発生成を受け入れるのではなく、構造を確認できます。
各章は編集可能なタイプ指定ブロックにコンパイルされます — テキスト、コールアウト、クイズ、フラッシュカード、タイムライン、コード、図、インタラクティブHTML、アニメーション、概念グラフ、詳細解説、ユーザーノート — それぞれにPage Chatがあります。ブロックの挿入、移動、再生成、書き直し、種類の変更ができ、選択した箇所は確認可能な学習キャプチャの受信トレイに入ります。管理者の本が読み取り専用または共同編集用に共有されていても、進捗、ブックマーク、クイズの受験結果、学習キャプチャ、Page Chatは読者ごとに非公開のままで、共有された本を削除できるのは管理者だけです。どの本もMarkdownにエクスポートでき、長時間のコンパイルは一時停止と再開が可能です。deeptutor book health / refresh-fingerprintsはソースのドリフトにフラグを立てます。
📚 Knowledge Center — マルチエンジンRAGライブラリ
知識ベースはRAGの背後にあるドキュメントコレクションです — Chatターン、学習ノートブックの編集、Book生成、Partnerの会話をグラウンドします。特徴的なのは検索エンジンの選択です:LlamaIndex(デフォルト、ハイブリッドなベクター + BM25。オプションでクロスエンコーダー再ランキングとexact-flatまたはHNSW FAISSインデックスを利用可能)、PageIndex(ページレベル引用付き推論検索、ホスト型またはセルフホストOSS)、GraphRAGとLightRAG(知識グラフ検索)、LightRAG Server(HTTP経由で接続する外部LightRAGインスタンスに検索をオフロード)、WeKnora(ローカルインデックスやドキュメントコピーを作らず、セルフホスト環境の知識ベースから検索)、Tencent IMA(IMAでキュレートするライブラリで、そのOpenAPI経由で検索・閲覧・書き戻しが可能)、MarginNote 4(あなたのMN4学習データ — ドキュメント、抜粋、マインドマップカード、およびそれらの間のリンク — がアプリのアドオンによって取り込まれ、専用ツールでナビゲートできます)、Kiwix(HTTP経由で提供される検索可能なZIMアーカイブ。ローカルでのインデックス作成は不要)、またはチューターがその場で読み書きするリンクされたObsidianボールト。各KBは1つのエンジンにバインドされます。
既存のObsidian、Hermes、Markdownライブラリを移行する場合は、接続ボールトとインデックス付きコピーの手順をKnowledge migration guideで確認してください。
KBを作成する際は、新規作成(ドキュメントをアップロードしてインデックスを構築)、既存をリンク(既存のインデックスをその場で再利用)、またはKiwixに接続(提供中の1つのZIMアーカイブをオンデマンドで検索)を選べます。作成時に保存先ワークスペースを選択します。既存のKBも、プレビューで確認した後に、割り当てと保存済みの参照を維持したままワークスペース間で移動できます。KBはGitHubリポジトリ(リポジトリ、ブランチ、glob)またはドキュメントサイトのURL(クロール深度とページ数に上限あり、デフォルトで24時間ごとに再同期)も追跡できます。同期はコンテンツのハッシュ差分から追加・変更・削除を検出するため、フォローしているドキュメントを再アップロードなしで最新の状態に保てます。リンクされたフォルダは同期時にローカルの新規・変更ファイルを取り込みます。再インデックスは新しいフラットなversion-Nディレクトリを書き込み、以前のものを保持するため、再構築中に作業中のインデックスが破壊されることはありません。解析に失敗したファイルを完全な削除・再構築なしで取り除けるよう、error状態のベースからでも単一のドキュメントを削除できます。ドキュメント解析(Text-only、MinerU、Docling、Tika、markitdown、PyMuPDF4LLM、LiteParse)とオプションの画像説明モデルはSettings → Knowledge & documentsで選択し、ローカルモデルのダウンロードはデフォルトでオフです。Docling は、Docling Serve サーバーに対してremoteモードで実行することもできます(ローカルインストールやモデルは不要)。この設定は同じページ(mode=remote、サーバーのベースURL、オプションのAPIキー)または DOCLING_MODE / DOCLING_API_BASE_URL / DOCLING_API_TOKEN 環境変数で行います。Tikaはリモート専用で、そのページに設定したApache Tikaサーバーを参照します。CLIはlist/info/create/connect-kiwix/add/search/eval/eval-diff/set-default/delete、ソースの追加/削除コマンド、list-sources、syncでライフサイクルをミラーします。
組み込みLightRAGエンジンはpip install 'deeptutor[rag-lightrag]'でインストールします。このエクストラにはサポート対象のLightRAG SDKが含まれますが、MinerUはインストールしません。構造化解析が必要な場合は、Document ParsingでMinerUを個別に選択し、クラウドモードを設定するか、現在のローカルCLIをインストールしてください。MinerUはPDF、一般的なラスター画像、DOCX、PPTX、XLSXを受け付けます。従来のmagic-pdfコマンドは引き続きPDFのみです。テキストのみおよびその他の解析エンジンはMinerUを必要としません。
ネイティブLightRAGのクエリとインクリメンタルインデックス作成には、モデル、次元、エンドポイントの識別情報を含む、公開されたインデックスに記録された埋め込み設定が必要です。これが変更された場合は、元の設定を復元するか、現在の埋め込みで再構築してください。埋め込みの識別情報が記録されていないインデックスは再構築が必要です。知識ベース詳細ビューとインデックスバージョンビューには復旧ガイダンスが表示され、ファイルは引き続き閲覧・ダウンロードできます。
知識ベースの採点。 複数のエンジンが利用できるなか、「この資料ではどれが最もよく検索できるか」は実測で判断する問題です。その答えを得るのがdeeptutor kb evalです。QAセット(1行に1つのJSONオブジェクト:queryと、理想的な検索結果に含まれるべきgoldの文章)を作成し、deeptutor kb eval <name> --dataset qa.jsonl --top-k 5 [--mode hybrid] [--save baseline.json]でKBを採点します。各ケースはチャットターンと同じ経路で検索され、順位付きの引用が完全一致または語彙の重なりで正解の文章と照合されます(しきい値は--min-ratioで調整でき、意味的な同等性は評価しません)。実行結果にはRecall@k / Precision@k / nDCG@k / MRR / MAP / Hit@kが報告されます。指標は順位だけを入力とする純粋関数で、モデルによる出力の判定はありません。保存したレポートをdeeptutor kb eval-diff baseline.json candidate.jsonで比較すると、指標ごと・ケースごとの変化が分かります。kb evalで--rewrite offまたは--rewrite standaloneを指定すれば、元のクエリと書き換えたクエリを比較できます。レポートにはクエリ書き換えの来歴も記録されます。インデックスの欠落や不正な認証情報などで検索に失敗したケースにはスコアを付けず、平均を引き下げる代わりに個別に報告します。PageIndexは推論によって検索し、順位付きのチャンクを返さないため、対象外です。
{"query": "Why do transformers scale attention?", "gold": ["Scaling keeps the dot products from growing with the dimension."]}🌐 ResourcesとPersonalization — 教材と再利用可能な支援
Resourcesは、Chat History、レコードの移動とMarkdownエクスポートに対応したFavorites、Learning journal、Knowledge Center、回答と解説を備えた問題バンクをまとめます。問題バンクで選択した項目、またはLearning → PracticeからPracticeを開始して、復習セッション、間違いの記録、定期的な反復学習を行えます。独立したPersonalizationページにはペルソナ、スキル(SKILL.mdプレイブック)、ワンクリックで導入できるMCP Services、CLI-AnythingカタログのCLI Appsがあり、各アプリの使用ガイドはオンデマンドで読み込まれます。Learningには本、習熟度パス、Readingコレクション、それぞれのチューターとの会話がまとまり、各アセットはそれをサポートするワークフローでのみ提供されます。
すべてのスキルを自分で書く必要はありません。EduHubからインポートでコミュニティカタログを参照し、セキュリティゲートを通じてスキルをライブラリに直接ダウンロードできます(エコシステム参照)。
🧠 Memory — 検査可能なパーソナライゼーション
Memoryはファイルバックの3層システムで、読み取り、キュレーション、監査が可能です — 意図的に隠されたベクターストアではありません。L1はワークスペースミラーに加えた追記のみのイベントトレース(trace/<surface>/<date>.jsonl)、L2はL1エンティティへの参照を持つサーフェスごとのキュレートされた事実(L2/<surface>.md)、L3は寄与したL2サーフェスを記録するクロスサーフェス合成(L3/<profile|recent|scope|preferences>.md)です。
Memory Graphはピラミッド全体を表示します — L3合成が中心、L2が中間リング、L1トレースが外側 — 正確なL2 → L1の証拠エッジと、L3 → 寄与サーフェスのリンクを確認できます。Memoryはchat、notebook、quiz、kb、book、partner、cowriterサーフェスで追跡されます。コンソリデーターのUpdate / Audit / DedupバジェットはSettings → Memoryで調整します。
⚙️ Settings — ワンコントロールプレーン
Settingsはオペレーションコントロールプレーンで、最初に表示される一般でインターフェースとモデル出力の言語を設定します。検索可能なナビゲーターから独立した各ページにアクセスできます。個人にはワークスペース、データ移行、外観、使用量統計、学習と会話にはスターティングポイント、添付ファイル、Video Learning、学習者と保護者の管理、Learning progress、Memory、モデルとサービスにはプロバイダー、言語モデル、タスクモデル、埋め込み、検索、音声、マルチモーダル生成、機能と連携にはツール、機能パラメーター、Partners & agents、Knowledge & documentsがあります。システムにはネットワーク、実行状態、Aboutがあり、アーカイブ済みチャットではアーカイブした会話の検索、復元、完全削除ができます。実行状態にはバックエンドの健全性、常駐メモリ、機能の阻害要因・警告・提案を評価するReadinessマトリクスが表示されます。ワークスペースはトピックのファイルと学習状態を分離し、データ移行では検証付きの移行とエクスポートができます。プロバイダーはベンダーのアドレスと認証情報を保持し、そのサービスモデルで再利用します。モデルページでは保存済みプロバイダーを選び、モデル名と機能を設定します。タスクモデルは会話への命名やスターティングポイントの生成などのバックグラウンド作業に小さく高速なモデルを固定し、空欄の場合はアクティブなデフォルトを使用します。音声には音声合成と文字起こし、マルチモーダル生成には画像と動画のモデルがまとまっています。Partners & agentsではローカルハーネスとリモートのHermesゲートウェイを設定します。
Xiaomi MiMoの音声合成。 https://api.xiaomimimo.com/v1とAPIキーを指定してXiaomi MiMoプロバイダーを追加し、Settings → Voiceでmimo-v2.5-ttsを追加します。mimo_default、冰糖、苏打などのプリセットを選び、出力形式をwavまたはpcm16にして、適用前に試聴してください。音声指示でスタイルと読み上げ速度を調整できます。このアダプターはプリセット音声のみをサポートします。音声デザインと音声クローンには別のモデルが必要で、このアダプターでは利用できません。以前のMiMo音声モデルを汎用のOpenAI互換アダプターで設定していた場合は、Xiaomi MiMoプロバイダーを使って音声エントリーを作成し直し、chat-completionsプロトコルを使うようにしてください。MiMo公式音声ガイドを参照してください。
MiniMaxの音声合成 — Settings → Voiceでテキスト読み上げにMiniMaxを選択し、speech-2.8-hdを選びます。MiniMaxのAPIキーを設定し、システム音声を明示的に選択するか、カスタム音声のIDを入力してください。APIベースのデフォルトはhttps://api.minimax.io/v1で、中国リージョンではhttps://api.minimaxi.com/v1を使用します。読み上げと音声プレビューはネイティブの音声エンドポイントを使用し、MP3、WAV、FLAC、PCMの出力形式、サンプルレート、速度、言語を調整できます。音声IDとアカウントでの利用可否については、MiniMax音声APIを参照してください。
Settings → Learning & conversationのVideo Learningでは、Reading用のYouTube字幕とInvidiousへのアクセスを設定します。Invidiousを使用するには、管理者が管理するバックエンドAPIオリジン(例:http://127.0.0.1:3000)とブラウザからアクセスできる公開オリジンを設定し、接続をテストして、Invidiousを選択して保存します。Readingの教材追加ダイアログにあるBrowse Invidiousから動画を検索し、接続済みの登録チャンネルやプレイリストにアクセスできます。YouTubeの再生には公式のプライバシー強化プレーヤーを使用します。字幕がない場合もその状態が表示され、チューターが参照できる根拠は制限されますが、ネイティブ再生は妨げられません。ソースチェックアウトでデフォルトのYouTube字幕ローダーを使用するには、python scripts/install_extras.py video-learningを実行してください。既存のWatchingリンクは、会話履歴、互換性のある文字起こし、ノート、進捗を保持してReadingに移行されます。新しいタイムスタンプ付きノートはReadingの注釈として保存されます。Bilibiliは独自の再生と字幕取得の経路を使用します。
ほとんどのセクションはドラフトと適用フローを使用するため、コミットする前にプロバイダーをテストできます。Chatで直接依頼するだけでも構いません:アシスタントが現在の設定を読み取り、変更を適用し、再起動または再インデックスが必要かどうかを教えてくれます — コミットする前に新しいモデルをプローブするため、到達不能な設定に自分自身を切り替えてしまうことはありません。APIキーがモデルを経由することは決してなく、代わりに該当するフォームを開いてくれます。4つのテーマが箱に入っています:Default、Cream、Dark、Glass。プロジェクトルートの.envファイルは意図的に無視されます。ランタイム設定はDEEPTUTOR_HOMEまたはdeeptutor start --homeでアプリを別の場所に向けない限り、data/user/settings/*.jsonに保存されます。
OpenAI Codex OAuth(実験的)。 Settings → ProvidersでOpenAI Codexを追加すると、あなた自身のChatGPTプランを使うブラウザサインインが開くため、OPENAI_API_KEYは不要です。トークンはdata/system/user-secrets/<owner>/private/openai-codex/にのみ保存されます。マルチコンテナComposeデプロイメントではexecサンドボックスが到達できるどのツリーの外にも置かれ、DeepTutorが~/.codex CLIログインを読み取ったり変更したりすることはありません。モデル一覧はそのアカウントのライブカタログから取得され、サインインでプロフィールは公開されますが、LLMがまだ設定されていない場合にのみアクティブモデルになります。トークンは1人のプランを認可するため、プロフィールをユーザーグラントで共有することはできません。一般ユーザーも含め各アカウントが自分でサインインし、そのサインインカードはProvidersに表示され、結果のモデル、カタログ、サインアウトはそのアカウントだけに閉じます。
サインイン時とRefresh modelsの実行時に、DeepTutorは公式のnpmレジストリから最新の安定版@openai/codexバージョンを読み取り、カタログリクエストのclient_versionとして使用します。これはメタデータのみの処理です:Codex CLI自体をインストール、ダウンロード、アップグレードすることはなく、npmリクエストにOAuth認証情報が含まれることもありません。この検出には3秒のタイムアウトと64KiBのレスポンスサイズ上限があります。失敗した場合、DeepTutorはそのアカウントで最後に成功したバージョンを使用し、キャッシュがない場合は組み込みのフォールバックを使用します。ライブカタログの解析に成功した場合のみ新しいバージョンが保存され、バリデーターはバージョンや認証情報の世代をまたいで再利用されることはありません。バージョンの拒否または非互換なカタログ構造が発生した場合は、以前のバージョンで1回だけ再試行が許可されます。認証エラー、レート制限、TLS障害はバージョンの問題として再試行されません。手動更新が失敗した場合はエラーが報告され、古いキャッシュ済みカタログを更新済みとして提示することはありません。
成功したバージョン履歴は、同一アカウントのトークン更新やカタログ認証エラーをまたいで保持されますが、無効化されたモデルデータやETagが再び使用可能になることはありません。サインアウトすると、バージョン履歴を含むそのアカウントのローカルキャッシュがクリアされます。通常のステータス読み取りと推論はnpmに問い合わせません。新しいカタログエントリは、すでに選択済みのモデルを置き換えたり学習セッションを再起動させたりしません。カタログに登場することは、完全な推論プロトコル互換性を保証するものではありません。バックグラウンドのバージョン更新機能やユーザー向けのバージョン設定はありません。
デフォルトのローカルDockerおよびPodmanデプロイメントは別々のループバックネットワークを使用するため、サインイン中に一時的なブリッジが必要です。正確なDocker、Compose、Podman、および後片付け用のコマンドについては、一時的なローカルCodex OAuthブリッジガイドを参照してください。
リモートデプロイメントでは、ブラウザ側のlocalhostとサーバー側のlocalhostは別のマシンであるため、通常のリバースプロキシだけではブラウザのlocalhostコールバックをサーバーまで運べません。コールバックの橋渡しとしてSSHトンネルを使用してください。トンネルは既に公開されているWebポートに到達します。Next.jsは正確なコールバックパスのみを公開コールバックブローカーに書き換え、ブローカーは元のOAuth操作にルーティングする前にstateを検証します。コールバックリスナーはバックエンドのループバックに留まり、ポート1455と1457は公開されず、このパスはデフォルトのDockerブリッジネットワークをサポートします。
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>実際のコールバックポートに一致するコマンドを1つだけ実行してください。両方を実行しないでください。3782はあくまで例のWebポートです — これはcallback_forward_portとして報告される、設定済みのフロントエンド/コンテナポートです。この値は、同じポートがSSHホストの127.0.0.1でリッスンしていることを保証するものではありません。DockerまたはPodmanが異なるホストポートを公開している場合、あるいはリバースプロキシが別のポートでリッスンしている場合は、右側のターゲットポート(上記の3782)のみを、SSHホストの127.0.0.1で実際にリッスンしているWebポートに置き換えてください。左側のコールバックポートは1455または1457のまま保ってください。<server-host>は、そのリッスンポートのループバックを所有するSSHホストです。ブラウザのURLがリバースプロキシやロードバランサーの名前を示している場合は、正しいSSHフロントエンドホストに置き換えてください。
CLIはトンネルコマンドを出力した直後にブラウザを開こうとします。リモートデプロイメントでは、認可ページを完了せずに開いたままにし、別のターミナルで出力されたトンネルを確立してから、認可を続行してください。
リモートトポロジー検出にはlocalhostの境界があります。Webアプリ自体がSSHやIDEのlocalhostフォワード経由でアクセスされている場合、ブラウザはサーバーがリモートであることを判別できません。現在のWeb操作については、その認可ページを完了させないままにし、その操作の認可URLのredirect_uriを読み取ってコールバックポート1455または1457を特定し、そのローカルポートから実際のWebポートへ2本目のトンネルを作成してください。あるいは、そのWeb操作をキャンセルしてCLIで新しい操作を開始してください。CLIの出力は新しい操作に属するものであり、既存のWeb操作には使用できません。クォータエラーとカタログの失敗はそのまま報告され、有料プロバイダーへのフォールバックは決して行われません。この互換性パスは実験的です:上流のインターフェースは変更される可能性があります。
👥 マルチユーザー — 共有デプロイメント · オプション認証、分離されたユーザーワークスペース
認証はデフォルトでオフです — DeepTutorはシングルユーザーで動作します。オンにすると、1つのdata/ツリーで管理者ワークスペース、分離されたユーザーワークスペース、Partnerワークスペースが同居します:
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)
最初に登録したユーザーが管理者になり、モデルカタログ、プロバイダー認証情報、共有知識ベース、スキル、共有Bookの正本、ユーザー単位グラントを所有します。管理者が作成するローカルユーザーはStandard、Learner、Customから選べます。Learnerは学習機能と教材ポリシーを固定し、適応型プロフィールを追加し、有効期限と1日の利用上限を持つ取り消し可能なデバイス認証情報を利用できます。認可されたGuardianはレポートの閲覧、教材の承認、認証情報のリセットを行えます。その他のユーザーには、生のAPIキーを渡すことなく、分離されたワークスペースとスコープ付きのモデル、KB、スキル、Partners、共有Bookアクセスが与えられます。auth.jsonにすでにusername + password_hashがある場合、そのアカウントが管理者です。/registerは閉じたままで、/admin/usersから作成したアカウントは昇格するまで常にrole=userです。
有効化: data/user/settings/auth.jsonで認証をオンにし、deeptutor startを再起動し、/registerで最初の管理者を登録し、/admin/usersからユーザーを追加し、グラントを通じてモデル、KB、スキル、Partner、ツール/MCP/CLIアプリポリシー、コード実行アクセスを割り当てます。各ユーザーのBook accessパネルで共有Bookを設定してください。
プライベート/パブリックのオリジンを分離する場合は、パスワードサインインと登録を表示してよいプライベートなフロントエンドホストをauth.private_login_hosts(またはAUTH_PRIVATE_LOGIN_HOSTS)に設定します。フロントエンドは受信したHTTPのHostをフロントエンドホストのアサーションとしてバックエンドに転送します。リバースプロキシを通してブラウザのHostを保持し、公開側のイングレスがプライベートホストを名乗るリクエストを拒否するようにしてください。任意のHost値を受け付ける生のNext.jsポートを公開してはいけません。HTTPのHostは直接のクライアントによって偽装できるため、プライベートホストの認可はそのイングレス境界に依存します。バックエンドはデフォルトでループバックからのフロントエンドホストアサーションのみを受け付けます。Webフロントエンドが別のコンテナまたはホストから接続する場合は、そのフロントエンドプロキシの正確なIPアドレスをバックエンドプロセスのAUTH_TRUSTED_FRONTEND_PROXY_IPSに設定してください(複数ある場合はコンマ区切り)。これはデフォルト設定を置き換えます。ローカルのフロントエンド接続も必要な場合は127.0.0.1,::1を含めてください。バックエンドAPIはフロントエンドプロキシのみに対して非公開のままにし、このリストに一般的なクライアントネットワークを含めないでください。private_login_hostsが空でない場合、プライベートオリジン上の認証済みユーザーはProfile → Public device sign-inを開き、HTTPSパブリックオリジン向けの短命でホストに紐づいたペアリングリンクを作成できます。公開の/handoffページはワンタイムコードをPOSTボディ内の同様に短命なJWEチケットと交換し、そのチケットを一度だけ消費して、通常のHttpOnlyセッションクッキーを受け取ります。
PocketBaseはシングルユーザー統合のままです — 外部ユーザーストアを組み込まない限り、マルチユーザーデプロイメントでは
integrations.pocketbase_urlを空白にしてください。
1つのdeeptutorバイナリで2つの使い方:ターミナルで生活する人のためのインタラクティブなREPLと、DeepTutorをツールとして動かす他のエージェントのための構造化されたJSON。同じ機能、ツール、知識ベースがどちらでも利用できます。
自分で操作する
deeptutor chatはインタラクティブなREPLを開き、--capabilityでモードを選択します。deeptutor run <capability> "<message>"は機能を最初の位置引数として受け取り、1回のターン後に終了します。どちらも--tool、--kb、--configと、登録済みワークスペースを選択する--workspaceを受け付けます。
deeptutor chat # interactive REPL
deeptutor chat --capability deep_solve --kb my-kb
deeptutor run chat "Explain the Fourier transform" --kb textbook
deeptutor run chat "Find recent work beyond this material" --kb textbook
deeptutor run deep_research "Survey 2026 papers on RAG" \
--config mode=report --config depth=standard--kbは自動RAGとKnowledge Frontierツールにコンテキストを提供します。Frontierにはknowledgeとresearchの両モジュールが必要です。--toolはユーザーが切り替え可能なツールを選択します。有効なモジュールは、KB、session、partner、skill、notebook、memory、configの各コマンドも提供します。
エージェントに操作させる
DeepTutorは別のエージェントによって操作されるように設計されています。任意のrunに--format jsonを追加すると、各ターンがNDJSON — 1行1イベント(content、tool_call、tool_result、doneなど)としてストリームされ、各行がsession_idでタグ付けされます。実行はヘッドレスセーフです:TTYなしのask_user一時停止は、ハングする代わりに空の応答で自動解決されます。
# 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リポジトリには、CLIの簡潔な引き継ぎドキュメントであるルートのSKILL.mdが含まれています。エージェントに明示的に読み取るよう依頼してください。エージェントセットアップガイドでは、インストールと設定を説明しています。deeptutor runをLangChain / AutoGenループのツールとしてラップすることもできます。完全なレシピ:Agent Handoff。
コマンドリファレンス
この表はフルインストールとオプションのアドオンを対象とします。コマンドと機能を使用するには、それぞれのモジュールを有効にする必要があります。コアはchatとask_questionsを提供します。
| コマンド | 説明 |
|---|---|
deeptutor init [--non-interactive] [--home PATH] |
セットアップウィザードを実行、または入力を求めずに不足しているデフォルト設定を作成 |
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 module list/install/uninstall/enable/disable |
モジュールを確認し、DeepTutorを停止した状態で変更します。ソースチェックアウトはenable/disableに対応します |
deeptutor workspace show/set/reset |
ユーザーごとのContent Workspaceを検査、選択、または復元 |
deeptutor run <capability> <message> |
単一機能ターンを実行(chat、ask_questions、deep_solve、deep_question、deep_research、visualize、math_animator、video_lesson、mastery_path、immersive_reading、audio_overview);--format jsonでNDJSON出力 |
deeptutor chat |
機能、ツール、KB、ノートブック、履歴コントロール付きインタラクティブREPL |
deeptutor partner list/create/start/stop |
IM接続Partnersを管理 |
deeptutor kb list/info/create/connect-kiwix/add/search/eval/eval-diff/set-default/delete/list-sources/sync |
知識ベースを管理し、Kiwixアーカイブへ接続し、検索の実行結果を採点・比較し、登録済み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/state/search/show/install/approve/enable/disable/rollback/uninstall |
ツールと機能を検査し、レビュー済みプラグインパッケージとその権限承認を管理 |
deeptutor config show [--home PATH] |
認証情報を伏せて、解決済みのランタイム設定を表示 |
deeptutor config providers |
対応するセットアップ用プロバイダーとデフォルト値をJSONで一覧表示 |
deeptutor config apply FILE [--check] [--home PATH] |
入力を求めずにセットアップ用JSONを適用、または設定を書き込まずに検証 |
deeptutor provider login <provider> |
プロバイダー認証(openai-codex OAuthログイン;github-copilotはGitHubのデバイスログイン;codebuddyはCodeBuddy SDK認証を検証し、必要に応じてログインを開始) |
GitHub Copilotの認証情報はサインインしたDeepTutorの所有者に属し、サンドボックスのワークスペースの外にある<runtime-home>/data/system/user-secrets/<owner-id>/private/github-copilot/credentials.v1.jsonにのみ保存されます。CLIや管理者のPartnerは管理者の認証情報を使用します。その他のユーザーは個別にサインインし、Copilotのプロフィールはモデルのグラントを通じて共有できません。外部のnanobot/Copilotトークンファイルはインポートされません。アップグレード後はdeeptutor provider login github-copilotを再度実行してください。
ログインは現在検出されているモデルで推論を検証します。initは選択したモデルを検証し、失敗した場合は下書きの設定を保存せずに中止します。GitHub認証の成功だけではCopilotモデルへのアクセスは確認できません(検証に失敗しても保存済みのログインは保持されます)。ランタイムのリクエストは、更新時も含めトークン交換で返されたAPIエンドポイントに従い、各モデルのResponses/Chat Completionsエンドポイントのメタデータを尊重します。
Copilot固有のResponses互換処理は、保存済みの履歴を書き換えず、リクエストの送信時に適用されます。
CLIのみのディストリビューション
コアwheelはCLIとSDKを提供し、deeptutor-cliは互換性のためのメタパッケージです。ソースはチェックインされたすべてのモジュールを公開するため、CLIで使用する場合はそれらのPython依存関係をインストールし、フロントエンドのセットアップを省略してください。
python -m pip install -r requirements/full.txt
python -m pip install -e . --no-deps最小構成のインストールにはコアwheelを使用します。オプションのディストリビューションは、ツール、機能、APIルート、バックグラウンドサービス、ナビゲーションを提供します。モジュールは1つのPython環境を共有し、コアと同じバージョンである必要があります。deeptutor[full]はインストール時に一般的なアプリモジュールを選択しますが、個別の機能は後から削除できます。
DeepTutorを停止し(実行中のターミナルでCtrl+C)、同じPython環境とDEEPTUTOR_HOMEを使用してください。
deeptutor module list # installed / enabled / ready
deeptutor module disable research # hide and deactivate; keep code
deeptutor module enable research # restore it and required modules
# Package installations only; source checkouts use enable / disable:
deeptutor module install solve # install the matching module and dependencies
deeptutor module uninstall solve --dry-run # inspect the plan and dependency blockers
deeptutor module uninstall solve # remove only this module's distribution
deeptutor chat # restart the CLI; use start for an installed Web app例:solve、research、questions、knowledge、parsing、reading、mastery、books、memory、notebook、partners。依存するモジュールがある場合は削除できず、コアをmoduleコマンドで削除することもできません。無効化やアンインストールをしても、設定、会話、知識ベース、生成ファイルは保持されます。共有するサードパーティの依存関係も保持されます。
ブラウザでは: Settings → Runtime status → Modulesに、モジュールの状態と対応するターミナルコマンドが表示されます。パッケージの変更には環境の停止が必要で、CLIで実行します。Chat → Customize pageとLearning → New learning → Customize pageは、個人のページ設定を即座に変更します。項目を非表示にしても、そのモジュールのアンインストールやアクセス権の取り消しは行われません。
1.7.0のパッケージ群は、コアと機能wheelで同じバージョンを使用します。ローカルwheelをインストールするには、module installに--wheelhouse /path/to/wheelsを渡してください。wheelのビルド方法とデプロイメントの詳細については、モジュールのインストールとソース開発を参照してください。
DeepTutorスキルはオープンなAgent-Skillsフォーマットを使用します — SKILL.mdプレイブック(YAMLフロントマター + Markdown)と任意の参照ファイルを含むフォルダです。これはDeepTutor固有のものではないため、このフォーマットを話すどんなレジストリもあなたのライブラリのソースになります。DeepTutorには**EduHub** — 独自の教育特化スキルレジストリ — がデフォルトハブとして組み込まれています。
EduHub — DeepTutorのスキルエコシステム
EduHubは、DeepTutorが教育指向のエージェントスキルを共有するために立ち上げたコミュニティハブです — ソクラテス式チューター、フラッシュカードビルダー、エッセイフィードバック、試験ブループリント、概念説明者など。DeepTutorに組み込まれているため、設定不要です:ベアスラッグまたはeduhub:プレフィックスでそこに解決されます。
検索とインストール — ブラウザでLearning Space → スキル → EduHubからインポートを開いてカタログを参照し、スキルをライブラリに直接ダウンロードできます。ターミナルから:
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自分のスキルを公開 — SKILL.mdをパッケージ化してコミュニティに共有:
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 versionEduHubはまたスタンドアロンのClawHub互換レジストリでもあり、DeepTutor以外のエージェント(Claude Code、Codexなど)がeduhub CLI経由で直接使用できます — npx eduhub install socratic-tutor。
インポートセキュリティゲート
ソースに関わらず、すべてのインポートはワークスペースに触れる前に同じセキュリティゲートを通過します:
- レジストリのセキュリティ判定が最初にチェックされます — フラグが立てられたパッケージは
--allow-unverifiedを渡さない限り拒否されます; - アーカイブは、パストラバーサル、エントリー数、サイズ、圧縮率、サフィックス、シンボリックリンクを検査しながら防御的に展開されます。実行可能ビットは削除されますが、拡張子のないファイルは引き続き許可されます;
- フロントマターは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 を使用 — 初回の PageIndex サブスクリプションが $20 割引!
Bingxi Zhao |
Xingyu Hou |
Jiahao Zhang |
DeepTutorはBingxi ZhaoがHKUDSグループ内でリードするオープンソースプロジェクトで、完全にオープンソースの形でコミュニティと共に反復されています。現在、いかなる有料オンライン製品も存在しません。議論、アイデア、協力についてはbingxizhao39@gmail.comまでお気軽にご連絡ください。
Chao Huang(HKUデータインテリジェンスラボディレクター)、HKUDSのラボメイト — 特にJiahao Zhang、Zirui Guo、Xubin Ren — の温かいサポートに心から感謝します。また、毎日DeepTutorを形作ってくれるオープンソースコミュニティにも深く感謝します:あなたたちのスター、Issue、プルリクエスト、ディスカッションがDeepTutorを形作っています。
DeepTutorは優れたオープンソースプロジェクトの肩の上に立っています。ツールとインスピレーションの両方を与えてくれた以下のプロジェクトに深く感謝します:
| プロジェクト | 役割 / インスピレーション |
|---|---|
| LlamaIndex | RAGパイプラインとドキュメントインデックスのバックボーン |
| nanobot | オリジナルTutorBotを動かした超軽量エージェントエンジン (HKUDS) |
| LightRAG | シンプルで高速なRAG (HKUDS) |
| AutoAgent | ゼロコードエージェントフレームワーク (HKUDS) |
| AI-Researcher | 自動化研究パイプライン (HKUDS) |
| OpenClaw | ClawHubの背後にあるオープンエージェントゲートウェイとスキルエコシステム |
| Codex | CLIワークフローにインスピレーションを与えたエージェントネイティブコーディングCLI |
| Claude Code | DeepTutorエージェントループにインスピレーションを与えたエージェントコーディングCLI |
| ManimCat | Math AnimatorのためのAI駆動数学アニメーション生成 |
DeepTutorが反復し改善し続け、最終的にオープンソースコミュニティへのギフトになることを望んでいます。ロードマップは継続的に更新されています。アイテムに投票したり新しいものを提案したりできます。貢献したい方は、ブランチ戦略、コーディング基準、参加方法について貢献ガイドをご覧ください。
Apache License 2.0に基づきライセンス。





















