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

27 lines
63 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","tools/file-system","oc"]
0:["0y8u-WGJo2VFWAF7bkrdx",[[["",{"children":[["lang","en","d"],{"children":[["mdxPath","tools/file-system","oc"],{"children":["__PAGE__?{\"lang\":\"en\",\"mdxPath\":[\"tools\",\"file-system\"]}",{}]}]}]},"$undefined","$undefined",true],["",{"children":[["lang","en","d"],{"children":[["mdxPath","tools/file-system","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"]
1a:I[98451,["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"],"ToggleWordWrapButton"]
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":[["$","$16",".0",{"children":["1. ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"list_directory"}]," (ReadFolder)"]}]],"id":"1-list_directory-readfolder","depth":2},{"value":[["$","$16",".0",{"children":["2. ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"read_file"}]," (ReadFile)"]}]],"id":"2-read_file-readfile","depth":2},{"value":[["$","$16",".0",{"children":["3. ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"write_file"}]," (WriteFile)"]}]],"id":"3-write_file-writefile","depth":2},{"value":[["$","$16",".0",{"children":["4. ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"glob"}]," (FindFiles)"]}]],"id":"4-glob-findfiles","depth":2},{"value":[["$","$16",".0",{"children":["5. ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"search_file_content"}]," (SearchText)"]}]],"id":"5-search_file_content-searchtext","depth":2},{"value":[["$","$16",".0",{"children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"search_file_content"}]," examples"]}]],"id":"search_file_content-examples","depth":3},{"value":[["$","$16",".0",{"children":["6. ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"edit"}]," (Edit)"]}]],"id":"6-edit-edit","depth":2}],"children":[["$","$L17",null,{}],["$","$L18",null,{"metadata":{"title":"Qwen Code file system tools","filePath":"content/en/tools/file-system.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 file system tools","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"Qwen Code provides a comprehensive suite of tools for interacting with the local file system. These tools allow the model to read from, write to, list, search, and modify files and directories, all under your control and typically with confirmation for sensitive operations."}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","strong",null,{"children":"Note:"}]," All file system tools operate within a ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"rootDirectory"}]," (usually the current working directory where you launched the CLI) for security. Paths that you provide to these tools are generally expected to be absolute or are resolved relative to this root directory."]}],"\n",["$","h2",null,{"id":"1-list_directory-readfolder","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":[["1. ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"list_directory"}]," (ReadFolder)"],["$","$L19",null,{"id":"1-list_directory-readfolder"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"list_directory"}]," lists the names of files and subdirectories directly within a specified directory path. It can optionally ignore entries matching provided glob patterns."]}],"\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":"Tool name:"}]," ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"list_directory"}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Display name:"}]," ReadFolder"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"File:"}]," ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ls.ts"}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Parameters:"}],"\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":"path"}]," (string, required): The absolute path to the directory to list."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ignore"}]," (array of strings, optional): A list of glob patterns to exclude from the listing (e.g., ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"[\"*.log\", \".git\"]"}],")."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"respect_git_ignore"}]," (boolean, optional): Whether to respect ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":".gitignore"}]," patterns when listing files. Defaults to ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"true"}],"."]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Behavior:"}],"\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":"Returns a list of file and directory names."}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"Indicates whether each entry is a directory."}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"Sorts entries with directories first, then alphabetically."}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":["Output (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"llmContent"}],"):"]}]," A string like: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Directory listing for /path/to/your/folder:\\n[DIR] subfolder1\\nfile1.txt\\nfile2.png"}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Confirmation:"}]," No."]}],"\n"]}],"\n",["$","h2",null,{"id":"2-read_file-readfile","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":[["2. ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"read_file"}]," (ReadFile)"],["$","$L19",null,{"id":"2-read_file-readfile"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"read_file"}]," reads and returns the content of a specified file. This tool handles text, images (PNG, JPG, GIF, WEBP, SVG, BMP), and PDF files. For text files, it can read specific line ranges. Other binary file types are generally skipped."]}],"\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":"Tool name:"}]," ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"read_file"}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Display name:"}]," ReadFile"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"File:"}]," ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"read-file.ts"}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Parameters:"}],"\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":"path"}]," (string, required): The absolute path to the file to read."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"offset"}]," (number, optional): For text files, the 0-based line number to start reading from. Requires ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"limit"}]," to be set."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"limit"}]," (number, optional): For text files, the maximum number of lines to read. If omitted, reads a default maximum (e.g., 2000 lines) or the entire file if feasible."]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Behavior:"}],"\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":["For text files: Returns the content. If ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"offset"}]," and ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"limit"}]," are used, returns only that slice of lines. Indicates if content was truncated due to line limits or line length limits."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"For image and PDF files: Returns the file content as a base64-encoded data structure suitable for model consumption."}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"For other binary files: Attempts to identify and skip them, returning a message indicating it’s a generic binary file."}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Output:"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"llmContent"}],"):\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":["For text files: The file content, potentially prefixed with a truncation message (e.g., ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"[File content truncated: showing lines 1-100 of 500 total lines...]\\nActual file content..."}],")."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["For image/PDF files: An object containing ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"inlineData"}]," with ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"mimeType"}]," and base64 ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"data"}]," (e.g., ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"{ inlineData: { mimeType: 'image/png', data: 'base64encodedstring' } }"}],")."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["For other binary files: A message like ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Cannot display content of binary file: /path/to/data.bin"}],"."]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Confirmation:"}]," No."]}],"\n"]}],"\n",["$","h2",null,{"id":"3-write_file-writefile","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":[["3. ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"write_file"}]," (WriteFile)"],["$","$L19",null,{"id":"3-write_file-writefile"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"write_file"}]," writes content to a specified file. If the file exists, it will be overwritten. If the file doesn’t exist, it (and any necessary parent directories) will be created."]}],"\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":"Tool name:"}]," ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"write_file"}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Display name:"}]," WriteFile"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"File:"}]," ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"write-file.ts"}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Parameters:"}],"\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":"file_path"}]," (string, required): The absolute path to the file to write to."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"content"}]," (string, required): The content to write into the file."]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Behavior:"}],"\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":["Writes the provided ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"content"}]," to the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"file_path"}],"."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"Creates parent directories if they don’t exist."}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":["Output (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"llmContent"}],"):"]}]," A success message, e.g., ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Successfully overwrote file: /path/to/your/file.txt"}]," or ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Successfully created and wrote to new file: /path/to/new/file.txt"}],"."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Confirmation:"}]," Yes. Shows a diff of changes and asks for user approval before writing."]}],"\n"]}],"\n",["$","h2",null,{"id":"4-glob-findfiles","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":[["4. ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"glob"}]," (FindFiles)"],["$","$L19",null,{"id":"4-glob-findfiles"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"glob"}]," finds files matching specific glob patterns (e.g., ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"src/**/*.ts"}],", ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"*.md"}],"), returning absolute paths sorted by modification time (newest first)."]}],"\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":"Tool name:"}]," ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"glob"}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Display name:"}]," FindFiles"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"File:"}]," ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"glob.ts"}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Parameters:"}],"\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":"pattern"}]," (string, required): The glob pattern to match against (e.g., ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"\"*.py\""}],", ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"\"src/**/*.js\""}],")."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"path"}]," (string, optional): The absolute path to the directory to search within. If omitted, searches the tool’s root directory."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"case_sensitive"}]," (boolean, optional): Whether the search should be case-sensitive. Defaults to ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"false"}],"."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"respect_git_ignore"}]," (boolean, optional): Whether to respect .gitignore patterns when finding files. Defaults to ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"true"}],"."]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Behavior:"}],"\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":"Searches for files matching the glob pattern within the specified directory."}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"Returns a list of absolute paths, sorted with the most recently modified files first."}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["Ignores common nuisance directories like ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"node_modules"}]," and ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":".git"}]," by default."]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":["Output (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"llmContent"}],"):"]}]," A message like: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Found 5 file(s) matching \"*.ts\" within src, sorted by modification time (newest first):\\nsrc/file1.ts\\nsrc/subdir/file2.ts..."}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Confirmation:"}]," No."]}],"\n"]}],"\n",["$","h2",null,{"id":"5-search_file_content-searchtext","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":[["5. ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"search_file_content"}]," (SearchText)"],["$","$L19",null,{"id":"5-search_file_content-searchtext"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"search_file_content"}]," searches for a regular expression pattern within the content of files in a specified directory. Can filter files by a glob pattern. Returns the lines containing matches, along with their file paths and line numbers."]}],"\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 name:"}]," ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"search_file_content"}]]}],"\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":"Display name:"}]," SearchText"]}],"\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":"File:"}]," ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"grep.ts"}]]}],"\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":"Parameters:"}]}],"\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":"pattern"}]," (string, required): The regular expression (regex) to search for (e.g., ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"\"function\\s+myFunction\""}],")."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"path"}]," (string, optional): The absolute path to the directory to search within. Defaults to the current working directory."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"include"}]," (string, optional): A glob pattern to filter which files are searched (e.g., ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"\"*.js\""}],", ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"\"src/**/*.{ts,tsx}\""}],"). If omitted, searches most files (respecting common ignores)."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"maxResults"}]," (number, optional): Maximum number of matches to return to prevent context overflow (default: 20, max: 100). Use lower values for broad searches, higher for specific searches."]}],"\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":"Behavior:"}]}],"\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":["Uses ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"git grep"}]," if available in a Git repository for speed; otherwise, falls back to system ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"grep"}]," or a JavaScript-based search."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"Returns a list of matching lines, each prefixed with its file path (relative to the search directory) and line number."}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"Limits results to a maximum of 20 matches by default to prevent context overflow. When results are truncated, shows a clear warning with guidance on refining searches."}],"\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":["Output (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"llmContent"}],"):"]}]," A formatted string of matches, e.g.:"]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-[1.25em]","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1a",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":["$","span",null,{"children":"Found 3 matches for pattern \"myFunction\" in path \".\" (filter: \"*.ts\"):"}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"---"}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"File: src/utils.ts"}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"L15: export function myFunction() {"}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"L22: myFunction.call();"}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"---"}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"File: src/index.ts"}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"L5: import { myFunction } from './utils';"}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"---"}]}],"\n",["$","span",null,{"children":["$","span",null,{}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"WARNING: Results truncated to prevent context overflow. To see more results:"}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"- Use a more specific pattern to reduce matches"}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"- Add file filters with the 'include' parameter (e.g., \"*.js\", \"src/**\")"}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"- Specify a narrower 'path' to search in a subdirectory"}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"- Increase 'maxResults' parameter if you need more matches (current: 20)"}]}]]}]]}]]}],"\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":"Confirmation:"}]," No."]}],"\n"]}],"\n"]}],"\n",["$","h3",null,{"id":"search_file_content-examples","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":[[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"search_file_content"}]," examples"],["$","$L19",null,{"id":"search_file_content-examples"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"Search for a pattern with default result limiting:"}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-[1.25em]","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1a",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":["$","span",null,{"children":["$","span",null,{"children":"search_file_content(pattern=\"function\\s+myFunction\", path=\"src\")"}]}]}]]}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"Search for a pattern with custom result limiting:"}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-[1.25em]","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1a",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":["$","span",null,{"children":["$","span",null,{"children":"search_file_content(pattern=\"function\", path=\"src\", maxResults=50)"}]}]}]]}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"Search for a pattern with file filtering and custom result limiting:"}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-[1.25em]","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1a",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":["$","span",null,{"children":["$","span",null,{"children":"search_file_content(pattern=\"function\", include=\"*.js\", maxResults=10)"}]}]}]]}]]}],"\n",["$","h2",null,{"id":"6-edit-edit","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":[["6. ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"edit"}]," (Edit)"],["$","$L19",null,{"id":"6-edit-edit"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"edit"}]," replaces text within a file. By default, replaces a single occurrence, but can replace multiple occurrences when ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"expected_replacements"}]," is specified. This tool is designed for precise, targeted changes and requires significant context around the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"old_string"}]," to ensure it modifies the correct location."]}],"\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 name:"}]," ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"edit"}]]}],"\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":"Display name:"}]," Edit"]}],"\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":"File:"}]," ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"edit.ts"}]]}],"\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":"Parameters:"}]}],"\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":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"file_path"}]," (string, required): The absolute path to the file to modify."]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"old_string"}]," (string, required): The exact literal text to replace."]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","strong",null,{"children":"CRITICAL:"}]," This string must uniquely identify the single instance to change. It should include at least 3 lines of context ",["$","em",null,{"children":"before"}]," and ",["$","em",null,{"children":"after"}]," the target text, matching whitespace and indentation precisely. If ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"old_string"}]," is empty, the tool attempts to create a new file at ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"file_path"}]," with ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"new_string"}]," as content."]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"new_string"}]," (string, required): The exact literal text to replace ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"old_string"}]," with."]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"expected_replacements"}]," (number, optional): The number of occurrences to replace. Defaults to ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"1"}],"."]}],"\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":"Behavior:"}]}],"\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":["If ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"old_string"}]," is empty and ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"file_path"}]," does not exist, creates a new file with ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"new_string"}]," as content."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["If ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"old_string"}]," is provided, it reads the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"file_path"}]," and attempts to find exactly one occurrence of ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"old_string"}],"."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["If one occurrence is found, it replaces it with ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"new_string"}],"."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Enhanced Reliability (Multi-Stage Edit Correction):"}]," To significantly improve the success rate of edits, especially when the model-provided ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"old_string"}]," might not be perfectly precise, the tool incorporates a multi-stage edit correction mechanism.\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":["If the initial ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"old_string"}]," isn’t found or matches multiple locations, the tool can leverage the Qwen model to iteratively refine ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"old_string"}]," (and potentially ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"new_string"}],")."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["This self-correction process attempts to identify the unique segment the model intended to modify, making the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"edit"}]," operation more robust even with slightly imperfect initial context."]}],"\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":"Failure conditions:"}]," Despite the correction mechanism, the tool will fail if:"]}],"\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":"file_path"}]," is not absolute or is outside the root directory."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"old_string"}]," is not empty, but the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"file_path"}]," does not exist."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"old_string"}]," is empty, but the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"file_path"}]," already exists."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"old_string"}]," is not found in the file after attempts to correct it."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"old_string"}]," is found multiple times, and the self-correction mechanism cannot resolve it to a single, unambiguous match."]}],"\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":["Output (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"llmContent"}],"):"]}]}],"\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":["On success: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Successfully modified file: /path/to/file.txt (1 replacements)."}]," or ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Created new file: /path/to/new_file.txt with provided content."}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["On failure: An error message explaining the reason (e.g., ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Failed to edit, 0 occurrences found..."}],", ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Failed to edit, expected 1 occurrences but found 2..."}],")."]}],"\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":"Confirmation:"}]," Yes. Shows a diff of the proposed changes and asks for user approval before writing to the file."]}],"\n"]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"These file system tools provide a foundation for Qwen Code to understand and interact with your local project context."}]]}]]}]]}]}]
9:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Qwen Code file system tools | "}],["$","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 file system tools | "}],["$","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 file system tools | "}],["$","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