SuperAPI AI 工具集

repos-code-search

编程与开发

查看项目

更新于 10-15 21:11

技能介绍

用途:这是一个只读的 Azure DevOps 代码检索技能,通过 curl 调用 Azure DevOps REST API,用 Code Search 语法在 Azure Repos 中搜索代码、读取文件与目录、查询 commit 历史。它不做任何修改;若需由 commit 反查 PR,应改用其他技能。

主要能力:1) 搜索代码:请求 almsearch.dev.azure.com 的 codesearchresults 接口,searchText 支持关键字、AND/OR/NOT、双引号短语、通配符、NEAR/BEFORE/AFTER、位置限定(proj:、repo:、path:、file:、ext:)以及代码类型限定(class:、def:、ref: 等,仅部分语言)。filters 可按 Project、Repository、Path、Branch 过滤。2) 读取文件:git/repositories/{repository}/items,按分支、commit 或 tag 取原始内容。3) 列出目录:items 接口配合 scopePath 与 recursionLevel。4) 查询 commit:commits 接口按分支、作者、路径、日期分页筛选。

使用方式:通过环境变量 AZURE_DEVOPS_ORG、AZURE_DEVOPS_PAT(或 Entra ID 令牌)进行认证,PAT 需 Code (Read) 权限。命令示例:curl -sS -u ":$AZURE_DEVOPS_PAT" -X POST -H "Content-Type: application/json" "https://almsearch.dev.azure.com/$AZURE_DEVOPS_ORG/{project}/_apis/search/codesearchresults?api-version=7.1" --data-binary @- <<'EOF',用 searchText 传入查询、$top 控制结果数(1–1000)。也可列出项目:curl -sS -u ":$AZURE_DEVOPS_PAT" "https://dev.azure.com/$AZURE_DEVOPS_ORG/_apis/projects?%24top=500&api-version=7.1",或列出仓库:curl -sS -u ":$AZURE_DEVOPS_PAT" "https://dev.azure.com/$AZURE_DEVOPS_ORG/{project}/_apis/git/repositories?api-version=7.1"。路径、分支、作者等需 URL 编码,$ 写作 %24。

限制:需组织安装 Code Search 扩展;仅已建立索引的分支可搜索(默认仅默认分支),未索引分支返回 200 且 count 为 0;代码搜索结果中 line、column 为 0,codeSnippet 为 null,需按 changeId 读取文件自行定位行号;编程语言类型限定仅支持少数语言;commit 接口不能按 commit 信息搜索;fromCommitId/toCommitId 是 ID 字母序边界而非版本区间;令牌失效或权限不足时返回 401/403/203 或 HTML 登录页,应停止并回报;Windows PowerShell 需使用 curl.exe 并处理 JSON 主体。其余功能、收费与安装信息暂未提供。