dshplugin.devDeepSeek Harness Plugins
DSH Deeptutor plugin logo
DeepSeek Harness Plugin

DSH Deeptutor

0
Published by TecFancy

DeepTutor bridge bundle for DeepSeek Harness (dsh): learning capabilities, knowledge bases & note archiving. | DeepTutor 桥接插件(bundle),为 DeepSeek Harness 提供学习能力、知识库与笔记归档工具。

Automationagentdeepseek-harnessdeeptutordsh

Get this plugin

Review the source, then continue to the publisher.

dsh plugin add dsh-deeptutor@latest
Get this plugin
Share on X ↗

About this plugin

Source snapshot 8/13/2026

dsh-deeptutor

DeepTutor bridge bundle for DeepSeek Harness (dsh), migrated from the pi coding-agent extension (TecFancy/pi-extensions, extensions/deeptutor + skills/deeptutor).

Registers three model-facing tools that drive the HKUDS/DeepTutor tutoring service:

ToolPurpose
deeptutor_runRun a learning capability: deep_solve / deep_question / deep_research / chat / mastery_path / visualize / math_animator (HTTP/WS first, CLI fallback)
deeptutor_kbList / search / info the user's personal knowledge bases (RAG)
deeptutor_noteArchive Markdown learning notes to a server notebook

Deployment auto-detects local vs. remote: local serve (or local CLI) on this machine, or a server reached through an auto-started SSH tunnel (with SSH CLI fallback).

Install into a profile (bundle)

Publish it (or point dependencies at a registry you control), then either:

# one-shot: install the package into the profile and add it to the bundle list
dsh plugin --profile web add dsh-deeptutor

or add it manually to the profile manifest (~/.dsh/profiles/<name>/package.json):

{
  "dependencies": { "dsh-deeptutor": "^0.1.0" },
  "dsh": {
    "profile": { "bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-deeptutor"] }
  }
}

The bundle manifest (dsh.bundle.patch → cordis.patch.yml) inserts the plugin row; later patch layers can override or disable it by id.

Develop against a checkout (no publish needed)

dsh web --patch /path/to/dsh-deeptutor/cordis.yml

Build & publish

npm install
npm run build        # tsc → lib/ (relative .ts imports rewritten to .js)
npm run typecheck
npm pack             # inspect dsh-deeptutor-0.1.0.tgz
npm publish          # set a scope/registry of your choice first

Node ≥ 22.6 (type stripping) is needed to load the raw src/*.ts via --patch; the published bundle ships compiled lib/, so installed profiles run on plain Node ≥ 20 ESM.

Skills

The agent-facing workflow lives in the deeptutor skill, installed at ~/.dsh/skills/deeptutor/SKILL.md (auto-discovered by dsh). The companion html-doc skill (~/.dsh/skills/html-doc/) renders study answers to self-contained HTML pages; this plugin bundles the same converter under scripts/md-to-html.js and uses it when deeptutor_run gets an html path.

Configuration (env vars, agent-agnostic)

# Remote deployment (DeepTutor on a server, reached through an SSH tunnel)
export DEEPTUTOR_SSH_HOST="tencent-cloud"           # SSH host alias (set = remote mode)
export DEEPTUTOR_API_BASE="http://127.0.0.1:8001"   # local tunnel address
export DEEPTUTOR_REMOTE_BIN="/home/ubuntu/my-deeptutor/.venv/bin/deeptutor"
export DEEPTUTOR_REMOTE_HOME="/home/ubuntu/my-deeptutor"

# Local deployment — leave DEEPTUTOR_SSH_HOST unset
# export DEEPTUTOR_API_BASE="http://127.0.0.1:8001"  # local serve port
# export DEEPTUTOR_LOCAL_BIN="deeptutor"             # local CLI path (default: deeptutor on PATH)

Restart dsh after changing env vars.

Layout

src/                 # TypeScript sources (dev loading, typecheck)
lib/                 # compiled ESM (published entry, from `npm run build`)
scripts/md-to-html.js  # zero-dependency Markdown → HTML converter
cordis.yml           # dev overlay: insert src/index.ts by absolute path
cordis.patch.yml     # bundle patch: insert the package by name

src/index.ts registers the tools; config.ts holds env config; cli-exec.ts local/SSH CLI execution; http-api.ts API probing + SSH tunnel; turn.ts one learning turn (WebSocket / CLI event folding + formatting); html-render.ts answer → self-contained HTML.