SuperAPI AI 工具集

tsq

通用与其它

查看项目

更新于 10-15 17:18

技能介绍

用途:tsq 用于对代码进行语言感知的结构化分析,提取声明、引用、大纲与精确的 AST 模式匹配,适合需要定向提取、而文本搜索会过于嘈杂的场景。

主要能力:提供 query、symbols、outline、refs、example-queries 等子命令。query 用于自定义 AST 模式与精确结构匹配;symbols 用于跨文件编目函数、类型、方法、变量等声明;outline 用于查看文件的高层结构(包/模块、导入、顶层符号);refs 用于在代码库中查找某符号的用法;example-queries 仅用于了解查询语法与模式,属于参考而非必需步骤。

使用方式:Tree-sitter 查询使用捕获名(如 @name)提取数据,无捕获的查询不返回可用载荷。可用 --file 处理单文件,用 --path 扫描目录。不需要自定义查询时,优先使用 symbols 或 outline。推荐流程:先用 outline 快速了解文件结构,再用 symbols 收集相关声明,用 refs 追踪用法,最后用 query 做精确 AST 模式或高级过滤。输出为 JSON,可管道传给 jq 精确提取,例如: tsq symbols --path . --compact | jq '.[].symbols[] | select(.kind=="function") | .name' 各类输出遵循相应 JSON 结构(query 对应 QueryMatch 列表,symbols 对应 SymbolsResult 列表,outline 对应 FileOutline,refs 对应 RefsResult),错误以 JSON 写到 stderr。

适用场景:代码索引、文件大纲、跨文件符号声明汇总、符号用法追踪,以及需要精确匹配语法树结构或关系的分析。

限制:示例中的查询模式为代表性写法,需根据目标语言的语法调整节点类型与名称;无捕获的查询不会返回可用数据;资料未提供安装方式、支持的语言清单、平台与费用等信息。