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

25 lines
33 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","en","d"]
5:["mdxPath","architecture","oc"]
0:["0y8u-WGJo2VFWAF7bkrdx",[[["",{"children":[["lang","en","d"],{"children":[["mdxPath","architecture","oc"],{"children":["__PAGE__?{\"lang\":\"en\",\"mdxPath\":[\"architecture\"]}",{}]}]}]},"$undefined","$undefined",true],["",{"children":[["lang","en","d"],{"children":[["mdxPath","architecture","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":"Welcome to Qwen Code Documentation"},"deployment":{"title":"Execution & Deployment"},"architecture":{"title":"Architecture Overview"},"cli":{"title":"CLI Usage Guide"},"core":{"title":"Core Details"},"tools":{"title":"Tools Collection"},"checkpointing":{"title":"Checkpointing Feature"},"extension":{"title":"Extension Development"},"ide-integration":{"title":"IDE Integration"},"telemetry":{"title":"Observability"},"examples":{"title":"Example Code"},"npm":{"title":"Package Management"},"gemini-ignore":{"title":"Ignore File Configuration"},"integration-tests":{"title":"Integration Tests"},"keyboard-shortcuts":{"title":"Keyboard Shortcuts"},"sandbox":{"title":"Sandbox Mechanism"},"issue-and-pr-automation":{"title":"Automation Handling"},"troubleshooting":{"title":"Troubleshooting"},"tos-privacy":{"title":"Terms of Service & Privacy"},"Uninstall":{"title":"Uninstall Guide"}}},{"name":"index","route":"/en","frontMatter":{"title":"Welcome to Qwen Code documentation","filePath":"content/en/index.md","timestamp":1789666354000},"title":"Welcome to Qwen Code Documentation"},{"name":"deployment","route":"/en/deployment","frontMatter":{"title":"Qwen Code Execution and Deployment","filePath":"content/en/deployment.md","timestamp":1789666354000},"title":"Execution & Deployment"},{"name":"architecture","route":"/en/architecture","frontMatter":{"title":"Qwen Code Architecture Overview","filePath":"content/en/architecture.md","timestamp":1789666354000},"title":"Architecture Overview"},{"name":"cli","route":"/en/cli","children":[{"data":{"index":{"title":"CLI Overview"},"commands":{"title":"Command Reference"},"configuration":{"title":"Configuration Guide"},"authentication":{"title":"Authentication Setup"},"openai-auth":{"title":"OpenAI Authentication"},"token-caching":{"title":"Token Caching"},"themes":{"title":"Theme Configuration"},"tutorials":{"title":"Usage Tutorials"}}},{"name":"index","route":"/en/cli","frontMatter":{"title":"Qwen Code CLI","filePath":"content/en/cli/index.md","timestamp":1789666354000},"title":"CLI Overview"},{"name":"commands","route":"/en/cli/commands","frontMatter":{"title":"CLI Commands","filePath":"content/en/cli/commands.md","timestamp":1789666354000},"title":"Command Reference"},{"name":"configuration","route":"/en/cli/configuration","frontMatter":{"title":"Qwen Code Configuration","filePath":"content/en/cli/configuration.md","timestamp":1789666354000},"title":"Configuration Guide"},{"name":"authentication","route":"/en/cli/authentication","frontMatter":{"title":"Authentication Setup","filePath":"content/en/cli/authentication.md","timestamp":1789666354000},"title":"Authentication Setup"},{"name":"openai-auth","route":"/en/cli/openai-auth","frontMatter":{"title":"OpenAI Authentication","filePath":"content/en/cli/openai-auth.md","timestamp":1789666354000},"title":"OpenAI Authentication"},{"name":"token-caching","route":"/en/cli/token-caching","frontMatter":{"title":"Token Caching and Cost Optimization","filePath":"content/en/cli/token-caching.md","timestamp":1789666354000},"title":"Token Caching"},{"name":"themes","route":"/en/cli/themes","frontMatter":{"title":"Themes","filePath":"content/en/cli/themes.md","timestamp":1789666354000},"title":"Theme Configuration"},{"name":"tutorials","route":"/en/cli/tutorials","frontMatter":{"title":"Tutorials","filePath":"content/en/cli/tutorials.md","timestamp":1789666354000},"title":"Usage Tutorials"},{"name":"welcome-back","route":"/en/cli/welcome-back","frontMatter":{"title":"Welcome Back Feature","filePath":"content/en/cli/welcome-back.md","timestamp":1789666354000},"title":"Welcome Back Feature"}],"title":"CLI Usage Guide"},{"name":"core","route":"/en/core","children":[{"data":{"index":{"title":"Core Overview"},"tools-api":{"title":"Tools API"},"memport":{"title":"Memory Import Processor"}}},{"name":"index","route":"/en/core","frontMatter":{"title":"Qwen Code Core","filePath":"content/en/core/index.md","timestamp":1789666354000},"title":"Core Overview"},{"name":"tools-api","route":"/en/core/tools-api","frontMatter":{"title":"Qwen Code Core: Tools API","filePath":"content/en/core/tools-api.md","timestamp":1789666354000},"title":"Tools API"},{"name":"memport","route":"/en/core/memport","frontMatter":{"title":"Memory Import Processor","filePath":"content/en/core/memport.md","timestamp":1789666354000},"title":"Memory Import Processor"}],"title":"Core Details"},{"name":"tools","route":"/en/tools","children":[{"data":{"index":{"title":"Tools Overview"},"file-system":{"title":"File System Tools"},"multi-file":{"title":"Multi-File Read Tools"},"shell":{"title":"Shell Tools"},"web-fetch":{"title":"Web Fetch Tools"},"web-search":{"title":"Web Search Tools"},"memory":{"title":"Memory Tools"},"todo-write":{"title":"Todo Write Tool"},"mcp-server":{"title":"MCP Server"}}},{"name":"index","route":"/en/tools","frontMatter":{"title":"Qwen Code tools","filePath":"content/en/tools/index.md","timestamp":1789666354000},"title":"Tools Overview"},{"name":"file-system","route":"/en/tools/file-system","frontMatter":{"title":"Qwen Code file system tools","filePath":"content/en/tools/file-system.md","timestamp":1789666354000},"title":"File System Tools"},{"name":"multi-file","route":"/en/tools/multi-file","frontMatter":{"title":"Multi File Read Tool (read_many_files)","filePath":"content/en/tools/multi-file.md","timestamp":1789666354000},"title":"Multi-File Read Tools"},{"name":"shell","route":"/en/tools/shell","frontMatter":{"title":"Shell Tool (run_shell_command)","filePath":"content/en/tools/shell.md","timestamp":1789666354000},"title":"Shell Tools"},{"name":"web-fetch","route":"/en/tools/web-fetch","frontMatter":{"title":"Web Fetch Tool (web_fetch)","filePath":"content/en/tools/web-fetch.md","timestamp":1789666354000},"title":"Web Fetch Tools"},{"name":"web-search","route":"/en/tools/web-search","frontMatter":{"title":"Web Search Tool (web_search)","filePath":"content/en/tools/web-search.md","timestamp":1789666354000},"title":"Web Search Tools"},{"name":"memory","route":"/en/tools/memory","frontMatter":{"title":"Memory Tool (save_memory)","filePath":"content/en/tools/memory.md","timestamp":1789666354000},"title":"Memory Tools"},{"name":"todo-write","route":"/en/tools/todo-write","frontMatter":{"title":"Todo Write Tool (todo_write)","filePath":"content/en/tools/todo-write.md","timestamp":1789666354000},"title":"Todo Write Tool"},{"name":"mcp-server","route":"/en/tools/mcp-server","frontMatter":{"title":"MCP servers with Qwen Code","filePath":"content/en/tools/mcp-server.md","timestamp":1789666354000},"title":"MCP Server"}],"title":"Tools Collection"},{"name":"checkpointing","route":"/en/checkpointing","frontMatter":{"title":"Checkpointing","filePath":"content/en/checkpointing.md","timestamp":1789666354000},"title":"Checkpointing Feature"},{"name":"extension","route":"/en/extension","frontMatter":{"title":"Qwen Code Extensions","filePath":"content/en/extension.md","timestamp":1789666354000},"title":"Extension Development"},{"name":"ide-integration","route":"/en/ide-integration","frontMatter":{"title":"IDE Integration","filePath":"content/en/ide-integration.md","timestamp":1789666354000},"title":"IDE Integration"},{"name":"telemetry","route":"/en/telemetry","frontMatter":{"title":"Qwen Code Observability Guide","filePath":"content/en/telemetry.md","timestamp":1789666354000},"title":"Observability"},{"name":"examples","route":"/en/examples","children":[{"data":{"proxy-script":{"title":"Proxy Script Example"}}},{"name":"proxy-script","route":"/en/examples/proxy-script","frontMatter":{"title":"Example Proxy Script","filePath":"content/en/examples/proxy-script.md","timestamp":1789666354000},"title":"Proxy Script Example"}],"title":"Example Code"},{"name":"npm","route":"/en/npm","frontMatter":{"title":"Package Overview","filePath":"content/en/npm.md","timestamp":1789666354000},"title":"Package Management"},{"name":"gemini-ignore","route":"/en/gemini-ignore","frontMatter":{"title":"Ignoring Files","filePath":"content/en/gemini-ignore.md","timestamp":1789666354000},"title":"Ignore File Configuration"},{"name":"integration-tests","route":"/en/integration-tests","frontMatter":{"title":"Integration Tests","filePath":"content/en/integration-tests.md","timestamp":1789666354000},"title":"Integration Tests"},{"name":"keyboard-shortcuts","route":"/en/keyboard-shortcuts","frontMatter":{"title":"Qwen Code Keyboard Shortcuts","filePath":"content/en/keyboard-shortcuts.md","timestamp":1789666354000},"title":"Keyboard Shortcuts"},{"name":"sandbox","route":"/en/sandbox","frontMatter":{"title":"Sandboxing in Qwen Code","filePath":"content/en/sandbox.md","timestamp":1789666354000},"title":"Sandbox Mechanism"},{"name":"issue-and-pr-automation","route":"/en/issue-and-pr-automation","frontMatter":{"title":"Automation and Triage Processes","filePath":"content/en/issue-and-pr-automation.md","timestamp":1789666354000},"title":"Automation Handling"},{"name":"troubleshooting","route":"/en/troubleshooting","frontMatter":{"title":"Troubleshooting guide","filePath":"content/en/troubleshooting.md","timestamp":1789666354000},"title":"Troubleshooting"},{"name":"tos-privacy","route":"/en/tos-privacy","frontMatter":{"title":"Qwen Code: Terms of Service and Privacy Notice","filePath":"content/en/tos-privacy.md","timestamp":1789666354000},"title":"Terms of Service & Privacy"},{"name":"Uninstall","route":"/en/Uninstall","frontMatter":{"title":"Uninstalling the CLI","filePath":"content/en/Uninstall.md","timestamp":1789666354000},"title":"Uninstall Guide"},{"name":"subagents","route":"/en/subagents","frontMatter":{"title":"Subagents","filePath":"content/en/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":"en"}]]}]]}]]}],"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":"Core components","id":"core-components","depth":2},{"value":"Interaction Flow","id":"interaction-flow","depth":2},{"value":"Key Design Principles","id":"key-design-principles","depth":2}],"children":[["$","$L16",null,{}],["$","$L17",null,{"metadata":{"title":"Qwen Code Architecture Overview","filePath":"content/en/architecture.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 Architecture Overview","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"This document provides a high-level overview of Qwen Code’s architecture."}],"\n",["$","h2",null,{"id":"core-components","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":["Core components",["$","$L18",null,{"id":"core-components"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"Qwen Code is primarily composed of two main packages, along with a suite of tools that can be used by the system in the course of handling command-line input:"}],"\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":["\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":["$","strong",null,{"children":["CLI package (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"packages/cli"}],"):"]}]}],"\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":"Purpose:"}]," This contains the user-facing portion of Qwen Code, such as handling the initial user input, presenting the final output, and managing the overall user experience."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Key functions contained in the package:"}],"\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":["$","$L10",null,{"href":"./cli/commands","prefetch":"$undefined","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"Input processing"}]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"History management"}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"Display rendering"}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["$","$L10",null,{"href":"./cli/themes","prefetch":"$undefined","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"Theme and UI customization"}]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["$","$L10",null,{"href":"./cli/configuration","prefetch":"$undefined","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"CLI configuration settings"}]}],"\n"]}],"\n"]}],"\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":["Core package (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"packages/core"}],"):"]}]}],"\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":"Purpose:"}]," This acts as the backend for Qwen Code. It receives requests sent from ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"packages/cli"}],", orchestrates interactions with the configured model API, and manages the execution of available tools."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Key functions contained in the package:"}],"\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":"API client for communicating with the Google Gemini API"}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"Prompt construction and management"}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"Tool registration and execution logic"}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"State management for conversations or sessions"}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"Server-side configuration"}],"\n"]}],"\n"]}],"\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":["Tools (",["$","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":"Purpose:"}]," These are individual modules that extend the capabilities of the Gemini model, allowing it to interact with the local environment (e.g., file system, shell commands, web fetching)."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Interaction:"}]," ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"packages/core"}]," invokes these tools based on requests from the Gemini model."]}],"\n"]}],"\n"]}],"\n"]}],"\n",["$","h2",null,{"id":"interaction-flow","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":["Interaction Flow",["$","$L18",null,{"id":"interaction-flow"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"A typical interaction with Qwen Code follows this flow:"}],"\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":"User input:"}]," The user types a prompt or command into the terminal, which is managed by ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"packages/cli"}],"."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Request to core:"}]," ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"packages/cli"}]," sends the user’s input to ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"packages/core"}],"."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Request processed:"}]," The core package:\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":"Constructs an appropriate prompt for the configured model API, possibly including conversation history and available tool definitions."}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"Sends the prompt to the model API."}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Model API response:"}]," The model API processes the prompt and returns a response. This response might be a direct answer or a request to use one of the available tools."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Tool execution (if applicable):"}],"\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":"When the model API requests a tool, the core package prepares to execute it."}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"If the requested tool can modify the file system or execute shell commands, the user is first given details of the tool and its arguments, and the user must approve the execution."}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"Read-only operations, such as reading files, might not require explicit user confirmation to proceed."}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"Once confirmed, or if confirmation is not required, the core package executes the relevant action within the relevant tool, and the result is sent back to the model API by the core package."}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"The model API processes the tool result and generates a final response."}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Response to CLI:"}]," The core package sends the final response back to the CLI package."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Display to user:"}]," The CLI package formats and displays the response to the user in the terminal."]}],"\n"]}],"\n",["$","h2",null,{"id":"key-design-principles","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":["Key Design Principles",["$","$L18",null,{"id":"key-design-principles"}]]}],"\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":"Modularity:"}]," Separating the CLI (frontend) from the Core (backend) allows for independent development and potential future extensions (e.g., different frontends for the same backend)."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Extensibility:"}]," The tool system is designed to be extensible, allowing new capabilities to be added."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"User experience:"}]," The CLI focuses on providing a rich and interactive terminal experience."]}],"\n"]}]]}]]}]]}]}]
9:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Qwen Code Architecture Overview | "}],["$","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 Architecture Overview | "}],["$","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 Architecture Overview | "}],["$","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