mirror of
https://github.com/zenlm/zen-code-docs.git
synced 2026-10-30 14:58:40 +00:00
25 lines
45 KiB
Plaintext
25 lines
45 KiB
Plaintext
3:I[4707,[],""]
|
||
6:I[36423,[],""]
|
||
8:I[78400,["3185","static/chunks/app/layout-38b548b4f4d27f80.js"],"FontLoader"]
|
||
4:["lang","fr","d"]
|
||
5:["mdxPath","core/tools-api","oc"]
|
||
0:["0y8u-WGJo2VFWAF7bkrdx",[[["",{"children":[["lang","fr","d"],{"children":[["mdxPath","core/tools-api","oc"],{"children":["__PAGE__?{\"lang\":\"fr\",\"mdxPath\":[\"core\",\"tools-api\"]}",{}]}]}]},"$undefined","$undefined",true],["",{"children":[["lang","fr","d"],{"children":[["mdxPath","core/tools-api","oc"],{"children":["__PAGE__",{},[["$L1","$L2",[["$","link","0",{"rel":"stylesheet","href":"/qwen-code-docs/_next/static/css/04d76539cc2c4ebd.css","precedence":"next","crossOrigin":"$undefined"}]]],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","$4","children","$5","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,"$L7"],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/qwen-code-docs/_next/static/css/7fba7395046b8eaa.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$undefined",["$","style",null,{"children":":root {\n --nextra-primary-hue: 248deg;\n --nextra-primary-saturation: 74%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 248deg;\n --nextra-primary-saturation: 74%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":[["$","$L8",null,{}],["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]]}]]}]],null],null],["$L9",null]]]]
|
||
a:I[54108,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"ThemeConfigProvider"]
|
||
b:I[16016,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"LastUpdated"]
|
||
c:I[30763,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"Search"]
|
||
d:I[25922,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"ThemeProvider"]
|
||
e:I[94328,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"SkipNavLink"]
|
||
f:I[17691,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"ConfigProvider"]
|
||
10:I[72972,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],""]
|
||
11:I[88212,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"ClientNavbar"]
|
||
13:I[32594,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"LanguageDropdown"]
|
||
14:I[57191,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"MobileNav"]
|
||
15:I[18960,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"TOCProvider"]
|
||
16:I[57191,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"Sidebar"]
|
||
17:I[98270,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"ClientWrapper"]
|
||
18:I[56099,["5501","static/chunks/c16f53c3-b998f97655e65347.js","1105","static/chunks/1105-e07e82095c5c7b4a.js","5524","static/chunks/5524-d228bcaedae4ecb3.js","2770","static/chunks/2770-e894e62890be5e00.js","1084","static/chunks/app/%5Blang%5D/layout-11fe9b7075b678bf.js"],"HeadingAnchor"]
|
||
12:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z7:["$","$La",null,{"value":{"children":"$undefined","darkMode":true,"docsRepositoryBase":"https://github.com/QwenLM/qwen-code/blob/main/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[{"locale":"en","name":"English"},{"locale":"zh","name":"中文"},{"locale":"de","name":"Deutsch"},{"locale":"fr","name":"Français"},{"locale":"ru","name":"Русский"},{"locale":"ja","name":"日本語"}],"lastUpdated":["$","$Lb",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$Lc",null,{}],"sidebar":{"defaultMenuCollapseLevel":1,"defaultOpen":true,"toggleButton":true,"autoCollapse":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$Ld",null,{"attribute":"class","defaultTheme":"light","disableTransitionOnChange":true,"storageKey":"theme","children":[["$","$Le",null,{}],"$undefined",["$","$Lf",null,{"pageMap":[{"data":{"index":{"title":"Bienvenue dans la Documentation Qwen Code"},"deployment":{"title":"Exécution et Déploiement"},"architecture":{"title":"Vue d'ensemble de l'Architecture"},"cli":{"title":"Guide d'Utilisation CLI"},"core":{"title":"Détails du Noyau"},"tools":{"title":"Collection d'Outils"},"checkpointing":{"title":"Fonctionnalité de Checkpointing"},"extension":{"title":"Développement d'Extensions"},"ide-integration":{"title":"Intégration IDE"},"telemetry":{"title":"Observabilité"},"examples":{"title":"Code d'Exemple"},"npm":{"title":"Gestion des Packages"},"gemini-ignore":{"title":"Configuration des Fichiers à Ignorer"},"integration-tests":{"title":"Tests d'Intégration"},"keyboard-shortcuts":{"title":"Raccourcis Clavier"},"sandbox":{"title":"Mécanisme Sandbox"},"issue-and-pr-automation":{"title":"Traitement Automatisé"},"troubleshooting":{"title":"Dépannage"},"tos-privacy":{"title":"Conditions d'Utilisation et Confidentialité"},"Uninstall":{"title":"Guide de Désinstallation"}}},{"name":"index","route":"/fr","frontMatter":{"title":"Bienvenue dans la documentation de Qwen Code","filePath":"content/fr/index.md","timestamp":1789666354000},"title":"Bienvenue dans la Documentation Qwen Code"},{"name":"deployment","route":"/fr/deployment","frontMatter":{"title":"Exécution et déploiement de Qwen Code","filePath":"content/fr/deployment.md","timestamp":1789666354000},"title":"Exécution et Déploiement"},{"name":"architecture","route":"/fr/architecture","frontMatter":{"title":"Aperçu de l'architecture de Qwen Code","filePath":"content/fr/architecture.md","timestamp":1789666354000},"title":"Vue d'ensemble de l'Architecture"},{"name":"cli","route":"/fr/cli","children":[{"data":{"index":{"title":"Vue d'ensemble CLI"},"commands":{"title":"Référence des Commandes"},"configuration":{"title":"Guide de Configuration"},"authentication":{"title":"Configuration d'Authentification"},"openai-auth":{"title":"Authentification OpenAI"},"token-caching":{"title":"Mise en Cache des Tokens"},"themes":{"title":"Configuration des Thèmes"},"tutorials":{"title":"Tutoriels d'Utilisation"}}},{"name":"index","route":"/fr/cli","frontMatter":{"title":"Qwen Code CLI","filePath":"content/fr/cli/index.md","timestamp":1789666354000},"title":"Vue d'ensemble CLI"},{"name":"commands","route":"/fr/cli/commands","frontMatter":{"title":"Commandes CLI","filePath":"content/fr/cli/commands.md","timestamp":1789666354000},"title":"Référence des Commandes"},{"name":"configuration","route":"/fr/cli/configuration","frontMatter":{"title":"Configuration de Qwen Code","filePath":"content/fr/cli/configuration.md","timestamp":1789666354000},"title":"Guide de Configuration"},{"name":"authentication","route":"/fr/cli/authentication","frontMatter":{"title":"Configuration de l'authentification","filePath":"content/fr/cli/authentication.md","timestamp":1789666354000},"title":"Configuration d'Authentification"},{"name":"openai-auth","route":"/fr/cli/openai-auth","frontMatter":{"title":"Authentification OpenAI","filePath":"content/fr/cli/openai-auth.md","timestamp":1789666354000},"title":"Authentification OpenAI"},{"name":"token-caching","route":"/fr/cli/token-caching","frontMatter":{"title":"Mise en cache des tokens et optimisation des coûts","filePath":"content/fr/cli/token-caching.md","timestamp":1789666354000},"title":"Mise en Cache des Tokens"},{"name":"themes","route":"/fr/cli/themes","frontMatter":{"title":"Thèmes","filePath":"content/fr/cli/themes.md","timestamp":1789666354000},"title":"Configuration des Thèmes"},{"name":"tutorials","route":"/fr/cli/tutorials","frontMatter":{"title":"Tutoriels","filePath":"content/fr/cli/tutorials.md","timestamp":1789666354000},"title":"Tutoriels d'Utilisation"},{"name":"welcome-back","route":"/fr/cli/welcome-back","frontMatter":{"title":"Fonction Welcome Back","filePath":"content/fr/cli/welcome-back.md","timestamp":1789666354000},"title":"Fonction Welcome Back"}],"title":"Guide d'Utilisation CLI"},{"name":"core","route":"/fr/core","children":[{"data":{"index":{"title":"Vue d'ensemble du Noyau"},"tools-api":{"title":"API des Outils"},"memport":{"title":"Processeur d'Import Mémoire"}}},{"name":"index","route":"/fr/core","frontMatter":{"title":"Qwen Code Core","filePath":"content/fr/core/index.md","timestamp":1789666354000},"title":"Vue d'ensemble du Noyau"},{"name":"tools-api","route":"/fr/core/tools-api","frontMatter":{"title":"Qwen Code Core : API des Tools","filePath":"content/fr/core/tools-api.md","timestamp":1789666354000},"title":"API des Outils"},{"name":"memport","route":"/fr/core/memport","frontMatter":{"title":"Memory Import Processor","filePath":"content/fr/core/memport.md","timestamp":1789666354000},"title":"Processeur d'Import Mémoire"}],"title":"Détails du Noyau"},{"name":"tools","route":"/fr/tools","children":[{"data":{"index":{"title":"Vue d'ensemble des Outils"},"file-system":{"title":"Outils du Système de Fichiers"},"multi-file":{"title":"Outils de Lecture Multi-Fichiers"},"shell":{"title":"Outils Shell"},"web-fetch":{"title":"Outils Web Fetch"},"web-search":{"title":"Outils de Recherche Web"},"memory":{"title":"Outils Mémoire"},"todo-write":{"title":"Outil Todo Write"},"mcp-server":{"title":"Serveur MCP"}}},{"name":"index","route":"/fr/tools","frontMatter":{"title":"Outils de code Qwen","filePath":"content/fr/tools/index.md","timestamp":1789666354000},"title":"Vue d'ensemble des Outils"},{"name":"file-system","route":"/fr/tools/file-system","frontMatter":{"title":"Outils de système de fichiers Qwen Code","filePath":"content/fr/tools/file-system.md","timestamp":1789666354000},"title":"Outils du Système de Fichiers"},{"name":"multi-file","route":"/fr/tools/multi-file","frontMatter":{"title":"Multi File Read Tool (read_many_files)","filePath":"content/fr/tools/multi-file.md","timestamp":1789666354000},"title":"Outils de Lecture Multi-Fichiers"},{"name":"shell","route":"/fr/tools/shell","frontMatter":{"title":"Outil Shell (run_shell_command)","filePath":"content/fr/tools/shell.md","timestamp":1789666354000},"title":"Outils Shell"},{"name":"web-fetch","route":"/fr/tools/web-fetch","frontMatter":{"title":"Web Fetch Tool (web_fetch)","filePath":"content/fr/tools/web-fetch.md","timestamp":1789666354000},"title":"Outils Web Fetch"},{"name":"web-search","route":"/fr/tools/web-search","frontMatter":{"title":"Web Search Tool (web_search)","filePath":"content/fr/tools/web-search.md","timestamp":1789666354000},"title":"Outils de Recherche Web"},{"name":"memory","route":"/fr/tools/memory","frontMatter":{"title":"Outil Mémoire (save_memory)","filePath":"content/fr/tools/memory.md","timestamp":1789666354000},"title":"Outils Mémoire"},{"name":"todo-write","route":"/fr/tools/todo-write","frontMatter":{"title":"Outil Todo Write (todo_write)","filePath":"content/fr/tools/todo-write.md","timestamp":1789666354000},"title":"Outil Todo Write"},{"name":"mcp-server","route":"/fr/tools/mcp-server","frontMatter":{"title":"Serveurs MCP avec Qwen Code","filePath":"content/fr/tools/mcp-server.md","timestamp":1789666354000},"title":"Serveur MCP"}],"title":"Collection d'Outils"},{"name":"checkpointing","route":"/fr/checkpointing","frontMatter":{"title":"Checkpointing","filePath":"content/fr/checkpointing.md","timestamp":1789666354000},"title":"Fonctionnalité de Checkpointing"},{"name":"extension","route":"/fr/extension","frontMatter":{"title":"Extensions Qwen Code","filePath":"content/fr/extension.md","timestamp":1789666354000},"title":"Développement d'Extensions"},{"name":"ide-integration","route":"/fr/ide-integration","frontMatter":{"title":"Intégration IDE","filePath":"content/fr/ide-integration.md","timestamp":1789666354000},"title":"Intégration IDE"},{"name":"telemetry","route":"/fr/telemetry","frontMatter":{"title":"Guide d'observabilité de Qwen Code","filePath":"content/fr/telemetry.md","timestamp":1789666354000},"title":"Observabilité"},{"name":"examples","route":"/fr/examples","children":[{"data":{"proxy-script":{"title":"Exemple de Script Proxy"}}},{"name":"proxy-script","route":"/fr/examples/proxy-script","frontMatter":{"title":"Exemple de Script Proxy","filePath":"content/fr/examples/proxy-script.md","timestamp":1789666354000},"title":"Exemple de Script Proxy"}],"title":"Code d'Exemple"},{"name":"npm","route":"/fr/npm","frontMatter":{"title":"Aperçu du Package","filePath":"content/fr/npm.md","timestamp":1789666354000},"title":"Gestion des Packages"},{"name":"gemini-ignore","route":"/fr/gemini-ignore","frontMatter":{"title":"Ignorer des fichiers","filePath":"content/fr/gemini-ignore.md","timestamp":1789666354000},"title":"Configuration des Fichiers à Ignorer"},{"name":"integration-tests","route":"/fr/integration-tests","frontMatter":{"title":"Tests d'intégration","filePath":"content/fr/integration-tests.md","timestamp":1789666354000},"title":"Tests d'Intégration"},{"name":"keyboard-shortcuts","route":"/fr/keyboard-shortcuts","frontMatter":{"title":"Raccourcis clavier de Qwen Code","filePath":"content/fr/keyboard-shortcuts.md","timestamp":1789666354000},"title":"Raccourcis Clavier"},{"name":"sandbox","route":"/fr/sandbox","frontMatter":{"title":"Sandboxing dans Qwen Code","filePath":"content/fr/sandbox.md","timestamp":1789666354000},"title":"Mécanisme Sandbox"},{"name":"issue-and-pr-automation","route":"/fr/issue-and-pr-automation","frontMatter":{"title":"Processus d'automatisation et de triage","filePath":"content/fr/issue-and-pr-automation.md","timestamp":1789666354000},"title":"Traitement Automatisé"},{"name":"troubleshooting","route":"/fr/troubleshooting","frontMatter":{"title":"Guide de dépannage","filePath":"content/fr/troubleshooting.md","timestamp":1789666354000},"title":"Dépannage"},{"name":"tos-privacy","route":"/fr/tos-privacy","frontMatter":{"title":"Qwen Code : Conditions d'utilisation et Politique de confidentialité","filePath":"content/fr/tos-privacy.md","timestamp":1789666354000},"title":"Conditions d'Utilisation et Confidentialité"},{"name":"Uninstall","route":"/fr/Uninstall","frontMatter":{"title":"Désinstaller la CLI","filePath":"content/fr/Uninstall.md","timestamp":1789666354000},"title":"Guide de Désinstallation"},{"name":"subagents","route":"/fr/subagents","frontMatter":{"title":"Subagents","filePath":"content/fr/subagents.md","timestamp":1789666354000},"title":"Subagents"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L10",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","aria-label":"Home page","children":["$","span",null,{"className":"ms-2 select-none font-extrabold flex items-center","title":"Qwen Code: AI Coding Agent","children":[["$","img",null,{"src":"https://assets.alicdn.com/g/qwenweb/qwen-webui-fe/0.0.191/static/favicon.png","alt":"Qwen Code","width":32,"height":32,"className":"inline-block align-middle mr-2 ","style":{"verticalAlign":"middle"}}],["$","span",null,{"className":"text-[1.3rem] font-normal align-middle mr-1 max-md:hidden","children":"Qwen"}],["$","span",null,{"className":"text-[1.3rem] font-normal align-middle max-md:hidden","children":"Code"}]]}]}],["$","$L11",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/QwenLM/qwen-code","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","aria-label":"Project repository","children":["$","path",null,{"d":"$12"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined",["$","$L13",null,{"currentLang":"fr"}]]}]]}]]}],"footer":null,"children":[["$","$L14",null,{}],["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]]}]]}]}]
|
||
2:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","sourceCode":"$undefined","children":["$","$L15",null,{"value":[{"value":"Concepts clés","id":"concepts-clés","depth":2},{"value":"Outils intégrés","id":"outils-intégrés","depth":2},{"value":"Flux d’exécution des outils","id":"flux-dexécution-des-outils","depth":2},{"value":"Extension avec des outils personnalisés","id":"extension-avec-des-outils-personnalisés","depth":2}],"children":[["$","$L16",null,{}],["$","$L17",null,{"metadata":{"title":"Qwen Code Core : API des Tools","filePath":"content/fr/core/tools-api.md","timestamp":1789666354000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Qwen Code Core : API des Tools","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":["Le cœur de Qwen Code (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"packages/core"}],") dispose d’un système robuste pour définir, enregistrer et exécuter des tools. Ces tools étendent les capacités du modèle, lui permettant d’interagir avec l’environnement local, de récupérer du contenu web et d’effectuer diverses actions au-delà de la simple génération de texte."]}],"\n",["$","h2",null,{"id":"concepts-clés","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":["Concepts clés",["$","$L18",null,{"id":"concepts-clés"}]]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":["\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","strong",null,{"children":["Tool (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"tools.ts"}],") :"]}]," Une interface et une classe de base (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"BaseTool"}],") qui définissent le contrat pour tous les outils. Chaque outil doit avoir :"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"name"}]," : Un nom interne unique (utilisé dans les appels API au modèle)."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"displayName"}]," : Un nom convivial pour l’utilisateur."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"description"}]," : Une explication claire de ce que fait l’outil, fournie au modèle."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"parameterSchema"}]," : Un schéma JSON définissant les paramètres acceptés par l’outil. Cela permet au modèle de comprendre comment appeler l’outil correctement."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"validateToolParams()"}]," : Une méthode pour valider les paramètres entrants."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"getDescription()"}]," : Une méthode qui fournit une description lisible par un humain de ce que l’outil va faire avec des paramètres spécifiques avant son exécution."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"shouldConfirmExecute()"}]," : Une méthode pour déterminer si une confirmation utilisateur est nécessaire avant l’exécution (par exemple, pour les opérations potentiellement destructrices)."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"execute()"}]," : La méthode principale qui effectue l’action de l’outil et retourne un ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ToolResult"}],"."]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","strong",null,{"children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ToolResult"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"tools.ts"}],") :"]}]," Une interface définissant la structure du résultat d’exécution d’un outil :"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"llmContent"}]," : Le contenu factuel à inclure dans l’historique envoyé au LLM pour le contexte. Cela peut être une simple chaîne de caractères ou un ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"PartListUnion"}]," (un tableau d’objets ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Part"}]," et de chaînes) pour du contenu riche."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"returnDisplay"}]," : Une chaîne conviviale (souvent en Markdown) ou un objet spécial (comme ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"FileDiff"}],") destiné à être affiché dans le CLI."]}],"\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":"Retour de contenu riche :"}]," Les outils ne sont pas limités au retour de texte simple. Le ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"llmContent"}]," peut être un ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"PartListUnion"}],", c’est-à-dire un tableau pouvant contenir un mélange d’objets ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Part"}]," (pour les images, l’audio, etc.) et de ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"string"}],". Cela permet à une seule exécution d’outil de renvoyer plusieurs éléments de contenu riche."]}],"\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":["Registre des outils (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"tool-registry.ts"}],") :"]}]," Une classe (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ToolRegistry"}],") responsable de :"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"L’enregistrement des outils :"}]," Maintenir une collection de tous les outils intégrés disponibles (par exemple, ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ReadFileTool"}],", ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ShellTool"}],")."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"La découverte dynamique des outils :"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Découverte via commande :"}]," Si ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"toolDiscoveryCommand"}]," est configurée dans les paramètres, cette commande est exécutée. Elle doit retourner un JSON décrivant des outils personnalisés, qui sont ensuite enregistrés comme des instances de ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"DiscoveredTool"}],"."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Découverte via MCP :"}]," Si ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"mcpServerCommand"}]," est configurée, le registre peut se connecter à un serveur utilisant le Model Context Protocol (MCP) pour lister et enregistrer des outils (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"DiscoveredMCPTool"}],")."]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Fournir les schémas :"}]," Exposer les schémas ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"FunctionDeclaration"}]," de tous les outils enregistrés au modèle, afin qu’il sache quels outils sont disponibles et comment les utiliser."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Récupérer les outils :"}]," Permettre au cœur de l’application d’obtenir un outil spécifique par son nom pour l’exécuter."]}],"\n"]}],"\n"]}],"\n"]}],"\n",["$","h2",null,{"id":"outils-intégrés","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":["Outils intégrés",["$","$L18",null,{"id":"outils-intégrés"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":["Le cœur inclut une suite d’outils prédéfinis, généralement situés dans ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"packages/core/src/tools/"}],". Elle comprend :"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Outils du système de fichiers :"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"LSTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ls.ts"}],") : Liste le contenu d’un répertoire."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ReadFileTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"read-file.ts"}],") : Lit le contenu d’un seul fichier. Il prend un paramètre ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"absolute_path"}],", qui doit être un chemin absolu."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"WriteFileTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"write-file.ts"}],") : Écrit du contenu dans un fichier."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"GrepTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"grep.ts"}],") : Recherche des motifs dans des fichiers."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"GlobTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"glob.ts"}],") : Trouve des fichiers correspondant à des motifs glob."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"EditTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"edit.ts"}],") : Effectue des modifications sur place dans des fichiers (souvent avec demande de confirmation)."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ReadManyFilesTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"read-many-files.ts"}],") : Lit et concatène le contenu de plusieurs fichiers ou motifs glob (utilisé par la commande ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"@"}]," dans le CLI)."]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Outils d’exécution :"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ShellTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"shell.ts"}],") : Exécute des commandes shell arbitraires (nécessite un sandboxing rigoureux et la confirmation de l’utilisateur)."]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Outils web :"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"WebFetchTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"web-fetch.ts"}],") : Récupère le contenu d’une URL."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"WebSearchTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"web-search.ts"}],") : Effectue une recherche web."]}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Outils de mémoire :"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"MemoryTool"}]," (",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"memoryTool.ts"}],") : Interagit avec la mémoire de l’IA."]}],"\n"]}],"\n"]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":["Chacun de ces outils étend ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"BaseTool"}]," et implémente les méthodes requises pour sa fonctionnalité spécifique."]}],"\n",["$","h2",null,{"id":"flux-dexécution-des-outils","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":["Flux d’exécution des outils",["$","$L18",null,{"id":"flux-dexécution-des-outils"}]]}],"\n",["$","ol",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-decimal x:ms-6","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Requête du modèle :"}]," Le modèle, en se basant sur le prompt de l’utilisateur et les schémas d’outils fournis, décide d’utiliser un outil et renvoie une partie ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"FunctionCall"}]," dans sa réponse, en spécifiant le nom de l’outil et les arguments."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Réception par le Core :"}]," Le core analyse cette ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"FunctionCall"}],"."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Récupération de l’outil :"}]," Il recherche l’outil demandé dans le ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ToolRegistry"}],"."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Validation des paramètres :"}]," La méthode ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"validateToolParams()"}]," de l’outil est appelée."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Confirmation (si nécessaire) :"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":["La méthode ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"shouldConfirmExecute()"}]," de l’outil est appelée."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"Si elle renvoie des détails nécessitant une confirmation, le core les transmet au CLI, qui invite alors l’utilisateur à confirmer."}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":"La décision de l’utilisateur (ex. : continuer, annuler) est renvoyée au core."}],"\n"]}],"\n"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Exécution :"}]," Si les paramètres sont validés et confirmés (ou si aucune confirmation n’est requise), le core appelle la méthode ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"execute()"}]," de l’outil avec les arguments fournis ainsi qu’un ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"AbortSignal"}]," (pour permettre une éventuelle annulation)."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Traitement du résultat :"}]," Le ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ToolResult"}]," provenant de la méthode ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"execute()"}]," est reçu par le core."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Réponse au modèle :"}]," Le ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"llmContent"}]," issu du ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ToolResult"}]," est encapsulé dans un ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"FunctionResponse"}]," et renvoyé au modèle afin qu’il puisse continuer à générer une réponse destinée à l’utilisateur."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Affichage à l’utilisateur :"}]," Le ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"returnDisplay"}]," du ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ToolResult"}]," est envoyé au CLI pour montrer à l’utilisateur ce que l’outil a effectué."]}],"\n"]}],"\n",["$","h2",null,{"id":"extension-avec-des-outils-personnalisés","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":["Extension avec des outils personnalisés",["$","$L18",null,{"id":"extension-avec-des-outils-personnalisés"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"Même si l’enregistrement programmatique direct de nouveaux outils par les utilisateurs n’est pas explicitement décrit comme un flux de travail principal dans les fichiers fournis pour les utilisateurs finaux typiques, l’architecture prend en charge l’extension via :"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Découverte basée sur des commandes :"}]," Les utilisateurs avancés ou les administrateurs de projet peuvent définir une ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"toolDiscoveryCommand"}]," dans le fichier ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"settings.json"}],". Cette commande, lorsqu’elle est exécutée par le noyau, doit renvoyer un tableau JSON d’objets ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"FunctionDeclaration"}],". Le noyau les rendra alors disponibles en tant qu’instances de ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"DiscoveredTool"}],". La ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"toolCallCommand"}]," correspondante sera ensuite chargée d’exécuter effectivement ces outils personnalisés."]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":[["$","strong",null,{"children":"Serveur(s) MCP :"}]," Pour des scénarios plus complexes, un ou plusieurs serveurs MCP peuvent être configurés via le paramètre ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"mcpServers"}]," dans le fichier ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"settings.json"}],". Le noyau peut alors découvrir et utiliser les outils exposés par ces serveurs. Comme mentionné précédemment, si vous avez plusieurs serveurs MCP, les noms des outils seront préfixés avec le nom du serveur défini dans votre configuration (par exemple, ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"serverAlias__actualToolName"}],")."]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"Ce système d’outils offre un moyen flexible et puissant d’augmenter les capacités du modèle, faisant de Qwen Code un assistant polyvalent pour une large gamme de tâches."}]]}]]}]]}]}]
|
||
9:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Qwen Code Core : API des Tools | "}],["$","meta","3",{"name":"description","content":"x"}],["$","meta","4",{"name":"msapplication-TileColor","content":"#fff"}],["$","meta","5",{"name":"apple-mobile-web-app-capable","content":"yes"}],["$","meta","6",{"name":"apple-mobile-web-app-title","content":"Qwen Code"}],["$","meta","7",{"name":"apple-mobile-web-app-status-bar-style","content":"default"}],["$","meta","8",{"property":"og:title","content":"Qwen Code Core : API des Tools | "}],["$","meta","9",{"property":"og:description","content":"x"}],["$","meta","10",{"property":"og:image","content":"https://assets.vercel.com/image/upload/v1572282926/swr/twitter-card.jpg"}],["$","meta","11",{"name":"twitter:card","content":"summary"}],["$","meta","12",{"name":"twitter:site","content":"@qwenLLM"}],["$","meta","13",{"name":"twitter:title","content":"Qwen Code Core : API des Tools | "}],["$","meta","14",{"name":"twitter:description","content":"x"}],["$","meta","15",{"name":"twitter:image","content":"https://assets.vercel.com/image/upload/v1572282926/swr/twitter-card.jpg"}]]
|
||
1:null
|