Skip to content
プロジェクト

HKUDS/DeepTutor has 56,508 GitHub stars and 6,897 forks. GitHot measured +2,873 in 7 days. Last checked 2026-11-08 07:12 UTC. Last push 2026-10-31.

この数値の測り方

DeepTutor:生涯にわたる個別指導。https://deeptutor.info/。

できること

  • One runtime, many learning modes — Chat, Quiz, Research, Visualize, Solve, Mastery Path, Reading, and more share session context while retaining purpose-built workflows.
  • A connected learning workspace — Home, Learning, and Resources connect Chat, Books, Reading, Practice, Task Board, Calendar, and Learning notebook with shared materials, progress, and learning context.
  • Grounded knowledge and reading — Build versioned libraries with LlamaIndex, PageIndex, GraphRAG, or LightRAG, connect external knowledge sources, and learn beside documents, video, and audio with source-linked citations.
  • Partners and subagents — Consult live agents such as Claude Code, Codex, and Grok CLI, import past conversations, or run persistent Partners with their own memory, resources, and IM channels.

計測したスター増加

24時間
更新が遅れています
7日間
+2,873
15日間
更新が遅れています
1か月
更新が遅れています

期間ごとの純増数です。期間は重複しており、日別の値ではありません。未計測の値は空欄です。スター数は注目度の指標であり、品質の保証ではありません。

assets/README/README_JA.md

オリジナル

DeepTutor

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

Docs — deeptutor.info  Collaborate — work with us

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 でアイテムに投票したり新しいアイデアを提案したりできます。ブランチ戦略、コーディング基準、参加方法については 貢献ガイド をご覧ください。

📰 ニュース

  • 2026-10-28 🚀 DeepTutor v1.7.0 が登場!新しいデザイン、よりスムーズなナビゲーション、そしてより連携して動作する学習ツールを提供します。
  • 2026-05-22 🌐 公式ドキュメントサイトが deeptutor.info で公開 — ガイド、リファレンス、機能ツアーを一か所に。
  • 2026-04-10 📄 arXivに論文を公開 — DeepTutorの設計とアイデアについてはプレプリントをご覧ください。
  • 2026-01-01 🎊 あけましておめでとうございます!Discord、WeChat、またはDiscussionsに参加して、一緒にDeepTutorを形作りましょう。
  • 2025-12-29 🎓 DeepTutor正式リリース!

✨ 主な機能

DeepTutorは、個別指導、研究、創作、練習を1つの拡張可能なシステムでつなぐ、エージェントネイティブな学習ワークスペースです。

  • 1つのランタイム、多様な学習モード — Chat、Quiz、Research、Visualize、Solve、Mastery Path、Readingなどがセッションコンテキストを共有しながら、用途別に設計されたワークフローを維持します。
  • 接続された学習ワークスペース — Home、Learning、Resourcesが、Chat、Books、Reading、Practice、Task Board、Calendar、学習ノートブックを、共有の教材、進捗、学習コンテキストで結び付けます。
  • 根拠に基づく知識と読書 — LlamaIndex、PageIndex、GraphRAG、LightRAGでバージョン管理されたライブラリを構築し、外部知識ソースに接続して、ソースにリンクされた引用とともに文書、動画、音声のそばで学習できます。
  • Partnersとサブエージェント — Claude Code、Codex、Grok CLIなどのライブエージェントに相談したり、過去の会話をインポートしたり、独自のメモリ、リソース、IMチャンネルを持つ永続的なPartnersを実行したりできます。
  • 検査可能なMemory — L1トレース、L2の事実、L3合成によりパーソナライズを可視化・編集でき、Memory Graphで監査できる証拠リンクを確認できます。
  • 設計から拡張可能 — ペルソナ、組み込みまたはコミュニティのスキル、MCPサービス、CLIアプリ、生成モデルを、1つのエージェントネイティブランタイムを通じて追加できます。

🚀 はじめに

