ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Juggler自定义斜杠命令:一个Markdown文件把你的高频Prompt变成/命令(无代码完整教程)

Juggler自定义斜杠命令:一个Markdown文件把你的高频Prompt变成/命令(无代码完整教程)

【免费下载链接】juggler

The Juggler Code Agent

项目地址:https://gitcode.com/gh_mirrors/juggle/juggler
点击查看免费下载

Juggler 是一款开源的 AI 编码代理可视工作台,而Juggler 自定义斜杠命令是它最容易被低估的实用功能:把你反复粘贴的高频 Prompt 存成一个 Markdown 文件,它就会立刻出现在斜杠命令菜单里,一条/快捷键直接复用。整个过程不需要写任何代码,保存即热加载,还能通过 git 分享给整个团队。

什么是自定义斜杠命令?

自定义斜杠命令本质上是一个"提示词模板文件":

  • 每个命令 = 一个.md文件,放在commands/目录下
  • 文件名(去掉.md)就是命令名,比如review-pr.md→/review-pr
  • 文件内容 = YAML frontmatter(少量选项)+ 提示词正文模板
  • 保存的瞬间自动热加载,无需重启 Juggler

官方文档的完整说明见 docs/custom-commands.md。如果命令需要真正的程序逻辑(调 API、变换文档、加工具),才需要写扩展;自定义命令就是位于扩展之下的"无代码层"。

创建自定义命令的 3 种方式(零代码)

三种方式完全等价,最终写入的是同一个文件,按习惯选一种即可:

方式一:直接输入不存在的命令名

在输入框输入/standup,如果这个命令还不存在,菜单会出现一行置顶的"New command '/standup'…",点开就是预填好的编辑器,边写边看效果。

方式二:打开命令管理器

斜杠菜单顶部的"Edit custom slash commands…"按钮(键盘输入/commands效果相同)会打开命令管理器:

  • 按作用域(scope)分组列出你所有的自定义命令
  • New command…新建一个
  • 已有命令可直接编辑或删除

按钮旁边的"Browse built-in commands…"则打开内置命令清单,方便你了解 Juggler 自带的能力。编辑器的交互实现可以在 web/js/components/command-editor-dialog.js 中找到。

方式三:让 AI 助手帮你写

直接把 Prompt 发给助手,然后说一句"Make that a slash command"(把它变成斜杠命令)。它会调用define_command工具,先向你展示完整定义、经你批准后才写入文件——整个过程依然是零代码。相关实现见 web/extensions/juggler-core/context-items/define-command-context-item.js。

命令文件结构速览

一个命令文件长这样(frontmatter + 模板正文):

--- description: Review a PR and report findings # 必填,菜单里显示的描述 argsHint: <pr-number> # 可选,输入命令后的参数提示 run: subthread # 运行模式:send | draft | subthread strategy: read-only # 可选,仅 subthread 生效 provider: anthropic # 可选,仅 subthread 生效 model: claude-haiku-... # 可选,仅 subthread 生效 thinking: high # 可选,仅 subthread 生效 serviceTier: priority # 可选,仅 subthread 生效 goal: PR review # 可选,线程 UI 上的短标签 icon: icon-eye # 可选,菜单图标 --- Review PR $1. Check out the branch, read the diff, and report each finding as `file:line — description`. $ARGUMENTS

字段校验逻辑(比如命令名必须是"小写字母开头 + 字母数字连字符"、description必填)实现在 cmd/juggler/core/user_commands.go;文件解析故意采用扁平结构,不认识的字段直接忽略,这对导入第三方格式非常友好。

3 个占位符就够了

占位符展开为
$1…$9命令名后第 1~9 个按空白切分的参数
$ARGUMENTS命令名后的全部内容,原样保留(含换行)
$$一个字面量$($$1就是文本$1,不会被当参数)

小贴士:$ARGUMENTS会保留你输入时的换行,所以标题、列表、代码块等多行描述能原样送达提示词;而$1~$9只取按空格切分后的单词。模板即使用了占位符但没给参数也照样发送——模型会自己向你要缺的东西。

三种运行模式怎么选?

run:字段决定命令被触发后发生什么:

模式行为适用场景
send(默认)展开模板,直接作为你的下一条消息发送最常用的快捷 Prompt
draft展开到输入框,可先编辑再发送模板只是"草稿起点"时
subthread在隔离的子线程中运行,结果回到主对话保持主对话上下文干净;仅此模式支持strategy、模型字段和goal

项目级 vs 用户级:命令放在哪?

作用域存放位置生效范围
项目<项目>/.juggler/commands/*.md仅当前项目,可随 git 共享
用户~/.juggler/commands/*.md你的所有项目
  • 同名命令冲突时,项目级优先
  • 自定义命令不能覆盖内置命令(如/clear、/compact):这类文件仍会加载,但会在/commands管理器中标记为无效并说明原因,绝不会静默覆盖

用户目录下各子目录(含commands/)的完整说明见 docs/config-directory.md。

团队共享与安全边界

项目级命令随仓库走:你git clone一个项目,别人写好的命令也会一起到位。不过 Juggler 画了清晰的安全线:

  • ✅ 命令只在你主动触发时才会执行,从不自动运行
  • ✅ 菜单和管理器中都有作用域徽标,随时可见命令来源
  • ✅ 命令本身不能执行 shell、不能读文件——它只是发送一段提示词,后续动作仍受你正常的审批规则约束

从 Claude Code 迁移?直接拷贝即可

Juggler 的格式刻意贴近 Claude Code 的.claude/commands/*.md。Juggler 不会自动扫描.claude/目录,只需把文件拷贝进commands/目录即可:argument-hint会被识别为argsHint,其余不认识的键自动忽略,开箱即用。

相关模块路径

内容路径
官方文档docs/custom-commands.md
命令存储与校验源码cmd/juggler/core/user_commands.go
HTTP APIcmd/juggler/server/handlers/user_commands_api.go
斜杠菜单提供器web/js/components/slash-command-provider.js
命令编辑器对话框web/js/components/command-editor-dialog.js

小结

Juggler 自定义斜杠命令的精髓就是:高频 Prompt = 一个 Markdown 文件。三种创建方式任选其一,保存即生效;用项目级目录放进 git 就能全团队共享。下次再打那段"帮我审查 PR 并输出 file:line 格式的问题清单"时,一个/review-pr就足够了。

【免费下载链接】juggler

The Juggler Code Agent

项目地址:https://gitcode.com/gh_mirrors/juggle/juggler
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

返回列表