DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Plugin Learn — DSH Plugin for DeepSeek Harness
← Plugins
P

dsh-plugin-learn

Plugin Learn

Algorithm learning mode for DeepSeek Harness: lessons, Docker-isolated judging, a tutor with progressive hints, variant reviews, and reminder email

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:kapelame/deepseek-harness-leetcode#d397c96a81294c02faa405b72fe0930a9009843f
READMECompatibilityVersions

Compatibility and provenance

Plugin Learn is published as dsh-plugin-learn and currently resolves to version 0.4.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/16/2026

Versions

0.4.1stable
10/16/2026
0.4.0
stable
10/15/2026
0.2.2stable
10/15/2026

Related plugins

Loading related plugins…

Latest
0.4.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 1
Weekly downloads
0
Last push
10/15/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in developer-tools.

Client Ui Git Graph@linxin666/dsh-client-ui-git-graphExternal dsh web GUI plugin: a blank-session git branch selector + Git graph, with real host-side git operations and guards, as a dsh profile bundleSsh@linxin666/dsh-sshRemote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executiUpdate@linxin666/dsh-updateSelf-update plugin for the dsh web GUI: probes npm for newer family releases and runs the owning profile's pnpm update in place, from a sidebar trigger beside the settings seat with a release-notes panelTui@deepseek-harness-tui/dsh-tuiInteractive terminal interface for DeepSeek Harness agents, sessions and tools.

README

A whale-themed coder solving Two Sum on LeetCode with DeepSeek

DeepSeek Harness LeetCode

Learn algorithms inside DeepSeek Harness: lessons, all of LeetCode Hot 100, a sandboxed judge, and an AI tutor.

English | 中文

Why

  • All of LeetCode Hot 100, plus 8 more classics — each with an original summary, three progressive hints, and an explained solution. Statements stay on LeetCode; every problem links to the official page.
  • A real judge on your machine. Code runs in Docker with no network. Hidden boundary, random, and large cases catch wrong and slow solutions — including design classes, in-place edits, and linked-list/tree node problems.
  • Lessons before problems. 16 topics, from hashing to dynamic programming, each with a worked example you can trace step by step. Then the tutor writes a short check about the lesson, reviews your answers, and decides when you're ready for the practice problem.
  • Add problems by just describing them. "3 medium BFS problems I haven't done" — an AI agent finds them on LeetCode, writes the tests, and adds them only if they pass validation.

A closer look

LeetCode Hot 100 in Learn, grouped like LeetCode with progress per group
Hot 100 — LeetCode's own grouping, with your progress per group

Solving LRU Cache: Python editor and a passed verdictSubmissions tab with status, runtime, memory, and the submitted code
Solve — editor, Run and Submit, hidden testsSubmissions — runtime, memory, and every past attempt

Practice record: solved ring by difficulty, submission stats, yearly calendar, and recent passes
Your record — solved by difficulty, a yearly calendar, streaks, and recent passes

Lesson worked example with a step-by-step trace tableHints unlocked one level at a time
Learn — worked examples you can traceHints — direction, key idea, outline, solution

Tutor-written understanding check with the tutor's feedback on each answer
Tutor check — questions written for the lesson, answers reviewed by the tutor (real DeepSeek output)

Also included: an AI tutor chat, spaced-repetition reviews with fresh validated variants, progress by concept, and optional daily reminder email.

Quick start

  1. Install Docker Desktop. Learn then guides the rest: it can start Docker and download the runner images with one click, or run docker pull python:3.13-alpine node:24-alpine yourself.

    Guided setup: install Docker, start it, download the runner images
  2. Install the plugin from github:kapelame/deepseek-harness-leetcode:

    • Desktop: Plugins → install from GitHub.

    • Web:

      dsh plugin --profile web add github:kapelame/deepseek-harness-leetcode
      dsh web
      
  3. Open Learn in the sidebar. Explanations default to Chinese; switch to English in Learn → Settings.

Needs DSH 0.2.0-rc.2 or newer, below 0.3 (tested on 0.2.0-rc.2 and 0.2.1-alpha.3). A default model (for example, signed in to DeepSeek) is optional: it powers the tutor, tutor-written lesson checks, AI feedback, and Add problems. Running, judging, written hints, and the lessons' built-in check questions work without one.

Install from the command line on Desktop

