Files
2026-09-17 17:35:03 +00:00

25 lines
42 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
3:I[4707,[],""]
6:I[36423,[],""]
8:I[78400,["3185","static/chunks/app/layout-38b548b4f4d27f80.js"],"FontLoader"]
4:["lang","zh","d"]
5:["mdxPath","core/tools-api","oc"]
0:["0y8u-WGJo2VFWAF7bkrdx",[[["",{"children":[["lang","zh","d"],{"children":[["mdxPath","core/tools-api","oc"],{"children":["__PAGE__?{\"lang\":\"zh\",\"mdxPath\":[\"core\",\"tools-api\"]}",{}]}]}]},"$undefined","$undefined",true],["",{"children":[["lang","zh","d"],{"children":[["mdxPath","core/tools-api","oc"],{"children":["__PAGE__",{},[["$L1","$L2",[["$","link","0",{"rel":"stylesheet","href":"/qwen-code-docs/_next/static/css/04d76539cc2c4ebd.css","precedence":"next","crossOrigin":"$undefined"}]]],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","$4","children","$5","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,"$L7"],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/qwen-code-docs/_next/static/css/7fba7395046b8eaa.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$undefined",["$","style",null,{"children":":root {\n --nextra-primary-hue: 248deg;\n --nextra-primary-saturation: 74%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 248deg;\n --nextra-primary-saturation: 74%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":[["$","$L8",null,{}],["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]]}]]}]],null],null],["$L9",null]]]]
a:I[54108,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"ThemeConfigProvider"]
b:I[16016,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"LastUpdated"]
c:I[30763,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"Search"]
d:I[25922,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"ThemeProvider"]
e:I[94328,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"SkipNavLink"]
f:I[17691,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"ConfigProvider"]
10:I[72972,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],""]
11:I[88212,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"ClientNavbar"]
13:I[32594,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"LanguageDropdown"]
14:I[57191,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"MobileNav"]
15:I[18960,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"TOCProvider"]
16:I[57191,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"Sidebar"]
17:I[98270,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"ClientWrapper"]
18:I[56099,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"HeadingAnchor"]
12:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z7:["$","$La",null,{"value":{"children":"$undefined","darkMode":true,"docsRepositoryBase":"https://github.com/QwenLM/qwen-code/blob/main/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[{"locale":"en","name":"English"},{"locale":"zh","name":"中文"},{"locale":"de","name":"Deutsch"},{"locale":"fr","name":"Français"},{"locale":"ru","name":"Русский"},{"locale":"ja","name":"日本語"}],"lastUpdated":["$","$Lb",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$Lc",null,{}],"sidebar":{"defaultMenuCollapseLevel":1,"defaultOpen":true,"toggleButton":true,"autoCollapse":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$Ld",null,{"attribute":"class","defaultTheme":"light","disableTransitionOnChange":true,"storageKey":"theme","children":[["$","$Le",null,{}],"$undefined",["$","$Lf",null,{"pageMap":[{"data":{"index":{"title":"欢迎阅读 Qwen Code 文档"},"deployment":{"title":"执行与部署"},"architecture":{"title":"架构概述"},"cli":{"title":"CLI 使用指南"},"core":{"title":"核心详情"},"tools":{"title":"工具集合"},"checkpointing":{"title":"检查点功能"},"extension":{"title":"扩展开发"},"ide-integration":{"title":"IDE 集成"},"telemetry":{"title":"可观测性"},"examples":{"title":"示例代码"},"npm":{"title":"包管理"},"gemini-ignore":{"title":"忽略文件配置"},"integration-tests":{"title":"集成测试"},"keyboard-shortcuts":{"title":"快捷键参考"},"sandbox":{"title":"沙箱机制"},"issue-and-pr-automation":{"title":"自动化处理"},"troubleshooting":{"title":"故障排除"},"tos-privacy":{"title":"服务条款与隐私"},"Uninstall":{"title":"卸载指南"}}},{"name":"index","route":"/zh","frontMatter":{"title":"欢迎阅读 Qwen Code 文档","filePath":"content/zh/index.md","timestamp":1789666354000},"title":"欢迎阅读 Qwen Code 文档"},{"name":"deployment","route":"/zh/deployment","frontMatter":{"title":"Qwen Code 执行与部署","filePath":"content/zh/deployment.md","timestamp":1789666354000},"title":"执行与部署"},{"name":"architecture","route":"/zh/architecture","frontMatter":{"title":"Qwen Code 架构概述","filePath":"content/zh/architecture.md","timestamp":1789666354000},"title":"架构概述"},{"name":"cli","route":"/zh/cli","children":[{"data":{"index":{"title":"CLI 概述"},"commands":{"title":"命令参考"},"configuration":{"title":"配置指南"},"authentication":{"title":"认证设置"},"openai-auth":{"title":"OpenAI 认证"},"token-caching":{"title":"Token 缓存"},"themes":{"title":"主题配置"},"tutorials":{"title":"使用教程"}}},{"name":"index","route":"/zh/cli","frontMatter":{"title":"Qwen Code CLI","filePath":"content/zh/cli/index.md","timestamp":1789666354000},"title":"CLI 概述"},{"name":"commands","route":"/zh/cli/commands","frontMatter":{"title":"CLI 命令","filePath":"content/zh/cli/commands.md","timestamp":1789666354000},"title":"命令参考"},{"name":"configuration","route":"/zh/cli/configuration","frontMatter":{"title":"Qwen Code 配置","filePath":"content/zh/cli/configuration.md","timestamp":1789666354000},"title":"配置指南"},{"name":"authentication","route":"/zh/cli/authentication","frontMatter":{"title":"认证设置","filePath":"content/zh/cli/authentication.md","timestamp":1789666354000},"title":"认证设置"},{"name":"openai-auth","route":"/zh/cli/openai-auth","frontMatter":{"title":"OpenAI 认证","filePath":"content/zh/cli/openai-auth.md","timestamp":1789666354000},"title":"OpenAI 认证"},{"name":"token-caching","route":"/zh/cli/token-caching","frontMatter":{"title":"Token 缓存与成本优化","filePath":"content/zh/cli/token-caching.md","timestamp":1789666354000},"title":"Token 缓存"},{"name":"themes","route":"/zh/cli/themes","frontMatter":{"title":"主题","filePath":"content/zh/cli/themes.md","timestamp":1789666354000},"title":"主题配置"},{"name":"tutorials","route":"/zh/cli/tutorials","frontMatter":{"title":"教程","filePath":"content/zh/cli/tutorials.md","timestamp":1789666354000},"title":"使用教程"},{"name":"welcome-back","route":"/zh/cli/welcome-back","frontMatter":{"title":"欢迎回来功能","filePath":"content/zh/cli/welcome-back.md","timestamp":1789666354000},"title":"欢迎回来功能"}],"title":"CLI 使用指南"},{"name":"core","route":"/zh/core","children":[{"data":{"index":{"title":"核心概述"},"tools-api":{"title":"工具 API"},"memport":{"title":"内存导入处理器"}}},{"name":"index","route":"/zh/core","frontMatter":{"title":"Qwen Code Core","filePath":"content/zh/core/index.md","timestamp":1789666354000},"title":"核心概述"},{"name":"tools-api","route":"/zh/core/tools-api","frontMatter":{"title":"Qwen Code Core: Tools API","filePath":"content/zh/core/tools-api.md","timestamp":1789666354000},"title":"工具 API"},{"name":"memport","route":"/zh/core/memport","frontMatter":{"title":"Memory Import Processor","filePath":"content/zh/core/memport.md","timestamp":1789666354000},"title":"内存导入处理器"}],"title":"核心详情"},{"name":"tools","route":"/zh/tools","children":[{"data":{"index":{"title":"工具概述"},"file-system":{"title":"文件系统工具"},"multi-file":{"title":"多文件读取工具"},"shell":{"title":"Shell 工具"},"web-fetch":{"title":"Web 获取工具"},"web-search":{"title":"Web 搜索工具"},"memory":{"title":"内存工具"},"todo-write":{"title":"Todo 写入工具"},"mcp-server":{"title":"MCP 服务器"}}},{"name":"index","route":"/zh/tools","frontMatter":{"title":"Qwen Code 工具","filePath":"content/zh/tools/index.md","timestamp":1789666354000},"title":"工具概述"},{"name":"file-system","route":"/zh/tools/file-system","frontMatter":{"title":"Qwen Code 文件系统工具","filePath":"content/zh/tools/file-system.md","timestamp":1789666354000},"title":"文件系统工具"},{"name":"multi-file","route":"/zh/tools/multi-file","frontMatter":{"title":"多文件读取工具 (read_many_files)","filePath":"content/zh/tools/multi-file.md","timestamp":1789666354000},"title":"多文件读取工具"},{"name":"shell","route":"/zh/tools/shell","frontMatter":{"title":"Shell 工具 (run_shell_command)","filePath":"content/zh/tools/shell.md","timestamp":1789666354000},"title":"Shell 工具"},{"name":"web-fetch","route":"/zh/tools/web-fetch","frontMatter":{"title":"Web Fetch Tool (web_fetch)","filePath":"content/zh/tools/web-fetch.md","timestamp":1789666354000},"title":"Web 获取工具"},{"name":"web-search","route":"/zh/tools/web-search","frontMatter":{"title":"Web Search Tool (web_search)","filePath":"content/zh/tools/web-search.md","timestamp":1789666354000},"title":"Web 搜索工具"},{"name":"memory","route":"/zh/tools/memory","frontMatter":{"title":"Memory Tool (save_memory)","filePath":"content/zh/tools/memory.md","timestamp":1789666354000},"title":"内存工具"},{"name":"todo-write","route":"/zh/tools/todo-write","frontMatter":{"title":"Todo Write Tool (todo_write)","filePath":"content/zh/tools/todo-write.md","timestamp":1789666354000},"title":"Todo 写入工具"},{"name":"mcp-server","route":"/zh/tools/mcp-server","frontMatter":{"title":"使用 Qwen Code 的 MCP 服务器","filePath":"content/zh/tools/mcp-server.md","timestamp":1789666354000},"title":"MCP 服务器"}],"title":"工具集合"},{"name":"checkpointing","route":"/zh/checkpointing","frontMatter":{"title":"Checkpointing","filePath":"content/zh/checkpointing.md","timestamp":1789666354000},"title":"检查点功能"},{"name":"extension","route":"/zh/extension","frontMatter":{"title":"Qwen Code Extensions","filePath":"content/zh/extension.md","timestamp":1789666354000},"title":"扩展开发"},{"name":"ide-integration","route":"/zh/ide-integration","frontMatter":{"title":"IDE 集成","filePath":"content/zh/ide-integration.md","timestamp":1789666354000},"title":"IDE 集成"},{"name":"telemetry","route":"/zh/telemetry","frontMatter":{"title":"Qwen Code 可观测性指南","filePath":"content/zh/telemetry.md","timestamp":1789666354000},"title":"可观测性"},{"name":"examples","route":"/zh/examples","children":[{"data":{"proxy-script":{"title":"代理脚本示例"}}},{"name":"proxy-script","route":"/zh/examples/proxy-script","frontMatter":{"title":"示例代理脚本","filePath":"content/zh/examples/proxy-script.md","timestamp":1789666354000},"title":"代理脚本示例"}],"title":"示例代码"},{"name":"npm","route":"/zh/npm","frontMatter":{"title":"Package Overview","filePath":"content/zh/npm.md","timestamp":1789666354000},"title":"包管理"},{"name":"gemini-ignore","route":"/zh/gemini-ignore","frontMatter":{"title":"忽略文件","filePath":"content/zh/gemini-ignore.md","timestamp":1789666354000},"title":"忽略文件配置"},{"name":"integration-tests","route":"/zh/integration-tests","frontMatter":{"title":"集成测试","filePath":"content/zh/integration-tests.md","timestamp":1789666354000},"title":"集成测试"},{"name":"keyboard-shortcuts","route":"/zh/keyboard-shortcuts","frontMatter":{"title":"Qwen Code 键盘快捷键","filePath":"content/zh/keyboard-shortcuts.md","timestamp":1789666354000},"title":"快捷键参考"},{"name":"sandbox","route":"/zh/sandbox","frontMatter":{"title":"Qwen Code 中的沙箱机制","filePath":"content/zh/sandbox.md","timestamp":1789666354000},"title":"沙箱机制"},{"name":"issue-and-pr-automation","route":"/zh/issue-and-pr-automation","frontMatter":{"title":"自动化与分类处理流程","filePath":"content/zh/issue-and-pr-automation.md","timestamp":1789666354000},"title":"自动化处理"},{"name":"troubleshooting","route":"/zh/troubleshooting","frontMatter":{"title":"故障排除指南","filePath":"content/zh/troubleshooting.md","timestamp":1789666354000},"title":"故障排除"},{"name":"tos-privacy","route":"/zh/tos-privacy","frontMatter":{"title":"Qwen Code:服务条款与隐私声明","filePath":"content/zh/tos-privacy.md","timestamp":1789666354000},"title":"服务条款与隐私"},{"name":"Uninstall","route":"/zh/Uninstall","frontMatter":{"title":"卸载 CLI","filePath":"content/zh/Uninstall.md","timestamp":1789666354000},"title":"卸载指南"},{"name":"subagents","route":"/zh/subagents","frontMatter":{"title":"Subagents","filePath":"content/zh/subagents.md","timestamp":1789666354000},"title":"Subagents"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L10",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","aria-label":"Home page","children":["$","span",null,{"className":"ms-2 select-none font-extrabold flex items-center","title":"Qwen Code: AI Coding Agent","children":[["$","img",null,{"src":"https://assets.alicdn.com/g/qwenweb/qwen-webui-fe/0.0.191/static/favicon.png","alt":"Qwen Code","width":32,"height":32,"className":"inline-block align-middle mr-2 ","style":{"verticalAlign":"middle"}}],["$","span",null,{"className":"text-[1.3rem] font-normal align-middle mr-1 max-md:hidden","children":"Qwen"}],["$","span",null,{"className":"text-[1.3rem] font-normal align-middle max-md:hidden","children":"Code"}]]}]}],["$","$L11",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/QwenLM/qwen-code","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","aria-label":"Project repository","children":["$","path",null,{"d":"$12"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined",["$","$L13",null,{"currentLang":"zh"}]]}]]}]]}],"footer":null,"children":[["$","$L14",null,{}],["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]]}]]}]}]
2:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","sourceCode":"$undefined","children":["$","$L15",null,{"value":[{"value":"核心概念","id":"核心概念","depth":2},{"value":"内置工具","id":"内置工具","depth":2},{"value":"工具执行流程","id":"工具执行流程","depth":2},{"value":"通过自定义工具扩展","id":"通过自定义工具扩展","depth":2}],"children":[["$","$L16",null,{}],["$","$L17",null,{"metadata":{"title":"Qwen Code Core: Tools API","filePath":"content/zh/core/tools-api.md","timestamp":1789666354000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Qwen Code Core: Tools API","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":["Qwen Code core (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"packages/core"}],") 提供了一套强大的系统,用于定义、注册和执行 tools。这些 tools 扩展了模型的能力,使其能够与本地环境交互、获取网页内容,并执行各种超出简单文本生成的操作。"]}],"\n",["$","h2",null,{"id":"核心概念","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["核心概念",["$","$L18",null,{"id":"核心概念"}]]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":["\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","strong",null,{"children":["Tool (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"tools.ts"}],"):"]}]," 一个接口和基类(",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"BaseTool"}],"),定义了所有工具的契约。每个工具必须包含:"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"name"}],":唯一的内部名称(用于模型的 API 调用)。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"displayName"}],":用户友好的名称。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"description"}],":对工具功能的清晰说明,提供给模型使用。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"parameterSchema"}],":定义工具接受参数的 JSON schema。这对模型理解如何正确调用工具至关重要。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"validateToolParams()"}],":用于验证传入参数的方法。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"getDescription()"}],":用于在执行前提供人类可读的描述,说明工具将使用特定参数执行什么操作。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"shouldConfirmExecute()"}],":用于判断是否需要用户确认后再执行(例如,对于可能具有破坏性的操作)。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"execute()"}],":执行工具核心操作并返回 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ToolResult"}]," 的方法。"]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","strong",null,{"children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ToolResult"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"tools.ts"}],"):"]}]," 定义工具执行结果结构的接口:"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"llmContent"}],":要包含在返回给 LLM 的历史记录中的事实内容。可以是简单的字符串,也可以是 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"PartListUnion"}],"(由 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Part"}]," 对象和字符串组成的数组),用于支持富内容。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"returnDisplay"}],":用于 CLI 显示的用户友好字符串(通常是 Markdown)或特殊对象(如 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"FileDiff"}],")。"]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","strong",null,{"children":"返回富内容:"}]," 工具不仅限于返回简单文本。",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"llmContent"}]," 可以是 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"PartListUnion"}],",这是一个可以包含 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Part"}]," 对象(用于图像、音频等)和 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"string"}]," 的数组。这使得单次工具执行可以返回多个富内容项。"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","strong",null,{"children":["Tool Registry (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"tool-registry.ts"}],"):"]}]," 一个类(",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ToolRegistry"}],"),负责:"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"注册工具:"}]," 管理所有可用的内置工具集合(例如 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ReadFileTool"}],"、",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ShellTool"}],")。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"发现工具:"}]," 也可以动态发现工具:\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"基于命令的发现:"}]," 如果在设置中配置了 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"toolDiscoveryCommand"}],",则会执行该命令。该命令应输出描述自定义工具的 JSON,然后这些工具会被注册为 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"DiscoveredTool"}]," 实例。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"基于 MCP 的发现:"}]," 如果配置了 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"mcpServerCommand"}],",Registry 可以连接到 Model Context Protocol (MCP) 服务器,列出并注册工具(",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"DiscoveredMCPTool"}],")。"]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"提供 Schema:"}]," 向模型暴露所有已注册工具的 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"FunctionDeclaration"}]," schema,使模型知道有哪些工具以及如何使用它们。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"获取工具:"}]," 允许核心逻辑通过名称获取特定工具以执行。"]}],"\n"]}],"\n"]}],"\n"]}],"\n",["$","h2",null,{"id":"内置工具","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["内置工具",["$","$L18",null,{"id":"内置工具"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":["core 包含一组预定义的工具,通常位于 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"packages/core/src/tools/"}]," 目录下。这些工具包括:"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"文件系统工具:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"LSTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ls.ts"}],"):列出目录内容。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ReadFileTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"read-file.ts"}],"):读取单个文件的内容。它接受一个 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"absolute_path"}]," 参数,该参数必须是绝对路径。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"WriteFileTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"write-file.ts"}],"):将内容写入文件。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"GrepTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"grep.ts"}],"):在文件中搜索模式。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"GlobTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"glob.ts"}],"):查找匹配 glob 模式的文件。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"EditTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"edit.ts"}],"):对文件进行原地修改(通常需要确认)。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ReadManyFilesTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"read-many-files.ts"}],"):从多个文件或 glob 模式中读取并连接内容(在 CLI 中由 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"@"}]," 命令使用)。"]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"执行工具:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ShellTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"shell.ts"}],"):执行任意 shell 命令(需要仔细的沙箱处理和用户确认)。"]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Web 工具:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"WebFetchTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"web-fetch.ts"}],"):从 URL 获取内容。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"WebSearchTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"web-search.ts"}],"):执行 Web 搜索。"]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"内存工具:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"MemoryTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"memoryTool.ts"}],"):与 AI 的记忆进行交互。"]}],"\n"]}],"\n"]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":["每个工具都继承自 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"BaseTool"}]," 并实现其特定功能所需的方法。"]}],"\n",["$","h2",null,{"id":"工具执行流程","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["工具执行流程",["$","$L18",null,{"id":"工具执行流程"}]]}],"\n",["$","ol",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-decimal x:ms-6","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"模型请求:"}]," 模型根据用户的 prompt 和提供的工具 schemas,决定使用某个工具,并在其响应中返回一个 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"FunctionCall"}]," 部分,指定工具名称和参数。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Core 接收请求:"}]," Core 解析这个 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"FunctionCall"}],"。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"工具查找:"}]," Core 在 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ToolRegistry"}]," 中查找请求的工具。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"参数验证:"}]," 调用该工具的 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"validateToolParams()"}]," 方法。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"确认执行(如需要):"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":["调用该工具的 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"shouldConfirmExecute()"}]," 方法。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"如果该方法返回需要确认的详细信息,Core 会将这些信息传回 CLI,CLI 会提示用户确认。"}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"用户的决定(例如,继续、取消)会被发送回 Core。"}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"执行工具:"}]," 如果参数验证通过且用户已确认(或无需确认),Core 会调用该工具的 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"execute()"}]," 方法,传入参数和一个 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"AbortSignal"}],"(用于可能的取消操作)。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"结果处理:"}]," Core 接收来自 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"execute()"}]," 的 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ToolResult"}],"。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"响应模型:"}]," 从 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ToolResult"}]," 中提取 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"llmContent"}],",封装为 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"FunctionResponse"}]," 并发送回模型,以便模型继续生成面向用户的响应。"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"展示给用户:"}]," 从 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ToolResult"}]," 中提取 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"returnDisplay"}],",发送给 CLI 展示给用户,告知用户工具执行了什么操作。"]}],"\n"]}],"\n",["$","h2",null,{"id":"通过自定义工具扩展","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["通过自定义工具扩展",["$","$L18",null,{"id":"通过自定义工具扩展"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"虽然在提供的文档中并未明确将用户直接以编程方式注册新工具作为典型终端用户的主要工作流程,但架构本身支持以下扩展方式:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":["\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","strong",null,{"children":"基于命令的发现机制(Command-based Discovery):"}]," 高级用户或项目管理员可以在 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"settings.json"}]," 中定义一个 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"toolDiscoveryCommand"}],"。当核心模块运行该命令时,它应输出一个包含 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"FunctionDeclaration"}]," 对象的 JSON 数组。核心模块会将这些函数声明作为 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"DiscoveredTool"}]," 实例提供使用。而对应的 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"toolCallCommand"}]," 则负责实际执行这些自定义工具。"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","strong",null,{"children":"MCP Server(模型控制协议服务器):"}]," 在更复杂的场景下,可以设置并配置一个或多个 MCP 服务器,通过 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"settings.json"}]," 中的 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"mcpServers"}]," 配置项进行管理。核心模块能够自动发现并使用这些服务器暴露的工具。如前所述,如果你有多个 MCP 服务器,工具名称将会被加上配置中的服务器别名前缀(例如:",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"serverAlias__actualToolName"}],")。"]}],"\n"]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"这套工具系统为增强模型能力提供了灵活且强大的方式,使 Qwen Code 成为适用于各种任务的多功能助手。"}]]}]]}]]}]}]
9:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Qwen Code Core: Tools API | "}],["$","meta","3",{"name":"description","content":"x"}],["$","meta","4",{"name":"msapplication-TileColor","content":"#fff"}],["$","meta","5",{"name":"apple-mobile-web-app-capable","content":"yes"}],["$","meta","6",{"name":"apple-mobile-web-app-title","content":"Qwen Code"}],["$","meta","7",{"name":"apple-mobile-web-app-status-bar-style","content":"default"}],["$","meta","8",{"property":"og:title","content":"Qwen Code Core: Tools API | "}],["$","meta","9",{"property":"og:description","content":"x"}],["$","meta","10",{"property":"og:image","content":"https://assets.vercel.com/image/upload/v1572282926/swr/twitter-card.jpg"}],["$","meta","11",{"name":"twitter:card","content":"summary"}],["$","meta","12",{"name":"twitter:site","content":"@qwenLLM"}],["$","meta","13",{"name":"twitter:title","content":"Qwen Code Core: Tools API | "}],["$","meta","14",{"name":"twitter:description","content":"x"}],["$","meta","15",{"name":"twitter:image","content":"https://assets.vercel.com/image/upload/v1572282926/swr/twitter-card.jpg"}]]
1:null