我带团队用 Azure DevOps 的几年里,最常被模型坑的地方不是它不会写命令,而是它记混了命令。Azure DevOps 的对象域比 GitHub 宽得多,覆盖八类资源:
项目与仓库 流水线、构建、发布 拉取请求与工作项 制品与服务连接
八个领域各自一套子命令,模型面对这张大网,幻觉率明显高于只跟 GitHub 打交道的场景。

更麻烦的是,Azure DevOps 的命令层次深,子命令嵌套好几层:
-
az devops:项目、安全、团队、Wiki -
az pipelines:构建、发布、运行、代理池
长会话里模型把上一步记的 flag 套到下一步,shell 报错的瞬间你才知道它又编了一个不存在的子命令。这种错不是偶发,是规律。
这类问题最需要的不是更聪明的模型,而是一张随时能翻的权威参考卡。Smithery 上的 github/azure-devops-cli 干的就是这事,它把 Azure DevOps CLI 的完整参考塞进 Agent 上下文。分发也轻,一条 npx skills add 落进技能目录,下次会话自动注入,不用配 server、不用管 token。
它覆盖五个命令树,版本钉在 2.81.0(技能标注 as of 2025):
-
az devops:项目、安全、团队、Wiki -
az pipelines:构建、发布、运行、代理池 -
az boards:工作项、迭代 -
az repos:PR、分支策略、引用 -
az artifacts:通用包
说实话,我一开始觉得这种纯知识型 skill 没技术含量,不就是 cheat sheet 吗。但连续跑了一周 ADO 日常之后我改观了,它省下的是反复从报错里纠错的那股烦躁。
使用场景
最典型的是工作项的全生命周期。Azure DevOps 的 Boards 是它区别于 GitHub 的核心,工作项的创建与更新、父子关系、WIQL 查询,命令又长又杂。模型拿到任务,先用 az boards work-item query --wiql "..." 把范围框定,再 az boards work-item create 落条目,这种先侦察后动手的节奏,参考卡最擅长兜住。
拉取请求与分支策略是第二类现场。az repos pr create 建 PR、az repos pr reviewers add 加评审人、az repos policy create 设分支保护,这些操作参数深,模型最容易写错。我在实际跑这个 workflow 时卡过挺久,就是因为没意识到 branch policy 的 JSON 体要先敲对 type 字段(比如最小审阅人数对应 fa4e907d-c16b-4a4c-9dfa-4916e5d171ab),参考卡把标准结构列出来,第一次就能过。
流水线的跑批是第三类,常规三步:
-
az pipelines run:触发构建 -
az pipelines runs list:看状态 -
az pipelines build:下制品
CI 红了一查一个准。很多团队把 Azure DevOps 当 CI 引擎而非代码托管,这种场景下参考卡的价值最高,因为流水线命令跨项目复用度低,加上代理池与变量组这些概念模型极易混淆,它几乎每次都要现查。
组织与安全是被低估的第四类,涉及几类敏感资源:
-
项目、团队、用户 -
权限组、服务连接
这类活儿命令长、权限敏感,模型写错就是安全事故。参考卡把 az devops security permission、az devops service-endpoint 的标准用法摆出来,至少保证它知道该往哪走,而不是凭感觉拼 URL 去撞 REST。
一次工作项到上线的标准路径,参考卡会引导模型这样编排:

# 一次典型的"侦察 + 动手"组合拳
az boards work-item query --wiql "SELECT [System.Id] FROM workitems WHERE [System.State]='Active'"
az repos pr create --title "feat: ..." --description @pr.md --reviewers user@domain.com
az pipelines run --name "ci" --branch "feature/x"
az pipelines build --definition "ci" --artifact download
技术架构与设计决策
先说关键判断:这个 skill 是纯知识,不是工具。通篇都是命令参考和最佳实践,没有任何可执行脚本。这跟 rysweet/azure-devops 那种自带 Python CLI 工具的方案相反,后者要 Python 环境、要依赖跑通,版本一乱整组失效。本 skill 不依赖任何运行时,模型读到就是用到,几乎没有腐化的可能。
也正因为是纯文本,它绕开了带脚本方案的隐藏成本。但代价是前置更重:你得先装好 Azure CLI,再 az extension add --name azure-devops 加扩展,最后用 PAT 令牌 az devops login。不像 gh 一个 OAuth 设备流就能登。它还顺手点了一个老坑:旧版组织域名 https://{org}.visualstudio.com 要换成 https://dev.azure.com/{org},不少老教程仍用前者,模型照抄就 404。这个门槛对没在用 az 的团队是真摩擦,装 skill 之前先确认本机 az 在位。
它真正聪明的地方,是教模型几组在 Agent 场景下特别好用的命令范式。第一是结构化输出:az devops ... --query "..." --output json,用 JMESPath 现场切字段,模型拿到干净数据而非要再解析的 ANSI 色块。比如 az repos pr list --query "[?status=='active'].title" 直接拿到活动 PR 标题数组。advanced-usage.md 专门讲了基础到进阶的查询写法,这块比官方 manual 更贴 Agent 场景。
第二是 az devops invoke 这个逃生舱。当某个操作没有现成子命令时,直接打 Azure DevOps REST 接口,而不是让模型去猜冷门 flag。比如 az devops invoke --area pipelines --resource builds --route "{id}" 能取到 az pipelines build 还没封装的字段。REST 的 request body 还能用 --in-file 从文件读,避开 Windows 下 az.cmd 的 8191 字符命令行上限。它承认 az 不是万能的,但给了模型一条永远走得通的后路。
参考卡是分层组织的,从鉴权入口一路铺到五个命令树,最后收口到 invoke 逃生舱。分层不是装饰,模型在长会话里最容易忘的恰恰是”该用哪个子命令”,三层摆开等于给了它一张可回溯的地图,比从零回忆靠谱得多。
skill 内部的知识分层长这样:

