@dijkspicy/dsh-commands
v0.1.3
Published
Discover .agents/commands/*.md as file-driven DeepSeek Harness slash commands with real $ARGUMENTS substitution, riding the @deepseek-ai/dsh-commands registry
Downloads
689
Maintainers
Readme
@dijkspicy/dsh-commands
让 DeepSeek Harness 像 opencode 一样加载 .agents/commands/*.md:文件驱动的斜杠命令,$ARGUMENTS 真替换、免重启热更新(骑 @deepseek-ai/dsh-commands 注册表,不改 harness 一行代码)。
安装
npx @dijkspicy/dsh-commands install对 <dsh-home>/profiles/ 下每个 profile 自动完成:复制插件到 <profile>/node_modules/@dijkspicy/dsh-commands/,并在 <profile>/cordis.patch.yml 追加一行 loader(改动前备份、幂等、不碰别人的行)。重启前端或 /reload 生效。
| 命令 | 说明 |
|---|---|
| npx @dijkspicy/dsh-commands install | 安装/更新。--profile <name> 只装某个 profile(可重复);--force 越过冲突或重铺被改动的副本 |
| npx @dijkspicy/dsh-commands status | 只读报告:版本、每个 profile 的副本状态与 loader 行 |
| npx @dijkspicy/dsh-commands uninstall | 摘除 loader 行并删除副本(均先备份);别名 remove |
--dsh-home <path> 覆盖目标根(默认 $DSH_HOME 或 ~/.dsh)。退出码:0 成功或无操作,1 冲突或错误。
命令文件
把 .md 文件放进下面任一目录即可,文件名就是命令名(review.md → /review),增删改即时生效:
| 优先级 | 位置 | 作用范围 |
|---|---|---|
| 1 | <项目>/.dsh/commands/ | 该项目 |
| 2 | <项目>/.agents/commands/ | 该项目 |
| 3 | ~/.dsh/commands/ | 所有会话 |
| 4 | ~/.agents/commands/ | 所有会话 |
同名时高优先级覆盖低优先级。示例 ~/.agents/commands/review.md:
---
description: 审查当前工作区的改动
argument-hint: [关注点]
---
请审查当前工作区的代码改动,重点关注:
1. 潜在 bug
2. 安全问题
$ARGUMENTS输入 /review 重点看安全 后,$ARGUMENTS 被替换成 重点看安全,渲染结果作为 prompt 提交给模型。正文没有 $ARGUMENTS 时,参数自动追加到末尾,不会丢。
- frontmatter 可省略;
description显示在斜杠菜单,argument-hint显示为菜单参数提示 - 命令名要求
^[a-z][a-z0-9_-]*$(不能以数字开头);不合规文件跳过并打 warning - 其他支持的键:
name(覆盖命令名)、attachments: true(允许随命令发图片/文件附件)、record-input: false(会话日志不记录原始参数,敏感参数用)、user-invocable: false(停用该文件)
插件配置(可选)
编辑 cordis.patch.yml 里本包 loader 行的 config::
| 字段 | 默认 | 说明 |
|---|---|---|
| customCommandDirs | [] | 额外命令目录(绝对路径;优先级介于项目级与用户级之间) |
| namePolicy | strict | normalize:小写化、空格折 -,让 My Command.md 也能加载 |
| appendArguments | true | 无 $ARGUMENTS 占位符时是否把参数追加到正文末尾 |
| attachments | false | 全部命令默认是否收附件(单文件可用 frontmatter 覆盖) |
| watch | true | 监听文件变化热注册 |
| includeDefaultRoots | true | 关掉则只扫 customCommandDirs |
其余可调项:dirName、dshHome、agentsHome、recordInput、maxBytes、watchUsePolling、watchDebounceMs、watchPollIntervalMs、watchMaxRoots。
已知限制
- 命令仅在输入行行首
/name时触发(不支持句中手势);命令对模型不可见(注册表是人类专用),disable-model-invocation: false不生效 - 只扫根目录下的扁平
*.md,不递归子目录,不支持命名空间 - frontmatter 只支持扁平
key: value,不支持 YAML 列表/嵌套对象
