智能技能路由中台。将所有技能的触发词串联成一张蜘蛛网,用户查询命中任一节点,自动路由到目标技能。
text
用户输入 → 蜘蛛网路由核心 → 触发词匹配引擎 → 最佳技能推荐
↑
触发词数据库 (JSON)
↑
自动扫描所有技能的 SKILL.md
串/并联模式:
当用户表达以下意图时使用此技能:
bash
python ~/.workbuddy/skills/spider-web/scripts/index_triggers.py
这会在 scripts/trigger_db.json 生成完整的触发词数据库。
bash
# 直接查询
python ~/.workbuddy/skills/spider-web/scripts/match_engine.py "帮我分析电商数据"
# 返回技能名
python ~/.workbuddy/skills/spider-web/scripts/match_engine.py "内存占用高" --skill
# 交互模式
python ~/.workbuddy/skills/spider-web/scripts/match_engine.py
bash
python ~/.workbuddy/skills/spider-web/scripts/server.py --port 8766
访问 http://127.0.0.1:8766 查看:
当用户问题不确定该激活哪个技能时,执行以下步骤:
bash
python ~/.workbuddy/skills/spider-web/scripts/index_triggers.py
bash
python ~/.workbuddy/skills/spider-web/scripts/match_engine.py "<用户原始查询>" --skill --top 3
根据返回的技能名,使用 Skill tool 加载目标技能。
示例:
text
用户: "帮我分析一下这个商品的主图有没有优化空间"
→ spider-web 匹配 → ecommerce-image-diagnosis
→ 加载 ecommerce-image-diagnosis 技能
层级方法速度准确度L1精确子串匹配⚡ 极快高L2技能名称直接匹配⚡ 极快高L3中文字符级重叠 (Bigram + Jaccard + LCS)🔵 快中高L4英文模糊匹配 (difflib)🟡 中中
bash
python ~/.workbuddy/skills/spider-web/scripts/match_engine.py "我要用鸿蒙做个小程序" --mode and
要求查询同时匹配多个触发词才激活技能。
bash
python ~/.workbuddy/skills/spider-web/scripts/match_engine.py "帮我分析数据" --mode or
任意触发词匹配即可。
bash
python ~/.workbuddy/skills/spider-web/scripts/match_engine.py "股票" --fuzzy
scripts/trigger_db.json:
json
{
"meta": {
"total_skills": 38,
"total_triggers": 399,
"unique_triggers": 390,
"overlap_triggers": 9
},
"skills": {
"finance-daily-report": ["财经日报", "今日财经", "股市日报", ...],
"flower-care": ["识花", "这是什么花", "花卉识别", ...]
},
"reverse_index": {
"财经日报": ["finance-daily-report"],
"股市行情": ["finance-daily-report"],
...
}
}
每个技能的触发词定义在 SKILL.md 的 description 字段中,格式:
yaml
description: >
技能描述文本。
触发词:关键词1, 关键词2, 关键词3。
Triggers: keyword4, keyword5.
支持中英文触发词标记:
触发词: 或 触发词: — 中文触发词Triggers: 或 Trigger: — 英文触发词运行 index_triggers.py 重新索引后生效。
方法路径说明GET/交互式管理面板GET/api/health健康检查GET/api/data完整数据库GET/api/stats统计摘要GET/api/export导出 JSONPOST/api/match查询匹配 {"query":"...", "mode":"auto"}POST/api/reindex重新索引
index_triggers.py 生成数据库