用途:用于审计遥测/日志 schema 的命名冲突、比较两份 JSONL 或 JSON schema 的字段重叠、发现 trace_id 与 traceId、request_id 与 correlation_id 之类的命名不一致,并在发布遥测变更前校验命名一致性。\n\n主要能力:5 层评分流水线。第 1 层 NORMALIZE 拆分 camelCase/snake_case 并展开缩写,如 traceId 变 trace id、ts 变 timestamp;第 2 层 SYNTACTIC 用 RapidFuzz 的 token_set_ratio 给出 0-100 分;第 3 层 TAXONOMIC 用 WordNet Wu-Palmer 基于上位词树检测同义,范围 0.0-1.0;第 4 层 SEMANTIC 用 sentence-transformers 的 all-MiniLM-L6-v2 嵌入计算余弦相似度;第 5 层 CANONICAL 为可选,将字段与内置的 OTel/OCSF/CloudEvents 共 1453 个标准名对齐。输出含精确重复项与按合成分数排序的字段对,合成分数为 max(syn/100, tax, sem)。\n\n使用方式:所有依赖通过 uv run 的 PEP 723 内联元数据安装,无需全局安装。脚本位于技能的 references/ 目录,可先解析路径:SCRIPT_DIR="$(dirname "$(find ~/.claude/plugins -path '*/telemetry-terminology-similarity/references/term_similarity.py' -print -quit 2>/dev/null)")"。直接传入字段名评分:uv run --python 3.14 "$SCRIPT" trace_id traceId request_id correlation_id。支持从 Python 代码提取字段、从 stdin 管道输入、用 --jsonl 读取 JSONL 文件、用 --schema-a 与 --schema-b 比较两份 schema。参数有 --top(默认 50,0 为全部)、--canonical、--json。工作流分两阶段:阶段一用 term_similarity.py 计算可复现的原始分数;阶段二将 --json --canonical 输出粘贴进 references/proposer-prompt.md,由带对话上下文的 LLM 生成带置信度与证据引用的重命名建议。\n\n限制:仅输出原始分数,不设阈值、不做聚类、不给出判断;首次运行需下载约 80 MB 的 MiniLM 模型与约 30 MB 的 WordNet 数据,首次下载可能较慢,之后缓存。macOS 缺少 grep -P,需使用 python3 正则替代。缩写表可在 term_similarity.py 的 ABBREVIATIONS 中自行扩展。其余版本兼容性、许可与收费信息暂未提供。
telemetry-terminology-similarity
通用与其它
更新于 10-16 05:45