Configure, manage, and use DeepTutor through its CLI, including capabilities, knowledge bases, partners, memory, sessions, notebooks, providers, skills, and the server or Web app.
Teach your AI agent to configure, manage, and use DeepTutor — an intelligent learning platform — entirely through the command line.
Use this skill when the user wants to:
pip install deeptutor for the packaged full Web app, pip install -e . for a full source checkout, or pip install -e ./packaging/deeptutor-cli for CLI-only from source. Full source installs also need Node.js 22 LTS and npm ci --legacy-peer-deps in web/.deeptutor init for first-time interactive setup. It walks a guided wizard (ports → LLM → embedding → search → review) and writes the same settings as the Web Settings page under data/user/settings. Add --cli to skip the ports step for CLI-only use, or --home <path> to target a specific workspace.When the user asks you to install, configure, or troubleshoot DeepTutor, follow
docs-for-user/AGENT_SETUP.md. It covers cloning,
environment preparation, credential sources, optional RAG/search, startup,
and verification, plus a troubleshooting approach
for existing installations. Read it before changing settings; reuse existing checkouts
and preserve the user's files. Keep DEEPTUTOR_HOME consistent for all commands.
deeptutor init --non-interactive # Create missing defaults; no model selected
deeptutor config providers # Discover supported providers as JSON
deeptutor config apply setup.json --check # Validate without settings writes/network
deeptutor config apply setup.json # Apply complete setup profiles from JSON
deeptutor config show # Inspect configuration with credentials redacted
deeptutor doctor --format json # Check local readiness
deeptutor doctor --online --format json # Small live LLM request (provider usage)Use the guide's setup JSON schema, with api_key_env referencing a credential
in the CLI process's environment. Never print keys or place literal keys in
the setup JSON. For missing credentials/model choices, ask the user for the
source/selection; continue independent preparation. Use the installed CLI's
--help to confirm commands when working with an older release. Saving settings
is not proof of readiness: report actual verification and any unfinished step.
# Interactive REPL
deeptutor chat
deeptutor chat --capability deep_solve --kb my-kb --tool web_search
# One-shot capability execution
deeptutor run chat "Explain Fourier transform"
deeptutor run deep_solve "Solve x^2 = 4" --kb textbook
deeptutor run deep_question "Linear algebra" --config num_questions=5
deeptutor run deep_research "Attention mechanisms" --kb papers --config mode=report --config depth=standard
deeptutor run visualize "Plot the unit circle"
deeptutor run math_animator "Visualize a Fourier series"
# Capabilities accepted by `run` / `chat -c`:
# Discover current capabilities and tool availability with `deeptutor plugin list`.
# Options for `run`:
# --session <id> Resume existing session
# --tool/-t <name> Enable tool (repeatable)
# --kb <name> Knowledge base (repeatable)
# --notebook-ref <ref> Notebook reference, "<notebook_id>:<rec1>,<rec2>" (repeatable)
# --history-ref <id> Referenced session id (repeatable)
# --language/-l <code> Response language (default: en)
# --config <key=value> Capability config (repeatable)
# --config-json <json> Capability config as JSON
# --format/-f <fmt> Output format: rich | json (default: rich)deeptutor chat accepts the same --session / --tool / --kb / --notebook-ref / --history-ref / --language / --config / --config-json options, plus --capability/-c <name> to set the initial capability.
Tools for --tool / -t: user-toggleable tools are brainstorm, web_search, paper_search, reason, geogebra_analysis, imagegen, and videogen. Context-gated tools (rag, exec, memory, notebook, …) mount according to context/capability rules; --tool does not bypass those rules. Mount a knowledge base with --kb for RAG. Run deeptutor plugin list for the registered set.
deeptutor kb list [--format rich|json] # List all knowledge bases
deeptutor kb info <name> # Show knowledge base details (JSON)
deeptutor kb create <name> --doc file.pdf # Create from documents (--doc/-d repeatable)
deeptutor kb create <name> --docs-dir ./papers # ...or from a directory of documents
deeptutor kb add <name> --doc more.pdf # Add documents incrementally
deeptutor kb search <name> "query text" [--mode hybrid] [--format rich|json]
deeptutor kb eval <name> --dataset qa.jsonl [--top-k 5] [--mode hybrid] [--save report.json]
# Scores retrieval quality against a QA set (JSONL: {"query": ..., "gold": [...]});
# reports Recall@k / Precision@k / nDCG@k / MRR / MAP / Hit@k per case and averaged.
deeptutor kb set-default <name> # Set as default KB
deeptutor kb delete <name> [--force] # Delete a knowledge basePartners are IM-connected learning companions (the former "TutorBot").
deeptutor partner list # List all partners
deeptutor partner create <id> -n "My Tutor" # Create and start a new partner
# -n/--name <text> Display name
# -s/--soul <md> Soul markdown (the persona)
# -m/--model <id> Model override
deeptutor partner start <id> # Start a partner
deeptutor partner stop <id> # Stop a running partnerInstall and manage skills, including packages from EduHub and ClawHub.
Hub refs use <hub>:<slug>[@version] (the hub prefix defaults to eduhub).
deeptutor skill search "flashcards" [--hub clawhub] [--limit 10]
deeptutor skill install clawhub:some-skill[@1.2.0] [--name local-name] [--force] [--allow-unverified]
deeptutor skill list # List local skills (with hub provenance)
deeptutor skill remove <name> # Remove a user-layer skillMaintenance commands for the BookEngine (authoring/reading is via the Web app).
deeptutor book list # List all books (flags stale pages)
deeptutor book health <book_id> # Inspect KB drift + log.md health
deeptutor book refresh-fingerprints <book_id> # Re-snapshot KB fingerprintsdeeptutor memory show [<target>] # target: L3 (all global docs, default) | L2 (all surfaces) | a doc name (e.g. profile, chat)
deeptutor memory clear [<target>] # target: all (default) | trace (all L1) | a surface name (clears that surface's L1)
# --force/-f Skip confirmationdeeptutor session list [--limit 20] # List sessions
deeptutor session show <id> [--format rich|json] # View session messages
deeptutor session open <id> # Resume session in the REPL
deeptutor session rename <id> --title "..." # Rename a session
deeptutor session delete <id> # Delete a sessiondeeptutor notebook list # List notebooks
deeptutor notebook create <name> [--description "..."]
deeptutor notebook show <notebook_id> [--format rich|json]
deeptutor notebook add-md <notebook_id> <file.md> [--title "..."] [--type chat|question|research|solve]
deeptutor notebook replace-md <notebook_id> <record_id> <file.md>
deeptutor notebook remove-record <notebook_id> <record_id>deeptutor provider login openai-codex # OAuth login for OpenAI Codex
deeptutor provider login github-copilot # Sign in through GitHub device flow
deeptutor provider login codebuddy # Validate CodeBuddy SDK login / open logindeeptutor config show [--home <path>] # Print resolved configuration (redacted)
deeptutor config providers # Supported setup providers as JSON
deeptutor config apply <file.json> [--check] [--home <path>] # Apply/validate setup JSON
deeptutor plugin list # List registered tools and capabilities
deeptutor plugin info <name> # Show a tool/capability's schema + availability
deeptutor serve [--host 0.0.0.0] [--port 8001] [--reload] # Start the API server
deeptutor start [--home <path>] [--detach] [--no-browser] # Launch backend + frontend
deeptutor stop [--home <path>] # Stop a detached launcher
deeptutor init [--cli] [--home <path>] [--non-interactive] # Wizard or missing defaults
deeptutor doctor [--online] [--format json] # Local readiness / optional live LLM probeInside deeptutor chat, use these:
| Command | Effect |
|---|---|
/quit | Exit REPL |
/session | Show current session id |
/status | Print the current REPL state |
/new or /clear | Start a new session context |
/regenerate or /retry | Re-run the last user message |
/tool on|off <name> | Toggle a tool |
/cap <name> | Switch capability |
/kb <name>|none | Set or clear knowledge base |
/history add <id> / /history clear | Manage history references |
/notebook add <ref> / /notebook clear | Manage notebook references |
/show last|<n> | Expand a captured tool result or thinking block |
/refs | Show all active references |
/config show|set|clear | Manage capability config |
First-time setup:
cd DeepTutor
pip install -e .
deeptutor init # Interactive guided setup (add --cli for CLI-only)Daily learning:
deeptutor chat --kb textbook --tool web_searchBuild a knowledge base from documents:
deeptutor kb create physics --doc ch1.pdf --doc ch2.pdf
deeptutor run chat "Explain Newton's third law" --kb physicsGenerate quiz questions:
deeptutor run deep_question "Thermodynamics" --kb physics --config num_questions=5Run the full Web app locally:
deeptutor start # backend + frontend; Ctrl+C to stopHKUDS/DeepTutor
SKILL.md
a31d826
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.