DeepTutorの使い方に合うインストール方法を選択してください。ターミナルからのインストールでは、共通のランタイムホームを使用します。プライベート設定は起動元ディレクトリ配下のdata/user/settings/に保存され、明示的に設定した場合はDEEPTUTOR_HOME / deeptutor start --home配下に保存されます。アプリを起動したら、Settings → ProvidersとLanguage modelsでプロバイダーとモデルを設定してください。

デスクトップ — macOSとWindows(プレビュー)

Open DeepTutorにはPython、Node.js、完全な学習ワークスペースが同梱されているため、ターミナルやランタイムの個別インストールは不要です。デスクトッププレビューはdevで利用できます。v1.7.0 Releaseにはデスクトップインストーラーは含まれません。

成功したDesktop Releaseワークフローの実行を開き、Artifactsまでスクロールして、対応するターゲットをダウンロードしてください。GitHubへのサインインが必要で、アーティファクトの有効期限は7日間です。

お使いのコンピューター ダウンロードターゲット インストーラー
Apple Silicon搭載Mac macos-arm64 DMGを開き、Open DeepTutorをApplicationsにドラッグします。
Intel搭載Mac macos-x64 DMGを開き、Open DeepTutorをApplicationsにドラッグします。
Windows x64 windows-x64 Setup .exeを実行するか、ポータブルZIPを展開してOpen DeepTutor.exeを起動します。

Windowsプレビュービルドは署名されていないため、SmartScreenの警告が表示される場合があります。署名、ローカルデータ、ソースビルドについてはデスクトップガイドを参照してください。

Docker — 最速でフルアプリを試す

PythonやNode.jsをインストールせずに、完全なWebアプリを実行できます:

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

http://127.0.0.1:3782を開いてください。名前付きボリュームには設定とローカルデータが保持されます。Webアプリに必要なポートは3782のみです。ホストワークスペース、ローカルモデルサービス、リバースプロキシ、本番デプロイメントについてはDockerガイドを参照してください。

PyPI — フルWebアプリとCLI

Python 3.11–3.14と**Node.js 20.9+**を使用してください。モジュール式の1.7.0リリースでは、deeptutor[full]がWebアプリとCLIをインストールし、単独のdeeptutorはコアのChatとSDKをインストールします。

mkdir -p my-deeptutor && cd my-deeptutor
python -m pip install -U "deeptutor[full]"
deeptutor init     # ports + LLM provider + optional embedding/search
deeptutor start    # starts backend + frontend

