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.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
L

dsh-learning-hub

Learning Hub

A local-first DSH plugin that exposes a learning_hub tool and a read-only learning dashboard backed by plain _learner files.

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

npx -y @deepseek-ai/dsh plugin --profile web add github:ZBC-QRLA/dsh-learning-hub#6f89a3ab864402952a11aa2c653df03b50c398f7
READMECompatibilityVersions

Compatibility and provenance

Learning Hub is published as dsh-learning-hub and currently resolves to version 0.1.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
10/27/2026

Versions

0.1.1stable
10/27/2026
0.1.0stable
10/26/2026

Related plugins

Loading related plugins…

Latest
0.1.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/27/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

Related plugins

More verified plugins in productivity-workflow.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseExperimental Schedule Bundle@deepseek-ai/dsh-experimental-schedule-bundleOptional bundle that adds Schedule, its task page, and time context to the Web compositionWeb All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / pet / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Ab Ocrdsh-ab-ocr--- description: "The out-of-tree ocr tool: recognizes a scanned PDF or image page by page, merges the pages in order only after the last one, and saves one Markdown document with the heading levels the model decided." kind: "package-reference" ---

README

dsh-learning-hub

A local-first learning hub for DeepSeek Harness (DSH).

It turns plain Markdown/JSON files in a _learner directory into:

  • a course → concept branch tree;
  • a prerequisite/relationship concept graph;
  • mastery, evidence-backed progress, and 1/3/7/14-day review;
  • a learning_hub tool for DSH agents;
  • a small three-column dashboard with a records form.

There is no database, no CDN, no telemetry and no cloud dependency. The data stays in your _learner folder and can be read, diffed, backed up and edited by hand.

Status: 0.1.1, early. The data schema and tool actions may evolve. See ROADMAP.

Changelog

0.1.1 — 2026-10-27

  • Dashboard drilldown: click KPI cards, mastery buckets, the stacked bar, or hero stats to inspect the concepts behind the number in a native dialog.
  • Photo to DSH: the record form can attach a photo, compress it in the browser, and send it to a selected DSH session over same-origin RPC.
  • One-click DSH login: GET /learning-hub/auth redirects through DSH's browser auth and sets an HttpOnly cookie; the panel then loads session/list and session/prompt without manual token handling.
  • Mixed seed/real mode: seed:true fixture rows stay strict; real record rows use seed:false + a session id + non-placeholder evidence.
  • Session and review sync: record creates/reuses a sessions.jsonl row and updates the matching reviews.json entry (due, mastery, interval_days, status, last_reviewed) on every concept update.
  • Safer evidence gate: empty evidence or seed: / 待补充 / 示例: placeholders are rejected before anything is written.
  • Tests: 34 plugin tests + 523 panel selfcheck checks.

0.1.0 — 2026-10-26

  • Initial open-source release: learning_hub tool, branch/concept graph, dashboard, records, spaced review, local HTTP API, demo _learner.
  • Tests: 23 plugin tests + 412 panel selfcheck checks.

Features

Branch treeActive and planned courses, each with concepts and a next step
Concept graphPrerequisite edges, related edges, mastery colours, click-to-inspect
Evidence firstmastery only changes with a record; no silent "I think you know it" upgrades
Recordsstudy / practice / exam / review / misconception
Review1 / 3 / 7 / 14-day schedule; review returns due concepts
Routingcwd, keywords, branch names and concept names → primary/secondary branch + confidence
Dashboardcollapsible sidebars, desktop/tablet/mobile layouts, light/dark, no build step
Drilldownclick KPI / distribution / stacked bar / hero stats to inspect the concepts behind a number
Photo to DSHcompress a photo in the browser and send it to a selected DSH session over same-origin RPC
Safe writesloopback-only HTTP, same-origin writes, realpath containment, 64 KiB body limit, pre-write backups
Mixed dataseed fixtures and real record rows can coexist; real rows carry seed:false, session and evidence

