Skip to content

Latest commit

 

History

History
813 lines (562 loc) · 78.1 KB

File metadata and controls

813 lines (562 loc) · 78.1 KB

DeepTutor ロゴ DeepTutor

DeepTutor:生涯にわたるパーソナライズド個別指導

Docs — deeptutor.info  Collaborate — work with us

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 · エコシステム · コミュニティ


🤝 あらゆる形の貢献を歓迎します! ロードマップ でアイテムに投票したり新しいアイデアを提案したりできます。ブランチ戦略、コーディング基準、参加方法については 貢献ガイド をご覧ください。

📰 ニュース

  • 2026-05-22 🌐 公式ドキュメントサイトが deeptutor.info で公開 — ガイド、リファレンス、機能ツアーを一か所に。
  • 2026-04-19 🎉 111日間で20kスター達成!真にパーソナライズされたインテリジェント個別指導に向けた支援に感謝します。
  • 2026-04-10 📄 arXivに論文を公開 — DeepTutorの設計とアイデアについてはプレプリントをご覧ください。
  • 2026-02-06 🚀 わずか39日間で10kスター達成!素晴らしいコミュニティに心から感謝します。
  • 2026-01-01 🎊 あけましておめでとうございます!DiscordWeChat、またはDiscussionsに参加して一緒にDeepTutorを形作りましょう。
  • 2025-12-29 🎓 DeepTutor正式リリース!

✨ 主な機能

DeepTutorは、個別指導、問題解決、クイズ生成、研究、ビジュアライゼーション、習熟度練習を1つの拡張可能なシステムに統合したエージェントネイティブな学習ワークスペースです。

  • すべてのモードで1つのランタイム — Chat、Ask Questions、Quiz、Research、Visualize、Solve、Course Study、Mastery Path、Immersive Reading、Immersive Watchingは、同じ機能ランタイムとセッションコンテキストを共有しながら、用途別に設計されたループとパイプラインを維持します。
  • 接続された学習コンテキスト — 知識ベース、本、Co-Writerの下書き、ノートブック、問題バンク、ペルソナ、Memoryは、アカウントのグラントと学習ポリシーに従い、それらをサポートするワークフロー間で再利用できます。
  • 没入型動画学習 — YouTubeリンクを貼り付けるだけで、プライバシー強化ネイティブ再生、同期字幕、タイムスタンプに基づく個別指導、再開可能な進捗を利用できます。管理者は教材を再構築せずに、再生をセルフホストのInvidiousインスタンスへ切り替えられます。
  • サブエージェントとPartners — Chatからライブエージェントハーネス(Claude Code、Codex、Antigravity、Kimi、opencode、MiMo、Hermes、OpenClaw、DeepSeek)またはPartnerに相談し、過去の会話をインポートし、同じブレインで永続的なIMコンパニオンを実行できます。
  • マルチエンジン知識 — LlamaIndex、PageIndex、GraphRAG、LightRAG、リモートのLightRAG Server、セルフホストのWeKnora知識ベース、Tencent IMAまたはMarginNote 4ライブラリ、あるいはリンクされたObsidianボールトにまたがるバージョン管理されたRAGライブラリ(プラグ可能なドキュメント解析付き)。
  • 拡張可能なツールとスキル — 組み込みツール、MCPサーバー、CLIアプリ、画像/ビデオ/音声生成モデル、EduHubからインストール可能なコミュニティスキル。
  • 検査可能なメモリ — L1トレース、L2サーフェスサマリー、L3合成によりパーソナライズが可視化・編集可能となります。Memory GraphはL2の事実をL1の証拠に、L3の合成を寄与したサーフェスに結び付けます。

🚀 はじめに

DeepTutorは4つのインストールパスを提供しています。すべてのパスは同じワークスペースレイアウトを共有します。設定はデプロイするディレクトリ下のdata/user/settings/に保存されます(明示的に設定した場合はDEEPTUTOR_HOME/deeptutor start --homeの下)。完全なアプリの場合は ワークスペースディレクトリの選択 → インストール → deeptutor initdeeptutor start がお勧めのフローです。

オプション1 — PyPIからインストール · クローン不要のフルローカルWebアプリ + CLI

クローン不要のフルローカルWebアプリ + CLI。Python 3.11–3.14 とPATH上の**Node.js 20+**ランタイムが必要です(パッケージ済みのNext.jsスタンドアロンサーバーはdeeptutor startによって起動されます)。

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はバックエンドポート(デフォルト8001)、フロントエンドポート(デフォルト3782)、LLMプロバイダー / ベースURL / APIキー / モデル、Knowledge Base / RAG用のオプション埋め込みプロバイダー、およびWeb Search用のオプション検索プロバイダーを設定します。