ターミナルに表示されたURL(デフォルトはhttp://127.0.0.1:3782)を開いてください。Ctrl+Cを押すと両方のサービスが停止します。

1.6.15以前からのアップグレード: DeepTutorを停止してランタイムホームをバックアップし、新しいパッケージ群をインストールする前に、従来のdeeptutor-cliパッケージをアンインストールしてください。同じDEEPTUTOR_HOMEを維持し、python -m pip checkとdeeptutor module listを実行します。正確なアップグレードコマンドについてはPyPIおよび移行ガイドを参照してください。

ソース — 現在の開発版とコントリビューター向け

CIとDockerに合わせて、Python 3.11–3.14とNode.js 22 LTSを使用してください。

git clone --branch dev https://github.com/HKUDS/DeepTutor.git
cd DeepTutor
python3 -m venv .venv && source .venv/bin/activate
python -m pip install --upgrade pip
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 --dev

本番ビルドには、--devを付けずにdeeptutor startを使用します。オプションの依存関係はリポジトリルートからインストールします(例:python scripts/install_extras.py dev,partners,math-animator)。Conda、エクストラ、トラブルシューティングについてはソースインストールガイドを、ターミナルを操作できるエージェントにセットアップと検証を任せる方法についてはAgent Setupガイドを参照してください。

CLI — ターミナルとエージェントでの使用

最小構成でターミナルにインストールする場合はコアwheelを使用してください。Node.jsやWebフロントエンドは不要です:

mkdir -p my-deeptutor && cd my-deeptutor
python -m pip install -U deeptutor
deeptutor init --cli
deeptutor chat

コアにはChat、Ask Questions、CLI、SDKが含まれます。その他の機能と管理コマンドには、対応する機能モジュールが必要です。現在のdevソースのインストールとオプションの依存関係についてはCLIのみのガイドを参照してください。後述のCLIリファレンスでは、ワンショット実行と機械可読な出力を説明しています。

ワークスペースと高度な設定: Content Workspaces、ローカルデータの永続化、コンテナ化とサンドボックスデプロイメント、設定リファレンス、トラブルシューティングを参照してください。

📖 DeepTutorを探索する

科目やプロジェクトごとのワークスペースから始めましょう。Home、Learning、Resourcesはアクティブなワークスペースに応じて変わり、PartnersとPersonalizationはワークスペースをまたいで利用できます。

領域 スコープ 含まれるもの
Home ワークスペース Chat、Task Board、Calendar、学習ノートブック
Learning ワークスペース Books、Mastery Path、Immersive Reading、Practice
Resources ワークスペース Chat History、Favorites、Learning journal、問題バンク、Knowledge Center
Partners アカウント 永続的なコンパニオン、Partner Groups、リソースアクセス、IMチャンネル
Personalization アカウント My Agents、Personas、Skills、MCP Services、CLI Apps、Memory、Settings
DeepTutorのHomeとワークスペースナビゲーション
🏗️ システムアーキテクチャ
DeepTutorシステムアーキテクチャ
🏠 Home — 会話、タスク、ノート、カレンダー

Homeは日々の作業を始める場所です。現在のワークスペースで、チューターとの会話、次のアクションの整理、自分のノートの作成を行えます。Calendarはアカウント全体のビューを提供しながら、学習イベントの元のワークスペースを保持します。

💬 Chat — 実際に使うエージェントループ

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

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

チューターは必要に応じてツールを呼び出し、確認の質問をするために一時停止できます。右上のCustomize pageで、表示するモードと、Skills、MCP、Partners、Preferences、音声入力の各コントロールを選択します。Starting promptsでは、Explain、Solve、Practice、Plan、Researchのタイトルとプロンプトを追加、編集、削除できます。Saveはアカウントの設定を適用し、Cancelは編集を破棄し、Restore defaultsは元の選択に戻します。

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

ユーザーが切り替えられるツールは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の状態)はターンをまたいで持続します。参照(ファイル、チャット履歴、本、読書セクション、ノートブック、問題バンクから選択した項目、インポートしたエージェント)は、デフォルトでは+メニューから1回のターンのために追加され、ピン留めすると毎回のターンで使われます。音声ボタンが文字起こしするのは現在のメッセージだけです。

フルプロファイルでは、HomeからChat、Ask Questions、Quiz、Visualize、Video Lessonにワンクリックでアクセスできます。引用付きレポートのResearchと手順を追った推論のSolveはMore Capabilitiesの下にあります。回答内のテキストを選択するとLittle Tutorが開き、元の会話の下にネストされた、集中できるサイドバースレッドでやり取りできます。送信済みメッセージが3つ以上ある場合、スペースが許せば左のガターに各質問の目盛りが表示されます。ホバーでプレビュー、クリックで質問に戻る、または**Alt/Option + ↑/↓**で質問間を移動できます。

✅ Task BoardとCalendar — 日々の学習を整理

Task Boardでは、学習タスクをTo do、In progress、Doneで管理できます。メモ、ドラッグ&ドロップやキーボードで操作できる移動コントロール、復元可能なアーカイブを備えます。タスクは現在のワークスペースに保存され、モデル設定は不要です。

Calendarは、個人の学習セッション、繰り返しイベント、リマインダーを一元管理し、Apple Calendar、Google Calendar、Outlook、Thunderbird向けの.icsエクスポートに対応します。タスクの期限や復習などのワークスペースオーバーレイは、元のワークスペースとの接続を保ちます。

✍️ 学習ノートブック — ページ、ソース、Dito
学習ノートブックのページ

