如果你在用 Claude Code 或 GitHub Copilot 做日常开发,你可能已经安装了不少 Skills、MCP Server 和 Hooks。但每次 clone 一个新项目,你需要手动重新配置这些 Agent 依赖——安装哪些 Skills、连接哪些 MCP Server、配置哪些 Hooks,都散落在 README 的某个段落里。Microsoft 的开源项目 APM(Agent Package Manager)正是为了解决这个问题:让你像 package.json 管理 npm 包一样,用一个 apm.yml 文件声明和管理所有 Agent 配置。
这不是性能监控
首先澄清一个容易混淆的点:虽然 APM 这个缩写在行业里通常指 Application Performance Monitoring(应用性能监控),但 Microsoft 的这个 APM 是 Agent Package Manager——一个 AI Agent 的依赖管理器。与 Azure Application Insights 完全无关。
核心概念
APM 的设计哲学是:Agent 的配置就是代码,应该被版本控制和依赖管理。
apm.yml:Agent 的 package.json
一个典型的 apm.yml 文件:
name: my-project
version: 1.0.0
dependencies:
fireworks-tech-graph:
source: github:yizhiyanhua-ai/fireworks-tech-graph
version: '^1.2.0'
last30days:
source: github:mvanhorn/last30days-skill
version: 'latest'
financial-analysis:
source: github:anthropics/financial-services-plugins
path: plugins/financial-analysis
instructions:
- file: CLAUDE.md
hooks:
pre-commit:
- run: 'npm run lint'
mcp:
postgres:
command: 'npx @modelcontextprotocol/server-postgres'
env:
DATABASE_URL: '${DATABASE_URL}'
当团队成员 clone 项目后,只需运行 apm install,所有 Skills、MCP Server、Hooks 和指令文件都会被自动安装和配置。
传递性依赖解析
与 npm 和 pip 一样,APM 支持传递性依赖。如果 Skill A 依赖 Skill B,安装 A 时 B 会被自动解析和安装。这对于构建复杂的 Agent 工作流至关重要。
多源安装
APM 支持从多个来源安装包:
- GitHub、GitLab、Bitbucket
- Azure DevOps
- GitHub Enterprise
- 任意自托管 Git 服务器
- 策展注册表(通过
apm-policy.yaml治理)
安全扫描
Agent 的配置——Skills、Prompts、Instructions、Hooks——本质上都是可执行内容,是潜在的攻击面。APM 在安全方面做了两层防护:
apm audit:扫描已安装的包,检测隐藏的 Unicode 字符(一种常见的 prompt 注入向量)和其他已知威胁apm install内置检查:安装时自动阻止被标记为已知恶意的包
这一点对企业用户尤为重要——在生产环境中使用第三方 Skills 和 MCP Server 时,安全扫描应该是标准流程。
插件打包与分发
APM 不仅是消费者工具,也是插件作者的工具:
# 创建插件项目
apm init --plugin
# 开发并测试
apm dev
# 打包为标准 plugin.json
apm pack
# 发布
apm publish
apm pack 会将配置文件打包为压缩包或独立的 plugin.json 格式,兼容 Copilot、Claude 和 Cursor 等主流 AI 编辑器。
与 agentrc 的集成
APM 与另一个工具 agentrc 集成:agentrc 分析你的代码库,自动生成适合该项目的 Agent 指令(Instructions)。两者配合使用,可以实现"clone → apm install → agentrc generate → 开始编码"的全自动化 Agent 环境搭建。
安装 APM
# macOS / Linux
curl -fsSL https://microsoft.github.io/apm/install.sh | bash
# macOS (Homebrew)
brew install microsoft/tap/apm
# pip
pip install agent-pm
# Windows (Scoop)
scoop install apm
项目现状
| 指标 | 数据 |
|---|---|
| GitHub Stars | 1.7k |
| 最新版本 | v0.8.11(2026-04-06) |
| 语言 | Python 95.3% |
| 许可证 | MIT |
| CI 支持 | GitHub Action |
项目目前处于快速迭代阶段(v0.x),API 可能会有破坏性变更。但 MIT 许可和 Microsoft 背书让它成为一个值得关注的基础设施项目。
为什么这个工具很重要
随着 AI Agent 生态的爆发(Claude Code Skills 已超过数千个、MCP Server 生态持续扩张),Agent 配置的复杂度正在快速增长。没有统一的依赖管理,团队协作会面临:
- 环境不一致:每个人的 Agent 配置可能不同,导致"在我机器上能用"的问题
- 安装繁琐:手动安装多个 Skills 和 MCP Server 既费时又容易出错
- 安全盲区:无法统一审计团队使用的第三方 Agent 包
APM 正在为这些问题建立标准化方案,就像 npm 在 2012 年为 JavaScript 生态所做的那样。
总结
Microsoft APM 填补了 AI Agent 生态中一个关键的基础设施空白——依赖管理。通过 apm.yml 统一声明 Skills、MCP Server、Hooks 和 Instructions,它让 Agent 配置变得可复现、可版本控制、可安全审计。虽然项目仍处于 v0.x 阶段,但其解决的问题是真实且日益紧迫的。对于团队协作场景下使用 AI Agent 的开发团队来说,这是一个值得尽早关注和试用的工具。
评论