跳到正文
dsh-market 浏览插件 GitHub EN

SugarFatFree/dsh-agent-extension

从 .dsh 与 .agents 目录发现工作区 Markdown 命令、技能和按路径生效的规则。

Star 数 ★ 0 分类 技能包 收录于 2026-09-22

安装

在 DeepSeek Harness 里通过 dsh-market 安装

dsh plugin --profile web add dshmarket

或使用命令行

dsh plugin --profile web add github:SugarFatFree/dsh-agent-extension

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络。请先审阅源码,并尽量锁定 commit(github:owner/repo#sha)。

README

English README

一个 DeepSeek Harness (DSH) 插件,用于从项目目录和当前用户的配置目录中发现可复用的 Markdown 斜杠命令、技能与按路径生效的规则。

功能

  • 发现项目级和用户级的命令、技能与规则。
  • 同时兼容 .dsh 与 .agents 目录约定。
  • 按明确的优先级处理重名定义。
  • 将 Markdown 命令注册为 DSH 斜杠命令。
  • 通过 DSH Skills Provider API 提供技能。
  • 在相关工作区文件操作后注入匹配的路径规则。
  • 在每个发现根目录下最多递归六层。

前置条件

  • 已安装带 web Profile 的 DeepSeek Harness。
  • 已安装 pnpm,DSH 使用它管理 Profile 插件。

安装

使用 DSH 原生插件命令直接从 GitHub 安装:

dsh plugin --profile web add github:SugarFatFree/dsh-agent-extension

该插件的 package.json 声明了 dsh.bundle.patch,DSH 会将其识别为插件,安装到指定 Profile 中,并自动加入 dsh.profile.bundles。

安装后请重启 DSH Web 进程并刷新浏览器页面。新建或恢复一个会话后,斜杠命令目录会重新建立。

发布状态

当前项目仅通过 GitHub 分发,尚未发布到 npm。GitHub 安装路径是完整受支持的,不需要 npm 账号:

dsh plugin --profile web add github:SugarFatFree/dsh-agent-extension

后续可能会提供更短的 npm 包名安装方式,但 npm 发布是可选项,不影响 DSH 兼容性或插件目录收录。

本地开发安装

在本仓库目录中执行:

dsh plugin --profile web add .

修改本地 file: 依赖后,请在 Web Profile 目录执行 pnpm install --force,以刷新已安装的 node_modules 副本,然后重启 DSH Web。

发现目录

对于每个会话,项目根目录为最近的包含 .git 的父目录;不存在 .git 时,则使用会话工作目录。

类型 项目目录 用户目录
命令 <project>/.dsh/commands/**、<project>/.agents/commands/** ~/.dsh/commands/**、~/.agents/commands/**
技能 <project>/.dsh/skills/**、<project>/.agents/skills/** ~/.dsh/skills/**、~/.agents/skills/**
规则 <project>/.dsh/rules/**、<project>/.agents/rules/** ~/.dsh/rules/**、~/.agents/rules/**

定义最多可位于上述根目录之下六层。例如,.agents/skills/team/review/SKILL.md 和 .dsh/commands/release/prepare.md 都会被发现。

优先级

同类定义发生冲突时,按以下顺序优先使用第一个结果:

  1. 项目 .dsh
  2. 项目 .agents
  3. 用户 ~/.dsh
  4. 用户 ~/.agents

命令以命令名作为冲突键,技能以技能名作为冲突键,规则以各自 rules 根目录下的相对路径作为冲突键。

命令

commands 目录下的每个 Markdown 文件都会成为一个斜杠命令。名称依次取自 YAML frontmatter 的 name、形如 # /release - Release 的一级标题、文件名。

---
name: release
description: Prepare a release
---

Read the release checklist and prepare the release notes.

输入 /release optional arguments 后,DSH 会启动一个普通 Agent 回合,并将命令正文与参数作为任务指令传入。

命令根目录会监听 Markdown 文件的新增、修改、删除以及嵌套目录变化。新增 .agents/commands/aa.md 后,已打开的会话会获得 /aa,无需重启 DSH Web;命令菜单通过 DSH 的实时命令变更事件更新。仅当浏览器连接中断时才需要刷新页面。

技能

技能可以是单个 Markdown 文件,也可以是包含 SKILL.md 的目录包。技能必须使用标准 YAML frontmatter,并提供 kebab-case 格式的 name 与 description。

---
name: api-review
description: Review API compatibility
whenToUse: Before publishing a changed API
---

Review the changed API surface.

可选 frontmatter 字段 disable-model-invocation、user-invocable 与 metadata 会透传给 DSH。技能通过 DSH 的 Skills 目录及 / 的技能来源显示,而不是仅命令来源;某个发现目录内不可读的文件会被跳过,不会隐藏其他目录中的技能。

按路径生效的规则

规则是 rules 目录下的 Markdown 文件,且 YAML frontmatter 中必须包含非空的 paths 列表。没有 paths 的 Markdown 文件,包括 README.md,都会被忽略。

---
name: frontend-conventions
paths:
  - "code/frontend/**"
  - "web/**"
---

Use the established component and accessibility conventions.

Agent 成功读取、写入或编辑匹配的工作区文件后,匹配规则会在下一次模型执行前注入一次。路径模式相对于项目根目录判断。

验证安装

在 Agent 会话中运行内置命令:

/dsh-extension-status

该命令会输出调用该命令的会话工作目录,以及已发现的命令、技能和规则。已发现的项目命令会注册到会话命令目录并显示在 / 菜单中。

许可证

MIT

内容来自项目 README(GitHub)↗

评论

评论存放在 GitHub Discussions。用 GitHub 账号登录后可发表评论或点表情。