命令行里的 Power Platform,第一部分:Copilot CLI 是什么以及插件如何组织

Dev.to AI 2026-07-21T05:09:03.315001

微软现在为 Power Platform 开发提供了一套官方的智能体插件,放在 microsoft/power-platform-skills 市场上。这套插件兼容两款使用相同插件格式的命令行智能体工具:GitHub Copilot CLI 和 Anthropic 的 Claude Code。本系列将从零开始完整介绍:这两款 CLI 是什么,如何下载所有 Power Platform 插件,如何读懂插件做了什么,逐一盘点全部七个插件,最后用一个实际例子把它们串成一个完整方案。由于这两款 CLI 极其相似,我会全程同时展示 Copilot CLI 和 Claude Code 的命令,你选哪一款都行——插件完全一样。

什么是“智能体 CLI”?

如果你在 VS Code 里用过 GitHub Copilot,应该熟悉那种自动补全加聊天式的体验。而智能体 CLI 完全是另一回事。它是一个在终端里运行的程序,能和你对话、读写项目文件、执行 Shell 命令、调用 MCP 服务器,还能代表你执行多步骤操作——每一步都会停下来向你请求许可。目前主流的有两款,它们之所以重要,是因为都支持同一种插件格式:

同一个微软市场能同时服务这两款,是因为它们对“插件”的定义达成了一致:一个文件夹,里面包含 skills、agents、MCP 服务器定义以及一个清单文件。Copilot CLI 查找 .plugin/ 文件夹;Claude Code 查找 .claude-plugin/ 文件夹;而 Power Platform 仓库直接把两种文件夹都打包好,内容完全一样。

安装 CLI

两款 CLI 都通过 npm 安装,也都需要较新版本的 Node。

GitHub Copilot CLI(需要 Node.js 22 以上,以及有效的 Copilot 订阅):

npm install -g @github/copilot

第一次启动 copilot 时会提示你进行身份验证。进入会话后,使用 /login 斜杠命令进行身份验证,并按照提示操作。如果你更想用 token,可以创建一个具有 Copilot Requests 权限的细粒度个人访问令牌,并将其导出为 COPILOT_GITHUB_TOKEN(或 GH_TOKEN / GITHUB_TOKEN)。
Claude Code 需要 Node.js 18+ 和一个 Claude 账户:npm install -g @anthropic-ai/claude-code

首次启动 claude 时会引导你完成登录。
两者都是交互式 REPL(读取-求值-输出循环)。你直接用自然语言输入请求,代理会建议操作,然后你批准执行。斜杠命令(任何以 / 开头的命令)是用来控制工具本身,而不是跟模型对话——这就是你管理插件的方式。

文件存在磁盘的哪里?

这部分很容易让人搞混,所以具体说明一下。两种工具都不会把插件直接丢进你的项目目录里,它们各自使用一个用户专属的家目录。

Copilot CLI 的组织方式如下:

~/.copilot/
├── installed-plugins/
│   ├── <marketplace-name>/
│   │   └── <plugin-name>/        # 从市场安装的插件
│   └── _direct/
│       └── <source-id>/          # 直接安装的插件(非通过市场)
└── ...                           # 配置文件、日志、会话状态

市场本身会单独缓存到操作系统特定的位置——Linux 下是 ~/.cache/copilot/marketplaces/,macOS 下是 ~/Library/Caches/copilot/marketplaces/,Windows 下是对应的位置。每个插件还会获得一个私有的可写临时目录,该目录通过环境变量 COPILOT_PLUGIN_DATA 暴露给插件。

Claude Code 在自己的家目录下保存类似的结构:

~/.claude/
├── plugins/                      # 已安装的插件 + 市场克隆
├── settings.json                 # 权限、默认模式等

在命令行中使用 Power Platform,第一部分:Copilot CLI 是什么,插件如何组织

两者的心智模型是一样的:市场本质上就是一个装满插件的 Git 仓库;安装插件时,会把该插件的文件夹复制(或链接)到 CLI 的家目录下,这样插件中的技能和代理就能在每个会话中使用了。

插件文件夹结构解析

接下来才是真正有用的部分。一旦你掌握了插件的结构,就能在大约一分钟内打开任意一个插件并搞懂它的功能——完全不需要文档。Power Platform 市场中的所有插件都采用相同的布局。以下是经过精简的 power-pages 插件的真实结构:

power-pages/

├── .plugin/plugin.json           # 清单文件(Copilot CLI 读取此文件)

├── .claude-plugin/plugin.json    # 相同的清单文件(Claude Code 读取此文件)

├── .mcp.json                     # 此插件附带的 MCP 服务器

├── AGENTS.md                     # 代理为该领域加载的指令

├── CLAUDE.md -> AGENTS.md        # 符号链接,使两个工具读取相同的指引

├── README.md

├── skills/                       # 你可以调用的各项能力

│   ├── create-site/

│   │   └── SKILL.md

│   ├── deploy-site/

│   ├── plan-alm/

│   └── ...

├── agents/                       # 技能委派给专门的子代理

│   ├── data-model-architect.md

│   └── ...

├── references/                   # 技能根据需要引用的参考文档

├── scripts/                      # 辅助脚本(版本检查、启动器等)

插件的目录结构详解

下面几个文件夹承载了大部分含义:

为什么要理解这个结构

你不需要盲目信任一个插件。因为所有东西都是明文文件——JSON 清单、Markdown skill、一个很小的 MCP 配置——你可以在运行插件之前,清清楚楚看到它会做什么、能接触到什么。这种透明性正是下一篇的重点:我们会添加 Power Platform 市场、安装插件,然后打开它们,看看每个插件到底干了什么。

命令行上的 Power Platform,第一部分:什么是 Copilot CLI 以及插件如何组织

查看原文