deeptutor start後、ターミナルに出力されたフロントエンドURLを開いてください(デフォルトはhttp://127.0.0.1:3782)。そのターミナルでCtrl+Cを押すとバックエンドとフロントエンドが両方停止します。手軽に試すためにdeeptutor initをスキップしても問題ありません。アプリはデフォルトのポートと空のモデル設定で起動し、後からSettings → Modelsで設定できます。

オプション2 — ソースからインストール · チェックアウトに対して開発

チェックアウトに対して開発する場合。CIとDockerに合わせてPython 3.11–3.14Node.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はローカルのweb/フロントエンドを一度だけ本番用にビルドして再利用し、--devはNext.jsをHMR(ホットリロード)付きで実行します。その他(設定レイアウト、ポート、Ctrl+Cでの停止)はオプション1と同じです。

Conda環境venvの代わり)
conda create -n deeptutor python=3.11
conda activate deeptutor
python -m pip install --upgrade pip
オプションインストールエクストラ — RAGエンジン / dev / partners / matrix / math-animator
pip install -e ".[rag-lightrag]"    # 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
フロントエンド依存関係の調整とdevサーバーのトラブルシューティング

フロントエンド依存関係の変更: npm install --legacy-peer-depsを実行してweb/package-lock.jsonを更新し、web/package.jsonweb/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

公開が必要なのは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キー、ログ、ワークスペースファイル、メモリ、知識ベースはdeeptutor-dataボリュームに永続化されます。オプションのエクストラはシェルではなくデプロイメント自体に属します:DEEPTUTOR_EXTRAS(システムライブラリにはDEEPTUTOR_APT_PACKAGESも)を設定すれば、そこから起動するすべてのコンテナがそれらを再適用します。一方docker exec … pip installは次のcompose downで失われてしまいます。

  • 異なるホストポート:-p host:containerマッピングの左側を変更してください(例:-p 127.0.0.1:8088:3782)。/app/data/user/settings/system.jsonのコンテナ側ポートを変更する場合は、再起動して各マッピングの右側を一致するよう更新してください。
  • デタッチ: -dを追加し、docker logs -f deeptutorでログを追跡、docker stop deeptutorで停止、名前を再利用する前にdocker rm deeptutorを実行。deeptutor-dataボリュームは再起動をまたいで設定とワークスペースを保持します。

