下拉查看上一篇

Microsoft APM:AI Agent 世界的 npm,统一管理 Skills/Hooks/MCP 依赖


如果你在用 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 在安全方面做了两层防护:

  1. apm audit:扫描已安装的包,检测隐藏的 Unicode 字符(一种常见的 prompt 注入向量)和其他已知威胁
  2. 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 的开发团队来说,这是一个值得尽早关注和试用的工具。

参考来源

评论

上滑查看下一篇