学習ノートブック(旧Co-Writer)は、アクティブなワークスペース内で、自分の文章をページ、サブページ、ブロックに整理します。Word文書のインポート、ページツリーの整理、Favoritesの元のレコードの根拠としての挿入ができます。各ページには保存状態が常に表示され、MarkdownまたはWordにエクスポートできます。インタラクティブなコンテンツはWordでは静的な内容になります。

フラッシュカードをAnkiにエクスポート。 NotebookページにはFlash Cardsを含められます。Flash Cardsがあるページでページメニューを開き、Export flashcards (Anki)を選択してください。ノートブックの復習キューからExport all for Ankiを選択することもできます。AnkiではFile → Importを使い、ダウンロードした.txtファイルを選択します。カードはDeepTutor::<note title>という名前のデッキに入り、表面/裏面のフィールド、タグ、数式が保持されます。同じファイルを再インポートすると、カードが複製されるのではなく既存のカードが更新されます。DeepTutor独自の復習スケジュールは含まれません。

学習ノートブックのブロックエディターとDito

Ditoと文章やブロックについて話し合い、説明、例、書き直し、練習問題を依頼できます。会話は関連するページと行に紐づいたまま保持されます。提案された変更を確認してから受け入れるか、回答を行の下に挿入して作業を続けられます。Favoritesには元のレコードを保存し、ノートブックでは自分の理解を組み立てていきます。

🎓 Learning — Books、パス、Reading、Practice

Learningは現在のワークスペースの学習エリアです。Learning → New learningからアクティビティを作成し、All learningから進捗、会話、ソースコンテキストをそのまま維持して再開できます。

現在のワークスペースの学習アクティビティ
アクティビティ 用途 保持されるもの
Book 選択したソースから構造化されたインタラクティブな本を作成 編集可能な章、タイプ指定ブロック、読書進捗、Page Chat
Mastery Path 学習目標をトピックとガイド付き学習に分解 知識ポイントマップ、トピックの会話、習熟度の証拠
Immersive Reading 文書、Webページ、動画、音声ソースのそばで作業 ソースにリンクされた会話、検証済みの引用、ハイライト、ノート、進捗
Practice 収集またはインポートした問題を復習 回答、間違い、記憶度の評価、次の復習日
📖 Book — 素材から生きている本を作成
DeepTutor Bookライブラリ

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

Bookクイズブロック   Bookのアウトラインと章   Bookインタラクティブウィジェットブロック

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

🗂️ Resources — 教材と保存した学習レコード

Resourcesは現在のワークスペースの再利用可能なライブラリです。元の教材、保存した結果、学習レコードをここに保持することで、プロジェクトを混在させずに新しい会話やアクティビティに添付できます。

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

知識ベースは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のみです。Text-onlyおよびその他の解析エンジンは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."]}
🗃️ 履歴、Favorites、ジャーナル、問題バンク
アクティブなワークスペースのResources

Chat Historyは、元の学習コンテキストを維持したまま会話を再開します。Favoritesは、役立つ元の会話や結果を移動可能なコレクションに保存し、Markdownエクスポートや学習ノートブックへの挿入に利用できます。Learning journalは、現在のミッション、セッションの引き継ぎ、確認済みの学習レコードを記録します。問題バンクは、問題、回答、解説、間違いを整理します。問題セットを選択してLearning → Practiceで苦手分野を復習し、反復学習をスケジュールできます。

🤝 Partners — ワークスペースをまたぐ永続コンパニオン

Partnersは1つの科目ワークスペースではなく、アカウントに属します。各コンパニオンは、プライベートライブラリまたは既存ワークスペースのリソースを使用しながら、独自のアイデンティティ、指示、モデルポリシー、関係、チャンネルを保持します。

DeepTutor Partnersワークスペース
アイデンティティ、ワークスペースリソース、グループ、チャンネル

