求路由到最窄的真實(shí)工具族)
人工智能AI Agent自主智能體桌面應(yīng)用MCP Clients【免費(fèi)下載鏈接】KunLocal-first AI agent workspace for coding, writing, design, research, and automation — one runtime for desktop GUI and TUI.項(xiàng)目地址https://gitcode.com/gh_mirrors/de/Kun點(diǎn)擊查看免費(fèi)下載導(dǎo)讀kun-tool-router是 Kun 內(nèi)置捆綁技能bundled skill中負(fù)責(zé)工具路由的元技能它不執(zhí)行具體任務(wù)而是把每一次用戶請(qǐng)求路由到最窄、最貼合的真實(shí) Kun 工具族并同時(shí)定義任務(wù)完成所需的驗(yàn)證邊界。本文以 resources/bundled-skills/kun-tool-router/SKILL.md 為骨架結(jié)合倉(cāng)庫(kù)中fast_context、browser_use、design_update_shapes、ppt_agent、office_inspect、mcp_search等真實(shí)工具的源碼實(shí)現(xiàn)與測(cè)試用例完整講解工具路由表、五步工作流、完成門(mén)禁completion gates與邊界約束讓你掌握在 Kun 中選對(duì)工具、最小化動(dòng)作、用可觀察輸出驗(yàn)證的實(shí)戰(zhàn)方法論。技能是什么路由而非授權(quán)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把請(qǐng)求路由到最窄的真實(shí) Kun 工具族并定義所需的驗(yàn)證邊界入口entry: SKILL.md即技能正文由本文檔構(gòu)成觸發(fā)方式支持命令/kun-tool-router以及一系列提示詞模式包括Kun Tool Router、Kun tools、kun-tool-router、tool router、which tool、工具選擇授權(quán)邊界allowedTools: []—— 該技能不授予任何額外工具權(quán)限。這一不授予額外授權(quán)的設(shè)計(jì)在技能的 Boundaries 一節(jié)中被明確重申This skill routes work; it does not grant additional authorization. 也就是說(shuō)router 只負(fù)責(zé)選擇與編排真正的執(zhí)行權(quán)限由 Kun 的運(yùn)行時(shí)能力注冊(cè)表capability registry與各工具的 sideEffect 策略決定。從源碼結(jié)構(gòu)看Kun 的技能運(yùn)行時(shí)在激活技能時(shí)會(huì)把a(bǔ)llowedTools作為獨(dú)立維度注入工具策略見(jiàn) kun/src/skills/skill-runtime-engine.ts 中allowedTools: [...skill.allowedTools]的組裝邏輯router 技能的allowedTools為空恰好印證了它只做路由、不擴(kuò)權(quán)的定位。工具路由表六類請(qǐng)求的最窄工具技能給出了核心的工具路由表這是整個(gè)技能的靈魂必須原樣繼承并逐條解讀工具或技能適用場(chǎng)景fast_context倉(cāng)庫(kù)探索的第一步檢索First retrieval step for repository explorationbrowser_use結(jié)構(gòu)化的交互式公開(kāi)網(wǎng)頁(yè)瀏覽Structured interactive public browsingdesign_update_shapes可編輯畫(huà)布變更Editable canvas changesppt_agent原生演示文稿工作流Native presentation workflowoffice_inspect檢查 Office 文檔Inspect Office documentsmcp_search發(fā)現(xiàn)已連接的集成Discover connected integrationsfast_context預(yù)算受限的倉(cāng)庫(kù)檢索器fast_context是路由表第一行被定位為倉(cāng)庫(kù)探索的第一步檢索。源碼層面它由 kun/src/adapters/tool/fast-context-tool-provider.ts 實(shí)現(xiàn)屬于kind: delegation的委托型工具副作用聲明為read-only、network: false、processExecution: false。從源碼可以提煉出它的關(guān)鍵約束受限工具集FAST_CONTEXT_ALLOWED_TOOLS [grep, glob, read]子代理只能使用這三種只讀源碼工具且明確禁止 shell、web、repo maps、skills、mutation 與 delegation預(yù)算與輪次每一模型輪最多發(fā)出 4 次源碼工具調(diào)用第 4 輪只做最終綜合、不再調(diào)用工具見(jiàn)FAST_CONTEXT_SYSTEM_PROMPT與fastContextPrompt中的 Round 4 is final synthesis only批量任務(wù)tasks為 1–4 個(gè)任務(wù)的數(shù)組每個(gè)任務(wù)必須有title≤240 字符與query≤4000 字符復(fù)雜問(wèn)題應(yīng)在一個(gè)批次中提交 2–4 個(gè)互不重疊的任務(wù)證據(jù)包輸出返回evidencePackFast Context Evidence Pack以緊湊的文件行號(hào)證據(jù)代替原始搜索輸出而不是傾倒 grep 原文排隊(duì)超時(shí)FAST_CONTEXT_QUEUE_TIMEOUT_MS 30_000并可通過(guò)fast: true走serviceTier: priority優(yōu)先通道安全邊界子代理從父級(jí)工具上下文捕獲的不可變 workspace 中檢索模型永遠(yuǎn)不能自行選擇沙箱根目錄securitySnapshot中sandboxRoot: workspace。測(cè)試用例 kun/src/adapters/tool/fast-context-tool.test.ts 驗(yàn)證了任務(wù)批量提交、證據(jù)包構(gòu)造與狀態(tài)機(jī)queued → running → completed/failed/aborted的完整行為可以作為理解該工具契約的入口。browser_use結(jié)構(gòu)化公開(kāi)網(wǎng)頁(yè)瀏覽browser_use是結(jié)構(gòu)化交互式公開(kāi)瀏覽的工具。在 kun/src/adapters/tool/browser-use-tool-provider.ts 中可以看到它的嚴(yán)格性設(shè)計(jì)動(dòng)作枚舉action字段必須取BROWSER_USE_ACTIONS枚舉中的值且明確 Do not use navigate or goto aliases禁止導(dǎo)航別名元素引用ref是來(lái)自最新結(jié)構(gòu)化快照的不透明元素引用不接受選擇器或坐標(biāo)期望目標(biāo)校驗(yàn)expectedTarget對(duì) click/type/select/press 是必填項(xiàng)需從快照中拷貝sessionId、tabId、documentGeneration、origin、sanitizedUrl與節(jié)點(diǎn)的role/name主進(jìn)程會(huì)對(duì)實(shí)時(shí)不匹配直接拒絕URL 策略open的url必須是絕對(duì) HTTP/HTTPS 地址主機(jī)在加載前強(qiáng)制實(shí)施 public/local origin 策略標(biāo)簽頁(yè)管理newTab: true在配置的標(biāo)簽頁(yè)上限內(nèi)創(chuàng)建并激活獨(dú)立標(biāo)簽頁(yè)。這些約束與 router 技能結(jié)構(gòu)化、可驗(yàn)證、拒絕臨時(shí)繞過(guò)的精神完全一致瀏覽動(dòng)作必須基于快照引用而不是自由坐標(biāo)猜測(cè)。design_update_shapes可編輯畫(huà)布的定點(diǎn)變更design_update_shapes對(duì)應(yīng)可編輯畫(huà)布變更。在 kun/src/adapters/tool/design-canvas-tool.ts 中DESIGN_UPDATE_SHAPES_TOOL_NAME design_update_shapes被列入DESIGN_CANVAS_MUTATION_TOOL_NAMES是畫(huà)布變更工具族的一員同族還包括design_canvas、design_create_screen、design_create_diagram、design_arrange、design_export_canvas、design_system、design_validate、design_svg_create等。值得注意的細(xì)節(jié)該工具是否對(duì)模型廣告advertise取決于SHOULD_ADVERTISE_DESIGN_TOOL條件 —— 只有context.guiDesignCanvas true即當(dāng)前處于 GUI 設(shè)計(jì)畫(huà)布會(huì)話時(shí)才會(huì)被展示。這體現(xiàn)了 router 技能的 Completion gates 第一條Do not assume a surface or tool that is not advertised in the current turn不得假設(shè)當(dāng)前輪次未廣告的表面或工具存在。同時(shí)工具描述要求在設(shè)置 x/y 前必須先檢查當(dāng)前輪次提示中的畫(huà)布快照避免與已有形狀、圖片、幀、選中邊界、內(nèi)容邊界重疊無(wú)需精確定位時(shí)省略 x/y由渲染器自動(dòng)選擇不重疊的位置見(jiàn)CANVAS_SNAPSHOT_PLACEMENT_DESCRIPTION。ppt_agent原生演示文稿工作流ppt_agent是演示文稿任務(wù)的一等公民入口實(shí)現(xiàn)于 kun/src/adapters/tool/ppt-agent-tool-provider.ts。它的設(shè)計(jì)要點(diǎn)工作流動(dòng)作action取值start、select_direction、revise_directions、revise_previews、retry_failed、approve_and_build后續(xù)評(píng)審/續(xù)作動(dòng)作通過(guò)childIdworkflowId恢復(fù)原 PPT 子代理內(nèi)容來(lái)源工具讀取當(dāng)前激活的用戶輪次及其附件作為唯一內(nèi)容來(lái)源工具參數(shù)中不得轉(zhuǎn)述、總結(jié)、擴(kuò)寫(xiě)或編造演示內(nèi)容never restate, summarize, expand, or invent presentation content in tool arguments顯示標(biāo)題start動(dòng)作要求 2–6 個(gè)詞、最多 160 字符的短title僅作為 UI 顯示元數(shù)據(jù)永不進(jìn)入子請(qǐng)求交付驗(yàn)證子代理在 workspace 下寫(xiě) deck 文件父代理負(fù)責(zé)交付物驗(yàn)證deck 結(jié)構(gòu)、.pptx 導(dǎo)出、逐頁(yè) fade只有approve_and_build才允許ppt_export其他動(dòng)作階段會(huì)被blocksPptExport屏蔽托管本地工具部分 provider 無(wú)法執(zhí)行 Kun 受治理的本地 PPT 工具此時(shí)工具會(huì)返回phase: unavailable并提示在 Lab 設(shè)置中配置具備工具能力的 PPT Agent 模型。這與 router 技能的 Workflow 第 4 步執(zhí)行最小的連貫動(dòng)作和第 5 步用最接近的可觀察輸出驗(yàn)證形成閉環(huán)PPT 工作流被拆成 start → direction → review → build 的最小動(dòng)作序列每步都有結(jié)構(gòu)化 bundledirectionBundle / reviewBundle / deckArtifact作為可觀察的驗(yàn)證產(chǎn)物。office_inspect檢查 Office 文檔office_inspect對(duì)應(yīng) Office 文檔的只讀檢查場(chǎng)景實(shí)現(xiàn)位于 kun/src/adapters/tool/office-cli-tool-provider.ts。其底層是一個(gè)受治理的 Office CLI 運(yùn)行器超時(shí)與并發(fā)單次操作超時(shí)OFFICECLI_TIMEOUT_MS 60_000最大并發(fā)OFFICECLI_MAX_CONCURRENCY 2輸出上限 2 MiB、預(yù)覽上限 4 MiB身份校驗(yàn)通過(guò)captureFileIdentity/assertFileIdentityUnchanged校驗(yàn)文件在操作前后身份不變sha256File計(jì)算哈希防止檢查或編輯過(guò)程中文件被意外替換只讀檢查動(dòng)作isInspectAction區(qū)分檢查類動(dòng)作inspectCommand構(gòu)造對(duì)應(yīng)的檢查命令解析輸出parseOfficeCliOutput受管進(jìn)程spawnOwnedProcess/stopOwnedProcess管理受管子進(jìn)程profile 目錄以0o700權(quán)限創(chuàng)建。從設(shè)計(jì)意圖看office_inspect是檢查優(yōu)先于修改的體現(xiàn)先 inspect 獲取文檔結(jié)構(gòu)證據(jù)再?zèng)Q定是否需要編輯類操作編輯則走office_edit一類動(dòng)作且有OFFICECLI_MAX_OPERATIONS操作預(yù)算。這與 router 技能 Workflow 第 3 步Inspect current state before mutation完全對(duì)應(yīng)。mcp_search發(fā)現(xiàn)已連接的集成mcp_search用于發(fā)現(xiàn)已連接的集成實(shí)現(xiàn)在 kun/src/adapters/tool/mcp-tool-search.ts。它是 MCP 工具族中的檢索入口同族還有mcp_describe、mcp_call、mcp_read_only_call、mcp_refresh_catalog虛擬目錄基于VirtualToolCatalog凍結(jié)目錄視圖FrozenToolCatalogView最多緩存 256 個(gè)凍結(jié)目錄索引與檢索通過(guò)searchRecords 排序函數(shù)mcp-tool-search-ranking.ts里的describeRecord/formatSearchResult對(duì)已連接 MCP 服務(wù)器的工具進(jìn)行檢索支持topKDefault、topKMax、minScore等運(yùn)行時(shí)診斷參數(shù)角色定位當(dāng)用戶提到某個(gè)外部集成能力時(shí)先mcp_search發(fā)現(xiàn)可用工具再mcp_describe了解契約最后才mcp_call執(zhí)行 —— 正是先發(fā)現(xiàn)、再理解、后調(diào)用的最小化路徑。五步工作流從分類到驗(yàn)證router 技能給出了可復(fù)用的五步工作流是技能的操作核心分類輸出Classify the output判斷本次請(qǐng)求的輸出形態(tài) —— prose文字、file文件、code代碼、browser action瀏覽器動(dòng)作、design設(shè)計(jì)、chart圖表、diagram示意圖、presentation演示文稿、media媒體、schedule日程或 integration集成選擇最具體的已廣告工具Choose the most specific advertised tool對(duì)照路由表選擇最貼合分類結(jié)果的工具只選擇當(dāng)前輪次中真正被廣告advertised的工具變更前檢查當(dāng)前狀態(tài)Inspect current state before mutation任何修改動(dòng)作前先用fast_context/office_inspect等只讀手段摸清現(xiàn)狀執(zhí)行最小的連貫動(dòng)作Perform the smallest coherent action一次只做最小但自洽的動(dòng)作例如設(shè)計(jì)畫(huà)布只更新目標(biāo)形狀PPT 只推進(jìn)一個(gè)工作流階段用最接近的可觀察輸出驗(yàn)證Verify using the closest observable output以離動(dòng)作最近的產(chǎn)物作為驗(yàn)證證據(jù) —— 文件內(nèi)容、畫(huà)布快照、導(dǎo)出產(chǎn)物、結(jié)構(gòu)化 bundle。這五步可以在源碼中找到印證fast_context的證據(jù)包evidencePack與文件行號(hào)結(jié)論、design_update_shapes的畫(huà)布快照約束、ppt_agent的 direction/review/deck 三層 bundle都是最小動(dòng)作 可觀察驗(yàn)證的具體實(shí)現(xiàn)。ppt_agent的emitPptLifecycleUpdate在 queued/running 階段持續(xù)回傳生命周期更新也服務(wù)于第 5 步的可觀察性。完成門(mén)禁Completion gates三條硬性驗(yàn)收規(guī)則技能定義了三條完成門(mén)禁任何任務(wù)在宣告完成前都必須通過(guò)不得假設(shè)未廣告的表面或工具Do not assume a surface or tool that is not advertised in the current turn。典型例證design_update_shapes僅在guiDesignCanvas true時(shí)才被廣告fast_context/ppt_agent可在 Lab 設(shè)置中禁用enabled: false時(shí)工具在 execute 入口返回 isError。模型只能使用當(dāng)前輪次真正可見(jiàn)的工具不能腦補(bǔ)不存在的工具面尊重依賴順序只并行獨(dú)立讀取Respect dependent sequencing; parallelize only independent reads。依賴型步驟如先 inspect 再 edit、先 direction 再 review必須串行只有互不依賴的讀取如fast_context批量任務(wù)中的多個(gè)獨(dú)立 query才可以并行如實(shí)上報(bào)未解決的失敗Report unresolved failures without hiding them。ppt_agent對(duì)方向/評(píng)審/交付物缺失會(huì)分別給出directionContractError、reviewContractError、deckContractError并把子錯(cuò)誤合并進(jìn)最終 error 輸出formatPptChildError這正是不隱瞞失敗的實(shí)現(xiàn)。邊界Boundaries兩條不可逾越的約束技能的 Boundaries 是安全與治理的底線路由不授權(quán)本技能只負(fù)責(zé)路由不授予任何額外權(quán)限allowedTools 為空。執(zhí)行權(quán)限來(lái)自能力注冊(cè)表與工具自身的 sideEffect 策略禁止用 shell 繞過(guò)來(lái)替代受治理的專用工作流Never replace a specialized governed workflow with a shell workaround。例如Office 文檔的檢查與編輯必須走office_inspect/ 受治理的 office CLI 通道有文件身份校驗(yàn)、操作預(yù)算、并發(fā)控制而不是用 shell 命令直接操作文件演示文稿必須走ppt_agent的受治理工作流而不是手寫(xiě)臨時(shí)腳本導(dǎo)出 PPTX。交付Delivery以結(jié)果與證據(jù)為先技能最后定義了交付范式以結(jié)果開(kāi)頭Lead with the outcome先說(shuō)結(jié)論與產(chǎn)出點(diǎn)名用于驗(yàn)證的證據(jù)Name the evidence used for verification明確說(shuō)明本次驗(yàn)證使用了哪一類證據(jù) —— 是fast_context的證據(jù)包、畫(huà)布快照、.pptx導(dǎo)出產(chǎn)物還是mcp_describe返回的契約描述披露仍存在的真實(shí)局限D(zhuǎn)isclose any real limitation that remains例如模型 provider 無(wú)法執(zhí)行受治理的本地 PPT 工具、generate_image在當(dāng)前工具策略中不可用、或某條證據(jù)鏈不完整導(dǎo)致的不確定性。實(shí)戰(zhàn)速查一個(gè)請(qǐng)求如何被路由綜合以上內(nèi)容可以把 router 技能的運(yùn)行方式濃縮為以下判定路徑僅作理解參考非源碼字面用戶請(qǐng)求進(jìn)入后先分類輸出形態(tài)若涉及倉(cāng)庫(kù)理解先f(wàn)ast_context以 1–4 個(gè)任務(wù)批次做只讀檢索拿到證據(jù)包若涉及公開(kāi)網(wǎng)頁(yè)走browser_use結(jié)構(gòu)化動(dòng)作快照引用 expectedTarget 校驗(yàn)若涉及可編輯畫(huà)布且當(dāng)前處于設(shè)計(jì)畫(huà)布會(huì)話用design_update_shapes等畫(huà)布工具做定點(diǎn)最小變更若涉及演示文稿交給ppt_agent并推進(jìn) start → direction → review → build 受治理流程若涉及 Office 文檔先用office_inspect檢查結(jié)構(gòu)證據(jù)再?zèng)Q定是否編輯若涉及外部集成先mcp_search發(fā)現(xiàn)、再mcp_describe理解、最后mcp_call調(diào)用每一步都執(zhí)行檢查當(dāng)前狀態(tài) → 最小動(dòng)作 → 最近可觀察輸出驗(yàn)證完成時(shí)如實(shí)披露局限。延伸閱讀技能本體resources/bundled-skills/kun-tool-router/SKILL.md 與 resources/bundled-skills/kun-tool-router/skill.json技能運(yùn)行時(shí)與激活機(jī)制kun/src/skills/skill-runtime-engine.ts命令、提示詞模式、文件類型三類觸發(fā)與打分排序各路由目標(biāo)工具的實(shí)現(xiàn)與測(cè)試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自主智能體桌面應(yīng)用MCP Clients【免費(fèi)下載鏈接】KunLocal-first AI agent workspace for coding, writing, design, research, and automation — one runtime for desktop GUI and TUI.項(xiàng)目地址https://gitcode.com/gh_mirrors/de/Kun點(diǎn)擊查看免費(fèi)下載相關(guān)推薦Kun Canvas 技能全解析Kun 設(shè)計(jì)畫(huà)布從工具路由、工作流到交付門(mén)禁的實(shí)戰(zhàn)指南Kun Canvas 技能全解析Kun 設(shè)計(jì)畫(huà)布從工具路由、工作流到交付門(mén)禁的實(shí)戰(zhàn)指南 Kun Canvas 是 Kun 內(nèi)置的畫(huà)布Canvas技能負(fù)責(zé)人工智能AI Agent自主智能體桌面應(yīng)用MCP Clients【免費(fèi)下載】 claude-code-router智能請(qǐng)求路由管理工具claude code router智能請(qǐng)求路由管理工具 項(xiàng)目介紹 在軟件開(kāi)發(fā)領(lǐng)域高效管理請(qǐng)求并確保它們正確地被路由到對(duì)應(yīng)的服務(wù)或模型是至關(guān)重要的。Clau后端API網(wǎng)關(guān)LLM 網(wǎng)關(guān)大模型Kun v0.2.30 深度解析本地 OpenAI 兼容模型路由網(wǎng)關(guān)與 Agent 請(qǐng)求可觀測(cè)性實(shí)戰(zhàn)Kun v0.2.30 深度解析本地 OpenAI 兼容模型路由網(wǎng)關(guān)與 Agent 請(qǐng)求可觀測(cè)性實(shí)戰(zhàn) Kun v0.2.30 是一次圍繞「多模型接入、請(qǐng)求可觀人工智能AI Agent自主智能體桌面應(yīng)用MCP Clients上一篇LaserWeb4終極教程從SVG到G-code的完整工作流程下一篇Rust語(yǔ)言刷LeetCode的終極指南leetcode-rust項(xiàng)目實(shí)戰(zhàn)教程創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考