技能雷达(Skill Radar)— 通用 Skill 查询编排器
核心价值
把"从各种开源库 / skill 市场搜 skill → 给排名 → 按排名分工执行 → 整合"固化成一个通用入口:
输入:任意问题(如"成都美食"、"AI 写作工具"、"帮我调研露营装备")
输出:① Top10 skill 排名清单 → ② results/{需求}/ 分工执行结果 → ③ 00-整合报告.md
与 food-explorer 的关系:food-explorer 是美食领域专用实例(保留独立);本 skill 是主题无关的通用编排入口。
工作流(8 步)
S0 快速模式(可选:结果与时间平衡)
不想等全量执行时,用分层交付:T0 秒级出结论 → T1 预算内执行 → T2 深挖补全(先给能给的,再补齐剩下的):
- T0 秒级出结论(知识库/24h 缓存命中即答,<2 秒):
python3 scripts/search_skills.py --topic "露营" --fast --top 10- 知识库
query-knowledge.json有该主题实测结论 → 直接输出结论摘要 + 查池候选清单,零配额 - 24h 内查过同主题(
query-cache.json)→ 直接复用上次 Top 清单 - 未命中 → 自动降级完整模式(提示语)
- 知识库
- T1 预算内执行(实时搜索与平台查询限时,默认
--budget 90秒):- 平台查询类 skill 按成本分执行:
c1 免密钥 API(OSM/arXiv/Polymarket/网页读取,几秒出结果)→c2 需密钥 API(百度系/X/YouTube/热榜)→c3 浏览器/CDP(bb-browser,最慢) - 每完成一个 skill 立即增量更新
results/{需求}/00-整合报告.md,用户随时可看,不用等全部跑完 - 超出预算的 skill 在报告标记"待深挖",不阻塞交付
- 平台查询类 skill 按成本分执行:
- T2 深挖补全(可选):预算外的 skill 继续执行,报告持续更新;T1 结果已够用时可提前收工
时间预算用
--budget <秒>随时调整;报告阶段状态见templates/report_template.md
S0 平台查询优先(任何需求第一步)
任何需求,先找"平台查询类 skill"(能查国内外各大平台的),国内平台优先、国外辅助,先用它们直接查需求内容给答案,再走主题 skill 搜索补深度:
- 列出平台查询类 skill(注册表已打 platform 标记,国内优先 + 成本升序):
python3 scripts/search_skills.py --platform --top 20- 输出格式
[cn|c1]:region + cost 成本分(1=免密钥 API / 2=需密钥 / 3=浏览器,越小越快) - 执行时优先跑 c1 → c2 → c3,预算不足时先砍 c3
- 输出格式
- 选择策略(规则写死,国内优先):
- 第一批·国内平台:bb-browser site 系统(小红书/抖音/B站/微博/知乎/百度/头条/快手/贴吧)、githubm 热榜(微博/头条/知乎/抖音/B站/百度/贴吧/快手/小红书 9 大平台)、百度系(搜索/百科/地图/天气)、企查查、生活查询(快递/12306/股市/限行/汇率…)
- 第二批·国外平台:X、YouTube、arXiv、Reddit、OSM、Polymarket、Notion(辅助补深度)
- 用选中平台 skill 直接查需求内容 → 结果作为答案主体(落盘
results/{需求}/00-平台查询/) - 之后再走 S3 主题 skill 搜索(补深度产出)
注册表维护:平台标记由
update_registry.py --tag-platforms维护(本地已装 skill 自动打标,规则变化自动修正)
S1 意图解析
- 从用户输入提取主题词(支持任意领域:美食/旅游/工具/调研/写作…)
- 读取
references/query-knowledge.json的topics数组匹配主题 - 命中 → 取该主题的
keywords_cn/keywords_en;未命中 → 模型现场生成 6-10 个主题词,并提示用户可回写知识库(自进化)
S2 关键词生成(沿用实测结论)
① 英文核心词(≤2 词/组,GitHub 索引最好)→ "chengdu food"、"ai writing"
② 中文单关键词(不带多余修饰) → "美食"、"写作"
③ 中英叠加(备用) → "成都 美食"
④ 场景词(WebSearch 用) → "成都 美食 探店"
总组数 6-10 组(匿名限速 10 次/分钟)。英文词优先。
S3 多源搜索排名
- GitHub API 主源(stars 权威),按主题模式跑:
# 美食主题(强过滤,与 food-explorer 行为一致) python3 scripts/search_skills.py --region "成都美食" --top 10 --output /tmp/skills-{req}.json # 任意主题(弱过滤:命中 skill 特征词即可;--strong-words 可启用主题强过滤) python3 scripts/search_skills.py --topic "AI 写作" --top 10 --output /tmp/skills-{req}.json python3 scripts/search_skills.py --topic "AI 写作" --strong-words "writing,写作,writer" --top 10 # 自定义噪音词表 python3 scripts/search_skills.py --topic "AI 写作" --noise-file my_noise.json --top 10- 脚本自动:依次查询 → 合并去重 → 噪音过滤 → stars 降序
- 403 限速自动等待 60 秒重试;连续多轮用
--sleep 60 - 调词表后重过滤不用重请求:
--refilter /tmp/skills-{req}.json
- skill 注册表(skill-registry.json)优先查池:已入池主题直接秒出,零配额:
# 查池优先:命中 ≥top 则不再实时搜索(省配额);不足则实时补差 python3 scripts/search_skills.py --topic "AI 写作" --strong-words "writing" --use-registry # 只查池,不实时搜索 python3 scripts/search_skills.py --topic "爱情电影" --registry-only # 实时搜索限时(秒),超时截断剩余查询组(快速模式用) python3 scripts/search_skills.py --topic "AI 写作" --budget 90 --top 10- 被动入池(默认开):每次实时搜索后,新发现的 skill 自动写入注册表(
--no-write-registry关闭) - 注册表维护(手动跑):
python3 scripts/update_registry.py --init(种子导入)→--refresh --limit 100(stars 刷新+健康检查)→--stats(统计)→--export csv(导出)
- 被动入池(默认开):每次实时搜索后,新发现的 skill 自动写入注册表(
- 本地已装 skill 库补齐:开源不足 10 个时,用本地库补位(标注"本地已装,可直接执行")
- WebSearch 补充:搜"主题 + skill/工具"获取开源库外的条目
S4 人工核查
- 描述/仓库名与主题无关 → 剔除(多义词、README 误命中)
- 0 星但描述高度对口 → 保留进备选
- 不足 10 条 → 用本地库/WebSearch 补足并标注来源
S5 排名先行(固定交付物 #1)
先把 Top10 排名清单给用户看(含 ⭐/一句话说明/来源/可执行性),确认后再进入执行。
S6 分工执行(先国内、后国外)
-
创建执行框架(一键):
python3 scripts/build_framework.py "需求名" \ --skills "skill1,skill2,...,skill10" \ --desc "skill1:职责1;skill2:职责2;..." \ --base-dir results→ 自动建
results/{需求}/00-技能清单/+01-{skill1}/...10-{skill10}/+ 分工表 README -
执行顺序(两批,规则写死):
| 批次 | 范围 | 说明 | |------|------|------| | 第一批·国内 | 本地已装 skill(bb-browser、githubm 热榜等)+ 国内开源库(yzfly/awesome-skills-zh、chubbyskills 等) | 先跑国内平台数据(小红书/微博/B站/抖音),先啃反爬硬骨头;结果未出不影响后续 | | 第二批·国外 | GitHub 开源 skill(recipe-generator 等) | 后跑,补充深度产出 |
- 目录编号按排名(01..10),但执行顺序按"国内批 → 国外批",整合报告按排名展示
-
逐个 skill 执行:
- 开源 skill:真实
git clone→ 读 SKILL.md → 按其工作流执行;不能执行的(缺 API key/登录/地域受限)如实出评估报告,给出兜底方案 - 本地 skill:直接调用真实执行(bb-browser 直搜、热榜 API 等)
- 每个结果落盘到自己的文件夹
- 开源 skill:真实
-
整合报告:按
templates/report_template.md生成results/{需求}/00-整合报告.md:- 增量更新:每完成一个 skill 立即追加(T1 预算内),不用等全部跑完;阶段状态行标注 T0/T1/T2
- 执行概况表(✅ 已执行 / ⚠️ 受限 / ❌ 不可用 / 🔄 待深挖)
- 跨 skill 核心结论(多 skill 交叉验证清单)
- 采集/工具类 skill 可用性实测结论(阻塞点 + 修复成本)
- 数据可信度与限制
S7 经验回写
- 执行中发现的不可用 skill、密钥依赖、流程改进 → 写回本 SKILL.md
- 新主题关键词 → 回写
references/query-knowledge.json
注意事项
- API 配额:GitHub 匿名限速 10 次/分钟,组别 ≤10 组;403 等待 60 秒或配 GITHUB_TOKEN(30 次/分钟)
- 中文索引差:优先英文关键词;中文用单词
- 反爬:国内平台采集类 skill 易被反爬击穿,实跑须核对产物(防静默失败)
- 合规:只做信息检索与排名,不下载/复制仓库内容;采集类 skill 须遵守平台 ToS,仅限个人学习研究
- 知识库扩展:编辑
references/query-knowledge.json的topics数组(自进化),无需改 skill
微信扫一扫