WebまたはIMからの受信メッセージはすべて通常のChatOrchestratorターンになります。Partnerとは「個性と電話番号を持つチャット」です。SOUL.md、モデル選択、ツールポリシー、ライブラリは作成後も編集できます。プライベートなPartnerワークスペースには、割り当てられた知識ベース、スキル、Favoritesコレクションがコピーされます。バインドされたワークスペースでは、代わりに現在のファイルとリソースが共有されます。どちらのモードでも、Soul、会話、関係メモリは分離されます。

DeepTutor Partnersアーキテクチャ

Partner Groupsは、2つ以上のPartnersを1つの共有会話に集め、個別の参加枠、選択可能なディスカッションと共有メモリのモード、永続的な履歴を提供します。コンパニオンが共有されている場合でも、認証済みユーザーはプライベートなPartnerセッションと関係メモリを保持します。

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

スキーマ駆動のチャンネルは、インストール済みエクストラと認証情報に応じて、コンパニオンをFeishu、Telegram、Slack、Discord、DingTalk、QQ/NapCat、WeCom、WhatsApp、Zulip、Mattermost、Matrix、Mochat、Microsoft Teamsに接続します。ブラウザベースのセットアップでは、対応チャンネルのQRオンボーディングを利用できます。PartnerはPersonalization → My Agentsを通じて接続し、通常のChatターンから相談することもできます。

🧭 Personalization — 再利用可能な動作と接続

Personalizationはワークスペースをまたいでアカウントに紐づきます。チューターの振る舞いと、再利用を許可するエージェント、スキル、サービス、アプリケーション、メモリを選択できます。ワークスペースと会話での選択により、そのアクセスをさらに絞り込めます。

アカウントのPersonalization:エージェント、ペルソナ、スキル、接続
🧑‍🚀 My Agents — ライブエージェントとの相談と履歴のインポート
DeepTutor My Agentsワークスペース

ライブエージェントを接続 — Claude Code、Codex、Grok CLI、Antigravity、Kimi、opencode、MiMo Code、Hermes Agent、OpenClaw、DeepSeek Harness、またはPartnerを接続し、Chatターンから相談できます。DeepTutorは選択したエージェントを実行し、consult_subagentを通じてその作業をActivityパネルにストリーミングします。Agentチップまたは@により、接続がセッションに紐づいたまま保持されます。ローカルハーネスは、それぞれ独自の認証、作業ディレクトリ、セッションストレージを使用します。

過去の会話をインポート — ChatGPT、Claude Code、Codexの過去の会話を、検索・再開可能な参照として取り込めます。ChatGPTでは公式のconversations.jsonエクスポートを使用し、Claudeの履歴はプロジェクトまたは作業ディレクトリ、Codexの履歴は日付で選択します。インポートした会話は+ → My Agentsから参照でき、DeepTutor自身の声に変わることはありません。

🎭 Personas、Skills、MCP Services、CLI Apps

Personasは、声、指導スタイル、応答ポリシーを再利用でき、PartnerのSoulの初期内容としても使えます。Skillsは、繰り返し使うワークフローをSKILL.mdプレイブックとしてパッケージ化し、アカウント共有とワークスペースローカルのライブラリを提供します。Import from EduHubでは、コミュニティスキルを参照し、セキュリティゲートを通じてインストールできます(エコシステム参照)。

Personalizationのスキルライブラリ

MCP Servicesは外部ツールを認可し、CLI AppsはCLI-Anythingカタログのインストール済みプログラムを実行サンドボックスを通じて公開します。ワークスペースの割り当てとユーザーグラントにより、各ターンで使用できるリソースが決まります。

🧠 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はchat、notebook、quiz、kb、book、partner、cowriterサーフェスで追跡されます。コンソリデーターのUpdate / Audit / DedupバジェットはSettings → Memoryで調整します。

⚙️ Settings — ワンコントロールプレーン
Settingsナビゲーター

