在 DSH Web 中浏览、登录并安全安装来自团队 Skill Base 的公开或私有 Skill。
安装
# npm 包(预构建)
dsh plugin --profile web add internal-skill-workshop
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:Olina1Ye/internal-skill-workshop-plugin
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
该插件的 README 只有英文版本。
internal-skill-workshop is a DeepSeek Harness Web plugin for finding and
installing team Skills from a configured
Skill Base server.
It provides:
- a DSH Settings section for the team Skill Base address;
- an administrator-provided default server address;
- public catalog browsing without an account;
- verification-code sign-in for private team Skills;
- one-click installation into the DSH user Skill directory;
- metadata for the author, version, visibility, type, compatible tools, and tags.
Publishing and Skill administration remain in Skill Base Web, skb, or
Companion.
Install
You need a running Skill Base server that DSH Web can reach. The plugin is a team catalog client; it does not include or deploy the server.
dsh plugin --profile web add internal-skill-workshop
Restart DSH Web, then open Settings -> Internal Skill Workshop.
Team setup
An administrator can preset one shared server address in the profile's
cordis.patch.yml:
- id: internal-skill-workshop
config:
baseUrl: https://skills.company.example
Every team member using that profile starts with the same address. A member may save a personal address from the plugin; the personal value takes precedence. Remote servers must use HTTPS. Loopback HTTP is accepted for local development.
Member workflow
- Open Settings -> Internal Skill Workshop.
- Confirm or enter the Skill Base root address without an
/apisuffix. - Search immediately to browse public Skills.
- To see private Skills, choose Get code. Sign in on the Skill Base page and copy the generated verification code back into the plugin.
- Select a Skill and choose Install.
The plugin installs to:
$DSH_HOME/skills/<skill-id>
$DSH_HOME defaults to ~/.dsh. The plugin does not accept a path from the
browser and refuses to overwrite an existing Skill directory. Updating and
replacing locally modified Skills are intentionally out of scope for this
release.
Credentials
The plugin never asks for a Skill Base password. It exchanges a five-minute, single-use verification code for a Skill Base personal access token (PAT). The DSH host stores the PAT in:
$DSH_HOME/internal-skill-workshop/credentials.json
The file is written with owner-only permissions where the platform supports
them. The PAT is attached to Skill Base requests only by the DSH host and is
never returned to the browser, placed in a URL, or stored in browser
localStorage. Sign out removes the local PAT.
Skill Base currently issues long-lived PATs through this flow. Signing out of the plugin removes the local copy but does not revoke the server-side token; server administrators should remove an exposed or retired PAT from Skill Base.
API keys and translation
The DSH plugin does not require an API key. Do not paste a Cloudflare or Skill Base credential into its server-address setting.
If a Skill Base deployment provides a Translate to Chinese action on its publishing page, that is a separate server-side feature. The Skill Base server operator enables it by supplying these environment variables to the server process or container:
CLOUDFLARE_ACCOUNT_ID=<Cloudflare account ID>
CLOUDFLARE_API_TOKEN=<token with Workers AI access>
SKILL_BASE_TRANSLATION_TIMEOUT_MS=20000
SKILL_BASE_TRANSLATION_TIMEOUT_MS is optional and defaults to 20 seconds.
The account ID and token must remain on the server. For Docker deployments,
ensure the deployment explicitly passes them into the application container;
adding them to a host .env file alone may not do that.
Security boundaries
- The browser can call the plugin host only through a loopback-only DSH RPC channel.
- The host validates the Skill Base URL and rejects remote HTTP, credentials, query strings, fragments, and redirects.
- Downloaded archives are limited to 50 MB compressed, 100 MB unpacked, and 2,000 entries.
- Skill Base JSON responses are limited to 5 MB, and untrusted Skill IDs are validated before any local path check.
- ZIP traversal, absolute paths, symbolic links, duplicate paths, files outside
the Skill root, and invalid
SKILL.mdfrontmatter are rejected. - The host sends the browser only the catalog fields rendered by the UI.
- Installation is staged and then atomically renamed into
$DSH_HOME/skills/<skill-id>.
Development
npm test
npm audit
npm pack --dry-run
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-skill-explorer★ 8707
技能中心:按来源分级浏览已加载的全部 skill,启用/禁用模型调用、创建新技能、删除进可恢复回收站。
GanyuanRan/Aegis★ 1346
面向编码 Agent 的软件工程方法包,提供基线优先规划、系统化调试、提示词卫生、完成前验证,以及修复/退役双轨跟踪技能。
superdesigndev/superdesign-skill★ 666
在 Superdesign 画布上做 UI 与营销图的设计技能:先读代码库拿上下文、抽取现有设计系统,再通过 Superdesign CLI 生成并迭代可分支的设计稿、流程页与可复用组件。
linhay/harmony-next.skills★ 362
为 DeepSeek Harness 提供 HarmonyOS NEXT 技能包、离线 API 参考及 DevEco、HDC 与模拟器自动化指南。
dhicoc/dsh-reverse-skill★ 246
完整 reverse-skill(85 个 SKILL.md)的 DeepSeek Harness 插件:逆向工程、授权渗透测试与安全研究的技能路由包。
sandbaseai/sandbase-skills★ 202
通过文件系统 Skill provider 将 88 个研究、社交情报、营销与商业 Agent Skills 挂载到 dsh。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。