DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

dsh-plugin-commands

Plugin Commands

DSH 通用斜杠命令加载器插件:扫描项目 .agents/commands/*.md 与 .dsh/commands/*.md,注册为 opencode 风格的 / 斜杠命令

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

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

兼容性与来源证明

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

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

版本

0.1.4stable
2026/8/15
0.1.3stable
2026/8/15

相关插件

正在加载相关插件…

最新版
0.1.4
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
12.8 kB
文件数
5
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
39
最近提交
2026/8/15
查看源码 ↗项目主页 ↗
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 Commands Plugin(通用斜杠命令加载器)

让 DeepSeek Harness (DSH) 拥有 opencode 风格的自定义斜杠命令。 项目 .agents/commands/*.md(或 .dsh/commands/*.md)中的每个 Markdown 文件 都会注册为一条 / 斜杠命令:命令正文作为用户消息提交给 AI。

工作方式

输入 /opsx-explore 我的想法 时:

  1. 插件读取 .agents/commands/opsx-explore.md 的正文
  2. 正文含 $ARGUMENTS → 原位替换为参数;否则参数以空行拼接到正文末尾
  3. 用官方工厂 createUserMessage()(@deepseek-ai/dsh-llm)构造消息并 agent.steer() 提交给当前会话的 AI(与 DSH 内置 /plan 同机制)
  4. 命令行与执行结果不进入模型历史

命令目录与优先级

优先级目录
高<项目根>/.dsh/commands/*.md
低<项目根>/.agents/commands/*.md
  • 项目根 = 最近含 .git 的祖先目录(无则用 cwd)
  • 同名命令:高优先级目录覆盖低优先级
  • 文件名(去 .md)即命令名,必须匹配 ^[a-z][a-z0-9_-]*$(首字符必须小写字母, DSH 不支持冒号,opencode 的 /opsx:explore 对应 /opsx-explore)
  • 非法文件名或不可读文件跳过并 warn,不影响其他命令

frontmatter(可选)

---
description: 命令描述(缺省用文件名)
argument-hint: "[想法]"      # 可选,UI 输入框占位提示
---

命令正文……$ARGUMENTS……

只解析单行 key: value;其余字段忽略;无 frontmatter 或未闭合均合法(视为纯正文)。

安装

本插件通过 npm 发布,可安装到任意 DSH 项目中。推荐用 DSH 自带的插件命令安装。

Node ≥22.19(DSH developer preview 要求)。

方式一:DSH 插件命令(推荐)

dsh plugin 会把参数转发给指定 profile 目录下的 pnpm,把装进该 profile 并自动加入 dsh.profile.bundles。本插件以 DSH bundle 形式分发(package.json 声明 dsh.bundle.patch),安装后无需手动注册,直接启动即可:

# 安装到 web profile
dsh plugin --profile web add dsh-plugin-commands@latest

# 启动
dsh web     # 等价于 dsh --profile web

启动后,在 Web UI 对话框输入 / 即可看到插件从命令目录加载出的全部斜杠命令。

如何给命令补充参数

DSH 的 UI 交互:输入 /命令名 后按空格(不是回车、也不是从菜单点选), 命令名会保留在输入框,此时可以继续补充参数文字,输入完按回车提交:

/opsx-explore 我想探索多模态支持      ← 按空格后在这里补文字
  • 从 / 菜单点选命令会立即执行,无法补参数
  • 直接输入 /命令名 后按回车则不带参数执行
  • 命令正文里的 $ARGUMENTS 会被替换为你输入的文字;无占位符时参数拼在正文末尾

坑点:dsh plugin add 需写 ~/.dsh(凭证目录)。在终端沙箱(TRAE/EDR 等)里会报 EPERM ... pnpm-lock.yaml。请在普通 Terminal 运行;或临时 HOME=$PWD/.fake-home dsh plugin --profile web add ...(假宿主目录,需重新登录 DSH)。 若升级过插件版本,用 dsh plugin --profile web up dsh-plugin-commands 更新到含 dsh.bundle 的最新版。

方式二:npm 手动安装

# npm / pnpm / bun 均可
npm install dsh-plugin-commands
# 或
pnpm add dsh-plugin-commands
# 或
bun add dsh-plugin-commands

然后在项目根的 cordis.yml 中注册,name 指向安装后的构建产物:

- insert:
    - id: dsh-plugin-commands
      name: '<你的项目根>/node_modules/dsh-plugin-commands/dist/index.js'

启动:

dsh web --patch ./cordis.yml

两种方式对比

方式一 dsh plugin add方式二 npm install
安装范围装进 DSH profile装进当前项目
是否需手动注册❌ 不需要(bundle 自动注册)✅ 需在项目 cordis.yml 手写 name
启动命令dsh webdsh web --patch ./cordis.yml
适用个人全局使用、多项目共享锁定在某个项目里
换机/换目录无路径问题(包名解析)需改 cordis.yml 里的绝对路径

一句话:个人日常用方式一(零配置);项目内固定用方式二(显式声明)。

放置命令文件

插件扫描项目根(最近含 .git 的祖先目录)下的两个目录:

优先级目录
高<项目根>/.dsh/commands/*.md
低<项目根>/.agents/commands/*.md

每个 Markdown 文件就是一条命令,例如新建 .dsh/commands/hello.md:

---
description: 打个招呼
argument-hint: "[名字]"
---

向用户打个友好的招呼。如果提供了名字,用 $ARGUMENTS 里的名字称呼对方。

重启 DSH 后即可用 /hello 触发。

本地开发加载(源码方式)

bun install
bun run build                    # 产出 dist/index.js
dsh web --patch ./cordis.yml     # 在普通终端运行,见下方坑点
  • cordis.yml 的 name 必须指向构建产物 dist/index.js 的绝对路径; 换机器/目录需同步修改。不能直接指向 TS 源码(Node ESM 不支持源码中 无扩展名的相对导入;bundle 已打平)
  • 若启动报 EPERM ... ~/.dsh/profiles/web/cordis.yml:是终端沙箱 (如 TRAE/EDR)拦截 node 子进程写 ~/.dsh。在普通 Terminal 启动即可; 或临时 HOME=$PWD/.fake-home dsh web --patch ./cordis.yml

开发

bun run test        # bun:test 单元测试
bun run typecheck   # tsc --noEmit
bun run build       # bun build → dist/

依赖:运行时仅 @deepseek-ai/dsh-llm 的 createUserMessage(构建 --external,由项目 node_modules 解析);cordis / dsh-commands 仅类型。

已知限制

  • 命令启动时一次性加载,无热重载(改 md 后需重启 DSH)
  • 不支持用户级 ~/.agents/commands/ 全局命令
  • 不支持 opencode 的高级模板($1 位置参数、agent/model frontmatter 字段)

License

MIT