本地优先的 AI Agent 技能混合路由器:20ms 路由、零 token 消耗、CPU 运行
如果您在使用带有自定义技能或规则的代理型工作流(如 Cursor 规则、Claude Code 斜杠命令、OpenCode 等),您可能已经遇到过路由方面的权衡:要么把所有技能定义都塞进系统提示中(会耗尽您的上下文窗口并削弱指令遵循能力);要么借助 LLM 路由器对用户输入进行分类(既花钱,又浪费上千个 token,并增加 2 秒以上的网络延迟)。为了解决这一问题,我开发了 Routed——一个开源、本地优先的混合型代理技能路由器,可在您的 CPU 上 100% 离线运行。GitHub:github.com/bshea-1/Routed 许可证:MIT i.redd.it/5ca68gffgxnh1.gif 内部原理 Routed 会索引您已安装的技能目录,并通过一套四步混合评分流水线来评估用户输入: 密集向量嵌入(60%):在本地 CPU 上运行量化的 ONNX 模型(Arctic Embed S / MiniLM)。 词汇 BM25(25%):采用 Okapi BM25 实现严格的关键词相关性匹配。 精确匹配与别名匹配(10%):直接进行命令及别名的精确匹配。 元数据(5%):基于时间近度与使用频次的启发式判断。 整个查询过程无需向云端传输任何 prompt 数据,且耗时不超过 20 毫秒。 支持的环境 Routed 能自动检测并适配以下环境:Cursor、Claude Code、LM Studio、Ollama、Antigravity IDE、Windsurf、OpenCode、Continue、Codex;另外,我刚刚正式移除了对 MCP Server 的支持!! 尽管 v1.0 昨晚已发布,但我随即推出了 v1.1.0,根据早期反馈新增了两项重要功能: 模型上下文协议(MCP)服务器(routed mcp):无需将 20 多个工具 Schema 加载到 GPU 的上下文窗口中,您的本地模型只会看到一个 route_skill 工具。Routed 在 CPU 上执行,精准选出所需技能,并按需动态注入相应 Schema。 原生多语言理解:嵌入流水线现已原生支持 100 多种语言的输入(德语、西班牙语、法语、日语等),并能自动拆解复合名词(如德语中的 Speicherleck),无需语言标签或人工翻译,即可将用户输入直接映射到对应的技能。 使用方法 在您的代理聊天中,只需使用 /route 命令即可动态触发最合适的技能。它还能处理复合意图,例如当用户提出两项独立任务时,同时匹配多个技能。 预编译的二进制文件已在 GitHub Releases 中提供(macOS .pkg、Linux .deb、Windows .exe),您也可以通过 Node 从源码自行构建。欢迎试用,并告诉我您的看法,或者您希望我们进一步适配哪些其他环境!