DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Commands — DeepSeek Harness 插件(DSH Plugin)
← Plugins

@etby-studio/dsh-commands

Commands

用于 DeepSeek Harness 用户界面的文件系统斜杠命令发现

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

npx -y @deepseek-ai/dsh plugin --profile web add @etby-studio/dsh-commands@0.2.0
README兼容性版本

兼容性与来源证明

Commands 以 @etby-studio/dsh-commands 发布,当前版本为 0.2.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/9/30

版本

0.2.0stable
2026/9/30

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

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

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Experimental Inspector@deepseek-ai/dsh-experimental-inspector用于 Host 调试和 Client Runtime 检查的实验性跨 realm CDP hubExperimental Inspector Profile@deepseek-ai/dsh-experimental-inspector-profile用于原始 Session 日志和 Chat 节点检查的可选 Web 捆绑包

README

dsh-commands

English | 中文

Filesystem slash-command discovery for DeepSeek Harness UIs.

This plugin registers one slash command per Markdown file under <dshHome>/commands, mirroring the user-root layout of the skill discovery in @deepseek-ai/dsh-skill-filesystem. The filename stem is the command name, the YAML frontmatter supplies the description, and the body is the instruction executed when the command runs. A host watcher keeps registrations in sync with the directory: adding, editing, or deleting a command file updates the registry without a restart, and the registry's own commands/change event refreshes live discovery UIs.

It is a plugin for the DeepSeek Harness command registry (ctx.commands, @deepseek-ai/dsh-commands).

Install

From npm:

dsh plugin add @etby-studio/dsh-commands

Developing locally (the build output lib/ is gitignored; build it first after cloning):

pnpm run build
dsh plugin add /path/to/dsh-commands

The package declares dsh.bundle.patch (cordis.patch.yml), so dsh plugin add installs it as a profile layer and that layer inserts the plugin row itself — no manual cordis.patch.yml edit. Do not also add the row to $DSH_HOME/profiles/<name>/cordis.patch.yml: a second insert of the same id is a duplicate Loader entry.

dsh plugin add refuses packages without dsh.bundle, and DSH loads a bundle only when every @deepseek-ai/dsh-* peer range matches the runtime version, so this release targets dsh 0.2.0-rc.2 (peers ^0.2.0-rc.2).

After boot, any *.md file in <dshHome>/commands becomes a slash command (dshHome defaults to $DSH_HOME or ~/.dsh).

Command file format

Each command is one Markdown file; the filename stem (without .md) is the command name, lowercased ASCII with letters, digits, _, or -, matching parseCommand():

---
description: Execute the plan
---

## Steps

1. Review the plan
2. Create a task list
  • description (required) — shown in command discovery UI.
  • Body — the instruction submitted to the model when the command runs.

Invalid files (missing frontmatter, empty description, invalid name, empty body) are skipped with a warning and never registered.

Execution

The handler never implicitly submits to the model. On /name [args] it reads the current body and steers one user message to the receiving agent:

  • Typed arguments append after a blank line (/go <description> → body + blank line + <description>).
  • A $ARGUMENTS placeholder in the body is substituted with the arguments instead.

The body is re-read at every execution, so file edits take effect without a restart.

Conflicts

File commands are low priority: when a plugin has already registered the same name, the file is skipped with a warning and the programmatic registration wins (no backfill while it lives).

Watcher

Existing roots are watched with Chokidar (realpathed anchor, depth: 1, awaitWriteFinish stability). A missing root is probed from the nearest existing ancestor with fs.watchFile, so creating ~/.dsh/commands later still attaches. Root deletion unregisters everything and reverses to the probe; recreation rescans. commands/change is emitted by the registry itself.

Config

FieldDefaultMeaning
dshHome$DSH_HOME or ~/.dshConfig root; scans commands under it.
commandDirs[]Extra command roots scanned after <dshHome>/commands.
watchtrueWatch command roots for registry updates.
watchUsePollingfalseUse Chokidar polling instead of native events.
watchStabilityThresholdMs200Stable-write window for Chokidar events.
watchPollIntervalMs100Polling/stability and missing-path probe interval.
watchFollowSymlinkstrueFollow symbolic links while watching roots.

Development

pnpm install
pnpm run build     # tsc → lib/
pnpm run typecheck
pnpm run test      # 30 tests: discovery, watcher, real Loader composition

@deepseek-ai/* packages are peer dependencies resolved from the dsh installation at runtime; the tests run against the published npm releases (currently dsh 0.2.0-rc.2).

License

MIT