Settingsはオペレーションコントロールプレーンで、最初に表示されるGeneralでインターフェースとモデル出力の言語を設定します。検索可能なナビゲーターから独立した各ページにアクセスできます。PersonalにはWorkspaces、Data migration、Appearance、Usage statistics、Learning & conversationにはStarting points、添付ファイル、Video Learning、学習者と保護者の管理、Learning progress、Memory、Models & servicesにはProviders、Language models、Task models、Embedding、Search、Voice、Multimodal generation、Features & integrationsにはツール、機能パラメーター、Partners & agents、Knowledge & documentsがあります。SystemにはNetwork、Runtime status、Aboutがあり、Archived chatsではアーカイブした会話の検索、復元、完全削除ができます。Runtime statusにはバックエンドの健全性、常駐メモリ、機能の阻害要因・警告・提案を評価するReadinessマトリクスが表示されます。Workspacesはトピックのファイルと学習状態を分離し、Data migrationでは検証付きの移行とエクスポートができます。プロバイダーはベンダーのアドレスと認証情報を保持し、そのサービスモデルで再利用します。モデルページでは保存済みプロバイダーを選び、モデル名と機能を設定します。Task modelsは、会話への命名やStarting pointsの作成からMath AnimatorとVideo Lessonの修復まで、自動処理に小さく高速なモデルを固定し、空欄の場合はアクティブなデフォルトに解決されます。Voiceには音声合成と文字起こし、Multimodal generationには画像と動画のモデルがまとまっています。Partners & agentsではローカルハーネスとリモートのHermesゲートウェイを設定します。

ベトナム語: Settings → Generalで、Interface languageにTiếng Việtを選択し、Apply changesを選びます。Model output languageは独立しています。ベトナム語で返答させるにはそこでもTiếng Việtを選択し、ベトナム語のインターフェースを使いながら別の返答言語を維持することもできます。返答品質は、選択したモデルのベトナム語サポートに依存します。

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は独自の再生と字幕取得の経路を使用します。

DeepTutorの外観設定とテーマ

ほとんどのセクションはドラフトと適用フローを使用するため、コミットする前にプロバイダーをテストできます。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操作には使用できません。クォータエラーとカタログの失敗はそのまま報告され、有料プロバイダーへのフォールバックは決して行われません。この互換性パスは実験的です。上流のインターフェースは変更される可能性があります。

🛠️ 管理と共有デプロイメント

上記の5つの領域は、学習者向けのワークスペースを説明しています。以下のデプロイメントコントロールは、複数のユーザーにDeepTutorを提供する管理者向けです。

👥 マルチユーザー — 共有デプロイメント · オプション認証、分離されたユーザーワークスペース

認証はデフォルトでオフです — 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を空白にしてください。

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

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が含まれています。エージェントに明示的に読み取るよう依頼してください。Agent Setupガイドでは、インストールと設定を説明しています。deeptutor runをLangChain / AutoGenループのツールとしてラップすることもできます。完全なレシピ:Agent Handoff。

Manimアニメーションのオプトインビジュアルレビュー

enable_visual_review=trueを設定すると、レンダリングされたフレームの重なり、可読性、フレーミングを検査し、検出された問題を既存のコード修復ループにフィードバックできます:

deeptutor run math_animator "Animate a sine wave" --config enable_visual_review=true
deeptutor run visualize "Animate a sine wave" \
  --config render_mode=manim_video --config enable_visual_review=true

このオプションのデフォルトはfalseです。math_animatorのoutput_mode=imageとvisualizeのrender_mode=manim_imageでも動作します。一般的なautoループを含むその他のビジュアライザーは、このオプションを無視します。Manimのオプション依存関係は引き続き必要です。

SDKターンでは、DeepTutorApp.start_turn()に渡すTurnRequestでconfig={"enable_visual_review": True}を指定します。APIクライアントは同じconfigオブジェクトでJSONのtrueを使用します。Bookのアニメーションブロックでは、アニメーションBlockにparams={"enable_visual_review": True}を設定します。