リモートDocker / リバースプロキシ: ブラウザはフロントエンドオリジン(:3782)のみと通信します。コンテナ内のNext.jsミドルウェアが/api/*/ws/*をバックエンドサーバーサイドに転送します。一般的な単一コンテナの場合、APIベースをまったく設定しません — リバースプロキシ/TLS終端を:3782に向けるだけです。APIベースが必要なのは分割デプロイメント(バックエンドが別のコンテナ/ホスト)のみです:data/user/settings/system.jsonnext_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:latest

Settings → Modelsでプロバイダーの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.jsonfrontend_port)を開き、ホストサービスにはhttp://127.0.0.1:11434/v1のような通常のlocalhostのURLでアクセスできます。ホストネットワーキングはコンテナのポートをホスト上に直接公開し、既存のサービスと競合する可能性があります — それらをループバックに保つにはBACKEND_HOST=127.0.0.1FRONTEND_HOST=127.0.0.1を設定してください(CONTAINERIZATION.md参照)。

オプション4 — CLIのみ · ソースチェックアウトからWeb UIなし

Web UIが不要な場合。CLIのみのパッケージはPyPIからではなく、ソースチェックアウトからインストールします。

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はフルアプリと同じdata/user/settings/レイアウトを共有しますが、バックエンド/フロントエンドのポートプロンプトをスキップします。EmbeddingとSearchの選択肢は引き続き提示され(不要な場合はSkipを選択)、主要なランタイムファイル(system.jsonauth.jsonintegrations.jsoninterface.jsonmodel_catalog.jsonmain.yamlagents.yaml)を書き込み、アクティブなLLMプロバイダーとモデルの入力を求めます。

よく使うコマンド
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

ローカルのdeeptutor-cliインストールにはWebアセットやサーバー依存関係がありません。ソースチェックアウトはそのままにしておいてください — 編集可能インストールはそれを参照します。後からWebアプリを追加するには、PyPIパッケージ(オプション1)をインストールして、同じワークスペースからdeeptutor init + deeptutor startを実行してください。

コード実行サンドボックス(オフィススキル) · docx / pdf / pptx / xlsx 用にモデル生成コードを実行

組み込みオフィススキル — docx / pdf / pptx / xlsx — は、モデルが短いPythonスクリプト(python-docxreportlabopenpyxlなど)を書き、exec / code_executionツールで実行し、ダウンロードURLを返すことで機能します。これらのツールはサンドボックスバックエンドがアクティブなときにマウントされます。DeepTutorは、設定済みのバックエンドから次の順序で最も強力なものを選択します:

  • Runner sidecar: DEEPTUTOR_SANDBOX_RUNNER_URLは、実行をDockerfile.runnerのハードニングされた最小権限サービスにルーティングします。
  • Linux bubblewrap: 利用可能な場合、bwrapがプロセスとファイルを分離します。
  • 制限付きサブプロセスフォールバック: ローカルおよび単一コンテナのインストールでは、許可されている場合にのみ使用されます。Dockerでは、コンテナ自体も別の境界として機能します。

data/user/settings/system.jsonsandbox_allow_subprocess設定(デフォルトtrue)が制御するのは、最後のフォールバックだけです。Runnerまたはbwrapバックエンドが利用できない場合にサブプロセス実行を拒否するには、falseに設定するかDEEPTUTOR_SANDBOX_ALLOW_SUBPROCESS=0をエクスポートしてください。より強力なバックエンドは無効になりません。

設定リファレンスdata/user/settings/下の設定ファイル(JSON/YAML)

data/user/settings/以下のものはすべてプレーンなJSON/YAMLです。ブラウザのSettingsページが推奨エディターです。

ファイル 目的
model_catalog.json プロバイダー接続に加え、LLM、タスク、埋め込み、検索、TTS、STT、画像、動画の各プロフィール、認証情報、アクティブな選択
system.json バックエンド/フロントエンドポート、公開APIベース、CORS、SSL検証、添付ファイルディレクトリ、アップロード/抽出の上限
auth.json オプション認証トグル、ユーザー名、パスワードハッシュ、トークン/クッキー設定
integrations.json オプションのPocketBaseとサイドカー統合設定
interface.json UIの言語とモデル出力言語/テーマ/サイドバー設定
video_learning.json デフォルトのYouTube/Invidious再生プロバイダー、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 → Modelsを開き、LLMプロフィール(ベースURL / APIキー / モデル名)を追加して保存してください。Knowledge Base / RAG機能を使用する予定がある場合のみ埋め込みプロフィールを追加してください。

プロバイダーが選択肢をサポートする場合、LLMおよびタスクモデルのプロフィールにはAPIフォーマット設定が表示されます。通常のルーティングとフォールバックにはAutoのままにするか、OpenAI Chat CompletionsOpenAI Responses、またはAnthropic Messagesを選択します。Responses強制モードは引き続きフェイルクローズです。永続化されるフィールドはapi_formatautoopenai_chatopenai_responses、またはanthropic)であり、wire_apiは派生した互換性状態です。モデルごとのAuto / Supported / Not supportedオーバーライドは、ツール呼び出し、画像入力、JSON出力、推論制御を対象とします。

アンインストールとクリーンアップ

DeepTutorは、インストールされたコードとランタイムワークスペースを分離しています。デフォルトでは、ワークスペースはdeeptutor init / deeptutor startを実行したディレクトリです。--home PATHまたはDEEPTUTOR_HOMEで上書きできます。ランタイム出力はそのワークスペース内のdataディレクトリなので、起動バナーのWorkspace:で始まる行を見れば、クリーンアップ対象が分かります。

  1. アプリを停止します。deeptutor startを実行しているターミナルでCtrl+Cを押すか、--detachで起動したランチャーに対してdeeptutor stop [--home PATH]を実行します。データを削除する前に、実行中のPartnerとデタッチされたDockerコンテナーも停止してください。

  2. すべてのローカル状態も消去したい場合のみ、ランタイムデータを削除します。これには、設定とAPIキー、チャット履歴、セッション、Memory、Notebooks、Books、Reading状態、Skills、Partners状態、ログ、Knowledge Bases、解析キャッシュ、生成されたアーティファクト、パッケージ済みフロントエンドのランタイムキャッシュが含まれます。

    まず起動バナーから正確なWorkspace:パスをコピーし、そのdata子ディレクトリが意図したDeepTutorデータディレクトリであることを確認します。後で必要になる可能性があるものはバックアップし、その正確なディレクトリをOSのゴミ箱/ごみ箱に移動します。相対パスや未解決の環境変数に対して再帰的な削除コマンドを実行しないでください。

  3. インストール済みパッケージを削除します。ディストリビューションに合うコマンドを使用してください:

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

    仮想環境をDeepTutor専用に作成した場合は、環境マネージャーで削除してください。ソースインストールの場合は、環境を無効化してソースディレクトリから移動し、その正確なチェックアウト内でgit status --shortを実行します。無関係な作業やコミットされていない作業が含まれていないことを確認してから、チェックアウトをゴミ箱/ごみ箱に移動してください。

  4. Dockerパスでは、削除前に正確なコンテナーと名前付きボリュームを確認します。ボリュームを削除すると、Dockerが管理するデータは永久に消去されます:

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

📖 DeepTutorを探索する

日常的に使用するメインサーフェスから始めましょう:Chat、Partners、My Agents、Co-Writer、Book、Knowledge Center、Learning Space、Memory、Settings。ツアーの最後はマルチユーザーデプロイメントとして共有・分離ワークスペースをカバーします。

回答が以前の制約を失ったり、弱い根拠を引用したり、選択した資料と矛盾したりする場合は、Issueを開く前にREASONING_SAFETY_CHECKLIST.mdに診断情報をまとめてください。

DeepTutorホーム — サイドバーにすべてのサーフェスを含むチャットワークスペース
🏗️ システムアーキテクチャ
DeepTutorシステムアーキテクチャ
💬 Chat — 実際に使うエージェントループ

Chatはデフォルト機能であり、ほとんどの作業が始まる場所です。1つのスレッドで通常の会話、ツールの呼び出し、選択した知識ベースへのグラウンディング、添付ファイルの読み取り、画像生成、サブエージェントとの相談、ノートブックレコードの書き込みが可能で、ターンをまたいで同じコンテキストを維持します。

DeepTutorチャットワークスペース

ループは意図的にシンプルです。モデルはラウンドで考え、役に立つときにツールを呼び出し、結果を観察し、ツールなしのメッセージで終了します。ask_userは特別で、推測する代わりに、エージェントはターンを一時停止し、構造化された明確化の質問をして、あなたが答えた後に再開できます。

DeepTutorチャットエージェントループ

ユーザーが切り替えられるツールはbrainstormweb_searchpaper_searchreasongeogebra_analysis — 加えて、対応する生成モデルを設定すればimagegenvideogenも利用できます。ragkb_filesread_sourceread_memorywrite_memoryread_skillload_toolsexecweb_fetchask_userlist_notebookwrite_notequestion_bankgithubconsult_subagentなどのコンテキスト依存ツールは、ターンに適切なコンテキストがある場合に自動的にマウントされます。

コンテキストには2種類あります:スティッキーセッションコンテキスト(機能、ワークスペースまたはコース、ツール、知識ベース、ペルソナ、モデル、Reading / Masteryの状態)はターンをまたいで持続します。ワンタイム参照(ファイル、チャット履歴、本、読書セクション、ノートブック、問題バンク、インポートしたエージェント)は単一のターンのために+メニューから追加します。音声ボタンが文字起こしするのは現在のメッセージだけです。

HomeではChatAsk QuestionsQuizVisualizeにワンクリックでアクセスできます。引用付きレポートのResearch、手順を追った推論のSolveImmersive Watchingその他の機能の下にあります。Mastery PathImmersive Readingは専用のサイドバーワークスペースです。Readingには検証済みのクリック可能な引用、保存した引用とノート、ソースに基づく読み上げ / 学習ガイダンス / 語彙 / クイズ / 翻訳アクション、ノートブックへの取り込みが追加され、Course Studyはコースに紐づいた独自のコンテキストを維持します。

🤝 Partner — 同じブレインで動く永続コンパニオン
DeepTutor Partnersワークスペース

Partnersは独自のソウル、モデルポリシー、ライブラリ、メモリ、チャンネルを持つ永続コンパニオンです。別個のボットエンジンではありません。ウェブまたはIMからの受信メッセージは、パートナースコープのワークスペース内の通常のChatOrchestratorターンになります。Partnerは「個性を持ったチャットであり、電話番号を持っている」存在です。

DeepTutor Partnersアーキテクチャ

各PartnerにはSOUL.md、モデル選択、チャンネル、ツールポリシー、割り当てられたライブラリがあります。知識ベース、スキル、ノートブックはdata/partners/<id>/workspace/にコピーされるため、同じRAG、スキル、ノートブック、メモリツールが特別なケースなしに機能します。認証済みの非管理者ユーザーは、非公開のPartnerセッションと関係メモリを維持し、Partnerはそのユーザーの個人メモリを読み取り専用で参照します。管理者、グループ、未バインドのトラフィックは共有Partnerスコープを使用します。

Partner ごとのIMチャンネル設定

チャンネル層はスキーマ駆動で、インストール済みエクストラと設定された認証情報に応じて、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 — 他のエージェントと相談・インポート
DeepTutor My Agentsワークスペース

My Agentsは他のエージェントをDeepTutorのコンテキストにし、2つの異なることを行います。ライブエージェントを接続 — マシン上のClaude Code、Codex、Antigravity、Kimi、opencode、MiMo Code、Hermes Agent、OpenClaw、DeepSeek Harness、または自分のPartnersのいずれか — してチャットターン内から相談できます。DeepTutorは実際に他のエージェントを実行し、consult_subagentツールを介してその作業をActivityパネルにストリーミングします。Agentチップでエージェントとラウンド上限を選択するか、@で同じ接続済みエージェント一覧を絞り込め、選択内容はセッションに紐づいたまま保持されます。

Claude Codeサブエージェントをライブで相談

過去の会話をインポート — 既存のClaude CodeやCodexの履歴を名前付き、検索可能、再開可能なエージェントとして取り込みます。Claudeの履歴はプロジェクト / 作業ディレクトリ単位、Codexの履歴はカレンダーの日付単位で選択します。更新するとそのスコープが再同期され、新しい会話が取り込まれます。Chatターンから+ → My Agentsで会話を参照でき、DeepTutorはそれをサードパーティのトランスクリプトとして読み取ります — それはDeepTutor自身の声ではなく、相手の会話として保持されます。

✍️ Co-Writer — 選択対応Markdownドラフトツール
DeepTutor Co-Writerワークスペース

Co-Writerはレポート、チュートリアル、メモ、長文学習コンテンツのための分割表示Markdownワークスペースです。ドキュメントは自動保存され、ライブプレビュー(KaTeXの数式、図表フェンス)を表示し、下書きが再利用可能なコンテキストになったときにノートブックに保存できます。.docx を取り込んで新しい下書きを始め、現在のエディタを Markdown または Word として書き出せます。

Co-Writerエディターとライブプレビュー

その定義的なアイデアは外科的編集です。テキストの範囲を選択し、DeepTutorに書き直し、拡張、または短縮を依頼します。編集エージェントは知識ベースまたはウェブの証拠に基づいて変更をグラウンドし、ツール呼び出しのトレースを保持できます。処理中に下書きが変更されていなければ、結果は選択したテキストを直接置き換え、Undoで元に戻せます。

📖 Book — 素材から生きている本を作成
DeepTutor Bookライブラリ

Bookは選択したソースをインタラクティブな生きている本に変換します。静的なPDFではなく、タイプ指定されたブロックから構築された読書環境です。知識ベース、ノートブック、問題バンク、チャット履歴から本を開始できます。作成フローではコンテンツが生成される前に章のアウトラインを提案するため、盲目的な一発生成を受け入れるのではなく、構造を確認できます。

Bookクイズブロック   Book Manimアニメーションブロック   Bookインタラクティブウィジェットブロック

各章は編集可能なタイプ指定ブロックにコンパイルされます — テキスト、コールアウト、クイズ、フラッシュカード、タイムライン、コード、図、インタラクティブHTML、アニメーション、概念グラフ、詳細解説、ユーザーノート — それぞれにPage Chatがあります。ブロックの挿入、移動、再生成、書き直し、種類の変更ができ、選択した箇所は確認可能な学習キャプチャの受信トレイに入ります。管理者の本が読み取り専用または共同編集用に共有されていても、進捗、ブックマーク、クイズの受験結果、学習キャプチャ、Page Chatは読者ごとに非公開のままで、共有された本を削除できるのは管理者だけです。どの本もMarkdownにエクスポートでき、長時間のコンパイルは一時停止と再開が可能です。deeptutor book health / refresh-fingerprintsはソースのドリフトにフラグを立てます。

📚 Knowledge Center — マルチエンジンRAGライブラリ
DeepTutor Knowledge Center

知識ベースはRAGの背後にあるドキュメントコレクションです — Chatターン、Co-Writerの編集、Book生成、Partnerの会話をグラウンドします。特徴的なのは検索エンジンの選択です:LlamaIndex(デフォルト、ハイブリッドなベクター + BM25。オプションでクロスエンコーダー再ランキングとexact-flatまたはHNSW FAISSインデックスを利用可能)、PageIndex(ページレベル引用付き推論検索、ホスト型またはセルフホストOSS)、GraphRAGLightRAG(知識グラフ検索)、LightRAG Server(HTTP経由で接続する外部LightRAGインスタンスに検索をオフロード)、WeKnora(ローカルインデックスやドキュメントコピーを作らず、セルフホスト環境の知識ベースから検索)、Tencent IMA(IMAでキュレートするライブラリで、そのOpenAPI経由で検索・閲覧・書き戻しが可能)、MarginNote 4(あなたのMN4学習データ — ドキュメント、抜粋、マインドマップカード、およびそれらの間のリンク — がアプリのアドオンによって取り込まれ、専用ツールでナビゲートできます)、またはチューターがその場で読み書きするリンクされたObsidianボールト。各KBは1つのエンジンにバインドされます。

知識ベースの作成

既存のObsidian、Hermes、Markdownライブラリを移行する場合は、接続ボールトとインデックス付きコピーの手順をKnowledge migration guideで確認してください。

KBを作成する際は、新規作成(ドキュメントをアップロードして新しいインデックスを構築)または既存をリンク(再インデックスなしで既に構築されたインデックスを再利用)を選択します。KBはGitHubリポジトリ(リポジトリ、ブランチ、glob)またはドキュメントサイトのURL(クロール深度とページ数に上限あり)も追跡できます。オンデマンド同期ではコンテンツのハッシュ差分から追加・変更・削除を検出するため、フォローしているドキュメントを再アップロードなしで最新の状態に保てます。再インデックスは新しいフラットなversion-Nディレクトリを書き込み、以前のものを保持するため、再構築中に作業中のインデックスが破壊されることはありません。解析に失敗したファイルを完全な削除・再構築なしで取り除けるよう、error状態のベースからでも単一のドキュメントを削除できます。ドキュメント解析(Text-only、MinerU、Docling、Tika、markitdown、PyMuPDF4LLM、LiteParse)はSettings → Knowledge Baseで選択し、ローカルモデルのダウンロードはデフォルトでオフです。Docling は、Docling Serve サーバーに対してremoteモードで実行することもできます(ローカルインストールやモデルは不要)。この設定はSettings → Document Parsingmode=remote、サーバーのベースURL、オプションのAPIキー)または DOCLING_MODE / DOCLING_API_BASE_URL / DOCLING_API_TOKEN 環境変数で行います。Tikaはリモート専用で、そのページに設定したApache Tikaサーバーを参照します。CLIはlist/info/create/add/search/set-default/delete、ソースの追加/削除コマンド、list-sourcessyncでライフサイクルをミラーします。

組み込みLightRAGエンジンはpip install 'deeptutor[rag-lightrag]'でインストールします。このエクストラにはサポート対象のLightRAG SDKが含まれますが、MinerUはインストールしません。構造化解析が必要な場合は、Document ParsingでMinerUを個別に選択し、クラウドモードを設定するか、現在のローカルCLIをインストールしてください。MinerUはPDF、一般的なラスター画像、DOCX、PPTX、XLSXを受け付けます。従来のmagic-pdfコマンドは引き続きPDFのみです。テキストのみおよびその他の解析エンジンはMinerUを必要としません。

🌐 Learning Space — スキル、ペルソナ、再利用可能なコンテキスト
DeepTutor Learning Spaceハブ

Learning Spaceはライブラリ、整理、パーソナライゼーションの層です。会話と素材にはChat History、ノートブック — レコードをノートブック間で移動・コピーでき、Markdownへのエクスポートも可能です — と、あなたの回答、参照回答、説明を保存する問題バンクがあります。パーソナライゼーションにはペルソナ、スキル(SKILL.mdプレイブック)、ワンクリックで導入できるMCPサービスCLI-AnythingカタログのCLIアプリがあり、各アプリの使用ガイドはオンデマンドで読み込まれます。独立したMy Coursesワークスペースは科目ごとの会話とチュータースレッドをまとめ、各アセットはそれをサポートするワークフローでのみ提供されます。

EduHubからスキルをインポート

すべてのスキルを自分で書く必要はありません。EduHubからインポートでコミュニティカタログを参照し、セキュリティゲートを通じてスキルをライブラリに直接ダウンロードできます(エコシステム参照)。

🧠 Memory — 検査可能なパーソナライゼーション
DeepTutor Memoryの概要

Memoryはファイルバックの3層システムで、読み取り、キュレーション、監査が可能です — 意図的に隠されたベクターストアではありません。L1はワークスペースミラーに加えた追記のみのイベントトレース(trace/<surface>/<date>.jsonl)、L2はL1エンティティへの参照を持つサーフェスごとのキュレートされた事実(L2/<surface>.md)、L3は寄与したL2サーフェスを記録するクロスサーフェス合成(L3/<profile|recent|scope|preferences>.md)です。

DeepTutor Memoryグラフ

Memory Graphはピラミッド全体を表示します — L3合成が中心、L2が中間リング、L1トレースが外側 — 正確なL2 → L1の証拠エッジと、L3 → 寄与サーフェスのリンクを確認できます。Memoryはchatnotebookquizkbbook、partner、cowriterサーフェスで追跡されます。コンソリデーターのUpdate / Audit / DedupバジェットはSettings → Memoryで調整します。

⚙️ Settings — ワンコントロールプレーン
DeepTutor Settingsハブ

Settingsはオペレーションコントロールプレーンで、ライブステータスストリップ(バックエンドの健全性とプロセスツリー全体の常駐メモリ使用量)と、どのページにもワンクリックで到達できる常駐の検索可能なナビゲーターがあります:外観(テーマ、UI言語とモデル出力言語、コードブロックスタイル)、ネットワーク(APIベース、ポート、CORS)、モデル(接続、LLM、タスクモデル、埋め込み、検索、TTS、STT、画像生成、動画生成)、Knowledge Base(ドキュメント解析エンジン)、Chat(Video Learning、検索可能なツール、機能ごとのパラメーター、スターティングポイント、添付ファイル上限)、Partners & Agents(9つのローカルハーネス)、Learner profile(年齢、学年、カリキュラム、言語、読解レベル、説明スタイル)、Guardian(認可された学習者、教材、レポート、認証情報のリセット)、Memory(コンソリデーターのバジェット)、About(バージョン確認と安全なアップデート)。接続は1つのベンダー認証情報を保持し、そのベンダーが提供できるすべてのサービスにミラーするため、キーを5つのページに貼り付けるのではなく1回だけ入力すれば済みます。タスクモデルは誰も明示的に依頼していない作業 — 会話への命名、コンポーザーのスターティングポイントの生成 — のために小さく高速なモデルを固定し、空欄の場合はアクティブなデフォルトに解決されます。

Settings → ChatのVideo Learningは、デフォルトで公式のプライバシー強化YouTube IFrame Playerを使用します。再生をローカルに保つには、管理者が管理するInvidious APIオリジン(例:http://127.0.0.1:3000)を設定してテストし、Invidiousを選択して保存します。新規または再度開いた動画には、同じ教材IDと進捗のままプロバイダーが直ちに反映されます。InvidiousメディアはDeepTutorのバイトレンジプロキシ経由でストリーミングされ、アップストリームURLがブラウザに公開されたりディスクに保存されたりすることはありません。インスタンスに障害が発生した場合、学習者がネイティブのYouTubeフォールバックを明示的に選択するまで、DeepTutorはYouTubeへ接続しないままです。公開字幕による個別指導はオプションです:.[video-learning]をインストールしてください。未インストールでも再生は続行しますが、文字起こしに基づくExplain hereは理由とともに無効になります。

DeepTutor外観設定とテーマ

ほとんどのセクションはドラフトと適用フローを使用するため、コミットする前にプロバイダーをテストできます。Chatで直接依頼するだけでも構いません:アシスタントが現在の設定を読み取り、変更を適用し、再起動または再インデックスが必要かどうかを教えてくれます — コミットする前に新しいモデルをプローブするため、到達不能な設定に自分自身を切り替えてしまうことはありません。APIキーがモデルを経由することは決してなく、代わりに該当するフォームを開いてくれます。4つのテーマが箱に入っています:Default、Cream、Dark、Glass。プロジェクトルートの.envファイルは意図的に無視されます。ランタイム設定はDEEPTUTOR_HOMEまたはdeeptutor start --homeでアプリを別の場所に向けない限り、data/user/settings/*.jsonに保存されます。

OpenAI Codex OAuth(実験的)。 Models → LLMでOpenAI Codexを選択すると、APIキー欄があなた自身のChatGPTプランに対するブラウザサインインに置き換わるため、OPENAI_API_KEYは不要です。トークンはdata/system/user-secrets/<owner>/private/openai-codex/にのみ保存されます。マルチコンテナComposeデプロイメントではexecサンドボックスが到達できるどのツリーの外にも置かれ、DeepTutorが~/.codex CLIログインを読み取ったり変更したりすることはありません。モデル一覧はそのアカウントのライブカタログから取得され、サインインでプロフィールは公開されますが、LLMがまだ設定されていない場合にのみアクティブモデルになります。トークンは1人のプランを認可するため、プロフィールをユーザーグラントで共有することはできません。一般ユーザーも含め各アカウントが自分でサインインし、そのカードはModels → LLMに表示され、結果のモデル、カタログ、サインアウトはそのアカウントだけに閉じます。

デフォルトのローカルDockerおよびPodmanデプロイメントは別々のループバックネットワークを使用するため、サインイン中に一時的なブリッジが必要です。正確なDocker、Compose、Podman、および後片付け用のコマンドについては、一時的なローカルCodex OAuthブリッジガイドを参照してください。

リモートデプロイメントでは、ブラウザ側のlocalhostとサーバー側のlocalhostは別のマシンであるため、通常のリバースプロキシだけではブラウザのlocalhostコールバックをサーバーまで運べません。コールバックの橋渡しとしてSSHトンネルを使用してください。トンネルは既に公開されているWebポートに到達します。Next.jsは正確なコールバックパスのみを公開コールバックブローカーに書き換え、ブローカーは元のOAuth操作にルーティングする前にstateを検証します。コールバックリスナーはバックエンドのループバックに留まり、ポート14551457は公開されず、このパスはデフォルトの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を設定してください。

PocketBaseはシングルユーザー統合のままです — 外部ユーザーストアを組み込まない限り、マルチユーザーデプロイメントではintegrations.pocketbase_urlを空白にしてください。

⌨️ DeepTutor CLI — エージェントネイティブインターフェース

1つのdeeptutorバイナリで2つの使い方:ターミナルで生活する人のためのインタラクティブなREPLと、DeepTutorをツールとして動かす他のエージェントのための構造化されたJSON。同じ機能、ツール、知識ベースがどちらでも利用できます。

自分で操作する

deeptutor chatはインタラクティブなREPLを開き、--capabilityでモードを選択します。deeptutor run <capability> "<message>"は機能を最初の位置引数として受け取り、1回のターン後に終了します。どちらも--tool--kb--configを受け付けます。

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

中核となるワークスペース管理もここにあります — 知識ベース(kb)、セッション(session)、パートナー(partner)、スキル(skill)、ノートブック、メモリ、設定。コースとセッションの整理は引き続きWebアプリで行います。全リストは以下を参照。

エージェントに操作させる

DeepTutorは別のエージェントによって操作されるように設計されています。任意のrun--format jsonを追加すると、各ターンがNDJSON — 1行1イベントcontenttool_calltool_resultdoneなど)としてストリームされ、各行が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

リポジトリにはルートのSKILL.mdが含まれています — ツール使用可能なLLMにサーフェス全体を1回の読み取りで教える約200行のハンドオーバードキュメント。Claude Code、Codex、OpenCodeに渡してください(これらはSKILL.mdを自動的に取得します)、またはdeeptutor runをLangChain / AutoGenループのツールとしてラップしてください。完全なレシピ:Agent Handoff

コマンドリファレンス
コマンド 説明
deeptutor init 現在のワークスペースのdata/user/settingsを作成または更新
deeptutor doctor [--online] ワークスペースがセッションを開始できる状態か確認;--onlineは設定済みのモデルプロバイダーもプローブし、--format jsonはレポートを出力
deeptutor start [--home PATH] [--dev] [--detach] [--no-browser] バックエンド + フロントエンドを一緒に起動。必要に応じてデタッチ、またはブラウザを開かないようにできます
deeptutor stop [--home PATH] --detachで起動したランチャーを停止
deeptutor serve [--port PORT] FastAPIバックエンドのみ起動
deeptutor run <capability> <message> 単一機能ターンを実行(chatask_questionsdeep_solvedeep_questiondeep_researchvisualizemath_animatormastery_pathimmersive_readingcourse_studyimmersive_watching);--format jsonでNDJSON出力
deeptutor chat 機能、ツール、KB、ノートブック、履歴コントロール付きインタラクティブREPL
deeptutor partner list/create/start/stop IM接続Partnersを管理
deeptutor kb list/info/create/add/search/set-default/delete/list-sources/sync 知識ベースを管理し、登録済みGitHub/Webソースを同期(ソースの追加/削除コマンドを含む)
deeptutor skill search/install/list/remove/login/logout/publish/update スキルを管理、ハブからインストール、自分のスキルを公開(デフォルトはeduhub:<slug>、エコシステム参照)
deeptutor memory show/clear L2/L3メモリドキュメントを検査またはL1/全メモリをクリア
deeptutor session list/show/open/rename/delete 共有セッションを管理
deeptutor notebook list/create/show/add-md/replace-md/remove-record Markdownファイルからノートブックを管理
deeptutor book list/health/refresh-fingerprints 本を検査してソースフィンガープリントを更新
deeptutor plugin list/info 登録済みツールと機能を検査
deeptutor config show 設定サマリーを出力
deeptutor provider login <provider> プロバイダー認証(openai-codex OAuthログイン;github-copilotは既存のCopilot認証セッションを検証;codebuddyはCodeBuddy SDK認証を検証し、必要に応じてログインを開始)
CLIのみのディストリビューション

CLIのみのパッケージはpackaging/deeptutor-cliにあります。このチェックアウトから、ソースからインストールしてください:

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

まだPyPIには公開されていないため、メインのはじめにセクションにはソースインストールのパスが記載されています。

🧩 エコシステム — EduHubとスキルコミュニティ

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 version

EduHubはまたスタンドアロンの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"はベアスラッグに使用するハブを選択します。すべて同じインポートゲートを通過します。

🤝 オープンソースパートナー

PageIndex

クーポンコード DEEPTUTOR20 を使用 — 初回の PageIndex サブスクリプションが $20 割引!

🌐 コミュニティ

🔗 メンテナー

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

📮 連絡先

DeepTutorはBingxi ZhaoHKUDSグループ内でリードするオープンソースプロジェクトで、完全にオープンソースの形でコミュニティと共に反復されています。現在、いかなる有料オンライン製品も存在しません。議論、アイデア、協力についてはbingxizhao39@gmail.comまでお気軽にご連絡ください。

🙏 感謝

Chao Huang(HKUデータインテリジェンスラボディレクター)、HKUDSのラボメイト — 特にJiahao ZhangZirui GuoXubin 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が反復し改善し続け、最終的にオープンソースコミュニティへのギフトになることを望んでいます。ロードマップは継続的に更新されています。アイテムに投票したり新しいものを提案したりできます。貢献したい方は、ブランチ戦略、コーディング基準、参加方法について貢献ガイドをご覧ください。

DeepTutorがコミュニティへのギフトになることを願っています。 🎁

コントリビューター

スター履歴ランキング

Apache License 2.0に基づきライセンス。

閲覧数