📦 Auto Invoke Router — 自动调用路由器
v1.0.0扫描已安装的技能和 AGENTS.md,生成将对话意图映射到技能的路由配置。在需要减少手动技能调用时使用。
运行时依赖
安装命令
点击复制技能文档
技能作用 读取所有已安装技能的 SKILL.md 前置元数据(description 字段)及本地 AGENTS.md,生成 skill_routing 配置块。该配置将意图关键词与短语映射到技能名,为 OpenClaw 提供按对话上下文选择技能的结构化参考。输出写入 AGENTS.md 的 ## Skill Routing 节,或独立保存为 router.yml。是否自动生效取决于 OpenClaw 版本——请查阅对应版本的 release notes 或文档确认 AGENTS.md 中的 skill_routing 是否被自动读取。所有版本均支持手动接入或扩展自定义规则。
使用场景
- 安装技能 ≥5 个,手动调用变得繁琐
- 用户频繁误触发或遗漏相关技能
- 新建 OpenClaw 实例,希望一键获得智能默认路由
- 批量安装技能后,需要刷新路由表
- context 中的 available_skills 块显得杂乱或匹配不准
用法
步骤1 定位已安装技能 从二进制路径推导系统技能目录: OPENCLAW_BIN=$(which openclaw 2>/dev/null || which claw 2>/dev/null) OPENCLAW_SYSTEM_SKILLS=$(dirname "$OPENCLAW_BIN")/../lib/node_modules/openclaw/skills find ~/.openclaw/skills "$OPENCLAW_SYSTEM_SKILLS" -name "SKILL.md" 2>/dev/null
若 which openclaw 无结果,再试常见路径: find ~/.openclaw/skills \ /opt/homebrew/lib/node_modules/openclaw/skills \ /usr/local/lib/node_modules/openclaw/skills \ -name "SKILL.md" 2>/dev/null
收集全部 SKILL.md 路径。若可用,执行: clawhub list 核对已安装技能名。
步骤2 提取描述 对每个 SKILL.md,读取 --- 之间的 YAML 前置元数据,提取:
- name:技能标识
- description:完整触发描述
步骤3 读取 AGENTS.md 在工作区根目录查找 ./AGENTS.md,或 ~/.openclaw/workspace/AGENTS.md(无工作区上下文时)。识别已有的 ## Skill Routing 节,存在则于步骤6整体替换。
步骤4 生成意图关键词 为每个技能从 description 提取 3–8 个关键词或短语:
- 小写
- 优先名词/动词短语,如“search for skill”“weather forecast”“github PR”
- 省略泛化词:use、when、skill、tool、this
- 若描述含否定,保留(如“NOT for historical data”)
步骤5 生成路由配置 输出 YAML 块: # auto-invoke-router — generated by auto-invoke-router skill # Regenerate by invoking: auto-invoke-router # WARNING: this section is fully regenerated on each run. Manual edits will be # overwritten. To preserve custom triggers, add them above this block in AGENTS.md # with a comment like: # custom-routing-preserve skill_routing: version: "1.0" rules: - skill: clawhub triggers: - search clawhub - install skill - update skill - publish skill - clawhub list - skill: weather triggers: - weather - temperature - forecast - rain - skill: gh-issues triggers: - github issue - fix bug - open PR - pull request - review comments fallback: null # 设为任意已安装技能名可在无匹配时默认调用,或留 null 不执行默认动作
使用真实技能名与生成的 triggers;以上为示例。
步骤6 写入输出 选项A — 追加到 AGENTS.md(推荐): 在 AGENTS.md 末尾添加 ## Skill Routing 节,内含 fenced code block 包裹的完整 skill_routing: YAML。若该节已存在,整节替换;此前手动编辑内容将丢失。需保留自定义触发器请置于块外并加注释(见步骤5警告)。
选项B — 独立文件: 将 YAML 块写入工作区根目录 router.yml,并提示用户如需使用可在 AGENTS.md 中引用。