Azure DevOps本地部署添加AI代码审查扩展报错求助
在公司本地部署的Azure DevOps环境中,默认管道可正常运行,但添加Pretius OpenAI代码审查扩展后,出现以下错误:
##[error]No agent found in pool *** which satisfies the specified demands: npm, Agent.Version -gtVersion 3.225.2
已在个人云端Azure DevOps验证该扩展及YAML配置可正常运行,且本地代理页面显示代理版本为3.225.2,无法理解为何报错要求版本大于3.225.2。
本地ADO的YAML配置:
trigger: none pool: name: *** variables: name: System.Debug value: false # enable for more info group: open-ai steps: - checkout: self persistCredentials: true - task: pretius-openai-reviewer@0 displayName: 'Code review' inputs: openaiApiKey: '$(openai-api-key)' openaiModel: gpt-3.5-turbo openaiApiRateLimitTier: free repositoryExcludedFiles: publish.bat openaiReproducibleOutputs: True openaiApiTimeout: 600000 openaiMaxTokens: 4000
个人云端ADO的YAML配置:
trigger: none pool: vmImage: "ubuntu-latest" variables: name: System.Debug value: false # enable for more info group: open-ai steps: - checkout: self persistCredentials: true - task: pretius-openai-reviewer@0 displayName: 'Code review' inputs: openaiApiKey: '$(openai-api-key)' openaiModel: gpt-3.5-turbo openaiApiRateLimitTier: tier-1 repositoryExcludedFiles: publish.bat openaiReproducibleOutputs: True openaiApiTimeout: 600000 openaiMaxTokens: 4000
针对报错的两个核心需求(npm、Agent.Version >3.225.2),按以下步骤排查解决:
检查本地代理的npm环境
错误中同时要求npm,需确认本地代理机器已安装Node.js(包含npm),且npm路径已加入系统环境变量。可在代理机器终端执行npm -v验证是否能正常调用,若未安装则需安装对应版本的Node.js。确认代理的精确版本
代理页面显示的版本可能存在截断,实际运行的代理版本可能低于3.225.2。在代理机器上执行对应命令查看精确版本:- Windows:进入代理安装目录,运行
.\config.cmd --version - Linux/macOS:进入代理安装目录,运行
./config.sh --version
若实际版本确实低于3.225.2,需升级代理至符合要求的版本。
- Windows:进入代理安装目录,运行
手动调整代理版本需求
若确认代理版本为3.225.2,可在YAML的pool配置中手动覆盖任务的版本需求,将-gtVersion(大于)改为-geVersion(大于等于),让当前版本满足要求:pool: name: *** demands: - npm - Agent.Version -geVersion 3.225.2更新Pretius OpenAI扩展
检查本地ADO中安装的Pretius OpenAI扩展是否为最新版本,旧版本的任务可能存在需求定义错误,更新扩展后重试管道。对齐云端与本地环境差异
云端使用ubuntu-latest虚拟机镜像,默认自带符合要求的代理版本和npm环境。本地代理需确保环境配置与云端一致,比如安装对应版本的Node.js、升级代理至匹配版本。
内容的提问来源于stack exchange,提问作者Hassaan Faruq

