08. 扩展 Matcha

本地插件

插件是一个文件夹,可以打包技能、斜杠命令、子助手、钩子和 MCP 服务。你从 **自己信任的本地路径** 安装。

从文件夹安装

matcha plugin install ./my-plugin --trust

先 **不加** --trust 跑一次,读警告。再加 --trust 才会激活钩子、MCP 服务和技能。只安装你会以自己用户身份去跑的文件夹。

插件在你启用之前保持 **关**。信任是另一回事:即使已启用,钩子和 MCP 服务在插件受信任前仍不激活。~/.matcha/plugins/ 下的插件自动受信任。.matcha/plugins/ 里的项目插件需要显式授予信任。

安装后,在 Plugins 标签页按 r,或开一个新会话。插件里的技能出现在斜杠菜单。若名字冲突,用带前缀的形式(/deploy-tools:release)。

在 shell 里管理

matcha plugin list
matcha plugin list --json
matcha plugin enable <name>
matcha plugin disable <name>
matcha plugin details <name>
matcha plugin update [<name>]
matcha plugin uninstall <name> --confirm

uninstall 的别名:rmremove--keep-data 保留插件可写的数据目录。

校验你正在编写的文件夹:

matcha plugin validate ./my-plugin

matcha plugin tag 按清单版本写 git tag。这是给你自己的仓库用的,不是商店发布。

在 TUI 里:`/plugins`

/plugins

打开扩展模态框的 **Plugins** 标签页。在 VS Code 系之外,Ctrl+L 打开同一个模态框。Marketplace 标签页可能仍会 **画出**;但不能从产品目录安装。

按键作用
Enter展开名称、版本、范围、技能、子助手、钩子、MCP
Space启用或停用
a从本地路径添加
x卸载(用 y 确认)
r重新加载
f按状态过滤
/按名称搜索

shell 也接受 /plugins list/plugins install <path> --trust/plugins uninstall <name>/plugins update/plugins reload。在分页器里,优先用模态框。

若希望每个会话都开插件,在配置里打开:

[plugins]
paths = ["~/my-plugins/custom-tools"]
enabled = ["team-tools"]
disabled = ["noisy-plugin"]

条目是普通名称(matcha plugin list)或完整 ID(<scope>/<hash>/<name>)。要隐藏插件和钩子 UI,在 ~/.matcha/pager.toml 里设 disable_plugins = true

插件文件夹里有什么

my-plugin/
  plugin.json             # optional
  skills/gdrive/SKILL.md
  commands/
  agents/
  hooks/hooks.json
  .mcp.json

plugin.json 可选;没有它时 Matcha CLI 仍会发现标准目录。磁盘索引名 .grok-plugin/marketplace.json 是上游给 **本地** 多插件检出用的文件名。它不是官方 MatchaCode 商店。

共享该文件夹(或你磁盘上已有的 git 检出)并本地安装。不要把 GitHub 简写或 [[marketplace.sources]] 当成首发渠道。

你应该看到

你运行了结果
matcha plugin install ./my-plugin --trust插件已在磁盘上;若仍是关着,再启用
/plugins 再按 Space已启用 / 已停用
/marketplace报错:远程市场不可用
matcha plugin marketplace add …同样的失败即关闭报错