Requirements

  • DSH >=0.2.1-rc.3 <0.3.0-0
  • Node.js >=20 (DSH ships its own runtime; a standalone Node is useful for tests)

Install from a checkout

# 1. Link the package into a DSH profile
dsh plugin --profile desktop add D:\path\to\dsh-learning-hub

# 2. Point the plugin at your learner data and the bundled panel
#    Edit <DSH_HOME>\profiles\desktop\cordis.patch.yml:
- id: learning-hub
  name: dsh-learning-hub
  config:
    dataRoot: 'D:\path\to\learner'
    panelDir: 'D:\path\to\dsh-learning-hub\public'
    # port: 19480   # optional loopback-only extra port

Restart DSH, then:

  • tool learning_hub is available;
  • panel: http://127.0.0.1:<DSH_PORT>/learning-hub/;
  • API: /api/learning-hub/state, /record, /route.

Without any config, the plugin uses the bundled demo:

  • data: examples/demo-learner/
  • panel: public/

Quick start (demo)

node --test                    # 35 tests (34 plugin + panel selfcheck)
node test/panel-selfcheck.mjs  # 523 panel checks

Open public/index.html via any static server, or install the plugin and open /learning-hub/.

Tool

One tool, several actions:

{"action":"status"}
{"action":"route","cwd":"D:/courses/c","text":"pointers and arrays"}
{"action":"record","branch":"cs.c","unit":"pointer","event":"practice","mastery":2,"evidence":"homework-4 Q3"}
{"action":"search","query":"pointer"}
{"action":"review","withinDays":7}
{"action":"link","from":"cs.c.array","to":"cs.c.pointer","relation":"prereq"}

event is study | practice | exam | review | misconception. evidence is required and must be traceable (homework id, file, session id).

HTTP API

RouteMethod
/learning-hubGET302 → /learning-hub/
/learning-hub/GETdashboard
/learning-hub/authGET302 → DSH /?token=…; sets a 30-day HttpOnly cookie
/learning-hub/<asset>GETstatic assets
/api/learning-hub/stateGETcanonical state
/api/learning-hub/recordPOSTappend a record
/api/learning-hub/routePOSTroute text/cwd

All non-loopback requests are rejected. Write requests must be same-origin JSON and are limited to 64 KiB.

Data model

_learner/ is the single source of truth:

profile.md
branches.json
concepts.json
progress.jsonl
errors.json
reviews.json
sessions.jsonl
materials/index.md
.backups/          # created by the plugin before writes

A concept has id, name, aliases, branches, prereq, related, mastery (0–5), evidence, misconceptions, sources, next_review, plus seed and mastery_basis in mixed mode. Prerequisites are directed and acyclic; related links are symmetric.

Seed rows keep seed:true and placeholder evidence; a real record writes seed:false, appends a real evidence string, adds a session, and syncs the matching reviews.json row. See docs/DATA-SCHEMA.md.

Security and privacy

  • Local data only; no outbound network calls, no telemetry, no credentials in _learner.
  • HTTP is loopback-only; writes require a same-origin Origin/Referer and JSON.
  • The panel uses DSH's browser auth via GET /learning-hub/auth (30-day HttpOnly cookie); no token is returned in JSON or stored in _learner.
  • Static paths are realpath-checked; .., absolute paths, symlink escapes and NUL bytes are rejected.
  • Every write is atomic and backed up under _learner/.backups/.

Please read SECURITY.md before exposing the panel through a tunnel or reverse proxy. Authentication is for the local DSH browser only; this is not a multi-user or remote-access product.

Development

node --test                 # store/router/api/escape tests
node --check public/app.js
node test/panel-selfcheck.mjs

The panel is plain HTML/CSS/JS. There is no build step and no frontend dependency. The plugin is a normal Cordis package (lib/index.js); edits to lib/ require a DSH restart, panel edits only need a browser refresh.

See CONTRIBUTING.md and docs/ARCHITECTURE.md.

License

MIT. See LICENSE.