mirror of
https://github.com/zenlm/zen-code-docs.git
synced 2026-10-30 14:58:40 +00:00
242 lines
198 KiB
HTML
242 lines
198 KiB
HTML
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="https://assets.alicdn.com/g/qwenweb/qwen-webui-fe/0.0.191/static/favicon.png"/><link rel="stylesheet" href="/qwen-code-docs/_next/static/css/7fba7395046b8eaa.css" data-precedence="next"/><link rel="stylesheet" href="/qwen-code-docs/_next/static/css/04d76539cc2c4ebd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/qwen-code-docs/_next/static/chunks/webpack-6175f18c4ffcc31c.js"/><script src="/qwen-code-docs/_next/static/chunks/fd9d1056-c4d7023cbe01becc.js" async=""></script><script src="/qwen-code-docs/_next/static/chunks/2117-2a033efae9becbf0.js" async=""></script><script src="/qwen-code-docs/_next/static/chunks/main-app-96783a02d9726921.js" async=""></script><script src="/qwen-code-docs/_next/static/chunks/app/layout-38b548b4f4d27f80.js" async=""></script><script src="/qwen-code-docs/_next/static/chunks/c16f53c3-b998f97655e65347.js" async=""></script><script src="/qwen-code-docs/_next/static/chunks/1105-e07e82095c5c7b4a.js" async=""></script><script src="/qwen-code-docs/_next/static/chunks/5524-d228bcaedae4ecb3.js" async=""></script><script src="/qwen-code-docs/_next/static/chunks/2770-e894e62890be5e00.js" async=""></script><script src="/qwen-code-docs/_next/static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js" async=""></script><meta name="theme-color" media="(prefers-color-scheme: light)" content="rgb(250,250,250)"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="rgb(17,17,17)"/><title>Инструменты файловой системы Qwen Code | </title><meta name="description" content="x"/><meta name="msapplication-TileColor" content="#fff"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Qwen Code"/><meta name="apple-mobile-web-app-status-bar-style" content="default"/><meta property="og:title" content="Инструменты файловой системы Qwen Code | "/><meta property="og:description" content="x"/><meta property="og:image" content="https://assets.vercel.com/image/upload/v1572282926/swr/twitter-card.jpg"/><meta name="twitter:card" content="summary"/><meta name="twitter:site" content="@qwenLLM"/><meta name="twitter:title" content="Инструменты файловой системы Qwen Code | "/><meta name="twitter:description" content="x"/><meta name="twitter:image" content="https://assets.vercel.com/image/upload/v1572282926/swr/twitter-card.jpg"/><style>:root {
|
||
--nextra-primary-hue: 248deg;
|
||
--nextra-primary-saturation: 74%;
|
||
--nextra-primary-lightness: 45%;
|
||
--nextra-bg: 250,250,250;
|
||
--nextra-content-width: 90rem;
|
||
}
|
||
.dark {
|
||
--nextra-primary-hue: 248deg;
|
||
--nextra-primary-saturation: 74%;
|
||
--nextra-primary-lightness: 55%;
|
||
--nextra-bg: 17,17,17;
|
||
}
|
||
::selection {
|
||
background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);
|
||
}
|
||
html {
|
||
background: rgb(var(--nextra-bg));
|
||
}</style><script src="/qwen-code-docs/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><script>((e,i,s,n,l,r,d,h)=>{let t=document.documentElement,a=["light","dark"];function c(i){(Array.isArray(e)?e:[e]).forEach(e=>{let s="class"===e,n=s&&r?l.map(e=>r[e]||e):l;s?(t.classList.remove(...n),t.classList.add(r&&r[i]?r[i]:i)):t.setAttribute(e,i)}),h&&a.includes(i)&&(t.style.colorScheme=i)}if(n)c(n);else try{let e=localStorage.getItem(i)||s,n=d&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;c(n)}catch(e){}})("class","theme","light",null,["light","dark"],null,true,true)</script><a href="#nextra-skip-nav" class="nextra-skip-nav x:sr-only" type="button" data-headlessui-state="">Skip to Content</a><header class="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)"><div class="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"></div><nav style="height:var(--nextra-navbar-height)" class="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"><a class="x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75" aria-label="Home page" href="/qwen-code-docs/"><span class="ms-2 select-none font-extrabold flex items-center" title="Qwen Code: AI Coding Agent"><img src="https://assets.alicdn.com/g/qwenweb/qwen-webui-fe/0.0.191/static/favicon.png" alt="Qwen Code" width="32" height="32" class="inline-block align-middle mr-2 " style="vertical-align:middle"/><span class="text-[1.3rem] font-normal align-middle mr-1 max-md:hidden">Qwen</span><span class="text-[1.3rem] font-normal align-middle max-md:hidden">Code</span></span></a><div class="x:flex x:gap-4 x:overflow-x-auto nextra-scrollbar x:py-1.5 x:max-md:hidden"></div><div class="x:max-md:hidden"><div class="nextra-search x:relative x:flex x:items-center x:text-gray-900 x:dark:text-gray-300 x:contrast-more:text-gray-800 x:contrast-more:dark:text-gray-300"><input spellCheck="false" autoComplete="off" class="x:rounded-lg x:px-3 x:py-2 x:transition-all x:w-full x:md:w-64 x:text-base x:leading-tight x:md:text-sm x:bg-black/[.05] x:dark:bg-gray-50/10 x:placeholder:text-gray-600 x:dark:placeholder:text-gray-400 x:contrast-more:border x:contrast-more:border-current x:[&::-webkit-search-cancel-button]:appearance-none" placeholder="Search documentation…" id="headlessui-combobox-input-:Rbdaf9ukq:" role="combobox" type="search" aria-expanded="false" aria-autocomplete="list" data-headlessui-state="" value=""/><kbd class="x:absolute x:my-1.5 x:select-none x:pointer-events-none x:end-1.5 x:transition-all x:h-5 x:rounded x:bg-nextra-bg x:px-1.5 x:font-mono x:text-[11px] x:font-medium x:text-gray-600 x:dark:text-gray-400 x:border nextra-border x:contrast-more:text-current x:items-center x:gap-1 x:flex x:max-sm:hidden not-prose x:invisible x:opacity-0">CTRL K</kbd></div></div><a href="https://github.com/QwenLM/qwen-code" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus"><svg fill="currentColor" viewBox="3 3 18 18" height="24" aria-label="Project repository"><path d="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 3Z"></path></svg></a><div class="flex items-center gap-2 px-3 py-1.5 text-sm text-gray-600 dark:text-gray-300 bg-gray-50 dark:bg-gray-800 rounded-md"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe w-4 h-4" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg><span>Русский</span></div><button class="x:transition x:cursor-pointer nextra-hamburger x:md:hidden" aria-label="Menu" type="button" data-headlessui-state=""><svg viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" stroke-linecap="round" height="24" class=""><g><path d="M4 6h16"></path></g><path d="M4 12h16"></path><g><path d="M4 18h16"></path></g></svg></button></nav></header><aside class="nextra-mobile-nav x:flex x:flex-col x:fixed x:inset-0 x:pt-(--nextra-navbar-height) x:z-20 x:overscroll-contain x:[contain:layout_style] x:md:hidden x:[.nextra-banner:not([class$=hidden])~&]:pt-[calc(var(--nextra-banner-height)+var(--nextra-navbar-height))] x:bg-nextra-bg x:[transform:translate3d(0,-100%,0)]"><div class="x:px-4 x:pt-4"><div class="nextra-search x:relative x:flex x:items-center x:text-gray-900 x:dark:text-gray-300 x:contrast-more:text-gray-800 x:contrast-more:dark:text-gray-300"><input spellCheck="false" autoComplete="off" class="x:rounded-lg x:px-3 x:py-2 x:transition-all x:w-full x:md:w-64 x:text-base x:leading-tight x:md:text-sm x:bg-black/[.05] x:dark:bg-gray-50/10 x:placeholder:text-gray-600 x:dark:placeholder:text-gray-400 x:contrast-more:border x:contrast-more:border-current x:[&::-webkit-search-cancel-button]:appearance-none" placeholder="Search documentation…" id="headlessui-combobox-input-:R1dln9ukq:" role="combobox" type="search" aria-expanded="false" aria-autocomplete="list" data-headlessui-state="" value=""/><kbd class="x:absolute x:my-1.5 x:select-none x:pointer-events-none x:end-1.5 x:transition-all x:h-5 x:rounded x:bg-nextra-bg x:px-1.5 x:font-mono x:text-[11px] x:font-medium x:text-gray-600 x:dark:text-gray-400 x:border nextra-border x:contrast-more:text-current x:items-center x:gap-1 x:flex x:max-sm:hidden not-prose x:invisible x:opacity-0">CTRL K</kbd></div></div><ul class="x:grid x:gap-1 x:p-4 x:overflow-y-auto nextra-scrollbar nextra-mask"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/">Добро пожаловать в документацию Qwen Code</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/deployment/">Выполнение и Развертывание</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/architecture/">Обзор Архитектуры</a></li><li class=""><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/ru/cli" type="button" data-headlessui-state="">Руководство по использованию CLI<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:transition-none x:origin-center x:transition-all x:rtl:-rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-0 x:overflow-hidden" style="height:0;transition-duration:300ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/">Обзор CLI</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/commands/">Справочник Команд</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/configuration/">Руководство по Конфигурации</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/authentication/">Настройка Аутентификации</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/openai-auth/">Аутентификация OpenAI</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/token-caching/">Кэширование Токенов</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/themes/">Конфигурация Тем</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/tutorials/">Учебные Пособия</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/welcome-back/">Функция Welcome Back</a></li></ul></div></li><li class=""><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/ru/core" type="button" data-headlessui-state="">Основные Детали<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:transition-none x:origin-center x:transition-all x:rtl:-rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-0 x:overflow-hidden" style="height:0;transition-duration:300ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/core/">Обзор Ядра</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/core/tools-api/">API Инструментов</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/core/memport/">Процессор Импорта Памяти</a></li></ul></div></li><li class="open"><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/ru/tools" type="button" data-headlessui-state="">Коллекция Инструментов<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:transition-none x:origin-center x:transition-all x:rtl:-rotate-180 x:ltr:rotate-90 x:rtl:-rotate-270"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-100" style="transition-duration:500ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tools/">Обзор Инструментов</a></li><li class="active"><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:bg-primary-100 x:font-semibold x:text-primary-800 x:dark:bg-primary-400/10 x:dark:text-primary-600 x:contrast-more:border-primary-500!" href="/qwen-code-docs/ru/tools/file-system/">Инструменты Файловой Системы</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tools/multi-file/">Инструменты Чтения Множественных Файлов</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tools/shell/">Инструменты Shell</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tools/web-fetch/">Инструменты Web Fetch</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tools/web-search/">Инструменты Веб-Поиска</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tools/memory/">Инструменты Памяти</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tools/todo-write/">Инструмент Todo Write</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tools/mcp-server/">MCP Сервер</a></li></ul></div></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/checkpointing/">Функция Контрольных Точек</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/extension/">Разработка Расширений</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/ide-integration/">Интеграция с IDE</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/telemetry/">Наблюдаемость</a></li><li class=""><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/ru/examples" type="button" data-headlessui-state="">Примеры Кода<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:transition-none x:origin-center x:transition-all x:rtl:-rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-0 x:overflow-hidden" style="height:0;transition-duration:300ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/examples/proxy-script/">Пример Прокси-Скрипта</a></li></ul></div></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/npm/">Управление Пакетами</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/gemini-ignore/">Конфигурация Игнорируемых Файлов</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/integration-tests/">Интеграционные Тесты</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/keyboard-shortcuts/">Горячие Клавиши</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/sandbox/">Механизм Песочницы</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/issue-and-pr-automation/">Автоматизированная Обработка</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/troubleshooting/">Устранение Неполадок</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tos-privacy/">Условия Использования и Конфиденциальность</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/Uninstall/">Руководство по Удалению</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/subagents/">Субагенты</a></li></ul><div class="nextra-sidebar-footer x:border-t nextra-border x:flex x:items-center x:gap-2 x:py-4 x:mx-4 x:mt-auto"><button title="Change theme" class="x:cursor-pointer x:h-7 x:rounded-md x:px-2 x:text-xs x:font-medium x:transition-colors x:text-gray-600 x:dark:text-gray-400 x:flex x:items-center x:gap-2 x:grow" id="headlessui-listbox-button-:R1mtn9ukq:" type="button" aria-haspopup="listbox" aria-expanded="false" data-headlessui-state=""><svg fill="currentColor" viewBox="2 2 20 20" stroke="currentColor" height="12"><path stroke-linecap="round" stroke-width="2" d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"></path></svg>Light</button><button title="Change language" class="x:cursor-pointer x:h-7 x:rounded-md x:px-2 x:text-xs x:font-medium x:transition-colors x:text-gray-600 x:dark:text-gray-400 x:flex x:items-center x:gap-2 x:grow x:justify-end" id="headlessui-listbox-button-:R1ndn9ukq:" type="button" aria-haspopup="listbox" aria-expanded="false" data-headlessui-state=""><svg viewBox="2 2 16 16" fill="currentColor" height="12"><path fill-rule="evenodd" d="M4.083 9h1.946c.089-1.546.383-2.97.837-4.118A6.004 6.004 0 004.083 9zM10 2a8 8 0 100 16 8 8 0 000-16zm0 2c-.076 0-.232.032-.465.262-.238.234-.497.623-.737 1.182-.389.907-.673 2.142-.766 3.556h3.936c-.093-1.414-.377-2.649-.766-3.556-.24-.56-.5-.948-.737-1.182C10.232 4.032 10.076 4 10 4zm3.971 5c-.089-1.546-.383-2.97-.837-4.118A6.004 6.004 0 0115.917 9h-1.946zm-2.003 2H8.032c.093 1.414.377 2.649.766 3.556.24.56.5.948.737 1.182.233.23.389.262.465.262.076 0 .232-.032.465-.262.238-.234.498-.623.737-1.182.389-.907.673-2.142.766-3.556zm1.166 4.118c.454-1.147.748-2.572.837-4.118h1.946a6.004 6.004 0 01-2.783 4.118zm-6.268 0C6.412 13.97 6.118 12.546 6.03 11H4.083a6.004 6.004 0 002.783 4.118z"></path></svg>Русский</button></div></aside><div class="x:mx-auto x:flex x:max-w-(--nextra-content-width)"><aside id=":Rpuun9ukq:" class="nextra-sidebar x:print:hidden x:transition-all x:ease-in-out x:max-md:hidden x:flex x:flex-col x:h-[calc(100dvh-var(--nextra-navbar-height))] x:top-(--nextra-navbar-height) x:shrink-0 x:w-64 x:sticky"><div class="x:p-4 x:overflow-y-auto nextra-scrollbar nextra-mask x:grow"><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-100" style="transition-duration:500ms"><ul class="x:grid x:gap-1"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/">Добро пожаловать в документацию Qwen Code</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/deployment/">Выполнение и Развертывание</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/architecture/">Обзор Архитектуры</a></li><li class=""><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/ru/cli" type="button" data-headlessui-state="">Руководство по использованию CLI<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:transition-none x:origin-center x:transition-all x:rtl:-rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-0 x:overflow-hidden" style="height:0;transition-duration:300ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/">Обзор CLI</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/commands/">Справочник Команд</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/configuration/">Руководство по Конфигурации</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/authentication/">Настройка Аутентификации</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/openai-auth/">Аутентификация OpenAI</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/token-caching/">Кэширование Токенов</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/themes/">Конфигурация Тем</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/tutorials/">Учебные Пособия</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/cli/welcome-back/">Функция Welcome Back</a></li></ul></div></li><li class=""><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/ru/core" type="button" data-headlessui-state="">Основные Детали<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:transition-none x:origin-center x:transition-all x:rtl:-rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-0 x:overflow-hidden" style="height:0;transition-duration:300ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/core/">Обзор Ядра</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/core/tools-api/">API Инструментов</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/core/memport/">Процессор Импорта Памяти</a></li></ul></div></li><li class="open"><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/ru/tools" type="button" data-headlessui-state="">Коллекция Инструментов<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:transition-none x:origin-center x:transition-all x:rtl:-rotate-180 x:ltr:rotate-90 x:rtl:-rotate-270"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-100" style="transition-duration:500ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tools/">Обзор Инструментов</a></li><li class="active"><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:bg-primary-100 x:font-semibold x:text-primary-800 x:dark:bg-primary-400/10 x:dark:text-primary-600 x:contrast-more:border-primary-500!" href="/qwen-code-docs/ru/tools/file-system/">Инструменты Файловой Системы</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tools/multi-file/">Инструменты Чтения Множественных Файлов</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tools/shell/">Инструменты Shell</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tools/web-fetch/">Инструменты Web Fetch</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tools/web-search/">Инструменты Веб-Поиска</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tools/memory/">Инструменты Памяти</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tools/todo-write/">Инструмент Todo Write</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tools/mcp-server/">MCP Сервер</a></li></ul></div></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/checkpointing/">Функция Контрольных Точек</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/extension/">Разработка Расширений</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/ide-integration/">Интеграция с IDE</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/telemetry/">Наблюдаемость</a></li><li class=""><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/ru/examples" type="button" data-headlessui-state="">Примеры Кода<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:transition-none x:origin-center x:transition-all x:rtl:-rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-0 x:overflow-hidden" style="height:0;transition-duration:300ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/examples/proxy-script/">Пример Прокси-Скрипта</a></li></ul></div></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/npm/">Управление Пакетами</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/gemini-ignore/">Конфигурация Игнорируемых Файлов</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/integration-tests/">Интеграционные Тесты</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/keyboard-shortcuts/">Горячие Клавиши</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/sandbox/">Механизм Песочницы</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/issue-and-pr-automation/">Автоматизированная Обработка</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/troubleshooting/">Устранение Неполадок</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/tos-privacy/">Условия Использования и Конфиденциальность</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/Uninstall/">Руководство по Удалению</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-600 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/qwen-code-docs/ru/subagents/">Субагенты</a></li></ul></div></div><div class="x:sticky x:bottom-0 x:bg-nextra-bg nextra-sidebar-footer x:border-t nextra-border x:flex x:items-center x:gap-2 x:py-4 x:mx-4"><button title="Change language" class="x:cursor-pointer x:h-7 x:rounded-md x:px-2 x:text-xs x:font-medium x:transition-colors x:text-gray-600 x:dark:text-gray-400 x:flex x:items-center x:gap-2 x:grow" id="headlessui-listbox-button-:R6rapuun9ukq:" type="button" aria-haspopup="listbox" aria-expanded="false" data-headlessui-state=""><svg viewBox="2 2 16 16" fill="currentColor" height="12"><path fill-rule="evenodd" d="M4.083 9h1.946c.089-1.546.383-2.97.837-4.118A6.004 6.004 0 004.083 9zM10 2a8 8 0 100 16 8 8 0 000-16zm0 2c-.076 0-.232.032-.465.262-.238.234-.497.623-.737 1.182-.389.907-.673 2.142-.766 3.556h3.936c-.093-1.414-.377-2.649-.766-3.556-.24-.56-.5-.948-.737-1.182C10.232 4.032 10.076 4 10 4zm3.971 5c-.089-1.546-.383-2.97-.837-4.118A6.004 6.004 0 0115.917 9h-1.946zm-2.003 2H8.032c.093 1.414.377 2.649.766 3.556.24.56.5.948.737 1.182.233.23.389.262.465.262.076 0 .232-.032.465-.262.238-.234.498-.623.737-1.182.389-.907.673-2.142.766-3.556zm1.166 4.118c.454-1.147.748-2.572.837-4.118h1.946a6.004 6.004 0 01-2.783 4.118zm-6.268 0C6.412 13.97 6.118 12.546 6.03 11H4.083a6.004 6.004 0 002.783 4.118z"></path></svg>Русский</button><button title="Change theme" class="x:cursor-pointer x:h-7 x:rounded-md x:px-2 x:text-xs x:font-medium x:transition-colors x:text-gray-600 x:dark:text-gray-400 x:flex x:items-center x:gap-2" id="headlessui-listbox-button-:R6tapuun9ukq:" type="button" aria-haspopup="listbox" aria-expanded="false" data-headlessui-state=""><svg fill="currentColor" viewBox="2 2 20 20" stroke="currentColor" height="12"><path stroke-linecap="round" stroke-width="2" d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"></path></svg></button><button class="x:transition x:cursor-pointer x:rounded-md x:p-2 x:text-gray-600 x:dark:text-gray-400" aria-expanded="true" aria-controls=":Rpuun9ukq:" title="Collapse sidebar" type="button" data-headlessui-state=""><svg viewBox="0 0 16 16" fill="currentColor" height="12" class=""><path d="M4.177 7.823l2.396-2.396A.25.25 0 017 5.604v4.792a.25.25 0 01-.427.177L4.177 8.177a.25.25 0 010-.354z"></path><path fill-rule="evenodd" d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zm1.75-.25a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25H9.5v-13H1.75zm12.5 13H11v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25z"></path></svg></button></div></aside><nav class="nextra-toc x:order-last x:max-xl:hidden x:w-64 x:shrink-0 x:print:hidden" aria-label="table of contents"><div class="x:grid x:grid-rows-[min-content_1fr_min-content] x:sticky x:top-(--nextra-navbar-height) x:text-sm x:max-h-[calc(100vh-var(--nextra-navbar-height))]"><p class="x:pt-6 x:px-4 x:font-semibold x:tracking-tight">On This Page</p><ul class="x:p-4 nextra-scrollbar x:overscroll-y-contain x:overflow-y-auto x:hyphens-auto nextra-mask"><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#1-list_directory-readfolder" class="x:focus-visible:nextra-focus x:font-semibold x:block x:transition-colors x:subpixel-antialiased x:text-gray-600 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">1. <code class="nextra-code" dir="ltr">list_directory</code> (ReadFolder)</a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#2-read_file-readfile" class="x:focus-visible:nextra-focus x:font-semibold x:block x:transition-colors x:subpixel-antialiased x:text-gray-600 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">2. <code class="nextra-code" dir="ltr">read_file</code> (ReadFile)</a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#3-write_file-writefile" class="x:focus-visible:nextra-focus x:font-semibold x:block x:transition-colors x:subpixel-antialiased x:text-gray-600 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">3. <code class="nextra-code" dir="ltr">write_file</code> (WriteFile)</a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#4-glob-findfiles" class="x:focus-visible:nextra-focus x:font-semibold x:block x:transition-colors x:subpixel-antialiased x:text-gray-600 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">4. <code class="nextra-code" dir="ltr">glob</code> (FindFiles)</a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#5-search_file_content-searchtext" class="x:focus-visible:nextra-focus x:font-semibold x:block x:transition-colors x:subpixel-antialiased x:text-gray-600 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">5. <code class="nextra-code" dir="ltr">search_file_content</code> (SearchText)</a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#примеры-использования-search_file_content" class="x:focus-visible:nextra-focus x:ms-3 x:block x:transition-colors x:subpixel-antialiased x:text-gray-600 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">Примеры использования <code class="nextra-code" dir="ltr">search_file_content</code></a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#6-edit-редактирование" class="x:focus-visible:nextra-focus x:font-semibold x:block x:transition-colors x:subpixel-antialiased x:text-gray-600 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">6. <code class="nextra-code" dir="ltr">edit</code> (Редактирование)</a></li></ul><div class="x:grid x:gap-2 x:py-4 x:mx-4 x:border-t nextra-border"><a href="https://github.com/QwenLM/qwen-code/issues/new?title=Feedback%20for%20%E2%80%9C%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%BE%D0%B9%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B%20Qwen%20Code%E2%80%9D&labels=feedback" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus x:text-xs x:font-medium x:transition x:text-gray-600 x:dark:text-gray-400 x:hover:text-gray-800 x:dark:hover:text-gray-200 x:contrast-more:text-gray-700 x:contrast-more:dark:text-gray-100">Question? Give us feedback<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a><a href="https://github.com/QwenLM/qwen-code/blob/main/docs/content/ru/tools/file-system.md" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus x:text-xs x:font-medium x:transition x:text-gray-600 x:dark:text-gray-400 x:hover:text-gray-800 x:dark:hover:text-gray-200 x:contrast-more:text-gray-700 x:contrast-more:dark:text-gray-100">Edit this page<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a><button class="x:transition x:cursor-pointer x:flex x:items-center x:gap-1.5 x:whitespace-nowrap x:opacity-0 x:text-xs x:font-medium x:transition x:text-gray-600 x:dark:text-gray-400 x:hover:text-gray-800 x:dark:hover:text-gray-200 x:contrast-more:text-gray-700 x:contrast-more:dark:text-gray-100" aria-hidden="true" type="button" disabled="" data-headlessui-state="disabled" data-disabled="">Scroll to top<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="1.1em" class="x:-rotate-90 x:border x:rounded-full x:border-current"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div></div></nav><article class="x:w-full x:min-w-0 x:break-words x:min-h-[calc(100vh-var(--nextra-navbar-height))] x:text-slate-700 x:dark:text-slate-200 x:pb-8 x:px-4 x:pt-4 x:md:px-12"><div class="nextra-breadcrumb x:mt-1.5 x:flex x:items-center x:gap-1 x:overflow-hidden x:text-sm x:text-gray-600 x:dark:text-gray-400 x:contrast-more:text-current"><a class="x:whitespace-nowrap x:transition-colors x:min-w-6 x:overflow-hidden x:text-ellipsis x:focus-visible:nextra-focus x:ring-inset x:hover:text-gray-900 x:dark:hover:text-gray-100" title="Коллекция Инструментов" href="/qwen-code-docs/ru/tools/">Коллекция Инструментов</a><svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="14" class="x:shrink-0 x:rtl:rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="x:whitespace-nowrap x:transition-colors x:font-medium x:text-black x:dark:text-gray-100" title="Инструменты Файловой Системы">Инструменты Файловой Системы</span></div><div id="nextra-skip-nav"></div><main data-pagefind-body="true"><h1 class="x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl">Инструменты файловой системы Qwen Code</h1>
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7">Qwen Code предоставляет комплексный набор инструментов для взаимодействия с локальной файловой системой. Эти инструменты позволяют модели читать, записывать, перечислять, искать и изменять файлы и директории, всё под вашим контролем и, как правило, с подтверждением для чувствительных операций.</p>
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>Примечание:</strong> Все инструменты файловой системы работают в пределах <code class="nextra-code" dir="ltr">rootDirectory</code> (обычно это текущая рабочая директория, из которой вы запустили CLI) в целях безопасности. Пути, которые вы указываете этим инструментам, как правило, должны быть абсолютными или будут разрешены относительно этой корневой директории.</p>
|
||
<h2 id="1-list_directory-readfolder" class="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">1. <code class="nextra-code" dir="ltr">list_directory</code> (ReadFolder)<a href="#1-list_directory-readfolder" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h2>
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><code class="nextra-code" dir="ltr">list_directory</code> выводит список имен файлов и подкаталогов, находящихся непосредственно в указанном пути к каталогу. При необходимости можно игнорировать записи, соответствующие заданным glob-паттернам.</p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]"><strong>Имя инструмента:</strong> <code class="nextra-code" dir="ltr">list_directory</code></li>
|
||
<li class="x:my-[.5em]"><strong>Отображаемое имя:</strong> ReadFolder</li>
|
||
<li class="x:my-[.5em]"><strong>Файл:</strong> <code class="nextra-code" dir="ltr">ls.ts</code></li>
|
||
<li class="x:my-[.5em]"><strong>Параметры:</strong>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">path</code> (string, обязательный): Абсолютный путь к каталогу для вывода списка.</li>
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">ignore</code> (массив строк, необязательный): Список glob-паттернов, которые нужно исключить из списка (например, <code class="nextra-code" dir="ltr">["*.log", ".git"]</code>).</li>
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">respect_git_ignore</code> (boolean, необязательный): Учитывать ли паттерны из <code class="nextra-code" dir="ltr">.gitignore</code> при выводе списка файлов. По умолчанию <code class="nextra-code" dir="ltr">true</code>.</li>
|
||
</ul>
|
||
</li>
|
||
<li class="x:my-[.5em]"><strong>Поведение:</strong>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]">Возвращает список имен файлов и каталогов.</li>
|
||
<li class="x:my-[.5em]">Показывает, является ли каждая запись каталогом.</li>
|
||
<li class="x:my-[.5em]">Сортирует записи: сначала каталоги, затем в алфавитном порядке.</li>
|
||
</ul>
|
||
</li>
|
||
<li class="x:my-[.5em]"><strong>Вывод (<code class="nextra-code" dir="ltr">llmContent</code>):</strong> Строка вида: <code class="nextra-code" dir="ltr">Directory listing for /path/to/your/folder:\n[DIR] subfolder1\nfile1.txt\nfile2.png</code></li>
|
||
<li class="x:my-[.5em]"><strong>Подтверждение:</strong> Нет.</li>
|
||
</ul>
|
||
<h2 id="2-read_file-readfile" class="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">2. <code class="nextra-code" dir="ltr">read_file</code> (ReadFile)<a href="#2-read_file-readfile" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h2>
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><code class="nextra-code" dir="ltr">read_file</code> читает и возвращает содержимое указанного файла. Этот инструмент работает с текстовыми файлами, изображениями (PNG, JPG, GIF, WEBP, SVG, BMP) и PDF-файлами. Для текстовых файлов можно читать определённые диапазоны строк. Другие бинарные файлы, как правило, пропускаются.</p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]"><strong>Название инструмента:</strong> <code class="nextra-code" dir="ltr">read_file</code></li>
|
||
<li class="x:my-[.5em]"><strong>Отображаемое имя:</strong> ReadFile</li>
|
||
<li class="x:my-[.5em]"><strong>Файл:</strong> <code class="nextra-code" dir="ltr">read-file.ts</code></li>
|
||
<li class="x:my-[.5em]"><strong>Параметры:</strong>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">path</code> (string, обязательный): Абсолютный путь к файлу для чтения.</li>
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">offset</code> (number, опциональный): Для текстовых файлов — номер строки (с 0), с которой начинать чтение. Требует установки <code class="nextra-code" dir="ltr">limit</code>.</li>
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">limit</code> (number, опциональный): Для текстовых файлов — максимальное количество строк для чтения. Если не указан, читается стандартное максимальное количество (например, 2000 строк) или весь файл, если это возможно.</li>
|
||
</ul>
|
||
</li>
|
||
<li class="x:my-[.5em]"><strong>Поведение:</strong>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]">Для текстовых файлов: Возвращает содержимое. Если используются <code class="nextra-code" dir="ltr">offset</code> и <code class="nextra-code" dir="ltr">limit</code>, возвращает только указанный диапазон строк. Указывает, если содержимое было обрезано из-за ограничений по количеству или длине строк.</li>
|
||
<li class="x:my-[.5em]">Для изображений и PDF-файлов: Возвращает содержимое файла в виде base64-закодированной структуры данных, подходящей для обработки моделью.</li>
|
||
<li class="x:my-[.5em]">Для других бинарных файлов: Пытается определить и пропустить их, возвращая сообщение о том, что это обычный бинарный файл.</li>
|
||
</ul>
|
||
</li>
|
||
<li class="x:my-[.5em]"><strong>Вывод:</strong> (<code class="nextra-code" dir="ltr">llmContent</code>):
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]">Для текстовых файлов: Содержимое файла, возможно, с префиксом сообщения об обрезке (например, <code class="nextra-code" dir="ltr">[File content truncated: showing lines 1-100 of 500 total lines...]\nActual file content...</code>).</li>
|
||
<li class="x:my-[.5em]">Для изображений/PDF-файлов: Объект, содержащий <code class="nextra-code" dir="ltr">inlineData</code> с <code class="nextra-code" dir="ltr">mimeType</code> и base64-кодированными <code class="nextra-code" dir="ltr">data</code> (например, <code class="nextra-code" dir="ltr">{ inlineData: { mimeType: 'image/png', data: 'base64encodedstring' } }</code>).</li>
|
||
<li class="x:my-[.5em]">Для других бинарных файлов: Сообщение вроде <code class="nextra-code" dir="ltr">Cannot display content of binary file: /path/to/data.bin</code>.</li>
|
||
</ul>
|
||
</li>
|
||
<li class="x:my-[.5em]"><strong>Подтверждение:</strong> Нет.</li>
|
||
</ul>
|
||
<h2 id="3-write_file-writefile" class="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">3. <code class="nextra-code" dir="ltr">write_file</code> (WriteFile)<a href="#3-write_file-writefile" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h2>
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><code class="nextra-code" dir="ltr">write_file</code> записывает контент в указанный файл. Если файл существует, он будет перезаписан. Если файл не существует, он (и все необходимые родительские директории) будет создан.</p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]"><strong>Название инструмента:</strong> <code class="nextra-code" dir="ltr">write_file</code></li>
|
||
<li class="x:my-[.5em]"><strong>Отображаемое имя:</strong> WriteFile</li>
|
||
<li class="x:my-[.5em]"><strong>Файл:</strong> <code class="nextra-code" dir="ltr">write-file.ts</code></li>
|
||
<li class="x:my-[.5em]"><strong>Параметры:</strong>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">file_path</code> (string, обязательный): Абсолютный путь к файлу для записи.</li>
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">content</code> (string, обязательный): Контент, который нужно записать в файл.</li>
|
||
</ul>
|
||
</li>
|
||
<li class="x:my-[.5em]"><strong>Поведение:</strong>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]">Записывает переданный <code class="nextra-code" dir="ltr">content</code> по указанному <code class="nextra-code" dir="ltr">file_path</code>.</li>
|
||
<li class="x:my-[.5em]">Создает родительские директории, если они не существуют.</li>
|
||
</ul>
|
||
</li>
|
||
<li class="x:my-[.5em]"><strong>Вывод (<code class="nextra-code" dir="ltr">llmContent</code>):</strong> Сообщение об успешной операции, например: <code class="nextra-code" dir="ltr">Successfully overwrote file: /path/to/your/file.txt</code> или <code class="nextra-code" dir="ltr">Successfully created and wrote to new file: /path/to/new/file.txt</code>.</li>
|
||
<li class="x:my-[.5em]"><strong>Подтверждение:</strong> Да. Показывает diff изменений и запрашивает подтверждение пользователя перед записью.</li>
|
||
</ul>
|
||
<h2 id="4-glob-findfiles" class="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">4. <code class="nextra-code" dir="ltr">glob</code> (FindFiles)<a href="#4-glob-findfiles" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h2>
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><code class="nextra-code" dir="ltr">glob</code> находит файлы, соответствующие определенным glob-паттернам (например, <code class="nextra-code" dir="ltr">src/**/*.ts</code>, <code class="nextra-code" dir="ltr">*.md</code>), и возвращает абсолютные пути, отсортированные по времени модификации (новые файлы первыми).</p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]"><strong>Название инструмента:</strong> <code class="nextra-code" dir="ltr">glob</code></li>
|
||
<li class="x:my-[.5em]"><strong>Отображаемое имя:</strong> FindFiles</li>
|
||
<li class="x:my-[.5em]"><strong>Файл:</strong> <code class="nextra-code" dir="ltr">glob.ts</code></li>
|
||
<li class="x:my-[.5em]"><strong>Параметры:</strong>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">pattern</code> (string, обязательный): glob-паттерн для поиска (например, <code class="nextra-code" dir="ltr">"*.py"</code>, <code class="nextra-code" dir="ltr">"src/**/*.js"</code>).</li>
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">path</code> (string, опциональный): Абсолютный путь к директории, в которой нужно искать. Если не указан, поиск осуществляется в корневой директории инструмента.</li>
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">case_sensitive</code> (boolean, опциональный): Учитывать ли регистр при поиске. По умолчанию <code class="nextra-code" dir="ltr">false</code>.</li>
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">respect_git_ignore</code> (boolean, опциональный): Следует ли учитывать паттерны из .gitignore при поиске файлов. По умолчанию <code class="nextra-code" dir="ltr">true</code>.</li>
|
||
</ul>
|
||
</li>
|
||
<li class="x:my-[.5em]"><strong>Поведение:</strong>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]">Ищет файлы, соответствующие glob-паттерну в указанной директории.</li>
|
||
<li class="x:my-[.5em]">Возвращает список абсолютных путей, отсортированных по времени модификации (новые файлы первыми).</li>
|
||
<li class="x:my-[.5em]">По умолчанию игнорирует стандартные служебные директории, такие как <code class="nextra-code" dir="ltr">node_modules</code> и <code class="nextra-code" dir="ltr">.git</code>.</li>
|
||
</ul>
|
||
</li>
|
||
<li class="x:my-[.5em]"><strong>Вывод (<code class="nextra-code" dir="ltr">llmContent</code>):</strong> Сообщение вида: <code class="nextra-code" dir="ltr">Found 5 file(s) matching "*.ts" within src, sorted by modification time (newest first):\nsrc/file1.ts\nsrc/subdir/file2.ts...</code></li>
|
||
<li class="x:my-[.5em]"><strong>Подтверждение:</strong> Нет.</li>
|
||
</ul>
|
||
<h2 id="5-search_file_content-searchtext" class="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">5. <code class="nextra-code" dir="ltr">search_file_content</code> (SearchText)<a href="#5-search_file_content-searchtext" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h2>
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><code class="nextra-code" dir="ltr">search_file_content</code> ищет регулярное выражение (regex) в содержимом файлов указанной директории. Может фильтровать файлы по glob-паттерну. Возвращает строки с совпадениями, а также пути к файлам и номера строк.</p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>Имя инструмента:</strong> <code class="nextra-code" dir="ltr">search_file_content</code></p>
|
||
</li>
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>Отображаемое имя:</strong> SearchText</p>
|
||
</li>
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>Файл:</strong> <code class="nextra-code" dir="ltr">grep.ts</code></p>
|
||
</li>
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>Параметры:</strong></p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">pattern</code> (string, обязательный): Регулярное выражение для поиска (например, <code class="nextra-code" dir="ltr">"function\s+myFunction"</code>).</li>
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">path</code> (string, опциональный): Абсолютный путь к директории, в которой нужно искать. По умолчанию — текущая рабочая директория.</li>
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">include</code> (string, опциональный): Glob-паттерн для фильтрации файлов (например, <code class="nextra-code" dir="ltr">"*.js"</code>, <code class="nextra-code" dir="ltr">"src/**/*.{ts,tsx}"</code>). Если не указан, поиск осуществляется по большинству файлов (с учетом стандартных игнор-файлов).</li>
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">maxResults</code> (number, опциональный): Максимальное количество совпадений, которое будет возвращено, чтобы избежать переполнения контекста (по умолчанию: 20, максимум: 100). Используйте меньшие значения для широких поисков, большие — для точных.</li>
|
||
</ul>
|
||
</li>
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>Поведение:</strong></p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]">Использует <code class="nextra-code" dir="ltr">git grep</code>, если доступен в Git-репозитории, для повышения скорости; иначе использует системный <code class="nextra-code" dir="ltr">grep</code> или поиск на JavaScript.</li>
|
||
<li class="x:my-[.5em]">Возвращает список строк с совпадениями, каждая из которых снабжена путем к файлу (относительно директории поиска) и номером строки.</li>
|
||
<li class="x:my-[.5em]">По умолчанию ограничивает количество результатов 20 совпадениями, чтобы избежать переполнения контекста. При обрезке результатов выводится предупреждение с рекомендациями по уточнению запроса.</li>
|
||
</ul>
|
||
</li>
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>Вывод (<code class="nextra-code" dir="ltr">llmContent</code>):</strong> Отформатированная строка с совпадениями, например:</p>
|
||
<div data-pagefind-ignore="all" class="nextra-code x:relative x:not-first:mt-[1.25em]"><pre class="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"><div class="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"><button class="x:transition x:cursor-pointer x:border x:border-gray-300 x:dark:border-neutral-700 x:contrast-more:border-gray-900 x:contrast-more:dark:border-gray-50 x:rounded-md x:p-1.5 x:md:hidden" title="Toggle word wrap" type="button" data-headlessui-state=""><svg viewBox="0 0 24 24" fill="currentColor" height="1em"><path 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"></path></svg></button></div><code class="nextra-code" dir="ltr"><span><span>Found 3 matches for pattern "myFunction" in path "." (filter: "*.ts"):</span></span>
|
||
<span><span>---</span></span>
|
||
<span><span>File: src/utils.ts</span></span>
|
||
<span><span>L15: export function myFunction() {</span></span>
|
||
<span><span>L22: myFunction.call();</span></span>
|
||
<span><span>---</span></span>
|
||
<span><span>File: src/index.ts</span></span>
|
||
<span><span>L5: import { myFunction } from './utils';</span></span>
|
||
<span><span>---</span></span>
|
||
<span><span></span></span>
|
||
<span><span>WARNING: Results truncated to prevent context overflow. To see more results:</span></span>
|
||
<span><span>- Use a more specific pattern to reduce matches</span></span>
|
||
<span><span>- Add file filters with the 'include' parameter (e.g., "*.js", "src/**")</span></span>
|
||
<span><span>- Specify a narrower 'path' to search in a subdirectory</span></span>
|
||
<span><span>- Increase 'maxResults' parameter if you need more matches (current: 20)</span></span></code></pre></div>
|
||
</li>
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>Подтверждение:</strong> Нет.</p>
|
||
</li>
|
||
</ul>
|
||
<h3 id="примеры-использования-search_file_content" class="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">Примеры использования <code class="nextra-code" dir="ltr">search_file_content</code><a href="#примеры-использования-search_file_content" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h3>
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7">Поиск по паттерну с ограничением результатов по умолчанию:</p>
|
||
<div data-pagefind-ignore="all" class="nextra-code x:relative x:not-first:mt-[1.25em]"><pre class="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"><div class="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"><button class="x:transition x:cursor-pointer x:border x:border-gray-300 x:dark:border-neutral-700 x:contrast-more:border-gray-900 x:contrast-more:dark:border-gray-50 x:rounded-md x:p-1.5 x:md:hidden" title="Toggle word wrap" type="button" data-headlessui-state=""><svg viewBox="0 0 24 24" fill="currentColor" height="1em"><path 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"></path></svg></button></div><code class="nextra-code" dir="ltr"><span><span>search_file_content(pattern="function\s+myFunction", path="src")</span></span></code></pre></div>
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7">Поиск по паттерну с пользовательским ограничением результатов:</p>
|
||
<div data-pagefind-ignore="all" class="nextra-code x:relative x:not-first:mt-[1.25em]"><pre class="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"><div class="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"><button class="x:transition x:cursor-pointer x:border x:border-gray-300 x:dark:border-neutral-700 x:contrast-more:border-gray-900 x:contrast-more:dark:border-gray-50 x:rounded-md x:p-1.5 x:md:hidden" title="Toggle word wrap" type="button" data-headlessui-state=""><svg viewBox="0 0 24 24" fill="currentColor" height="1em"><path 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"></path></svg></button></div><code class="nextra-code" dir="ltr"><span><span>search_file_content(pattern="function", path="src", maxResults=50)</span></span></code></pre></div>
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7">Поиск по паттерну с фильтрацией файлов и пользовательским ограничением результатов:</p>
|
||
<div data-pagefind-ignore="all" class="nextra-code x:relative x:not-first:mt-[1.25em]"><pre class="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"><div class="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"><button class="x:transition x:cursor-pointer x:border x:border-gray-300 x:dark:border-neutral-700 x:contrast-more:border-gray-900 x:contrast-more:dark:border-gray-50 x:rounded-md x:p-1.5 x:md:hidden" title="Toggle word wrap" type="button" data-headlessui-state=""><svg viewBox="0 0 24 24" fill="currentColor" height="1em"><path 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"></path></svg></button></div><code class="nextra-code" dir="ltr"><span><span>search_file_content(pattern="function", include="*.js", maxResults=10)</span></span></code></pre></div>
|
||
<h2 id="6-edit-редактирование" class="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">6. <code class="nextra-code" dir="ltr">edit</code> (Редактирование)<a href="#6-edit-редактирование" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h2>
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><code class="nextra-code" dir="ltr">edit</code> заменяет текст в файле. По умолчанию заменяется одно вхождение, но можно заменить несколько вхождений, если указать <code class="nextra-code" dir="ltr">expected_replacements</code>. Этот инструмент предназначен для точных, целевых изменений и требует значительного контекста вокруг <code class="nextra-code" dir="ltr">old_string</code>, чтобы убедиться, что он изменяет правильное место.</p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>Название инструмента:</strong> <code class="nextra-code" dir="ltr">edit</code></p>
|
||
</li>
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>Отображаемое имя:</strong> Редактирование</p>
|
||
</li>
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>Файл:</strong> <code class="nextra-code" dir="ltr">edit.ts</code></p>
|
||
</li>
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>Параметры:</strong></p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><code class="nextra-code" dir="ltr">file_path</code> (string, обязательный): Абсолютный путь к файлу, который нужно изменить.</p>
|
||
</li>
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><code class="nextra-code" dir="ltr">old_string</code> (string, обязательный): Точный буквальный текст для замены.</p>
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>ВАЖНО:</strong> Эта строка должна однозначно идентифицировать единственный экземпляр для изменения. Она должна включать как минимум 3 строки контекста <em>до</em> и <em>после</em> целевого текста, точно соответствующего пробелам и отступам. Если <code class="nextra-code" dir="ltr">old_string</code> пустая, инструмент пытается создать новый файл по пути <code class="nextra-code" dir="ltr">file_path</code> с содержимым <code class="nextra-code" dir="ltr">new_string</code>.</p>
|
||
</li>
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><code class="nextra-code" dir="ltr">new_string</code> (string, обязательный): Точный буквальный текст, на который нужно заменить <code class="nextra-code" dir="ltr">old_string</code>.</p>
|
||
</li>
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><code class="nextra-code" dir="ltr">expected_replacements</code> (number, опциональный): Количество вхождений для замены. По умолчанию — <code class="nextra-code" dir="ltr">1</code>.</p>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>Поведение:</strong></p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]">Если <code class="nextra-code" dir="ltr">old_string</code> пустая и <code class="nextra-code" dir="ltr">file_path</code> не существует, создается новый файл с содержимым <code class="nextra-code" dir="ltr">new_string</code>.</li>
|
||
<li class="x:my-[.5em]">Если <code class="nextra-code" dir="ltr">old_string</code> задана, инструмент читает <code class="nextra-code" dir="ltr">file_path</code> и пытается найти ровно одно вхождение <code class="nextra-code" dir="ltr">old_string</code>.</li>
|
||
<li class="x:my-[.5em]">Если одно вхождение найдено, оно заменяется на <code class="nextra-code" dir="ltr">new_string</code>.</li>
|
||
<li class="x:my-[.5em]"><strong>Повышенная надежность (многоэтапная коррекция редактирования):</strong> Чтобы значительно повысить вероятность успешного редактирования, особенно когда предоставленная моделью <code class="nextra-code" dir="ltr">old_string</code> может быть не совсем точной, инструмент использует механизм многоэтапной коррекции редактирования.
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]">Если исходная <code class="nextra-code" dir="ltr">old_string</code> не найдена или совпадает с несколькими местами, инструмент может использовать модель Qwen для итеративного уточнения <code class="nextra-code" dir="ltr">old_string</code> (и, возможно, <code class="nextra-code" dir="ltr">new_string</code>).</li>
|
||
<li class="x:my-[.5em]">Этот процесс самокоррекции пытается определить уникальный сегмент, который модель хотела изменить, делая операцию <code class="nextra-code" dir="ltr">edit</code> более надежной даже при немного неточном начальном контексте.</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>Условия сбоя:</strong> Несмотря на механизм коррекции, инструмент завершится ошибкой, если:</p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">file_path</code> не является абсолютным или находится вне корневой директории.</li>
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">old_string</code> не пустая, но <code class="nextra-code" dir="ltr">file_path</code> не существует.</li>
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">old_string</code> пустая, но <code class="nextra-code" dir="ltr">file_path</code> уже существует.</li>
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">old_string</code> не найдена в файле после попыток её корректировки.</li>
|
||
<li class="x:my-[.5em]"><code class="nextra-code" dir="ltr">old_string</code> встречается несколько раз, и механизм самокоррекции не может определить однозначное совпадение.</li>
|
||
</ul>
|
||
</li>
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>Вывод (<code class="nextra-code" dir="ltr">llmContent</code>):</strong></p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]">
|
||
<li class="x:my-[.5em]">При успехе: <code class="nextra-code" dir="ltr">Successfully modified file: /path/to/file.txt (1 replacements).</code> или <code class="nextra-code" dir="ltr">Created new file: /path/to/new_file.txt with provided content.</code></li>
|
||
<li class="x:my-[.5em]">При ошибке: Сообщение об ошибке с объяснением причины (например, <code class="nextra-code" dir="ltr">Failed to edit, 0 occurrences found...</code>, <code class="nextra-code" dir="ltr">Failed to edit, expected 1 occurrences but found 2...</code>).</li>
|
||
</ul>
|
||
</li>
|
||
<li class="x:my-[.5em]">
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7"><strong>Подтверждение:</strong> Да. Показывает diff предложенных изменений и запрашивает подтверждение пользователя перед записью в файл.</p>
|
||
</li>
|
||
</ul>
|
||
<p class="x:not-first:mt-[1.25em] x:leading-7">Эти инструменты файловой системы предоставляют основу для того, чтобы Qwen Code мог понимать и взаимодействовать с локальным контекстом вашего проекта.</p></main><div class="x:mt-12 x:mb-8 x:text-xs x:text-gray-600 x:text-end x:dark:text-gray-400">Last updated on<!-- --> <time dateTime="2026-09-17T17:32:34.000Z">17 сентября 2026 г.</time></div><div class="x:mb-8 x:flex x:items-center x:border-t x:pt-8 nextra-border x:print:hidden"><a title="Обзор Инструментов" class="x:focus-visible:nextra-focus x:text-gray-600 x:dark:text-gray-400 x:hover:text-gray-800 x:dark:hover:text-gray-200 x:contrast-more:text-gray-700 x:contrast-more:dark:text-gray-100 x:flex x:max-w-[50%] x:items-center x:gap-1 x:py-4 x:text-base x:font-medium x:transition-colors x:[word-break:break-word] x:md:text-lg x:pe-4" href="/qwen-code-docs/ru/tools/"><svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="20" class="x:inline x:shrink-0 x:ltr:rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg>Обзор Инструментов</a><a title="Инструменты Чтения Множественных Файлов" class="x:focus-visible:nextra-focus x:text-gray-600 x:dark:text-gray-400 x:hover:text-gray-800 x:dark:hover:text-gray-200 x:contrast-more:text-gray-700 x:contrast-more:dark:text-gray-100 x:flex x:max-w-[50%] x:items-center x:gap-1 x:py-4 x:text-base x:font-medium x:transition-colors x:[word-break:break-word] x:md:text-lg x:ps-4 x:ms-auto x:text-end" href="/qwen-code-docs/ru/tools/multi-file/">Инструменты Чтения Множественных Файлов<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="20" class="x:inline x:shrink-0 x:rtl:rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></article></div><script src="/qwen-code-docs/_next/static/chunks/webpack-6175f18c4ffcc31c.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/qwen-code-docs/_next/static/css/7fba7395046b8eaa.css\",\"style\"]\n2:HL[\"/qwen-code-docs/_next/static/css/04d76539cc2c4ebd.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"3:I[12846,[],\"\"]\n6:I[4707,[],\"\"]\n9:I[36423,[],\"\"]\nb:I[78400,[\"3185\",\"static/chunks/app/layout-38b548b4f4d27f80.js\"],\"FontLoader\"]\nd:I[61060,[],\"\"]\n7:[\"lang\",\"ru\",\"d\"]\n8:[\"mdxPath\",\"tools/file-system\",\"oc\"]\ne:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L3\",null,{\"buildId\":\"0y8u-WGJo2VFWAF7bkrdx\",\"assetPrefix\":\"/qwen-code-docs\",\"urlParts\":[\"\",\"ru\",\"tools\",\"file-system\",\"\"],\"initialTree\":[\"\",{\"children\":[[\"lang\",\"ru\",\"d\"],{\"children\":[[\"mdxPath\",\"tools/file-system\",\"oc\"],{\"children\":[\"__PAGE__?{\\\"lang\\\":\\\"ru\\\",\\\"mdxPath\\\":[\\\"tools\\\",\\\"file-system\\\"]}\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[[\"lang\",\"ru\",\"d\"],{\"children\":[[\"mdxPath\",\"tools/file-system\",\"oc\"],{\"children\":[\"__PAGE__\",{},[[\"$L4\",\"$L5\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/qwen-code-docs/_next/static/css/04d76539cc2c4ebd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]],null],null]},[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"$7\",\"children\",\"$8\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[null,\"$La\"],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\":[[\"$\",\"$Lb\",null,{}],[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",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],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$Lc\"],\"globalErrorComponent\":\"$d\",\"missingSlots\":\"$We\"}]\n"])</script><script>self.__next_f.push([1,"f: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\"]\n10: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\"]\n11: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\"]\n12: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\"]\n13: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\"]\n14: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\"]\n15: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\"],\"\"]\n16:I[88212,[\"5501\",\"static/ch"])</script><script>self.__next_f.push([1,"unks/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\"]\n18: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\"]\n19: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\"]\n1a: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\"]\n1b:\"$Sreact.fragment\"\n1c: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\"]\n1d: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\"]\n1e: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\"]\n1f:I[98451,[\"5501\",\"static/c"])</script><script>self.__next_f.push([1,"hunks/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\"]\n17: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 3Z"])</script><script>self.__next_f.push([1,"a:[\"$\",\"$Lf\",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\":[\"$\",\"$L10\",null,{}],\"navigation\":{\"next\":true,\"prev\":true},\"search\":[\"$\",\"$L11\",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\":[\"$\",\"$L12\",null,{\"attribute\":\"class\",\"defaultTheme\":\"light\",\"disableTransitionOnChange\":true,\"storageKey\":\"theme\",\"children\":[[\"$\",\"$L13\",null,{}],\"$undefined\",[\"$\",\"$L14\",null,{\"pageMap\":[{\"data\":{\"index\":{\"title\":\"Добро пожаловать в документацию Qwen Code\"},\"deployment\":{\"title\":\"Выполнение и Развертывание\"},\"architecture\":{\"title\":\"Обзор Архитектуры\"},\"cli\":{\"title\":\"Руководство по использованию CLI\"},\"core\":{\"title\":\"Основные Детали\"},\"tools\":{\"title\":\"Коллекция Инструментов\"},\"checkpointing\":{\"title\":\"Функция Контрольных Точек\"},\"extension\":{\"title\":\"Разработка Расширений\"},\"ide-integration\":{\"title\":\"Интеграция с IDE\"},\"telemetry\":{\"title\":\"Наблюдаемость\"},\"examples\":{\"title\":\"Примеры Кода\"},\"npm\":{\"title\":\"Управление Пакетами\"},\"gemini-ignore\":{\"title\":\"Конфигурация Игнорируемых Файлов\"},\"integration-tests\":{\"title\":\"Интеграционные Тесты\"},\"keyboard-shortcuts\":{\"title\":\"Горячие Клавиши\"},\"sandbox\":{\"title\":\"Механизм Песочницы\"},\"issue-and-pr-automation\":{\"title\":\"Автоматизированная Обработка\"},\"troubleshooting\":{\"title\":\"Устранение Неполадок\"},\"tos-privacy\":{\"title\":\"Условия Использования и Конфиденциальность\"},\"Uninstall\":{\"title\":\"Руководство по Удалению\"}}},{\"name\":\"index\",\"route\":\"/ru\",\"frontMatter\":{\"title\":\"Добро пожаловать в документацию Qwen Code\",\"filePath\":\"content/ru/index.md\",\"timestamp\":1789666354000},\"title\":\"Добро пожаловать в документацию Qwen Code\"},{\"name\":\"deployment\",\"route\":\"/ru/deployment\",\"frontMatter\":{\"title\":\"Выполнение и развертывание Qwen Code\",\"filePath\":\"content/ru/deployment.md\",\"timestamp\":1789666354000},\"title\":\"Выполнение и Развертывание\"},{\"name\":\"architecture\",\"route\":\"/ru/architecture\",\"frontMatter\":{\"title\":\"Обзор архитектуры Qwen Code\",\"filePath\":\"content/ru/architecture.md\",\"timestamp\":1789666354000},\"title\":\"Обзор Архитектуры\"},{\"name\":\"cli\",\"route\":\"/ru/cli\",\"children\":[{\"data\":{\"index\":{\"title\":\"Обзор CLI\"},\"commands\":{\"title\":\"Справочник Команд\"},\"configuration\":{\"title\":\"Руководство по Конфигурации\"},\"authentication\":{\"title\":\"Настройка Аутентификации\"},\"openai-auth\":{\"title\":\"Аутентификация OpenAI\"},\"token-caching\":{\"title\":\"Кэширование Токенов\"},\"themes\":{\"title\":\"Конфигурация Тем\"},\"tutorials\":{\"title\":\"Учебные Пособия\"}}},{\"name\":\"index\",\"route\":\"/ru/cli\",\"frontMatter\":{\"title\":\"Qwen Code CLI\",\"filePath\":\"content/ru/cli/index.md\",\"timestamp\":1789666354000},\"title\":\"Обзор CLI\"},{\"name\":\"commands\",\"route\":\"/ru/cli/commands\",\"frontMatter\":{\"title\":\"Команды CLI\",\"filePath\":\"content/ru/cli/commands.md\",\"timestamp\":1789666354000},\"title\":\"Справочник Команд\"},{\"name\":\"configuration\",\"route\":\"/ru/cli/configuration\",\"frontMatter\":{\"title\":\"Конфигурация Qwen Code\",\"filePath\":\"content/ru/cli/configuration.md\",\"timestamp\":1789666354000},\"title\":\"Руководство по Конфигурации\"},{\"name\":\"authentication\",\"route\":\"/ru/cli/authentication\",\"frontMatter\":{\"title\":\"Настройка аутентификации\",\"filePath\":\"content/ru/cli/authentication.md\",\"timestamp\":1789666354000},\"title\":\"Настройка Аутентификации\"},{\"name\":\"openai-auth\",\"route\":\"/ru/cli/openai-auth\",\"frontMatter\":{\"title\":\"Аутентификация OpenAI\",\"filePath\":\"content/ru/cli/openai-auth.md\",\"timestamp\":1789666354000},\"title\":\"Аутентификация OpenAI\"},{\"name\":\"token-caching\",\"route\":\"/ru/cli/token-caching\",\"frontMatter\":{\"title\":\"Кэширование токенов и оптимизация расходов\",\"filePath\":\"content/ru/cli/token-caching.md\",\"timestamp\":1789666354000},\"title\":\"Кэширование Токенов\"},{\"name\":\"themes\",\"route\":\"/ru/cli/themes\",\"frontMatter\":{\"title\":\"Темы\",\"filePath\":\"content/ru/cli/themes.md\",\"timestamp\":1789666354000},\"title\":\"Конфигурация Тем\"},{\"name\":\"tutorials\",\"route\":\"/ru/cli/tutorials\",\"frontMatter\":{\"title\":\"Tutorials\",\"filePath\":\"content/ru/cli/tutorials.md\",\"timestamp\":1789666354000},\"title\":\"Учебные Пособия\"},{\"name\":\"welcome-back\",\"route\":\"/ru/cli/welcome-back\",\"frontMatter\":{\"title\":\"Функция Welcome Back\",\"filePath\":\"content/ru/cli/welcome-back.md\",\"timestamp\":1789666354000},\"title\":\"Функция Welcome Back\"}],\"title\":\"Руководство по использованию CLI\"},{\"name\":\"core\",\"route\":\"/ru/core\",\"children\":[{\"data\":{\"index\":{\"title\":\"Обзор Ядра\"},\"tools-api\":{\"title\":\"API Инструментов\"},\"memport\":{\"title\":\"Процессор Импорта Памяти\"}}},{\"name\":\"index\",\"route\":\"/ru/core\",\"frontMatter\":{\"title\":\"Qwen Code Core\",\"filePath\":\"content/ru/core/index.md\",\"timestamp\":1789666354000},\"title\":\"Обзор Ядра\"},{\"name\":\"tools-api\",\"route\":\"/ru/core/tools-api\",\"frontMatter\":{\"title\":\"Qwen Code Core: Tools API\",\"filePath\":\"content/ru/core/tools-api.md\",\"timestamp\":1789666354000},\"title\":\"API Инструментов\"},{\"name\":\"memport\",\"route\":\"/ru/core/memport\",\"frontMatter\":{\"title\":\"Memory Import Processor\",\"filePath\":\"content/ru/core/memport.md\",\"timestamp\":1789666354000},\"title\":\"Процессор Импорта Памяти\"}],\"title\":\"Основные Детали\"},{\"name\":\"tools\",\"route\":\"/ru/tools\",\"children\":[{\"data\":{\"index\":{\"title\":\"Обзор Инструментов\"},\"file-system\":{\"title\":\"Инструменты Файловой Системы\"},\"multi-file\":{\"title\":\"Инструменты Чтения Множественных Файлов\"},\"shell\":{\"title\":\"Инструменты Shell\"},\"web-fetch\":{\"title\":\"Инструменты Web Fetch\"},\"web-search\":{\"title\":\"Инструменты Веб-Поиска\"},\"memory\":{\"title\":\"Инструменты Памяти\"},\"todo-write\":{\"title\":\"Инструмент Todo Write\"},\"mcp-server\":{\"title\":\"MCP Сервер\"}}},{\"name\":\"index\",\"route\":\"/ru/tools\",\"frontMatter\":{\"title\":\"Инструменты Qwen Code\",\"filePath\":\"content/ru/tools/index.md\",\"timestamp\":1789666354000},\"title\":\"Обзор Инструментов\"},{\"name\":\"file-system\",\"route\":\"/ru/tools/file-system\",\"frontMatter\":{\"title\":\"Инструменты файловой системы Qwen Code\",\"filePath\":\"content/ru/tools/file-system.md\",\"timestamp\":1789666354000},\"title\":\"Инструменты Файловой Системы\"},{\"name\":\"multi-file\",\"route\":\"/ru/tools/multi-file\",\"frontMatter\":{\"title\":\"Инструмент для чтения нескольких файлов (read_many_files)\",\"filePath\":\"content/ru/tools/multi-file.md\",\"timestamp\":1789666354000},\"title\":\"Инструменты Чтения Множественных Файлов\"},{\"name\":\"shell\",\"route\":\"/ru/tools/shell\",\"frontMatter\":{\"title\":\"Инструмент Shell (run_shell_command)\",\"filePath\":\"content/ru/tools/shell.md\",\"timestamp\":1789666354000},\"title\":\"Инструменты Shell\"},{\"name\":\"web-fetch\",\"route\":\"/ru/tools/web-fetch\",\"frontMatter\":{\"title\":\"Инструмент Web Fetch (web_fetch)\",\"filePath\":\"content/ru/tools/web-fetch.md\",\"timestamp\":1789666354000},\"title\":\"Инструменты Web Fetch\"},{\"name\":\"web-search\",\"route\":\"/ru/tools/web-search\",\"frontMatter\":{\"title\":\"Инструмент веб-поиска (web_search)\",\"filePath\":\"content/ru/tools/web-search.md\",\"timestamp\":1789666354000},\"title\":\"Инструменты Веб-Поиска\"},{\"name\":\"memory\",\"route\":\"/ru/tools/memory\",\"frontMatter\":{\"title\":\"Инструмент работы с памятью (save_memory)\",\"filePath\":\"content/ru/tools/memory.md\",\"timestamp\":1789666354000},\"title\":\"Инструменты Памяти\"},{\"name\":\"todo-write\",\"route\":\"/ru/tools/todo-write\",\"frontMatter\":{\"title\":\"Инструмент для работы с Todo (todo_write)\",\"filePath\":\"content/ru/tools/todo-write.md\",\"timestamp\":1789666354000},\"title\":\"Инструмент Todo Write\"},{\"name\":\"mcp-server\",\"route\":\"/ru/tools/mcp-server\",\"frontMatter\":{\"title\":\"MCP серверы с Qwen Code\",\"filePath\":\"content/ru/tools/mcp-server.md\",\"timestamp\":1789666354000},\"title\":\"MCP Сервер\"}],\"title\":\"Коллекция Инструментов\"},{\"name\":\"checkpointing\",\"route\":\"/ru/checkpointing\",\"frontMatter\":{\"title\":\"Checkpointing\",\"filePath\":\"content/ru/checkpointing.md\",\"timestamp\":1789666354000},\"title\":\"Функция Контрольных Точек\"},{\"name\":\"extension\",\"route\":\"/ru/extension\",\"frontMatter\":{\"title\":\"Расширения Qwen Code\",\"filePath\":\"content/ru/extension.md\",\"timestamp\":1789666354000},\"title\":\"Разработка Расширений\"},{\"name\":\"ide-integration\",\"route\":\"/ru/ide-integration\",\"frontMatter\":{\"title\":\"Интеграция с IDE\",\"filePath\":\"content/ru/ide-integration.md\",\"timestamp\":1789666354000},\"title\":\"Интеграция с IDE\"},{\"name\":\"telemetry\",\"route\":\"/ru/telemetry\",\"frontMatter\":{\"title\":\"Руководство по наблюдаемости Qwen Code\",\"filePath\":\"content/ru/telemetry.md\",\"timestamp\":1789666354000},\"title\":\"Наблюдаемость\"},{\"name\":\"examples\",\"route\":\"/ru/examples\",\"children\":[{\"data\":{\"proxy-script\":{\"title\":\"Пример Прокси-Скрипта\"}}},{\"name\":\"proxy-script\",\"route\":\"/ru/examples/proxy-script\",\"frontMatter\":{\"title\":\"Пример Proxy-скрипта\",\"filePath\":\"content/ru/examples/proxy-script.md\",\"timestamp\":1789666354000},\"title\":\"Пример Прокси-Скрипта\"}],\"title\":\"Примеры Кода\"},{\"name\":\"npm\",\"route\":\"/ru/npm\",\"frontMatter\":{\"title\":\"Обзор пакета\",\"filePath\":\"content/ru/npm.md\",\"timestamp\":1789666354000},\"title\":\"Управление Пакетами\"},{\"name\":\"gemini-ignore\",\"route\":\"/ru/gemini-ignore\",\"frontMatter\":{\"title\":\"Игнорирование файлов\",\"filePath\":\"content/ru/gemini-ignore.md\",\"timestamp\":1789666354000},\"title\":\"Конфигурация Игнорируемых Файлов\"},{\"name\":\"integration-tests\",\"route\":\"/ru/integration-tests\",\"frontMatter\":{\"title\":\"Интеграционные тесты\",\"filePath\":\"content/ru/integration-tests.md\",\"timestamp\":1789666354000},\"title\":\"Интеграционные Тесты\"},{\"name\":\"keyboard-shortcuts\",\"route\":\"/ru/keyboard-shortcuts\",\"frontMatter\":{\"title\":\"Горячие клавиши Qwen Code\",\"filePath\":\"content/ru/keyboard-shortcuts.md\",\"timestamp\":1789666354000},\"title\":\"Горячие Клавиши\"},{\"name\":\"sandbox\",\"route\":\"/ru/sandbox\",\"frontMatter\":{\"title\":\"Sandboxing в Qwen Code\",\"filePath\":\"content/ru/sandbox.md\",\"timestamp\":1789666354000},\"title\":\"Механизм Песочницы\"},{\"name\":\"issue-and-pr-automation\",\"route\":\"/ru/issue-and-pr-automation\",\"frontMatter\":{\"title\":\"Автоматизация и процессы_triage_\",\"filePath\":\"content/ru/issue-and-pr-automation.md\",\"timestamp\":1789666354000},\"title\":\"Автоматизированная Обработка\"},{\"name\":\"troubleshooting\",\"route\":\"/ru/troubleshooting\",\"frontMatter\":{\"title\":\"Руководство по устранению неполадок\",\"filePath\":\"content/ru/troubleshooting.md\",\"timestamp\":1789666354000},\"title\":\"Устранение Неполадок\"},{\"name\":\"tos-privacy\",\"route\":\"/ru/tos-privacy\",\"frontMatter\":{\"title\":\"Qwen Code: Условия использования и политика конфиденциальности\",\"filePath\":\"content/ru/tos-privacy.md\",\"timestamp\":1789666354000},\"title\":\"Условия Использования и Конфиденциальность\"},{\"name\":\"Uninstall\",\"route\":\"/ru/Uninstall\",\"frontMatter\":{\"title\":\"Удаление CLI\",\"filePath\":\"content/ru/Uninstall.md\",\"timestamp\":1789666354000},\"title\":\"Руководство по Удалению\"},{\"name\":\"subagents\",\"route\":\"/ru/subagents\",\"frontMatter\":{\"title\":\"Субагенты\",\"filePath\":\"content/ru/subagents.md\",\"timestamp\":1789666354000},\"title\":\"Субагенты\"}],\"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])~\u0026]: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\":[[\"$\",\"$L15\",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\"}]]}]}],[\"$\",\"$L16\",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\":\"$17\"}]}],false],\"className\":\"x:focus-visible:nextra-focus\"}],\"$undefined\",[\"$\",\"$L18\",null,{\"currentLang\":\"ru\"}]]}]]}]]}],\"footer\":null,\"children\":[[\"$\",\"$L19\",null,{}],[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"$7\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]]}]]}]}]\n"])</script><script>self.__next_f.push([1,"5:[\"$\",\"div\",null,{\"className\":\"x:mx-auto x:flex x:max-w-(--nextra-content-width)\",\"sourceCode\":\"$undefined\",\"children\":[\"$\",\"$L1a\",null,{\"value\":[{\"value\":[[\"$\",\"$1b\",\".0\",{\"children\":[\"1. \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"list_directory\"}],\" (ReadFolder)\"]}]],\"id\":\"1-list_directory-readfolder\",\"depth\":2},{\"value\":[[\"$\",\"$1b\",\".0\",{\"children\":[\"2. \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"read_file\"}],\" (ReadFile)\"]}]],\"id\":\"2-read_file-readfile\",\"depth\":2},{\"value\":[[\"$\",\"$1b\",\".0\",{\"children\":[\"3. \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"write_file\"}],\" (WriteFile)\"]}]],\"id\":\"3-write_file-writefile\",\"depth\":2},{\"value\":[[\"$\",\"$1b\",\".0\",{\"children\":[\"4. \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"glob\"}],\" (FindFiles)\"]}]],\"id\":\"4-glob-findfiles\",\"depth\":2},{\"value\":[[\"$\",\"$1b\",\".0\",{\"children\":[\"5. \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"search_file_content\"}],\" (SearchText)\"]}]],\"id\":\"5-search_file_content-searchtext\",\"depth\":2},{\"value\":[[\"$\",\"$1b\",\".0\",{\"children\":[\"Примеры использования \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"search_file_content\"}]]}]],\"id\":\"примеры-использования-search_file_content\",\"depth\":3},{\"value\":[[\"$\",\"$1b\",\".0\",{\"children\":[\"6. \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"edit\"}],\" (Редактирование)\"]}]],\"id\":\"6-edit-редактирование\",\"depth\":2}],\"children\":[[\"$\",\"$L1c\",null,{}],[\"$\",\"$L1d\",null,{\"metadata\":{\"title\":\"Инструменты файловой системы Qwen Code\",\"filePath\":\"content/ru/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\",\"$undefined\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-[1.25em] x:leading-7\",\"children\":\"Qwen Code предоставляет комплексный набор инструментов для взаимодействия с локальной файловой системой. Эти инструменты позволяют модели читать, записывать, перечислять, искать и изменять файлы и директории, всё под вашим контролем и, как правило, с подтверждением для чувствительных операций.\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-[1.25em] x:leading-7\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Примечание:\"}],\" Все инструменты файловой системы работают в пределах \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"rootDirectory\"}],\" (обычно это текущая рабочая директория, из которой вы запустили CLI) в целях безопасности. Пути, которые вы указываете этим инструментам, как правило, должны быть абсолютными или будут разрешены относительно этой корневой директории.\"]}],\"\\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)\"],[\"$\",\"$L1e\",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\"}],\" выводит список имен файлов и подкаталогов, находящихся непосредственно в указанном пути к каталогу. При необходимости можно игнорировать записи, соответствующие заданным glob-паттернам.\"]}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Имя инструмента:\"}],\" \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"list_directory\"}]]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Отображаемое имя:\"}],\" ReadFolder\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Файл:\"}],\" \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"ls.ts\"}]]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Параметры:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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, обязательный): Абсолютный путь к каталогу для вывода списка.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"ignore\"}],\" (массив строк, необязательный): Список glob-паттернов, которые нужно исключить из списка (например, \",[\"$\",\"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, необязательный): Учитывать ли паттерны из \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\".gitignore\"}],\" при выводе списка файлов. По умолчанию \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"true\"}],\".\"]}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Поведение:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":\"Показывает, является ли каждая запись каталогом.\"}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":\"Сортирует записи: сначала каталоги, затем в алфавитном порядке.\"}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":[\"Вывод (\",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"llmContent\"}],\"):\"]}],\" Строка вида: \",[\"$\",\"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\":\"Подтверждение:\"}],\" Нет.\"]}],\"\\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)\"],[\"$\",\"$L1e\",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\"}],\" читает и возвращает содержимое указанного файла. Этот инструмент работает с текстовыми файлами, изображениями (PNG, JPG, GIF, WEBP, SVG, BMP) и PDF-файлами. Для текстовых файлов можно читать определённые диапазоны строк. Другие бинарные файлы, как правило, пропускаются.\"]}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Название инструмента:\"}],\" \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"read_file\"}]]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Отображаемое имя:\"}],\" ReadFile\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Файл:\"}],\" \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"read-file.ts\"}]]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Параметры:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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, обязательный): Абсолютный путь к файлу для чтения.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"offset\"}],\" (number, опциональный): Для текстовых файлов — номер строки (с 0), с которой начинать чтение. Требует установки \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"limit\"}],\".\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"limit\"}],\" (number, опциональный): Для текстовых файлов — максимальное количество строк для чтения. Если не указан, читается стандартное максимальное количество (например, 2000 строк) или весь файл, если это возможно.\"]}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Поведение:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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\":\"offset\"}],\" и \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"limit\"}],\", возвращает только указанный диапазон строк. Указывает, если содержимое было обрезано из-за ограничений по количеству или длине строк.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":\"Для изображений и PDF-файлов: Возвращает содержимое файла в виде base64-закодированной структуры данных, подходящей для обработки моделью.\"}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":\"Для других бинарных файлов: Пытается определить и пропустить их, возвращая сообщение о том, что это обычный бинарный файл.\"}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Вывод:\"}],\" (\",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"llmContent\"}],\"):\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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 content truncated: showing lines 1-100 of 500 total lines...]\\\\nActual file content...\"}],\").\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[\"Для изображений/PDF-файлов: Объект, содержащий \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"inlineData\"}],\" с \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"mimeType\"}],\" и base64-кодированными \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"data\"}],\" (например, \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"{ inlineData: { mimeType: 'image/png', data: 'base64encodedstring' } }\"}],\").\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[\"Для других бинарных файлов: Сообщение вроде \",[\"$\",\"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\":\"Подтверждение:\"}],\" Нет.\"]}],\"\\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)\"],[\"$\",\"$L1e\",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\"}],\" записывает контент в указанный файл. Если файл существует, он будет перезаписан. Если файл не существует, он (и все необходимые родительские директории) будет создан.\"]}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Название инструмента:\"}],\" \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"write_file\"}]]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Отображаемое имя:\"}],\" WriteFile\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Файл:\"}],\" \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"write-file.ts\"}]]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Параметры:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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, обязательный): Абсолютный путь к файлу для записи.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"content\"}],\" (string, обязательный): Контент, который нужно записать в файл.\"]}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Поведение:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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\":\"content\"}],\" по указанному \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"file_path\"}],\".\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":\"Создает родительские директории, если они не существуют.\"}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":[\"Вывод (\",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"llmContent\"}],\"):\"]}],\" Сообщение об успешной операции, например: \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Successfully overwrote file: /path/to/your/file.txt\"}],\" или \",[\"$\",\"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\":\"Подтверждение:\"}],\" Да. Показывает diff изменений и запрашивает подтверждение пользователя перед записью.\"]}],\"\\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)\"],[\"$\",\"$L1e\",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\"}],\" находит файлы, соответствующие определенным glob-паттернам (например, \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"src/**/*.ts\"}],\", \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"*.md\"}],\"), и возвращает абсолютные пути, отсортированные по времени модификации (новые файлы первыми).\"]}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Название инструмента:\"}],\" \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"glob\"}]]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Отображаемое имя:\"}],\" FindFiles\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Файл:\"}],\" \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"glob.ts\"}]]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Параметры:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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, обязательный): glob-паттерн для поиска (например, \",[\"$\",\"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, опциональный): Абсолютный путь к директории, в которой нужно искать. Если не указан, поиск осуществляется в корневой директории инструмента.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"case_sensitive\"}],\" (boolean, опциональный): Учитывать ли регистр при поиске. По умолчанию \",[\"$\",\"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, опциональный): Следует ли учитывать паттерны из .gitignore при поиске файлов. По умолчанию \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"true\"}],\".\"]}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Поведение:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":\"Ищет файлы, соответствующие glob-паттерну в указанной директории.\"}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":\"Возвращает список абсолютных путей, отсортированных по времени модификации (новые файлы первыми).\"}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[\"По умолчанию игнорирует стандартные служебные директории, такие как \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"node_modules\"}],\" и \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\".git\"}],\".\"]}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":[\"Вывод (\",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"llmContent\"}],\"):\"]}],\" Сообщение вида: \",[\"$\",\"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\":\"Подтверждение:\"}],\" Нет.\"]}],\"\\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)\"],[\"$\",\"$L1e\",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\"}],\" ищет регулярное выражение (regex) в содержимом файлов указанной директории. Может фильтровать файлы по glob-паттерну. Возвращает строки с совпадениями, а также пути к файлам и номера строк.\"]}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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\":\"Имя инструмента:\"}],\" \",[\"$\",\"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\":\"Отображаемое имя:\"}],\" 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\":\"Файл:\"}],\" \",[\"$\",\"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\":\"Параметры:\"}]}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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, обязательный): Регулярное выражение для поиска (например, \",[\"$\",\"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, опциональный): Абсолютный путь к директории, в которой нужно искать. По умолчанию — текущая рабочая директория.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"include\"}],\" (string, опциональный): Glob-паттерн для фильтрации файлов (например, \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"\\\"*.js\\\"\"}],\", \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"\\\"src/**/*.{ts,tsx}\\\"\"}],\"). Если не указан, поиск осуществляется по большинству файлов (с учетом стандартных игнор-файлов).\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"maxResults\"}],\" (number, опциональный): Максимальное количество совпадений, которое будет возвращено, чтобы избежать переполнения контекста (по умолчанию: 20, максимум: 100). Используйте меньшие значения для широких поисков, большие — для точных.\"]}],\"\\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\":\"Поведение:\"}]}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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\":\"git grep\"}],\", если доступен в Git-репозитории, для повышения скорости; иначе использует системный \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"grep\"}],\" или поиск на JavaScript.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":\"Возвращает список строк с совпадениями, каждая из которых снабжена путем к файлу (относительно директории поиска) и номером строки.\"}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":\"По умолчанию ограничивает количество результатов 20 совпадениями, чтобы избежать переполнения контекста. При обрезке результатов выводится предупреждение с рекомендациями по уточнению запроса.\"}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-[1.25em] x:leading-7\",\"children\":[[\"$\",\"strong\",null,{\"children\":[\"Вывод (\",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"llmContent\"}],\"):\"]}],\" Отформатированная строка с совпадениями, например:\"]}],\"\\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\":[[\"$\",\"$L1f\",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\":\"Подтверждение:\"}],\" Нет.\"]}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"h3\",null,{\"id\":\"примеры-использования-search_file_content\",\"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\"}]],[\"$\",\"$L1e\",null,{\"id\":\"примеры-использования-search_file_content\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-[1.25em] x:leading-7\",\"children\":\"Поиск по паттерну с ограничением результатов по умолчанию:\"}],\"\\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\":[[\"$\",\"$L1f\",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\":\"Поиск по паттерну с пользовательским ограничением результатов:\"}],\"\\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\":[[\"$\",\"$L1f\",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\":\"Поиск по паттерну с фильтрацией файлов и пользовательским ограничением результатов:\"}],\"\\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\":[[\"$\",\"$L1f\",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-редактирование\",\"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\"}],\" (Редактирование)\"],[\"$\",\"$L1e\",null,{\"id\":\"6-edit-редактирование\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-[1.25em] x:leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"edit\"}],\" заменяет текст в файле. По умолчанию заменяется одно вхождение, но можно заменить несколько вхождений, если указать \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"expected_replacements\"}],\". Этот инструмент предназначен для точных, целевых изменений и требует значительного контекста вокруг \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"old_string\"}],\", чтобы убедиться, что он изменяет правильное место.\"]}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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\":\"Название инструмента:\"}],\" \",[\"$\",\"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\":\"Отображаемое имя:\"}],\" Редактирование\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-[1.25em] x:leading-7\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Файл:\"}],\" \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"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\":\"Параметры:\"}]}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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, обязательный): Абсолютный путь к файлу, который нужно изменить.\"]}],\"\\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, обязательный): Точный буквальный текст для замены.\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-[1.25em] x:leading-7\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"ВАЖНО:\"}],\" Эта строка должна однозначно идентифицировать единственный экземпляр для изменения. Она должна включать как минимум 3 строки контекста \",[\"$\",\"em\",null,{\"children\":\"до\"}],\" и \",[\"$\",\"em\",null,{\"children\":\"после\"}],\" целевого текста, точно соответствующего пробелам и отступам. Если \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"old_string\"}],\" пустая, инструмент пытается создать новый файл по пути \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"file_path\"}],\" с содержимым \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"new_string\"}],\".\"]}],\"\\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, обязательный): Точный буквальный текст, на который нужно заменить \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"old_string\"}],\".\"]}],\"\\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, опциональный): Количество вхождений для замены. По умолчанию — \",[\"$\",\"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\":\"Поведение:\"}]}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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\":\"old_string\"}],\" пустая и \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"file_path\"}],\" не существует, создается новый файл с содержимым \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"new_string\"}],\".\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[\"Если \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"old_string\"}],\" задана, инструмент читает \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"file_path\"}],\" и пытается найти ровно одно вхождение \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"old_string\"}],\".\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[\"Если одно вхождение найдено, оно заменяется на \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"new_string\"}],\".\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Повышенная надежность (многоэтапная коррекция редактирования):\"}],\" Чтобы значительно повысить вероятность успешного редактирования, особенно когда предоставленная моделью \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"old_string\"}],\" может быть не совсем точной, инструмент использует механизм многоэтапной коррекции редактирования.\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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\":\"old_string\"}],\" не найдена или совпадает с несколькими местами, инструмент может использовать модель Qwen для итеративного уточнения \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"old_string\"}],\" (и, возможно, \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"new_string\"}],\").\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[\"Этот процесс самокоррекции пытается определить уникальный сегмент, который модель хотела изменить, делая операцию \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"edit\"}],\" более надежной даже при немного неточном начальном контексте.\"]}],\"\\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\":\"Условия сбоя:\"}],\" Несмотря на механизм коррекции, инструмент завершится ошибкой, если:\"]}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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\"}],\" не является абсолютным или находится вне корневой директории.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"old_string\"}],\" не пустая, но \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"file_path\"}],\" не существует.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"old_string\"}],\" пустая, но \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"file_path\"}],\" уже существует.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"old_string\"}],\" не найдена в файле после попыток её корректировки.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"old_string\"}],\" встречается несколько раз, и механизм самокоррекции не может определить однозначное совпадение.\"]}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-[.5em]\",\"children\":[\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-[1.25em] x:leading-7\",\"children\":[\"$\",\"strong\",null,{\"children\":[\"Вывод (\",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"llmContent\"}],\"):\"]}]}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]: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\":\"Successfully modified file: /path/to/file.txt (1 replacements).\"}],\" или \",[\"$\",\"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\":[\"При ошибке: Сообщение об ошибке с объяснением причины (например, \",[\"$\",\"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\":\"Подтверждение:\"}],\" Да. Показывает diff предложенных изменений и запрашивает подтверждение пользователя перед записью в файл.\"]}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-[1.25em] x:leading-7\",\"children\":\"Эти инструменты файловой системы предоставляют основу для того, чтобы Qwen Code мог понимать и взаимодействовать с локальным контекстом вашего проекта.\"}]]}]]}]]}]}]\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Инструменты файловой системы Qwen Code | \"}],[\"$\",\"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 | \"}],[\"$\",\"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 | \"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:description\",\"content\":\"x\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:image\",\"content\":\"https://assets.vercel.com/image/upload/v1572282926/swr/twitter-card.jpg\"}]]\n4:null\n"])</script></body></html> |