洞察与反思
它的强项很明确:覆盖全(五个命令树)、纯文本零依赖、而且随会话注入上下文,不挑运行环境。对”模型天天跟 Azure DevOps 打交道但总写错命令”的团队,装上几乎零成本换来了稳定。它也不像 MCP 那样要常驻一个服务进程,断网环境下照样能用。它把零散的八个对象域收进一份随时可查的参考,比每次开浏览器翻 Azure DevOps 网页快一个数量级,也更不容易点错。
但暗坑得摆出来。最扎眼的是版本锁定:技能标 2.81.0(as of 2025),而现在是 2026 年 9 月,ADO CLI 又迭代了一年。好消息是微软把 Azure DevOps 的投资重心挪向 REST API 与 GitHub,CLI 扩展本身的更新节奏比 gh 慢得多,很多命令常年不动,快照过时的伤害比 GitHub 那边长。真要追新,还是得自己对照官方 changelog 补,或等作者发新版。
第二个暗坑是前置重。它要求本机有 az、有 azure-devops 扩展、有有效 PAT,三者缺一不可。如果你是纯云 IDE 或容器环境,每次起环境都要先装这套,摩擦比”即装即用”的宣传重。我建议把它放在已经常态化用 az 的团队里,收益最高。
第三个点是我翻技能页没看到像 gh-cli 那样列出来的安全审计徽章。纯文本 skill 本该供应链最干净,但缺公开审计总让人多想一下元数据或引用文件的问题。这不是硬伤,只是和同门 gh-cli 比少了一层安心。
最值得单独夸的隐藏亮点,是 long-comments-on-windows.md 这份实战笔记。az.cmd 在 Windows 上受 cmd.exe 8191 字符命令行上限约束,长 --description、--content、--discussion 会直接失败,而且连报错都很 cryptic,模型自己根本排不出。技能给了三个验证过的绕法:
-
azps.ps1:走 PowerShell 绕开批处理上限 -
--file-path:从文件读正文 -
az devops invoke --in-file:把 REST 请求体塞进文件
这种踩过坑才写得出来的细节,比官方文档值钱得多。
三种 Azure DevOps 的 Agent 接入方案,在几个要害维度上差别挺大:
| 维度 | github/azure-devops-cli | rysweet/azure-devops | ADO MCP Server |
|---|---|---|---|
| 运行依赖 | 无(纯文本) | 需 Python + 工具库 | 需 Node + 构建 + PAT |
| 命令准确率 | 高(参考卡兜底) | 高(脚本封装) | 中(看实现) |
| token 消耗 | 低 | 低 | 高(分页易爆) |
| 覆盖完整度 | 全(含 invoke 逃生舱) | 中(看脚本) | 中(看实现) |
| 智能程度 | 低(纯参考) | 高(封装逻辑) | 中(协议映射) |
本 skill 在准确率与依赖上双赢,代价是它不替你写任何逻辑。rysweet 的 Python 脚本能封装工作流,MCP 胜在开箱即连富交互。
具体到选型,我按场景分:
-
已是 az 用户、要高频跑 ADO 命令:无脑走本 skill -
要”建工作项加关联分支加建 PR”一条龙封装:rysweet 更对症 -
已接 MCP 生态、要富交互 UI:再考虑 ADO MCP
三者并非互斥,很多团队是参考卡打底、脚本做重型、MCP 补交互。

资源地址
-
Smithery 技能页:https://smithery.ai/skills/github/azure-devops-cli -
安装命令: npx skills add https://smithery.ai/skills/github/azure-devops-cli -
技能目录镜像:https://skills.sh/smithery/ai/github-azure-devops-cli -
Azure CLI 文档:https://learn.microsoft.com/cli/azure/ -
azure-devops 扩展:https://learn.microsoft.com/cli/azure/devops
总结
我的建议很直接:如果你的 Agent 高频操作 Azure DevOps,且本机已经在用 az,装这个 skill 是稳赚的低成本投资。它不神奇,就是一张随时能翻的参考卡,但”随时能翻”在长会话里值很多钱,尤其 Azure DevOps 这种命令面又宽又深的系统。模型在长上下文里最容易丢的就是具体 flag,而这张卡正好补上那块最容易掉的拼图。
判断要不要装,看一个指标:你的 agent 一周跟 Azure DevOps 交互超过二十次吗?超过,这张卡回本极快;偶尔才动一次,装不装差别不大,翻官方 manual 也来得及。它最大价值在”高频加长会话加已是 az 用户”这个交叉点,出了这个区间边际收益迅速归零。
别把它当银弹。版本锁在 2.81.0,新特性靠自己补;前置要 az 加扩展加 PAT;它不教”什么时候该建 draft PR”、”工作项状态怎么流转”这类判断,仍要 Agent 自己有数。把它当 CLI 路线的地基,再按需要叠 rysweet 的脚本或 ADO MCP,才是合理的拼法。这个判断会随 ADO CLI 版本和 MCP 成熟度变化,半年后值得再评估一次。另外它和 rysweet 的脚本、ADO MCP 不是替代关系,参考卡只负责”别写错命令”这一层,更聪明的封装交给另两层,分清楚谁干哪块,比纠结选一个更省心。