レビューではビジョンモデルの呼び出しが追加され、修復呼び出しと再レンダリングも増える場合があるため、コストとレイテンシが増加します。既存の上限である4回の再試行を使用し、レビューのタイムアウトは120秒、修復のタイムアウトは180秒です。利用可能なフレームがない場合、または設定されたレビューモデルが画像を検査できない場合は、レビューがスキップされ、要約が表示されます。すべての再試行後もレビューが成功しなかった場合は、利用可能な最良のレンダリングと失敗したレビュー結果が返されます。レビューのタイムアウトは、既存のレンダリングエラー/再試行パスに従います。機能結果はrender.visual_reviewを公開し、Bookブロックは同じレビューデータをmetadata.visual_reviewに保持します(レビューが実行されなかった場合はnull)。

コマンドリファレンス

この表はフルインストールとオプションのアドオンを対象とします。コマンドと機能を使用するには、それぞれのモジュールを有効にする必要があります。コアは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 activity → Customize pageは、個人のページ設定を即座に変更します。項目を非表示にしても、そのモジュールのアンインストールやアクセス権の取り消しは行われません。

1.7.0のパッケージ群は、コアと機能wheelで同じバージョンを使用します。ローカルwheelをインストールするには、module installに--wheelhouse /path/to/wheelsを渡してください。wheelのビルド方法とデプロイメントの詳細については、モジュールのインストールとソース開発を参照してください。

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

DeepTutorスキルはオープンなAgent-Skillsフォーマットを使用します — SKILL.mdプレイブック(YAMLフロントマター + Markdown)と任意の参照ファイルを含むフォルダです。DeepTutor固有の仕様ではないため、このフォーマットに対応するどのレジストリもライブラリのソースになります。DeepTutorには、独自の教育特化スキルレジストリである**EduHub**がデフォルトハブとして組み込まれています。

EduHub — DeepTutorのスキルエコシステム

EduHubは、DeepTutorが教育指向のエージェントスキルを共有するために立ち上げたコミュニティハブです — ソクラテス式チューター、フラッシュカードビルダー、エッセイフィードバック、試験ブループリント、概念説明など。DeepTutorに組み込まれているため設定は不要で、ベアスラッグまたはeduhub:プレフィックスがEduHubに解決されます。

検索とインストール — ブラウザでPersonalization → Skills → Import from EduHubを開き、カタログを参照してスキルをライブラリに直接ダウンロードできます。ターミナルからは:

deeptutor skill search "socratic tutor"               # search EduHub (the default hub)
deeptutor skill install socratic-tutor                # fetch → verify → register
deeptutor skill install eduhub:[email protected]   # 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:[email protected]
deeptutor skill install clawhub:udiedrichsen/stock-analysis

複数の公開者が同じスラッグを使用している場合、検索結果には各公開者と完全にスコープ付けされたインストール参照(clawhub:<ownerHandle>/<slug>)が表示されます。

data/user/settings/skill_hubs.jsonにさらにレジストリを追加できます。type: "clawhub"エントリは互換性のあるHTTP APIを指し(EduHubとClawHubはどちらもこのAPIを使用)、type: "command"はレジストリが提供する任意のフェッチCLIをラップし、"default"はベアスラッグに使用するハブを選択します。すべて同じインポートゲートを通過します。

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

PageIndex

クーポンコード DEEPTUTOR20 を使用すると、初回の PageIndexサブスクリプションが$20割引になります!

🌐 コミュニティ

🔗 メンテナー

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

📮 連絡先

DeepTutorはBingxi ZhaoがHKUDSグループ内でリードするオープンソースプロジェクトで、完全にオープンソースの形でコミュニティと共に改善を重ねています。現在、いかなる形態の有料オンライン製品も提供していません。議論、アイデア、協業については[email protected]までお気軽にご連絡ください。

🙏 感謝

HKUデータインテリジェンスラボのディレクターであるChao Huang、そしてHKUDSのラボメイト — 特にJiahao Zhang、Zirui Guo、Xubin Ren — の温かいサポートに心から感謝します。また、オープンソースコミュニティにも深く感謝します。皆さんのスター、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がコミュニティへの贈り物になることを願っています。 🎁

最近統合された貢献については、developmentブランチのコントリビューター一覧をご覧ください。

Apache License 2.0に基づきライセンスされています。

関連プロジェクトを探す