DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Skills — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-skills

Skills

dsh 的全局技能中心:将 Claude Code、项目和 .skill-package 技能汇总到 ~/.dsh/skills,支持引用/复制导入和斜杠菜单使用

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

npx -y @deepseek-ai/dsh plugin --profile web add github:CocoSgt/dsh-skills#e1eff623f3bd3e6c26a24d49a9ac953e28778cc9
README兼容性版本

兼容性与来源证明

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

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/20

版本

0.1.1stable
2026/8/20
0.1.0stable
2026/8/14

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Subagent Codex@deepseek-ai/dsh-subagent-codex基于官方 app-server 协议的一次性 Codex 子代理提供程序

README

dsh-skills

简体中文 | English

npm package: dsh-skills · GitHub repository: CocoSgt/dsh-skills

Third-party skill hub for DeepSeek Harness (dsh): aggregate skills scattered everywhere into one global library. Claude Code's ~/.claude/skills, project directories, .skill packages — everything lands in ~/.dsh/skills (the official skill-filesystem's default scan root, watched live), and once imported appears in the "/" slash menu of the input box. Adds a "Skills" page to the settings dialog.

Two import identities

Link (recommended)Copy
Implementationskills/<name> is a symlink to the sourcefull tree copy
SyncNo sync problem: one file on both sides, editing edits the sourceevolves independently (state records the source for reference)
Source deletedpanel marks it "broken link", one-click removal (source untouched)unaffected
Fitslong-lived sources you maintainthrowaway sources (.skill packages, repos you'll delete), or a global version you can change freely

The harness's skill scanner, fs provider, and watcher all follow symlinks natively (skill-filesystem's nodeEntryKind handles them explicitly), so links need no patches and work across every loading form (including SDK/ACP, where plugins cannot be installed).

Aligned with how the harness actually works

  • There is no "install": a skill takes effect the moment it sits in a scan root. This page manages the global library (~/.dsh/skills, rank 400, all sessions); skills in project directories (.dsh/skills, .agents/skills, rank 100/200) are scanned by the harness directly and never pass through this page — that is exactly why they are "always invocable", and why project skills win on name collisions.
  • A skill is a file tree, not one MD: the editor edits SKILL.md only and tells you how many resource files exist; manage resources via "Open directory". Export packages the whole tree as .skill (links are dereferenced: real files are packed).
  • Editing a link = editing the source: the editor header says so; saving writes straight to the source file.

Tabs

  1. Global skills: the top action row has "+ New skill" (inline expander, no scrolling) and "Upload .skill" (imports as soon as a file is picked, no intermediate confirmation); a filter box appears with many skills. Each card: identity badges (Link → source / Copy / Created locally / Broken link), resource count, non-default invocation policy; descriptions clamp to 3 lines by default (click to expand); primary action "Edit SKILL.md", with export / open directory / copy name in the ⋯ menu and an inline two-step delete confirmation (links only remove the link).
  2. Discover: scan directories managed inline as chips at the top (each chip shows its skill count or "missing", ✕ removes immediately, + adds in place — there is no separate "Sources" tab); each scanned item offers "Link" (primary) / "Copy", and "Link all" goes through a single batch RPC; a filter box appears with many results.

Architecture

  • Host half (lib/index.mjs): SkillHubGateway extends TypertRemoteService and exposes three RPCs: skillHub/getState, skillHub/runCommand, and skillHub/browseDirs (the last one powers the source picker's directory browser). The runCommand payload is a command union carried verbatim over src-json. The earlier 3180–3189 port-probing sidecar HTTP service is gone. Because SRC discovery is blind in the third-party dual-copy scenario, a weak manifest is also registered into the host typert registry.
  • Browser half (lib/client.js): $mount identity-codec descriptors → ctx.remote.skillHub; the panel registers into the settings.section slot; "Open directory" goes through the official host.openPath.
  • i18n: all visible copy renders through the official locale service. zh/en dictionaries live in src/client/locales.ts; the slot registration declares locale: NS, so the framework injects a reactive t seat into the component props. Host runCommand results carry a stable code (e.g. import.linked, err.read.notFound) plus optional params and an explicit level: 'error'; the client translates by code and falls back to the Chinese message field, and colors the status line by level instead of guessing from message text.

The state file ~/.dsh/skills/.skill-manager.json records the source configuration and each skill's {mode, source, addedAt} (schema reserved for future drift detection). Its filename is deliberately kept from the old skill-manager so existing installations keep their state.

Install

Install from npm:

dsh plugin --profile web add dsh-skills

The three dsh plugins can be added together in one command:

dsh plugin --profile web add dsh-skills dsh-attachments dsh-inspector

GitHub fallback:

dsh plugin --profile web add github:CocoSgt/dsh-skills

Note: a self-built profile's ~/.dsh/profiles/<name>/package.json must list @deepseek-ai/dsh-base and @deepseek-ai/dsh-web-app in dsh.profile.bundles, otherwise startup hangs silently.

Restart dsh web afterwards. Uninstall: dsh plugin --profile web remove dsh-skills.

Companion plugins

The other two plugins from the same suite:

  • dsh-attachments (npm) — bring any file into the conversation as cards above the composer; the model reads images by path via read_image, so even non-vision models are never blocked.
  • dsh-inspector (npm) — an "Instruction Files" panel showing the exact AGENTS.md/CLAUDE.md instruction chain in effect for the session, in real load order, with in-place editing and skill-root status.

Known limitations

  • Drift detection/pull/push between copies and their sources is phase two; for now copies only record the source.
  • Directory links use junctions on Windows; file-level links fall back to a copy without privilege, and say so honestly.
  • A linked skill's in-library link name is fixed at import time; if the source's frontmatter name changes later, the skill name follows the source but the link name does not (harmless — only the directory name and the skill name diverge).
  • "Link all" runs serially; failures are collected and summarized (first failure shown) without flooding the status line.
  • Host-side messages for a few low-level failures (e.g. corrupt zip details) ride inside a {message} param and remain Chinese in the English UI.

Development

pnpm install
pnpm run check   # tsc --noEmit
pnpm run build   # tsdown (host ESM + browser bundle)

Note: host method parameter names ARE the RPC wire field names (Gateway SRC mode); the build must never minify or rewrite parameter names.

Tags

This package and its repository carry the dsh-plugin, dsh, deepseek-harness and related keywords/topics. DeepSeek Harness ships no official plugin marketplace and no official discovery tag — once a third-party plugin is published, nothing links it back to the ecosystem and users have no way to find it. These community tags are the only practical discovery channel (npm: keywords:dsh-plugin; GitHub: topic:dsh-plugin). Unofficial, but essential — that is why they are here.

License

MIT