Quit Desktop completely, then run its bundled CLI and reopen Desktop:

"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" plugin --profile desktop add github:kapelame/deepseek-harness-leetcode

The repository ships prebuilt files in lib/, so installing runs no build script. Pin a commit for reproducible installs: github:kapelame/deepseek-harness-leetcode#<commit>.

How judging works

Every verdict comes from test execution only. Your code runs in a Docker container with no network, a read-only filesystem, and memory, CPU, and process limits; expected answers never enter the container. Each suite combines official example inputs with hidden boundary, random, and large cases, built from a reference solution and checked against an independent brute-force solution. A pass means "passed local tests", not LeetCode acceptance. The optional AI judge adds feedback but can never change the verdict.

Add problems

A finished Add problems run: searches, inspected problems, one rejected submission, and two problems added

Practice → Add problems. Describe what you want and pick how many (1–5). Progress streams live, and you can stop at any time; problems already added stay.

  • The agent follows the bundled skill skills/learn-problem-author/SKILL.md, which is visible only to the finder agent, never in your normal Sessions.
  • Number, title, difficulty, tags, signature, and examples always come from LeetCode's metadata, never from the model. Paid-only problems and problems that need a judge Learn does not provide are skipped.
  • Each problem must pass the same validation as the built-in ones before it is added.
  • In our live tests with DeepSeek, a run took 70–300 seconds and added every problem requested.

Privacy

  • Your code runs only inside offline Docker containers.
  • With a default model, Submit (unless agents.judge: false), hints, tutor chat, reflections, and variant generation send the problem summary and your code to that model through DSH. Lesson checks send the lesson and your answers. Add problems sends your description and LeetCode metadata, never your code. Each run appears in your Session history.
  • Add problems queries LeetCode's public GraphQL API for problem metadata only: no login, no statements, paced requests with a per-run budget.
  • Nothing else leaves your machine, except reminder email if you configure SMTP.
Configuration

The plugin adds two rows to your profile: learn (the service) and learn-ui (the Remote API and UI). Override settings in the profile's cordis.patch.yml. A patch replaces the row's whole config, so keep dataRoot:

- id: learn
  config:
    dataRoot: !!js dshHomePath('learn')
    defaultLocale: en
    reviewDailyLimit: 3
    agents:
      judge: false              # deterministic judging only, no AI feedback
      variantGeneration: true
    finder:
      enabled: true
      maxProblems: 5            # problems per Add problems run
      maxSubmissionsPerProblem: 3
      maxLeetcodeRequests: 40   # LeetCode requests per run
      requestIntervalMs: 1000
    email:
      transport: capture        # 'smtp' sends only with liveSendingAuthorized: true

Data lives in learn/ under your DSH home (~/.dsh by default); Settings can export it as JSON or reset it.

Real email needs email.transport: smtp, email.liveSendingAuthorized: true, email.smtp.host/port/user, and the SMTP password stored as the DSH credential named by email.smtp.passwordRef (default DSH_LEARN_SMTP_PASSWORD). Without implicit TLS, STARTTLS is required.

Limitations
  • Docker is required for running code. DSH's own process sandbox only restricts file writes (it allows network access and reading your files), so Learn does not use it as a substitute.
  • Reminders are sent only while DSH is running with the plugin enabled; a missed daily digest is sent later the same day, never on a later day.
  • TypeScript submissions have their types removed but are not type-checked.
  • The tutor sees only the last ten messages of a conversation.
  • While an AI run is active, its Session briefly appears in the sidebar.
  • On Desktop, links in reminder emails point to a local port that changes on each launch; use the verification code in the email or set email.publicBaseUrl.
Build from source

source/ holds three DSH workspace packages built with the DSH toolchain:

git clone https://github.com/deepseek-ai/deepseek-harness.git dsh
git -C dsh checkout dsh-v0.2.0-rc.2
node scripts/build.mjs ./dsh    # copy sources in, install, build, assemble lib/

Use --skip-install to rebuild an installed checkout. Run tests inside the checkout with npx vitest run packages/experimental/learn/tests (needs Docker).

Content lives in content/ (content/collections/hot-100.yaml lists the Hot 100 groups). Each problem has YAML metadata with input domains, a reference solution, an independent brute-force oracle, optional hooks, and a frozen, validated test suite. authoring/ holds the scripts that generate the Hot 100 content and freeze its suites.

License

MIT