DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
L

dsh-learning-hub

Learning Hub

一个本地优先的 DSH 插件,提供 learning_hub 工具和只读学习仪表板,数据由纯文本 _learner 文件支持。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:ZBC-QRLA/dsh-learning-hub#6f89a3ab864402952a11aa2c653df03b50c398f7
README兼容性版本

兼容性与来源证明

Learning Hub 以 dsh-learning-hub 发布,当前版本为 0.1.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/10/27

版本

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

相关插件

正在加载相关插件…

最新版
0.1.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/27
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 productivity-workflow 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Experimental Schedule Bundle@deepseek-ai/dsh-experimental-schedule-bundle为 Web 组合添加 Schedule、其任务页面和时间上下文的可选捆绑包Web 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: "外部 ocr 工具:逐页识别扫描的 PDF 或图像,仅在处理完最后一页后按顺序合并页面,并使用模型确定的标题级别保存为一个 Markdown 文档。" 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.