SuperAPI AI Directory

deeptutor-cli

General & other

View repository

Updated 10-16 12:37

About this skill

DeepTutor CLI Skill

Teach your AI agent to configure, manage, and use DeepTutor — an intelligent learning platform — entirely through the command line.

When to Use

Use this skill when the user wants to:

  • Set up or configure DeepTutor
  • Diagnose problems in an existing DeepTutor installation
  • Chat with DeepTutor or run a capability (deep solve, quiz generation, deep research, visualize, math animation, mastery path)
  • Create, manage, or search knowledge bases
  • Create, manage, or run Partners (IM-connected companions)
  • Search, install, or manage skills from a hub (EduHub or ClawHub)
  • Inspect or maintain interactive Books
  • View or manage learning memory, sessions, or notebooks
  • Start the DeepTutor API server or the full Web app

Prerequisites

  • Python 3.11–3.14
  • DeepTutor installed: 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/.
  • Run 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.

Agent Setup

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.

Commands

Chat & Capabilities

# 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.

Knowledge Bases

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 base

Partners

Partners 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 partner

Skills

Install 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 skill

Books

Maintenance 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 fingerprints

Memory

deeptutor 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 confirmation

Sessions

deeptutor 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 session

Notebooks

deeptutor 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>

Providers

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 login

System

deeptutor 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 probe

REPL Slash Commands

Inside 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

Typical Workflows

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_search

Build a knowledge base from documents:

deeptutor kb create physics --doc ch1.pdf --doc ch2.pdf
deeptutor run chat "Explain Newton's third law" --kb physics

Generate quiz questions:

deeptutor run deep_question "Thermodynamics" --kb physics --config num_questions=5

Run the full Web app locally:

deeptutor start       # backend + frontend; Ctrl+C to stop