APM 教程:写出你的第一个 apm.yml,让 AI 智能体配置像 npm 一样可移植
发布时间:2026/9/1 13:55:33 作者:尧图编辑部 阅读量:1,286

APM 教程写出你的第一个 apm.yml让 AI 智能体配置像 npm 一样可移植【免费下载链接】apmAgent Package Manager项目地址: https://gitcode.com/gh_mirrors/apm10/apmAPMAgent Package Manager智能体包管理器是一个开源的 AI 智能体依赖管理工具就像package.json之于 npm、Cargo.toml之于 Rust 一样但它管理的是 AI 编码智能体的上下文配置技能Skills、提示词Prompts、指令Instructions、自定义智能体和 MCP 服务器。只需一个apm.yml清单文件 一条apm install命令团队成员克隆仓库后就能在 Copilot、Claude Code、Cursor、Codex、Gemini 等主流工具中获得完全一致的智能体配置并像 npm 一样拥有锁文件apm.lock.yaml保证可复现性。本教程将带你从零写出第一个apm.yml理解它的每个字段并完成一次完整安装。为什么需要 apm.yml一个文件搞定所有智能体过去每位开发者都要手动给自己的 Copilot、Cursor 或 Claude Code 配置提示词和技能配置散落在各处无法移植、无法复现。apm.yml解决这个问题一个文件描述智能体需要的一切一条命令在任何机器上精确复现。APM 的核心理念来自官方文档 What is APM可移植一次声明部署到所有工具Portable by manifest安全安装时扫描隐藏 Unicode、锁定内容哈希Secure by default可治理组织级策略统一管控安装行为Governed by policy快速安装 APM 命令行工具写清单之前先安装 APM CLImacOS / Linuxcurl -sSL https://aka.ms/apm-unix | shWindowsPowerShellirm https://aka.ms/apm-windows | iex更多安装选项指定版本、离线环境等见 installation.md。第一步用 apm init 生成你的第一个 apm.yml创建项目目录并运行初始化mkdir my-skills cd my-skills apm init -y my-skillsapm init只生成一个文件——apm.yml清单本身。最简清单只有两个必填字段# apm.yml name: my-skills version: 1.0.0name和version是仅有的两个必填项版本必须遵循 SemVer 规范纯数字的写法要加引号。完整字段解析你的 apm.yml 能写什么下面是一份带注释的完整示例参考自官方包结构文档 package-anatomy.md# 必填的身份信息 name: my-skills # 包名 version: 1.0.0 # 语义化版本号 # 可选的元数据 description: 团队代码评审技能包 author: Jane Doe license: MIT keywords: [ai, review, python] # 可选目标工具列表固定包要编译到哪些智能体环境 targets: - copilot - claude # 可选发布边界auto 表示自动发布本地源布局 includes: auto # 依赖声明按类型分组 dependencies: apm: - microsoft/apm-sample-package#v1.0.0 # 锁定到指定 tag 的完整 APM 包 - github/awesome-copilot/skills/review-and-refactor # 仓库中的单个技能 mcp: - microsoft/azure-devops-mcp # MCP 服务器依赖 # 可选仅开发用的依赖不会打入发布产物 devDependencies: apm: - my-org/internal-test-skills # 可选用 apm run name 执行的命名脚本 scripts: start: copilot -p hello.prompt.md字段速查表字段必填说明name✅包名version✅语义化版本description/author/license❌元数据apm pack会写入插件包targets❌固定编译到哪些智能体环境includes❌auto或显式路径列表定义发布边界dependencies❌分apm:和mcp:两组的运行时依赖devDependencies❌仅开发用不随发布产物分发scripts❌用apm run name调用的命令 这个结构是刻意对齐package.json的name、version、dependencies、devDependencies、scripts一一对应动词也一致——apm install部署、apm update刷新依赖、apm install --frozen是 CI 锁文件安装对应npm ci。依赖怎么写从任意 Git 仓库拉取技能dependencies.apm支持三种粒度dependencies: apm: # 1) 整个仓库任意 git 托管GitHub、GitLab、Azure DevOps 等 - some-org/awesome-skills # 2) 仓库中单个技能/智能体文件级导入 - some-org/awesome-skills/agents/api-architect.agent.md # 3) 带版本钉选的完整 APM 包 - some-org/sample-package#v1.0.0包还可以依赖包——APM 会解析完整的传递依赖树和 npm 一样。本仓库自身的 apm.yml 就是活例子它只声明了两个本地路径依赖./packages/apm-issue-autopilot和./packages/batch-bug-shepherd其余 5 个官方技能全部由传递依赖自动带入。dependencies.mcp则声明 MCP 服务器安装后会自动写入所有检测到的客户端配置。实战运行官方 hello-world 模板APM 官方提供了一个开箱即用的示例包 templates/hello-world/apm.ymlname: {{project_name}} version: {{version}} scripts: start: copilot --log-level all ... -p hello-world.prompt.md dependencies: apm: - microsoft/apm-sample-package#v1.0.0 mcp: - microsoft/azure-devops-mcp配套的提示词模板 hello-world.prompt.md 演示了参数替换和 MCP 集成。按 README 操作apm install # 安装依赖生成 apm.lock.yaml apm compile # 编译上下文到 AGENTS.md apm run start --param name你的名字apm install 之后发生了什么运行apm install后APM 解析apm.yml中的依赖树含传递依赖生成apm.lock.yaml——锁定每个依赖的精确 commit 和内容哈希请提交到仓库把源内容.apm/目录部署到各工具的运行时目录.github/Copilot、.claude/Claude Code、.agents/skills/跨工具通用位置等扫描隐藏 Unicode防止恶意指令注入切记只编辑.apm/源文件后重新apm install永远不要手改部署产物。目标检测按优先级生效--target参数 apm.yml的targets:字段 文件系统信号自动检测。没有信号时 APM 会明确报错而不是乱猜可用apm targets查看检测结果。发布与复用让别人一行装上你的配置把apm.yml和.apm/源目录推到 git 仓库后任何项目的apm.yml只需一行依赖dependencies: apm: - your-handle/my-skills消费者执行apm install即获得与你完全一致的技能与智能体版本钉选记录在锁文件中。想分发独立插件的话apm pack会把配置打包为标准的plugin.json插件消费者无需安装 APM。下一步学习 官方新手指南Your First Package —— 10 分钟做出一个带技能包 包结构详解Package Anatomy 项目主清单示例apm.yml 安装方式全览Installation现在打开你的终端敲下apm init写出属于你的第一个apm.yml吧【免费下载链接】apmAgent Package Manager项目地址: https://gitcode.com/gh_mirrors/apm10/apm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考