ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

Kun Tool Router 工具路由技能深度解析:在 Kun 中把请求路由到最窄的真实工具族

Kun Tool Router 工具路由技能深度解析:在 Kun 中把请求路由到最窄的真实工具族 人工智能AI Agent自主智能体桌面应用MCP Clients【免费下载链接】KunLocal-first AI agent workspace for coding, writing, design, research, and automation — one runtime for desktop GUI and TUI.项目地址https://gitcode.com/gh_mirrors/de/Kun点击查看免费下载导读kun-tool-router是 Kun 内置捆绑技能bundled skill中负责工具路由的元技能它不执行具体任务而是把每一次用户请求路由到最窄、最贴合的真实 Kun 工具族并同时定义任务完成所需的验证边界。本文以 resources/bundled-skills/kun-tool-router/SKILL.md 为骨架结合仓库中fast_context、browser_use、design_update_shapes、ppt_agent、office_inspect、mcp_search等真实工具的源码实现与测试用例完整讲解工具路由表、五步工作流、完成门禁completion gates与边界约束让你掌握在 Kun 中选对工具、最小化动作、用可观察输出验证的实战方法论。技能是什么路由而非授权kun-tool-router的核心定位记录在技能本身的 frontmatter 与 skill.json 中名称kun-tool-router版本1.0.0描述Route requests to the narrowest real Kun tool family and define the required verification boundary把请求路由到最窄的真实 Kun 工具族并定义所需的验证边界入口entry: SKILL.md即技能正文由本文档构成触发方式支持命令/kun-tool-router以及一系列提示词模式包括Kun Tool Router、Kun tools、kun-tool-router、tool router、which tool、工具选择授权边界allowedTools: []—— 该技能不授予任何额外工具权限。这一不授予额外授权的设计在技能的 Boundaries 一节中被明确重申This skill routes work; it does not grant additional authorization. 也就是说router 只负责选择与编排真正的执行权限由 Kun 的运行时能力注册表capability registry与各工具的 sideEffect 策略决定。从源码结构看Kun 的技能运行时在激活技能时会把allowedTools作为独立维度注入工具策略见 kun/src/skills/skill-runtime-engine.ts 中allowedTools: [...skill.allowedTools]的组装逻辑router 技能的allowedTools为空恰好印证了它只做路由、不扩权的定位。工具路由表六类请求的最窄工具技能给出了核心的工具路由表这是整个技能的灵魂必须原样继承并逐条解读工具或技能适用场景fast_context仓库探索的第一步检索First retrieval step for repository explorationbrowser_use结构化的交互式公开网页浏览Structured interactive public browsingdesign_update_shapes可编辑画布变更Editable canvas changesppt_agent原生演示文稿工作流Native presentation workflowoffice_inspect检查 Office 文档Inspect Office documentsmcp_search发现已连接的集成Discover connected integrationsfast_context预算受限的仓库检索器fast_context是路由表第一行被定位为仓库探索的第一步检索。源码层面它由 kun/src/adapters/tool/fast-context-tool-provider.ts 实现属于kind: delegation的委托型工具副作用声明为read-only、network: false、processExecution: false。从源码可以提炼出它的关键约束受限工具集FAST_CONTEXT_ALLOWED_TOOLS [grep, glob, read]子代理只能使用这三种只读源码工具且明确禁止 shell、web、repo maps、skills、mutation 与 delegation预算与轮次每一模型轮最多发出 4 次源码工具调用第 4 轮只做最终综合、不再调用工具见FAST_CONTEXT_SYSTEM_PROMPT与fastContextPrompt中的 Round 4 is final synthesis only批量任务tasks为 1–4 个任务的数组每个任务必须有title≤240 字符与query≤4000 字符复杂问题应在一个批次中提交 2–4 个互不重叠的任务证据包输出返回evidencePackFast Context Evidence Pack以紧凑的文件行号证据代替原始搜索输出而不是倾倒 grep 原文排队超时FAST_CONTEXT_QUEUE_TIMEOUT_MS 30_000并可通过fast: true走serviceTier: priority优先通道安全边界子代理从父级工具上下文捕获的不可变 workspace 中检索模型永远不能自行选择沙箱根目录securitySnapshot中sandboxRoot: workspace。测试用例 kun/src/adapters/tool/fast-context-tool.test.ts 验证了任务批量提交、证据包构造与状态机queued → running → completed/failed/aborted的完整行为可以作为理解该工具契约的入口。browser_use结构化公开网页浏览browser_use是结构化交互式公开浏览的工具。在 kun/src/adapters/tool/browser-use-tool-provider.ts 中可以看到它的严格性设计动作枚举action字段必须取BROWSER_USE_ACTIONS枚举中的值且明确 Do not use navigate or goto aliases禁止导航别名元素引用ref是来自最新结构化快照的不透明元素引用不接受选择器或坐标期望目标校验expectedTarget对 click/type/select/press 是必填项需从快照中拷贝sessionId、tabId、documentGeneration、origin、sanitizedUrl与节点的role/name主进程会对实时不匹配直接拒绝URL 策略open的url必须是绝对 HTTP/HTTPS 地址主机在加载前强制实施 public/local origin 策略标签页管理newTab: true在配置的标签页上限内创建并激活独立标签页。这些约束与 router 技能结构化、可验证、拒绝临时绕过的精神完全一致浏览动作必须基于快照引用而不是自由坐标猜测。design_update_shapes可编辑画布的定点变更design_update_shapes对应可编辑画布变更。在 kun/src/adapters/tool/design-canvas-tool.ts 中DESIGN_UPDATE_SHAPES_TOOL_NAME design_update_shapes被列入DESIGN_CANVAS_MUTATION_TOOL_NAMES是画布变更工具族的一员同族还包括design_canvas、design_create_screen、design_create_diagram、design_arrange、design_export_canvas、design_system、design_validate、design_svg_create等。值得注意的细节该工具是否对模型广告advertise取决于SHOULD_ADVERTISE_DESIGN_TOOL条件 —— 只有context.guiDesignCanvas true即当前处于 GUI 设计画布会话时才会被展示。这体现了 router 技能的 Completion gates 第一条Do not assume a surface or tool that is not advertised in the current turn不得假设当前轮次未广告的表面或工具存在。同时工具描述要求在设置 x/y 前必须先检查当前轮次提示中的画布快照避免与已有形状、图片、帧、选中边界、内容边界重叠无需精确定位时省略 x/y由渲染器自动选择不重叠的位置见CANVAS_SNAPSHOT_PLACEMENT_DESCRIPTION。ppt_agent原生演示文稿工作流ppt_agent是演示文稿任务的一等公民入口实现于 kun/src/adapters/tool/ppt-agent-tool-provider.ts。它的设计要点工作流动作action取值start、select_direction、revise_directions、revise_previews、retry_failed、approve_and_build后续评审/续作动作通过childIdworkflowId恢复原 PPT 子代理内容来源工具读取当前激活的用户轮次及其附件作为唯一内容来源工具参数中不得转述、总结、扩写或编造演示内容never restate, summarize, expand, or invent presentation content in tool arguments显示标题start动作要求 2–6 个词、最多 160 字符的短title仅作为 UI 显示元数据永不进入子请求交付验证子代理在 workspace 下写 deck 文件父代理负责交付物验证deck 结构、.pptx 导出、逐页 fade只有approve_and_build才允许ppt_export其他动作阶段会被blocksPptExport屏蔽托管本地工具部分 provider 无法执行 Kun 受治理的本地 PPT 工具此时工具会返回phase: unavailable并提示在 Lab 设置中配置具备工具能力的 PPT Agent 模型。这与 router 技能的 Workflow 第 4 步执行最小的连贯动作和第 5 步用最接近的可观察输出验证形成闭环PPT 工作流被拆成 start → direction → review → build 的最小动作序列每步都有结构化 bundledirectionBundle / reviewBundle / deckArtifact作为可观察的验证产物。office_inspect检查 Office 文档office_inspect对应 Office 文档的只读检查场景实现位于 kun/src/adapters/tool/office-cli-tool-provider.ts。其底层是一个受治理的 Office CLI 运行器超时与并发单次操作超时OFFICECLI_TIMEOUT_MS 60_000最大并发OFFICECLI_MAX_CONCURRENCY 2输出上限 2 MiB、预览上限 4 MiB身份校验通过captureFileIdentity/assertFileIdentityUnchanged校验文件在操作前后身份不变sha256File计算哈希防止检查或编辑过程中文件被意外替换只读检查动作isInspectAction区分检查类动作inspectCommand构造对应的检查命令解析输出parseOfficeCliOutput受管进程spawnOwnedProcess/stopOwnedProcess管理受管子进程profile 目录以0o700权限创建。从设计意图看office_inspect是检查优先于修改的体现先 inspect 获取文档结构证据再决定是否需要编辑类操作编辑则走office_edit一类动作且有OFFICECLI_MAX_OPERATIONS操作预算。这与 router 技能 Workflow 第 3 步Inspect current state before mutation完全对应。mcp_search发现已连接的集成mcp_search用于发现已连接的集成实现在 kun/src/adapters/tool/mcp-tool-search.ts。它是 MCP 工具族中的检索入口同族还有mcp_describe、mcp_call、mcp_read_only_call、mcp_refresh_catalog虚拟目录基于VirtualToolCatalog冻结目录视图FrozenToolCatalogView最多缓存 256 个冻结目录索引与检索通过searchRecords 排序函数mcp-tool-search-ranking.ts里的describeRecord/formatSearchResult对已连接 MCP 服务器的工具进行检索支持topKDefault、topKMax、minScore等运行时诊断参数角色定位当用户提到某个外部集成能力时先mcp_search发现可用工具再mcp_describe了解契约最后才mcp_call执行 —— 正是先发现、再理解、后调用的最小化路径。五步工作流从分类到验证router 技能给出了可复用的五步工作流是技能的操作核心分类输出Classify the output判断本次请求的输出形态 —— prose文字、file文件、code代码、browser action浏览器动作、design设计、chart图表、diagram示意图、presentation演示文稿、media媒体、schedule日程或 integration集成选择最具体的已广告工具Choose the most specific advertised tool对照路由表选择最贴合分类结果的工具只选择当前轮次中真正被广告advertised的工具变更前检查当前状态Inspect current state before mutation任何修改动作前先用fast_context/office_inspect等只读手段摸清现状执行最小的连贯动作Perform the smallest coherent action一次只做最小但自洽的动作例如设计画布只更新目标形状PPT 只推进一个工作流阶段用最接近的可观察输出验证Verify using the closest observable output以离动作最近的产物作为验证证据 —— 文件内容、画布快照、导出产物、结构化 bundle。这五步可以在源码中找到印证fast_context的证据包evidencePack与文件行号结论、design_update_shapes的画布快照约束、ppt_agent的 direction/review/deck 三层 bundle都是最小动作 可观察验证的具体实现。ppt_agent的emitPptLifecycleUpdate在 queued/running 阶段持续回传生命周期更新也服务于第 5 步的可观察性。完成门禁Completion gates三条硬性验收规则技能定义了三条完成门禁任何任务在宣告完成前都必须通过不得假设未广告的表面或工具Do not assume a surface or tool that is not advertised in the current turn。典型例证design_update_shapes仅在guiDesignCanvas true时才被广告fast_context/ppt_agent可在 Lab 设置中禁用enabled: false时工具在 execute 入口返回 isError。模型只能使用当前轮次真正可见的工具不能脑补不存在的工具面尊重依赖顺序只并行独立读取Respect dependent sequencing; parallelize only independent reads。依赖型步骤如先 inspect 再 edit、先 direction 再 review必须串行只有互不依赖的读取如fast_context批量任务中的多个独立 query才可以并行如实上报未解决的失败Report unresolved failures without hiding them。ppt_agent对方向/评审/交付物缺失会分别给出directionContractError、reviewContractError、deckContractError并把子错误合并进最终 error 输出formatPptChildError这正是不隐瞒失败的实现。边界Boundaries两条不可逾越的约束技能的 Boundaries 是安全与治理的底线路由不授权本技能只负责路由不授予任何额外权限allowedTools 为空。执行权限来自能力注册表与工具自身的 sideEffect 策略禁止用 shell 绕过来替代受治理的专用工作流Never replace a specialized governed workflow with a shell workaround。例如Office 文档的检查与编辑必须走office_inspect/ 受治理的 office CLI 通道有文件身份校验、操作预算、并发控制而不是用 shell 命令直接操作文件演示文稿必须走ppt_agent的受治理工作流而不是手写临时脚本导出 PPTX。交付Delivery以结果与证据为先技能最后定义了交付范式以结果开头Lead with the outcome先说结论与产出点名用于验证的证据Name the evidence used for verification明确说明本次验证使用了哪一类证据 —— 是fast_context的证据包、画布快照、.pptx导出产物还是mcp_describe返回的契约描述披露仍存在的真实局限Disclose any real limitation that remains例如模型 provider 无法执行受治理的本地 PPT 工具、generate_image在当前工具策略中不可用、或某条证据链不完整导致的不确定性。实战速查一个请求如何被路由综合以上内容可以把 router 技能的运行方式浓缩为以下判定路径仅作理解参考非源码字面用户请求进入后先分类输出形态若涉及仓库理解先fast_context以 1–4 个任务批次做只读检索拿到证据包若涉及公开网页走browser_use结构化动作快照引用 expectedTarget 校验若涉及可编辑画布且当前处于设计画布会话用design_update_shapes等画布工具做定点最小变更若涉及演示文稿交给ppt_agent并推进 start → direction → review → build 受治理流程若涉及 Office 文档先用office_inspect检查结构证据再决定是否编辑若涉及外部集成先mcp_search发现、再mcp_describe理解、最后mcp_call调用每一步都执行检查当前状态 → 最小动作 → 最近可观察输出验证完成时如实披露局限。延伸阅读技能本体resources/bundled-skills/kun-tool-router/SKILL.md 与 resources/bundled-skills/kun-tool-router/skill.json技能运行时与激活机制kun/src/skills/skill-runtime-engine.ts命令、提示词模式、文件类型三类触发与打分排序各路由目标工具的实现与测试kun/src/adapters/tool/fast-context-tool-provider.ts 与 kun/src/adapters/tool/fast-context-tool.test.tskun/src/adapters/tool/browser-use-tool-provider.tskun/src/adapters/tool/design-canvas-tool.tskun/src/adapters/tool/ppt-agent-tool-provider.tskun/src/adapters/tool/office-cli-tool-provider.tskun/src/adapters/tool/mcp-tool-search.ts赞分享人工智能AI Agent自主智能体桌面应用MCP Clients【免费下载链接】KunLocal-first AI agent workspace for coding, writing, design, research, and automation — one runtime for desktop GUI and TUI.项目地址https://gitcode.com/gh_mirrors/de/Kun点击查看免费下载相关推荐Kun Canvas 技能全解析Kun 设计画布从工具路由、工作流到交付门禁的实战指南Kun Canvas 技能全解析Kun 设计画布从工具路由、工作流到交付门禁的实战指南 Kun Canvas 是 Kun 内置的画布Canvas技能负责人工智能AI Agent自主智能体桌面应用MCP Clients【免费下载】 claude-code-router智能请求路由管理工具claude code router智能请求路由管理工具 项目介绍 在软件开发领域高效管理请求并确保它们正确地被路由到对应的服务或模型是至关重要的。Clau后端API网关LLM 网关大模型Kun v0.2.30 深度解析本地 OpenAI 兼容模型路由网关与 Agent 请求可观测性实战Kun v0.2.30 深度解析本地 OpenAI 兼容模型路由网关与 Agent 请求可观测性实战 Kun v0.2.30 是一次围绕「多模型接入、请求可观人工智能AI Agent自主智能体桌面应用MCP Clients上一篇LaserWeb4终极教程从SVG到G-code的完整工作流程下一篇Rust语言刷LeetCode的终极指南leetcode-rust项目实战教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表