query.py 874 B

12345678910111213141516171819202122
  1. # -*- coding: utf-8 -*-
  2. """命令行快速查询:python query.py "网络解算" —— 走与 SKILL.md 一致的层级匹配"""
  3. import io
  4. import json
  5. import sys
  6. from pathlib import Path
  7. sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8")
  8. d = json.loads((Path(__file__).parent / "pages.json").read_text(encoding="utf-8"))
  9. vis = [p for p in d["pages"] if p["visible"]]
  10. q = sys.argv[1].strip() if len(sys.argv) > 1 else ""
  11. t1 = [p for p in vis if p["name"] == q]
  12. t2 = [p for p in vis if q in p["aliases"]]
  13. hits = t1 or t2 or [p for p in vis if q in p["name"]
  14. or any(q in a for a in p["aliases"])
  15. or any(q in k for k in p["keywords"])]
  16. print(f"查询:{q} | 命中:{len(hits)}")
  17. for i, p in enumerate(hits[:5], 1):
  18. print(f"{i}. {p['name']} | {d['base_url']}{p['path']}")
  19. print(f" 简介:{p['desc']}")