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

26 lines
41 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","issue-and-pr-automation","oc"]
0:["0y8u-WGJo2VFWAF7bkrdx",[[["",{"children":[["lang","en","d"],{"children":[["mdxPath","issue-and-pr-automation","oc"],{"children":["__PAGE__?{\"lang\":\"en\",\"mdxPath\":[\"issue-and-pr-automation\"]}",{}]}]}]},"$undefined","$undefined",true],["",{"children":[["lang","en","d"],{"children":[["mdxPath","issue-and-pr-automation","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:"$Sreact.fragment"
17: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"]
18: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"]
19: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":"Guiding Principle: Issues and Pull Requests","id":"guiding-principle-issues-and-pull-requests","depth":2},{"value":"Detailed Automation Workflows","id":"detailed-automation-workflows","depth":2},{"value":[["$","$16",".0",{"children":["1. When you open an Issue: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Automated Issue Triage"}]]}]],"id":"1-when-you-open-an-issue-automated-issue-triage","depth":3},{"value":[["$","$16",".0",{"children":["2. When you open a Pull Request: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Continuous Integration (CI)"}]]}]],"id":"2-when-you-open-a-pull-request-continuous-integration-ci","depth":3},{"value":[["$","$16",".0",{"children":["3. Ongoing Triage for Pull Requests: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"PR Auditing and Label Sync"}]]}]],"id":"3-ongoing-triage-for-pull-requests-pr-auditing-and-label-sync","depth":3},{"value":[["$","$16",".0",{"children":["4. Ongoing Triage for Issues: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Scheduled Issue Triage"}]]}]],"id":"4-ongoing-triage-for-issues-scheduled-issue-triage","depth":3},{"value":"5. Release Automation","id":"5-release-automation","depth":3}],"children":[["$","$L17",null,{}],["$","$L18",null,{"metadata":{"title":"Automation and Triage Processes","filePath":"content/en/issue-and-pr-automation.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":["Automation and Triage Processes","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"This document provides a detailed overview of the automated processes we use to manage and triage issues and pull requests. Our goal is to provide prompt feedback and ensure that contributions are reviewed and integrated efficiently. Understanding this automation will help you as a contributor know what to expect and how to best interact with our repository bots."}],"\n",["$","h2",null,{"id":"guiding-principle-issues-and-pull-requests","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":["Guiding Principle: Issues and Pull Requests",["$","$L19",null,{"id":"guiding-principle-issues-and-pull-requests"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"First and foremost, almost every Pull Request (PR) should be linked to a corresponding Issue. The issue describes the “what” and the “why” (the bug or feature), while the PR is the “how” (the implementation). This separation helps us track work, prioritize features, and maintain clear historical context. Our automation is built around this principle."}],"\n",["$","hr",null,{"className":"x:my-[2em] nextra-border"}],"\n",["$","h2",null,{"id":"detailed-automation-workflows","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":["Detailed Automation Workflows",["$","$L19",null,{"id":"detailed-automation-workflows"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"Here is a breakdown of the specific automation workflows that run in our repository."}],"\n",["$","h3",null,{"id":"1-when-you-open-an-issue-automated-issue-triage","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-8 x:text-2xl","children":[["1. When you open an Issue: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Automated Issue Triage"}]],["$","$L19",null,{"id":"1-when-you-open-an-issue-automated-issue-triage"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"This is the first bot you will interact with when you create an issue. Its job is to perform an initial analysis and apply the correct labels."}],"\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":"Workflow File"}],": ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":".github/workflows/gemini-automated-issue-triage.yml"}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"When it runs"}],": Immediately after an issue is created or reopened."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"What it does"}],":\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":"It uses a Gemini model to analyze the issue’s title and body against a detailed set of guidelines."}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":["Applies one ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"area/*"}]," label"]}],": Categorizes the issue into a functional area of the project (e.g., ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"area/ux"}],", ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"area/models"}],", ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"area/platform"}],")."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":["Applies one ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"kind/*"}]," label"]}],": Identifies the type of issue (e.g., ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"kind/bug"}],", ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"kind/enhancement"}],", ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"kind/question"}],")."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":["Applies one ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"priority/*"}]," label"]}],": Assigns a priority from P0 (critical) to P3 (low) based on the described impact."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":["May apply ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"status/need-information"}]]}],": If the issue lacks critical details (like logs or reproduction steps), it will be flagged for more information."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":["May apply ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"status/need-retesting"}]]}],": If the issue references a CLI version that is more than six versions old, it will be flagged for retesting on a current version."]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"What you should do"}],":\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":"Fill out the issue template as completely as possible. The more detail you provide, the more accurate the triage will be."}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["If the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"status/need-information"}]," label is added, please provide the requested details in a comment."]}],"\n"]}],"\n"]}],"\n"]}],"\n",["$","h3",null,{"id":"2-when-you-open-a-pull-request-continuous-integration-ci","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-8 x:text-2xl","children":[["2. When you open a Pull Request: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Continuous Integration (CI)"}]],["$","$L19",null,{"id":"2-when-you-open-a-pull-request-continuous-integration-ci"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"This workflow ensures that all changes meet our quality standards before they can be merged."}],"\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":"Workflow File"}],": ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":".github/workflows/ci.yml"}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"When it runs"}],": On every push to a pull request."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"What it does"}],":\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":"Lint"}],": Checks that your code adheres to our project’s formatting and style rules."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Test"}],": Runs our full suite of automated tests across macOS, Windows, and Linux, and on multiple Node.js versions. This is the most time-consuming part of the CI process."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Post Coverage Comment"}],": After all tests have successfully passed, a bot will post a comment on your PR. This comment provides a summary of how well your changes are covered by tests."]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"What you should do"}],":\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":"Ensure all CI checks pass. A green checkmark ✅ will appear next to your commit when everything is successful."}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"If a check fails (a red “X” ❌), click the “Details” link next to the failed check to view the logs, identify the problem, and push a fix."}],"\n"]}],"\n"]}],"\n"]}],"\n",["$","h3",null,{"id":"3-ongoing-triage-for-pull-requests-pr-auditing-and-label-sync","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-8 x:text-2xl","children":[["3. Ongoing Triage for Pull Requests: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"PR Auditing and Label Sync"}]],["$","$L19",null,{"id":"3-ongoing-triage-for-pull-requests-pr-auditing-and-label-sync"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"This workflow runs periodically to ensure all open PRs are correctly linked to issues and have consistent labels."}],"\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":"Workflow File"}],": ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":".github/workflows/gemini-scheduled-pr-triage.yml"}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"When it runs"}],": Every 15 minutes on all open pull requests."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"What it does"}],":\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":"Checks for a linked issue"}],": The bot scans your PR description for a keyword that links it to an issue (e.g., ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Fixes #123"}],", ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Closes #456"}],")."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":["Adds ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"status/need-issue"}]]}],": If no linked issue is found, the bot will add the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"status/need-issue"}]," label to your PR. This is a clear signal that an issue needs to be created and linked."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Synchronizes labels"}],": If an issue ",["$","em",null,{"children":"is"}]," linked, the bot ensures the PR’s labels perfectly match the issue’s labels. It will add any missing labels and remove any that don’t belong, and it will remove the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"status/need-issue"}]," label if it was present."]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"What you should do"}],":\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":"Always link your PR to an issue."}]," This is the most important step. Add a line like ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Resolves #<issue-number>"}]," to your PR description."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"This will ensure your PR is correctly categorized and moves through the review process smoothly."}],"\n"]}],"\n"]}],"\n"]}],"\n",["$","h3",null,{"id":"4-ongoing-triage-for-issues-scheduled-issue-triage","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-8 x:text-2xl","children":[["4. Ongoing Triage for Issues: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Scheduled Issue Triage"}]],["$","$L19",null,{"id":"4-ongoing-triage-for-issues-scheduled-issue-triage"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"This is a fallback workflow to ensure that no issue gets missed by the triage process."}],"\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":"Workflow File"}],": ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":".github/workflows/gemini-scheduled-issue-triage.yml"}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"When it runs"}],": Every hour on all open issues."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"What it does"}],":\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":["It actively seeks out issues that either have no labels at all or still have the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"status/need-triage"}]," label."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"It then triggers the same powerful Gemini-based analysis as the initial triage bot to apply the correct labels."}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"What you should do"}],":\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":"You typically don’t need to do anything. This workflow is a safety net to ensure every issue is eventually categorized, even if the initial triage fails."}],"\n"]}],"\n"]}],"\n"]}],"\n",["$","h3",null,{"id":"5-release-automation","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-8 x:text-2xl","children":["5. Release Automation",["$","$L19",null,{"id":"5-release-automation"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"This workflow handles the process of packaging and publishing new versions of Qwen Code."}],"\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":"Workflow File"}],": ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":".github/workflows/release.yml"}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"When it runs"}],": On a daily schedule for “nightly” releases, and manually for official patch/minor releases."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"What it does"}],":\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":"Automatically builds the project, bumps the version numbers, and publishes the packages to npm."}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"Creates a corresponding release on GitHub with generated release notes."}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"What you should do"}],":\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":["As a contributor, you don’t need to do anything for this process. You can be confident that once your PR is merged into the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"main"}]," branch, your changes will be included in the very next nightly release."]}],"\n"]}],"\n"]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"We hope this detailed overview is helpful. If you have any questions about our automation or processes, please don’t hesitate to ask!"}]]}]]}]]}]}]
9:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Automation and Triage Processes | "}],["$","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":"Automation and Triage Processes | "}],["$","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":"Automation and Triage Processes | "}],["$","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