nonebot-plugin-marshoai/dev/extension.html

54 lines
95 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-Hans" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>扩展开发 | 小棉智能</title>
<meta name="description" content="可爱,智能且易扩展">
<meta name="generator" content="VitePress v1.6.3">
<link rel="preload stylesheet" href="/assets/style.DvoidLlL.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.B_RH-Usd.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/theme.NEjmdO-F.js">
<link rel="modulepreload" href="/assets/chunks/framework.BzDBnRMZ.js">
<link rel="modulepreload" href="/assets/dev_extension.md.sCH8l0Kd.lean.js">
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-46cada41><!--[--><!--]--><!--[--><span tabindex="-1" data-v-82af304d></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-82af304d>Skip to content</a><!--]--><!----><header class="VPNav" data-v-46cada41 data-v-0ec1cc98><div class="VPNavBar" data-v-0ec1cc98 data-v-97e37718><div class="wrapper" data-v-97e37718><div class="container" data-v-97e37718><div class="title" data-v-97e37718><div class="VPNavBarTitle has-sidebar" data-v-97e37718 data-v-9620ba61><a class="title" href="/" data-v-9620ba61><!--[--><!--]--><!--[--><!--[--><!--[--><img class="VPImage dark logo" src="/marsho-full.svg" alt="Marsho Logo" data-v-ce14eec4><!--]--><!--[--><img class="VPImage light logo" src="/marsho-full.svg" alt="Marsho Logo" data-v-ce14eec4><!--]--><!--]--><!--]--><span data-v-9620ba61>小棉智能</span><!--[--><!--]--></a></div></div><div class="content" data-v-97e37718><div class="content-body" data-v-97e37718><!--[--><!--]--><div class="VPNavBarSearch search" data-v-97e37718><!----></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-97e37718 data-v-fd0d02da><span id="main-nav-aria-label" class="visually-hidden" data-v-fd0d02da> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-fd0d02da data-v-c7cdc412><!--[--><span data-v-c7cdc412></span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/start/use" tabindex="0" data-v-fd0d02da data-v-c7cdc412><!--[--><span data-v-c7cdc412>使用</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/dev/extension" tabindex="0" data-v-fd0d02da data-v-c7cdc412><!--[--><span data-v-c7cdc412>开发</span><!--]--></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-97e37718 data-v-da60b316 data-v-3174d294><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="语言" data-v-3174d294><span class="text" data-v-3174d294><span class="vpi-languages option-icon" data-v-3174d294></span><!----><span class="vpi-chevron-down text-icon" data-v-3174d294></span></span></button><div class="menu" data-v-3174d294><div class="VPMenu" data-v-3174d294 data-v-90ca5f1b><!----><!--[--><!--[--><div class="items" data-v-da60b316><p class="title" data-v-da60b316>简体中文</p><!--[--><div class="VPMenuLink" data-v-da60b316 data-v-5a3b110a><a class="VPLink link" href="/en/dev/extension" data-v-5a3b110a><!--[--><span data-v-5a3b110a>English</span><!--]--></a></div><div class="VPMenuLink" data-v-da60b316 data-v-5a3b110a><a class="VPLink link" href="/ja/dev/extension" data-v-5a3b110a><!--[--><span data-v-5a3b110a>日本語</span><!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-97e37718 data-v-b569c26a><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-b569c26a data-v-a8d11977 data-v-d4fb1d40><span class="check" data-v-d4fb1d40><span class="icon" data-v-d4fb1d40><!--[--><span class="vpi-sun sun" data-v-a8d11977></span><span class="vpi-moon moon" data-v-a8d11977></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-97e37718 data-v-25e71cd1 data-v-93344165><!--[--><a class="VPSocialLink no-icon" href="https://github.com/LiteyukiStudio/nonebot-plugin-marshoai" aria-label="github" target="_blank" rel="noopener" data-v-93344165 data-v-b8870a62><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://git.liteyuki.icu/LiteyukiStudio/nonebot-plugin-marshoai" aria-label target="_blank" rel="noopener" data-v-93344165 data-v-b8870a62><svg t="1725391346807" class="icon" viewBox="0 0 1025 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5067" width="256" height="256"><path d="M1004.692673 466.396616l-447.094409-447.073929c-25.743103-25.763582-67.501405-25.763582-93.264987 0l-103.873521 103.873521 78.171378 78.171378c12.533635-6.00058 26.562294-9.359266 41.389666-9.359266 53.02219 0 96.00928 42.98709 96.00928 96.00928 0 14.827372-3.358686 28.856031-9.359266 41.389666l127.97824 127.97824c12.533635-6.00058 26.562294-9.359266 41.389666-9.359266 53.02219 0 96.00928 42.98709 96.00928 96.00928s-42.98709 96.00928-96.00928 96.00928-96.00928-42.98709-96.00928-96.00928c0-14.827372 3.358686-28.856031 9.359266-41.389666l-127.97824-127.97824c-3.051489 1.454065-6.184898 2.744293-9.379746 3.870681l0 266.97461c37.273227 13.188988 63.99936 48.721433 63.99936 90.520695 0 53.02219-42.98709 96.00928-96.00928 96.00928s-96.00928-42.98709-96.00928-96.00928c0-41.799262 26.726133-77.331707 63.99936-90.520695l0-266.97461c-37.273227-13.188988-63.99936-48.721433-63.99936-90.520695 0-14.827372 3.358686-28.856031 9.359266-41.389666l-78.171378-78.171378-295.892081 295.871601c-25.743103 25.784062-25.743103 67.542365 0 93.285467l447.114889 447.073929c25.743103 25.743103 67.480925 25.743103 93.264987 0l445.00547-445.00547c25.763582-25.763582 25.763582-67.542365 0-93.285467z" fill="#a2d8f4" p-id="5068"></path></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-97e37718 data-v-7f49392e data-v-3174d294><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-3174d294><span class="vpi-more-horizontal icon" data-v-3174d294></span></button><div class="menu" data-v-3174d294><div class="VPMenu" data-v-3174d294 data-v-90ca5f1b><!----><!--[--><!--[--><div class="group translations" data-v-7f49392e><p class="trans-title" data-v-7f49392e>简体中文</p><!--[--><div class="VPMenuLink" data-v-7f49392e data-v-5a3b110a><a class="VPLink link" href="/en/dev/extension" data-v-5a3b110a><!--[--><span data-v-5a3b110a>English</span><!--]--></a></div><div class="VPMenuLink" data-v-7f49392e data-v-5a3b110a><a class="VPLink link" href="/ja/dev/extension" data-v-5a3b110a><!--[--><span data-v-5a3b110a>日本語</span><!--]--></a></div><!--]--></div><div class="group" data-v-7f49392e><div class="item appearance" data-v-7f49392e><p class="label" data-v-7f49392e>主题</p><div class="appearance-action" data-v-7f49392e><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-7f49392e data-v-a8d11977 data-v-d4fb1d40><span class="check" data-v-d4fb1d40><span class="icon" data-v-d4fb1d40><!--[--><span class="vpi-sun sun" data-v-a8d11977></span><span class="vpi-moon moon" data-v-a8d11977></span><!--]--></span></span></button></div></div></div><div class="group" data-v-7f49392e><div class="item social-links" data-v-7f49392e><div class="VPSocialLinks social-links-list" data-v-7f49392e data-v-93344165><!--[--><a class="VPSocialLink no-icon" href="https://github.com/LiteyukiStudio/nonebot-plugin-marshoai" aria-label="github" target="_blank" rel="noopener" data-v-93344165 data-v-b8870a62><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://git.liteyuki.icu/LiteyukiStudio/nonebot-plugin-marshoai" aria-label target="_blank" rel="noopener" data-v-93344165 data-v-b8870a62><svg t="1725391346807" class="icon" viewBox="0 0 1025 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5067" width="256" height="256"><path d="M1004.692673 466.396616l-447.094409-447.073929c-25.743103-25.763582-67.501405-25.763582-93.264987 0l-103.873521 103.873521 78.171378 78.171378c12.533635-6.00058 26.562294-9.359266 41.389666-9.359266 53.02219 0 96.00928 42.98709 96.00928 96.00928 0 14.827372-3.358686 28.856031-9.359266 41.389666l127.97824 127.97824c12.533635-6.00058 26.562294-9.359266 41.389666-9.359266 53.02219 0 96.00928 42.98709 96.00928 96.00928s-42.98709 96.00928-96.00928 96.00928-96.00928-42.98709-96.00928-96.00928c0-14.827372 3.358686-28.856031 9.359266-41.389666l-127.97824-127.97824c-3.051489 1.454065-6.184898 2.744293-9.379746 3.870681l0 266.97461c37.273227 13.188988 63.99936 48.721433 63.99936 90.520695 0 53.02219-42.98709 96.00928-96.00928 96.00928s-96.00928-42.98709-96.00928-96.00928c0-41.799262 26.726133-77.331707 63.99936-90.520695l0-266.97461c-37.273227-13.188988-63.99936-48.721433-63.99936-90.520695 0-14.827372 3.358686-28.856031 9.359266-41.389666l-78.171378-78.171378-295.892081 295.871601c-25.743103 25.784062-25.743103 67.542365 0 93.285467l447.114889 447.073929c25.743103 25.743103 67.480925 25.743103 93.264987 0l445.00547-445.00547c25.763582-25.763582 25.763582-67.542365 0-93.285467z" fill="#a2d8f4" p-id="5068"></path></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-97e37718 data-v-3c8ac357><span class="container" data-v-3c8ac357><span class="top" data-v-3c8ac357></span><span class="middle" data-v-3c8ac357></span><span class="bottom" data-v-3c8ac357></span></span></button></div></div></div></div><div class="divider" data-v-97e37718><div class="divider-line" data-v-97e37718></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-46cada41 data-v-2dee1f17><div class="container" data-v-2dee1f17><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-2dee1f17><span class="vpi-align-left menu-icon" data-v-2dee1f17></span><span class="menu-text" data-v-2dee1f17>菜单</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-2dee1f17 data-v-706d3217><button data-v-706d3217>返回顶部</button><!----></div></div></div><aside class="VPSidebar" data-v-46cada41 data-v-2a145dbd><div class="curtain" data-v-2a145dbd></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-2a145dbd><span class="visually-hidden" id="sidebar-aria-label" data-v-2a145dbd> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-45128375><section class="VPSidebarItem level-0 has-active" data-v-45128375 data-v-4cd12723><div class="item" role="button" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><h2 class="text" data-v-4cd12723>MARSHOAI</h2><!----></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-1 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/project" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>项目开发</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/extension" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>扩展开发</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/index" data-v-4cd12723><!--[--><h3 class="text" data-v-4cd12723>api</h3><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/azure" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>azure</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/azure_onebot" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>azure_onebot</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-2 collapsible collapsed" data-v-4cd12723 data-v-4cd12723><div class="item" role="button" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><h4 class="text" data-v-4cd12723>plugins</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/marshoai_basic/index" data-v-4cd12723><!--[--><h5 class="text" data-v-4cd12723>marshoai_basic</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/marshoai_basic/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/builtin_tools/index" data-v-4cd12723><!--[--><h5 class="text" data-v-4cd12723>builtin_tools</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/builtin_tools/chat" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>chat</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/builtin_tools/file_io" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>file_io</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/builtin_tools/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/builtin_tools/liteyuki" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>liteyuki</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/builtin_tools/manager" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>manager</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/builtin_tools/network" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>network</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/builtin_tools/utils" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>utils</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/marshoai_bangumi/index" data-v-4cd12723><!--[--><h5 class="text" data-v-4cd12723>marshoai_bangumi</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/marshoai_bangumi/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/twisuki_megakits/index" data-v-4cd12723><!--[--><h5 class="text" data-v-4cd12723>twisuki_megakits</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/twisuki_megakits/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/twisuki_megakits/mk_morse_code" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>mk_morse_code</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/twisuki_megakits/mk_nya_code" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>mk_nya_code</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/twisuki_petcat/index" data-v-4cd12723><!--[--><h5 class="text" data-v-4cd12723>twisuki_petcat</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/twisuki_petcat/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/twisuki_petcat/pc_cat" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>pc_cat</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/twisuki_petcat/pc_info" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>pc_info</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/twisuki_petcat/pc_shop" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>pc_shop</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins/twisuki_petcat/pc_token" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>pc_token</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed" data-v-4cd12723 data-v-4cd12723><div class="item" role="button" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><h4 class="text" data-v-4cd12723>plugins_test</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins_test/marshoai_basic/index" data-v-4cd12723><!--[--><h5 class="text" data-v-4cd12723>marshoai_basic</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins_test/marshoai_basic/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins_test/marshoai_memory/index" data-v-4cd12723><!--[--><h5 class="text" data-v-4cd12723>marshoai_memory</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins_test/marshoai_memory/command" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>command</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins_test/marshoai_memory/config" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>config</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins_test/marshoai_memory/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-3 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins_test/random_number_generator" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>random_number_generator</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins_test/snowykami_testplugin/index" data-v-4cd12723><!--[--><h5 class="text" data-v-4cd12723>snowykami_testplugin</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins_test/snowykami_testplugin/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-3 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugins_test/weather_demo" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>weather_demo</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed" data-v-4cd12723 data-v-4cd12723><div class="item" role="button" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><h4 class="text" data-v-4cd12723>tools</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_bangumi/index" data-v-4cd12723><!--[--><h5 class="text" data-v-4cd12723>marshoai_bangumi</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_bangumi/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_basic/index" data-v-4cd12723><!--[--><h5 class="text" data-v-4cd12723>marshoai_basic</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_basic/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_megakits/index" data-v-4cd12723><!--[--><h5 class="text" data-v-4cd12723>marshoai_megakits</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_megakits/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_megakits/mk_common" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>mk_common</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_megakits/mk_info" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>mk_info</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_megakits/mk_morse_code" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>mk_morse_code</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_megakits/mk_nya_code" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>mk_nya_code</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_memory/index" data-v-4cd12723><!--[--><h5 class="text" data-v-4cd12723>marshoai_memory</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_memory/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_meogirl/index" data-v-4cd12723><!--[--><h5 class="text" data-v-4cd12723>marshoai_meogirl</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_meogirl/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_meogirl/mg_info" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>mg_info</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_meogirl/mg_introduce" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>mg_introduce</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools/marshoai_meogirl/mg_search" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>mg_search</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed" data-v-4cd12723 data-v-4cd12723><div class="item" role="button" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><h4 class="text" data-v-4cd12723>tools_wip</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools_wip/marshoai_memory/index" data-v-4cd12723><!--[--><h5 class="text" data-v-4cd12723>marshoai_memory</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/tools_wip/marshoai_memory/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/config" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>config</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/constants" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>constants</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/deal_latex" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>deal_latex</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/dev" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>dev</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/hooks" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>hooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/hunyuan" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>hunyuan</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/instances" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>instances</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/marsho" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>marsho</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/marsho_onebot" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>marsho_onebot</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/metadata" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>metadata</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/models" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>models</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/observer" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>observer</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugin/index" data-v-4cd12723><!--[--><h4 class="text" data-v-4cd12723>plugin</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-3 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugin/register" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>register</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-4cd12723 data-v-4cd12723><div class="item" tabindex="0" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugin/func_call/index" data-v-4cd12723><!--[--><h5 class="text" data-v-4cd12723>func_call</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-4cd12723><span class="vpi-chevron-right caret-icon" data-v-4cd12723></span></div></div><div class="items" data-v-4cd12723><!--[--><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugin/func_call/caller" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>caller</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugin/func_call/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugin/func_call/models" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>models</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugin/func_call/params" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>params</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-4 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugin/func_call/utils" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>utils</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-3 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugin/" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>index</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugin/load" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>load</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugin/models" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>models</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugin/typing" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>typing</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/plugin/utils" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>utils</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/util" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>util</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-4cd12723 data-v-4cd12723><div class="item" data-v-4cd12723><div class="indicator" data-v-4cd12723></div><a class="VPLink link link" href="/dev/api/util_hunyuan" data-v-4cd12723><!--[--><p class="text" data-v-4cd12723>util_hunyuan</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-46cada41 data-v-d4bdad33><div class="VPDoc has-sidebar has-aside" data-v-d4bdad33 data-v-03864d9f><!--[--><!--]--><div class="container" data-v-03864d9f><div class="aside" data-v-03864d9f><div class="aside-curtain" data-v-03864d9f></div><div class="aside-container" data-v-03864d9f><div class="aside-content" data-v-03864d9f><div class="VPDocAside" data-v-03864d9f data-v-b9132f9a><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-b9132f9a data-v-2d71a95a><div class="content" data-v-2d71a95a><div class="outline-marker" data-v-2d71a95a></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-2d71a95a>On this page</div><ul class="VPDocOutlineItem root" data-v-2d71a95a data-v-0332be60><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-b9132f9a></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-03864d9f><div class="content-container" data-v-03864d9f><!--[--><!--]--><main class="main" data-v-03864d9f><div style="position:relative;" class="vp-doc _dev_extension" data-v-03864d9f><div><h1 id="扩展开发" tabindex="-1">扩展开发 <a class="header-anchor" href="#扩展开发" aria-label="Permalink to &quot;扩展开发&quot;"></a></h1><h2 id="说明" tabindex="-1">说明 <a class="header-anchor" href="#说明" aria-label="Permalink to &quot;说明&quot;"></a></h2><p>扩展分为两类,一类为插件,一类为工具。</p><ul><li>插件</li><li>工具(由于开发的不便利性已经停止维护未来可能会放弃支持如有需求请看README中的内容我们不推荐再使用此功能)</li></ul><p><strong><code>v1.0.0</code>之前的版本不支持小棉插件。</strong></p><h2 id="插件" tabindex="-1">插件 <a class="header-anchor" href="#插件" aria-label="Permalink to &quot;插件&quot;"></a></h2><p>为什么要有插件呢插件可以编写function call供AI调用语言大模型本身不具备一些信息获取能力可以使用该功能进行扩展。</p><p>可以借助这个功能实现获取天气、获取股票信息、获取新闻等等然后将这些信息传递给AIAI可以根据这些信息进行正确的整合与回答。</p><p>插件很简单一个Python文件一个Python包都可以是插件插件组成也很简单</p><ul><li>元数据:包含插件的信息,如名称、版本、作者等</li><li>function call供AI调用的函数</li></ul><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>如果你编写过NoneBot插件那么你会发现插件的编写方式和NoneBot插件的编写方式几乎一样。</p></div><h2 id="编写第一个插件" tabindex="-1">编写第一个插件 <a class="header-anchor" href="#编写第一个插件" aria-label="Permalink to &quot;编写第一个插件&quot;"></a></h2><p>我们编写一个用于查询天气的插件,首先创建<code>weather.py</code>文件,然后编写如下内容:</p><div class="language-python vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">python</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> nonebot_plugin_marshoai.plugin </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> PluginMetadata, on_function_call, String</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">__marsho_meta__ </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> PluginMetadata(</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;天气查询&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> author</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;MarshoAI&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> description</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;一个简单的查询天气的插件&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">@on_function_call</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">description</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;可以用于查询天气&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;">.params(</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> location</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">String(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">description</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;地点&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">async</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> weather</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(location: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 这里可以调用天气API查询天气这里只是一个简单的示例</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">location</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">的天气是晴天, 温度是25°C&quot;</span></span></code></pre></div><p>然后将<code>weather.py</code>文件放到<code>$LOCAL_STORE/plugins</code>目录下,重启机器人实例即可。</p><p>接下来AI会根据你的发送的提示词和<code>description</code>来决定调用函数,如<code>查询北京的天气</code><code>告诉我东京明天会下雨吗</code>AI会调用<code>weather</code>函数并传递<code>location</code>参数为<code>北京</code></p><h2 id="插件元数据" tabindex="-1">插件元数据 <a class="header-anchor" href="#插件元数据" aria-label="Permalink to &quot;插件元数据&quot;"></a></h2><p>元数据是一个名为<code>__marsho_meta__</code>的全局变量,它是一个<code>PluginMetadata</code>对象,至于包含什么熟悉可以查看<code>PluginMetadata</code>类的定义或IDE提示这里不再赘述。</p><h2 id="函数调用参数" tabindex="-1">函数调用参数 <a class="header-anchor" href="#函数调用参数" aria-label="Permalink to &quot;函数调用参数&quot;"></a></h2><p><code>on_function_call</code>装饰器用于标记一个函数为function call<code>description</code>参数用于描述这个函数的作用,<code>params</code>方法用于定义函数的参数,<code>String</code><code>Integer</code>等是OpenAI API接受的参数的类型<code>description</code>是参数的描述。这些都是给AI看的AI会根据这些信息来调用函数。</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>参数名不得为<code>placeholder</code>。此参数名是Marsho内部保留的用于保证兼容性的占位参数。</p></div><div class="language-python vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">python</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">@on_function_call</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">description</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;可以用于算命&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;">.params(</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">String(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">description</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;姓名&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">),</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> age</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">Integer(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">description</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;年龄&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> fortune_telling</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, age: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">name</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">,你的年龄是</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">age</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span></span></code></pre></div><h2 id="权限及规则" tabindex="-1">权限及规则 <a class="header-anchor" href="#权限及规则" aria-label="Permalink to &quot;权限及规则&quot;"></a></h2><p>插件的调用权限和规则与NoneBot插件一样使用Caller的permission和rule函数来设置。</p><div class="language-python vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">python</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">@on_function_call</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">description</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;在设备上执行命令&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;">.params(</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> command</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">String(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">description</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;命令内容&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">).permission(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">SUPERUSER</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> execute_command</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(command: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> eval</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(command)</span></span></code></pre></div><h2 id="依赖注入" tabindex="-1">依赖注入 <a class="header-anchor" href="#依赖注入" aria-label="Permalink to &quot;依赖注入&quot;"></a></h2><p>function call支持NoneBot2原生的会话上下文依赖注入</p><ul><li>Event 及其子类实例</li><li>Bot 及其子类实例</li><li>Matcher 及其子类实例</li><li>T_State</li></ul><div class="language-python vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">python</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">@on_function_call</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">description</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;获取个人信息&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">async</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> get_user_info</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(e: Event) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;用户ID: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">e.user_id</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">@on_function_call</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">description</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;获取机器人信息&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">async</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> get_bot_info</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(b: Bot) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;机器人ID: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">b.self_id</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span></span></code></pre></div><h2 id="兼容性" tabindex="-1">兼容性 <a class="header-anchor" href="#兼容性" aria-label="Permalink to &quot;兼容性&quot;"></a></h2><p>插件可以编写NoneBot或者轻雪插件的内容可作为NoneBot插件或者轻雪插件单独发布</p><p>不过所编写功能仅会在对应的实例上加载对应的功能如果通过marshoai加载混合插件那么插件中NoneBot的功能将会依附于marshoai插件 若通过NoneBot加载包含marshoai功能的NoneBot插件那么marshoai功能将会依附于NoneBot插件。</p><p><strong>我们建议</strong>若插件中包含了NoneBot功能仍然使用marshoai进行加载这样更符合逻辑。若你想发布为NoneBot插件请注意<code>require(&quot;nonebot_plugin_marshoai&quot;)</code>,这是老生常谈了。</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>本质上都是动态导入和注册声明加载,运行时把这些东西塞到一起</p></div><h2 id="插件热重载" tabindex="-1">插件热重载 <a class="header-anchor" href="#插件热重载" aria-label="Permalink to &quot;插件热重载&quot;"></a></h2><p>插件热重载是一个实验性功能,可以在不重启机器人的情况下更新插件</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>框架无法完全消除之前插件带来的副作用,当开发测试中效果不符合预期时请重启机器人实例</p><p>为了更好地让热重载功能正常工作,尽可能使用函数式的编程风格,以减少副作用的影响</p></div><p><code>MARSHOAI_DEVMODE</code>环境变量设置为<code>true</code>,然后在配置的插件目录<code>MARSHOAI_PLUGIN_DIRS</code>下开发插件,当插件发生变化时,机器人会自动变动的插件。</p><h2 id="aigc-自举" tabindex="-1">AIGC 自举 <a class="header-anchor" href="#aigc-自举" aria-label="Permalink to &quot;AIGC 自举&quot;"></a></h2><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>该功能为实验性功能请注意甄别AI的行为不要让AI执行危险的操作。</p></div><p>function call为AI赋能实现了文件io操作AI可以调用function call来读取文档然后给自己编写代码实现自举。</p><h2 id="其他" tabindex="-1">其他 <a class="header-anchor" href="#其他" aria-label="Permalink to &quot;其他&quot;"></a></h2><ul><li>function call支持同步和异步函数</li><li>本文是一个引导,要查看具体功能请查阅<a href="./api/plugin/index">插件 API 文档</a></li></ul></div></div></main><footer class="VPDocFooter" data-v-03864d9f data-v-79bc013e><!--[--><!--]--><div class="edit-info" data-v-79bc013e><div class="edit-link" data-v-79bc013e><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/docs/zh/dev/extension.md" target="_blank" rel="noreferrer" data-v-79bc013e><!--[--><span class="vpi-square-pen edit-link-icon" data-v-79bc013e></span> 编辑此页面<!--]--></a></div><div class="last-updated" data-v-79bc013e><p class="VPLastUpdated" data-v-79bc013e data-v-dc3d54fe>Last updated: <time datetime="2024-12-29T07:01:10.000Z" data-v-dc3d54fe></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-79bc013e><span class="visually-hidden" id="doc-footer-aria-label" data-v-79bc013e>Pager</span><div class="pager" data-v-79bc013e><a class="VPLink link pager-link prev" href="/dev/project" data-v-79bc013e><!--[--><span class="desc" data-v-79bc013e>上一页</span><span class="title" data-v-79bc013e>项目开发</span><!--]--></a></div><div class="pager" data-v-79bc013e><a class="VPLink link pager-link next" href="/dev/api/index" data-v-79bc013e><!--[--><span class="desc" data-v-79bc013e>下一页</span><span class="title" data-v-79bc013e>api</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-46cada41 data-v-5dbe423c><div class="container" data-v-5dbe423c><p class="message" data-v-5dbe423c>文档完善中,欢迎提出建议或帮助我们完善。</p><p class="copyright" data-v-5dbe423c>© 2024 <a href="https://liteyuki.icu" target="_blank">Liteyuki Studio</a> & <a href="https://github.com/ProjectMarsho" target="_blank">ProjectMarsho</a></p></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_api_azure.md\":\"By3DQZ1H\",\"dev_api_azure_onebot.md\":\"BSzQi5NB\",\"dev_api_config.md\":\"CyF6aaww\",\"dev_api_constants.md\":\"CeyS-dgb\",\"dev_api_deal_latex.md\":\"D5Q0mV0c\",\"dev_api_dev.md\":\"CR8NfY8m\",\"dev_api_hooks.md\":\"DpJrlEUX\",\"dev_api_hunyuan.md\":\"DTtTdru3\",\"dev_api_index.md\":\"LG7oRavz\",\"dev_api_instances.md\":\"VkCkhorR\",\"dev_api_marsho.md\":\"DEHEMRnq\",\"dev_api_marsho_onebot.md\":\"BaELa_5s\",\"dev_api_metadata.md\":\"BvJb0wDC\",\"dev_api_models.md\":\"CzLGyN0e\",\"dev_api_observer.md\":\"CKxQ8rNr\",\"dev_api_plugin_func_call_caller.md\":\"CzrTsykV\",\"dev_api_plugin_func_call_index.md\":\"DSbV-DHP\",\"dev_api_plugin_func_call_models.md\":\"CYOWq9i6\",\"dev_api_plugin_func_call_params.md\":\"DIr0Wfuh\",\"dev_api_plugin_func_call_utils.md\":\"CBpuIEsL\",\"dev_api_plugin_index.md\":\"BpLPZBto\",\"dev_api_plugin_load.md\":\"Z1_AJpA-\",\"dev_api_plugin_models.md\":\"XO9ZgJTV\",\"dev_api_plugin_register.md\":\"wxtxwL1q\",\"dev_api_plugin_typing.md\":\"B_OdqvYr\",\"dev_api_plugin_utils.md\":\"CKZ8uSFc\",\"dev_api_plugins_builtin_tools_chat.md\":\"CX5fWmLQ\",\"dev_api_plugins_builtin_tools_file_io.md\":\"B4WB3kMa\",\"dev_api_plugins_builtin_tools_index.md\":\"CdVyaR56\",\"dev_api_plugins_builtin_tools_liteyuki.md\":\"C2jQUuMC\",\"dev_api_plugins_builtin_tools_manager.md\":\"CSx6-DqR\",\"dev_api_plugins_builtin_tools_network.md\":\"qwTduvJA\",\"dev_api_plugins_builtin_tools_utils.md\":\"BQ_zIszy\",\"dev_api_plugins_marshoai_bangumi_index.md\":\"DI0wDzaI\",\"dev_api_plugins_marshoai_basic_index.md\":\"CdMZUtoa\",\"dev_api_plugins_test_marshoai_basic_index.md\":\"ChCsmGGV\",\"dev_api_plugins_test_marshoai_memory_command.md\":\"CeJIbyf1\",\"dev_api_plugins_test_marshoai_memory_config.md\":\"CtBtnl-b\",\"dev_api_plugins_test_marshoai_memory_index.md\":\"wgRBaFEj\",\"dev_api_plugins_test_random_number_generator.md\":\"CP2ZOHnt\",\"dev_api_plugins_test_snowykami_testplugin_index.md\":\"DGUrAa-4\",\"dev_api_plugins_test_weather_demo.md\":\"BhjRtDMw\",\"dev_api_plugins_twisuki_megakits_index.md\":\"Dhj0Q_rd\",\"dev_api_plugins_twisuki_megakits_mk_morse_code.md\":\"BPtKSrvY\",\"dev_api_plugins_twisuki_megakits_mk_nya_code.md\":\"BDLuQWQj\",\"dev_api_plugins_twisuki_petcat_index.md\":\"Db-1fmpK\",\"dev_api_plugins_twisuki_petcat_pc_cat.md\":\"F2sC91-N\",\"dev_api_plugins_twisuki_petcat_pc_info.md\":\"CvN9sngp\",\"dev_api_plugins_twisuki_petcat_pc_shop.md\":\"DD4ahNPm\",\"dev_api_plugins_twisuki_petcat_pc_token.md\":\"DA_UlEtw\",\"dev_api_tools_marshoai_bangumi_index.md\":\"DBTSrMfh\",\"dev_api_tools_marshoai_basic_index.md\":\"CiW7yIwW\",\"dev_api_tools_marshoai_megakits_index.md\":\"REZMb3dg\",\"dev_api_tools_marshoai_megakits_mk_common.md\":\"7APNTo8M\",\"dev_api_tools_marshoai_megakits_mk_info.md\":\"ChkkoB5W\",\"dev_api_tools_marshoai_megakits_mk_morse_code.md\":\"0M_XvS3m\",\"dev_api_tools_marshoai_megakits_mk_nya_code.md\":\"c9sb8PmU\",\"dev_api_tools_marshoai_memory_index.md\":\"CIRx5tJY\",\"dev_api_tools_marshoai_meogirl_index.md\":\"XEkcu-t2\",\"dev_api_tools_marshoai_meogirl_mg_info.md\":\"DPN0C8WV\",\"dev_api_tools_marshoai_meogirl_mg_introduce.md\":\"BlzX94DI\",\"dev_api_tools_marshoai_meogirl_mg_search.md\":\"BBTMELq_\",\"dev_api_tools_wip_marshoai_memory_index.md\":\"Dm4TJCvU\",\"dev_api_util.md\":\"CTudSdNP\",\"dev_api_util_hunyuan.md\":\"Dw50YpRa\",\"dev_extension.md\":\"sCH8l0Kd\",\"dev_index.md\":\"DmkkcOvS\",\"dev_project.md\":\"si_Q_Qol\",\"en_dev_api_azure.md\":\"Cto4HxOQ\",\"en_dev_api_azure_onebot.md\":\"Nh5j0O6E\",\"en_dev_api_config.md\":\"DIBrrPTO\",\"en_dev_api_constants.md\":\"0iXpq-Ec\",\"en_dev_api_deal_latex.md\":\"DUC7j3n2\",\"en_dev_api_dev.md\":\"ZX87ppE0\",\"en_dev_api_hooks.md\":\"BCTjt9JT\",\"en_dev_api_hunyuan.md\":\"CAln-sCp\",\"en_dev_api_index.md\":\"CaKH-82W\",\"en_dev_api_instances.md\":\"qxOeS8ME\",\"en_dev_api_marsho.md\":\"Ca8NCLt_\",\"en_dev_api_marsho_onebot.md\":\"Bp39oSfi\",\"en_dev_api_metadata.md\":\"BMq5AAe8\",\"en_dev_api_models.md\":\"BPby54j6\",\"en_dev_api_observer.md\":\"oTjjwmjn\",\"en_dev_api_plugin_func_call_caller.md\":\"Bye_Nxpk\",\"en_dev_api_plugin_func_call_index.md\":\"DWsorYJh\",\"en_dev_api_plugin_func_call_models.md\":\"B-qnd7cH\",\"en_dev_api_plugin_func_call_params.md\":\"u__hMe93\",\"en_dev_api_plugin_func_call_utils.md\":\"iU5-nBge\",\"en_dev_api_plugin_index.md\":\"BZIGSQUL\",\"en_dev_api_plugin_load.md\":\"XwjzFCnp\",\"en_dev_api_plugin_models.md\":\"KoVIfTB6\",\"en_dev_api_plugin_register.md\":\"Duq9hOxH\",\"en_dev_api_plugin_typing.md\":\"C2zfOXEp\",\"en_dev_api_plugin_utils.md\":\"e5Btmrql\",\"en_dev_api_plugins_builtin_tools_chat.md\":\"C23GjQBb\",\"en_dev_api_plugins_builtin_tools_file_io.md\":\"C08lWCZX\",\"en_dev_api_plugins_builtin_tools_index.md\":\"DbJ5EqSA\",\"en_dev_api_plugins_builtin_tools_liteyuki.md\":\"x_VmenLc\",\"en_dev_api_plugins_builtin_tools_manager.md\":\"u-0hfdOm\",\"en_dev_api_plugins_builtin_tools_network.md\":\"CnxMIDLE\",\"en_dev_api_plugins_builtin_tools_utils.md\":\"wCwWvzS9\",\"en_dev_api_plugins_marshoai_bangumi_index.md\":\"DBU2Zi62\",\"en_dev_api_plugins_marshoai_basic_index.md\":\"DyXm3jCh\",\"en_dev_api_plugins_test_marshoai_basic_index.md\":\"bDJDh-CJ\",\"en_dev_api_plugins_test_marshoai_memory_command.md\":\"u25QWY_i\",\"en_dev_api_plugins_test_marshoai_memory_config.md\":\"fO2hq1Zg\",\"en_dev_api_plugins_test_marshoai_memory_index.md\":\"C45XsXpP\",\"en_dev_api_plugins_test_random_number_generator.md\":\"BbS1YDsu\",\"en_dev_api_plugins_test_snowykami_testplugin_index.md\":\"QqX2hUew\",\"en_dev_api_plugins_test_weather_demo.md\":\"CkQsPcOc\",\"en_dev_api_plugins_twisuki_megakits_index.md\":\"DI9uZZaT\",\"en_dev_api_plugins_twisuki_megakits_mk_morse_code.md\":\"CR7E4O63\",\"en_dev_api_plugins_twisuki_megakits_mk_nya_code.md\":\"nvZAi5el\",\"en_dev_api_plugins_twisuki_petcat_index.md\":\"Df3A8uE4\",\"en_dev_api_plugins_twisuki_petcat_pc_cat.md\":\"CwByAWa2\",\"en_dev_api_plugins_twisuki_petcat_pc_info.md\":\"C3tuga99\",\"en_dev_api_plugins_twisuki_petcat_pc_shop.md\":\"CUZ6lawY\",\"en_dev_api_plugins_twisuki_petcat_pc_token.md\":\"B1O2CkQG\",\"en_dev_api_tools_marshoai_bangumi_index.md\":\"DWnmN-I6\",\"en_dev_api_tools_marshoai_basic_index.md\":\"CRH17j9z\",\"en_dev_api_tools_marshoai_megakits_index.md\":\"CgWeHxOT\",\"en_dev_api_tools_marshoai_megakits_mk_common.md\":\"P8V5KFZ7\",\"en_dev_api_tools_marshoai_megakits_mk_info.md\":\"tcfMikuj\",\"en_dev_api_tools_marshoai_megakits_mk_morse_code.md\":\"xggXCxLJ\",\"en_dev_api_tools_marshoai_megakits_mk_nya_code.md\":\"G9HPWVtZ\",\"en_dev_api_tools_marshoai_memory_index.md\":\"BoTJbgVx\",\"en_dev_api_tools_marshoai_meogirl_index.md\":\"CAicnthU\",\"en_dev_api_tools_marshoai_meogirl_mg_info.md\":\"BFLggEu0\",\"en_dev_api_tools_marshoai_meogirl_mg_introduce.md\":\"lyFmddfe\",\"en_dev_api_tools_marshoai_meogirl_mg_search.md\":\"CuklbRju\",\"en_dev_api_tools_wip_marshoai_memory_index.md\":\"cAEFdFDP\",\"en_dev_api_util.md\":\"DFhS9mns\",\"en_dev_api_util_hunyuan.md\":\"Dn5jgbGF\",\"en_dev_index.md\":\"DJJ0NGhU\",\"en_index.md\":\"DAKoBz1C\",\"en_start_index.md\":\"BwdTMIWE\",\"en_start_install.md\":\"BCSbBsV8\",\"index.md\":\"DlqxtZr8\",\"ja_index.md\":\"CcT0fxo3\",\"start_index.md\":\"ByEtL58Q\",\"start_install-old.md\":\"F642ZtXe\",\"start_install.md\":\"fkcgPqqp\",\"start_use.md\":\"BiCxERjA\"}");function deserializeFunctions(r){return Array.isArray(r)?r.map(deserializeFunctions):typeof r=="object"&&r!==null?Object.keys(r).reduce((t,n)=>(t[n]=deserializeFunctions(r[n]),t),{}):typeof r=="string"&&r.startsWith("_vp-fn_")?new Function(`return ${r.slice(7)}`)():r};window.__VP_SITE_DATA__=deserializeFunctions(JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"VitePress\",\"description\":\"A VitePress site\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":{\"light\":\"/marsho-full.svg\",\"dark\":\"/marsho-full.svg\",\"alt\":\"Marsho Logo\"},\"sidebar\":{\"/dev/\":{\"base\":\"/dev/\",\"items\":[{\"text\":\"MARSHOAI\",\"items\":[{\"text\":\"项目开发\",\"link\":\"project\"},{\"text\":\"扩展开发\",\"link\":\"extension\"},{\"text\":\"api\",\"link\":\"api/index.md\",\"items\":[{\"text\":\"azure\",\"link\":\"api/azure\"},{\"text\":\"azure_onebot\",\"link\":\"api/azure_onebot\"},{\"text\":\"plugins\",\"items\":[{\"text\":\"marshoai_basic\",\"link\":\"api/plugins/marshoai_basic/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/plugins/marshoai_basic/\"}],\"collapsed\":true},{\"text\":\"builtin_tools\",\"link\":\"api/plugins/builtin_tools/index.md\",\"items\":[{\"text\":\"chat\",\"link\":\"api/plugins/builtin_tools/chat\"},{\"text\":\"file_io\",\"link\":\"api/plugins/builtin_tools/file_io\"},{\"text\":\"index\",\"link\":\"api/plugins/builtin_tools/\"},{\"text\":\"liteyuki\",\"link\":\"api/plugins/builtin_tools/liteyuki\"},{\"text\":\"manager\",\"link\":\"api/plugins/builtin_tools/manager\"},{\"text\":\"network\",\"link\":\"api/plugins/builtin_tools/network\"},{\"text\":\"utils\",\"link\":\"api/plugins/builtin_tools/utils\"}],\"collapsed\":true},{\"text\":\"marshoai_bangumi\",\"link\":\"api/plugins/marshoai_bangumi/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/plugins/marshoai_bangumi/\"}],\"collapsed\":true},{\"text\":\"twisuki_megakits\",\"link\":\"api/plugins/twisuki_megakits/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/plugins/twisuki_megakits/\"},{\"text\":\"mk_morse_code\",\"link\":\"api/plugins/twisuki_megakits/mk_morse_code\"},{\"text\":\"mk_nya_code\",\"link\":\"api/plugins/twisuki_megakits/mk_nya_code\"}],\"collapsed\":true},{\"text\":\"twisuki_petcat\",\"link\":\"api/plugins/twisuki_petcat/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/plugins/twisuki_petcat/\"},{\"text\":\"pc_cat\",\"link\":\"api/plugins/twisuki_petcat/pc_cat\"},{\"text\":\"pc_info\",\"link\":\"api/plugins/twisuki_petcat/pc_info\"},{\"text\":\"pc_shop\",\"link\":\"api/plugins/twisuki_petcat/pc_shop\"},{\"text\":\"pc_token\",\"link\":\"api/plugins/twisuki_petcat/pc_token\"}],\"collapsed\":true}],\"collapsed\":true},{\"text\":\"plugins_test\",\"items\":[{\"text\":\"marshoai_basic\",\"link\":\"api/plugins_test/marshoai_basic/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/plugins_test/marshoai_basic/\"}],\"collapsed\":true},{\"text\":\"marshoai_memory\",\"link\":\"api/plugins_test/marshoai_memory/index.md\",\"items\":[{\"text\":\"command\",\"link\":\"api/plugins_test/marshoai_memory/command\"},{\"text\":\"config\",\"link\":\"api/plugins_test/marshoai_memory/config\"},{\"text\":\"index\",\"link\":\"api/plugins_test/marshoai_memory/\"}],\"collapsed\":true},{\"text\":\"random_number_generator\",\"link\":\"api/plugins_test/random_number_generator\"},{\"text\":\"snowykami_testplugin\",\"link\":\"api/plugins_test/snowykami_testplugin/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/plugins_test/snowykami_testplugin/\"}],\"collapsed\":true},{\"text\":\"weather_demo\",\"link\":\"api/plugins_test/weather_demo\"}],\"collapsed\":true},{\"text\":\"tools\",\"items\":[{\"text\":\"marshoai_bangumi\",\"link\":\"api/tools/marshoai_bangumi/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/tools/marshoai_bangumi/\"}],\"collapsed\":true},{\"text\":\"marshoai_basic\",\"link\":\"api/tools/marshoai_basic/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/tools/marshoai_basic/\"}],\"collapsed\":true},{\"text\":\"marshoai_megakits\",\"link\":\"api/tools/marshoai_megakits/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/tools/marshoai_megakits/\"},{\"text\":\"mk_common\",\"link\":\"api/tools/marshoai_megakits/mk_common\"},{\"text\":\"mk_info\",\"link\":\"api/tools/marshoai_megakits/mk_info\"},{\"text\":\"mk_morse_code\",\"link\":\"api/tools/marshoai_megakits/mk_morse_code\"},{\"text\":\"mk_nya_code\",\"link\":\"api/tools/marshoai_megakits/mk_nya_code\"}],\"collapsed\":true},{\"text\":\"marshoai_memory\",\"link\":\"api/tools/marshoai_memory/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/tools/marshoai_memory/\"}],\"collapsed\":true},{\"text\":\"marshoai_meogirl\",\"link\":\"api/tools/marshoai_meogirl/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/tools/marshoai_meogirl/\"},{\"text\":\"mg_info\",\"link\":\"api/tools/marshoai_meogirl/mg_info\"},{\"text\":\"mg_introduce\",\"link\":\"api/tools/marshoai_meogirl/mg_introduce\"},{\"text\":\"mg_search\",\"link\":\"api/tools/marshoai_meogirl/mg_search\"}],\"collapsed\":true}],\"collapsed\":true},{\"text\":\"tools_wip\",\"items\":[{\"text\":\"marshoai_memory\",\"link\":\"api/tools_wip/marshoai_memory/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/tools_wip/marshoai_memory/\"}],\"collapsed\":true}],\"collapsed\":true},{\"text\":\"config\",\"link\":\"api/config\"},{\"text\":\"constants\",\"link\":\"api/constants\"},{\"text\":\"deal_latex\",\"link\":\"api/deal_latex\"},{\"text\":\"dev\",\"link\":\"api/dev\"},{\"text\":\"hooks\",\"link\":\"api/hooks\"},{\"text\":\"hunyuan\",\"link\":\"api/hunyuan\"},{\"text\":\"index\",\"link\":\"api/\"},{\"text\":\"instances\",\"link\":\"api/instances\"},{\"text\":\"marsho\",\"link\":\"api/marsho\"},{\"text\":\"marsho_onebot\",\"link\":\"api/marsho_onebot\"},{\"text\":\"metadata\",\"link\":\"api/metadata\"},{\"text\":\"models\",\"link\":\"api/models\"},{\"text\":\"observer\",\"link\":\"api/observer\"},{\"text\":\"plugin\",\"link\":\"api/plugin/index.md\",\"items\":[{\"text\":\"register\",\"link\":\"api/plugin/register\"},{\"text\":\"func_call\",\"link\":\"api/plugin/func_call/index.md\",\"items\":[{\"text\":\"caller\",\"link\":\"api/plugin/func_call/caller\"},{\"text\":\"index\",\"link\":\"api/plugin/func_call/\"},{\"text\":\"models\",\"link\":\"api/plugin/func_call/models\"},{\"text\":\"params\",\"link\":\"api/plugin/func_call/params\"},{\"text\":\"utils\",\"link\":\"api/plugin/func_call/utils\"}],\"collapsed\":true},{\"text\":\"index\",\"link\":\"api/plugin/\"},{\"text\":\"load\",\"link\":\"api/plugin/load\"},{\"text\":\"models\",\"link\":\"api/plugin/models\"},{\"text\":\"typing\",\"link\":\"api/plugin/typing\"},{\"text\":\"utils\",\"link\":\"api/plugin/utils\"}],\"collapsed\":true},{\"text\":\"util\",\"link\":\"api/util\"},{\"text\":\"util_hunyuan\",\"link\":\"api/util_hunyuan\"}],\"collapsed\":true}]}]},\"/start/\":{\"base\":\"/start/\",\"items\":[{\"text\":\"MARSHOAI\",\"items\":[{\"text\":\"安装\",\"link\":\"install-old\"},{\"text\":\"安装\",\"link\":\"install\"},{\"text\":\"使用\",\"link\":\"use\"}]}]},\"/en/dev/\":{\"base\":\"/en/dev/\",\"items\":[{\"text\":\"MARSHOAI\",\"items\":[{\"text\":\"api\",\"link\":\"api/index.md\",\"items\":[{\"text\":\"azure\",\"link\":\"api/azure\"},{\"text\":\"azure_onebot\",\"link\":\"api/azure_onebot\"},{\"text\":\"plugins\",\"items\":[{\"text\":\"marshoai_basic\",\"link\":\"api/plugins/marshoai_basic/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/plugins/marshoai_basic/\"}],\"collapsed\":true},{\"text\":\"builtin_tools\",\"link\":\"api/plugins/builtin_tools/index.md\",\"items\":[{\"text\":\"chat\",\"link\":\"api/plugins/builtin_tools/chat\"},{\"text\":\"file_io\",\"link\":\"api/plugins/builtin_tools/file_io\"},{\"text\":\"index\",\"link\":\"api/plugins/builtin_tools/\"},{\"text\":\"liteyuki\",\"link\":\"api/plugins/builtin_tools/liteyuki\"},{\"text\":\"manager\",\"link\":\"api/plugins/builtin_tools/manager\"},{\"text\":\"network\",\"link\":\"api/plugins/builtin_tools/network\"},{\"text\":\"utils\",\"link\":\"api/plugins/builtin_tools/utils\"}],\"collapsed\":true},{\"text\":\"marshoai_bangumi\",\"link\":\"api/plugins/marshoai_bangumi/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/plugins/marshoai_bangumi/\"}],\"collapsed\":true},{\"text\":\"twisuki_megakits\",\"link\":\"api/plugins/twisuki_megakits/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/plugins/twisuki_megakits/\"},{\"text\":\"mk_morse_code\",\"link\":\"api/plugins/twisuki_megakits/mk_morse_code\"},{\"text\":\"mk_nya_code\",\"link\":\"api/plugins/twisuki_megakits/mk_nya_code\"}],\"collapsed\":true},{\"text\":\"twisuki_petcat\",\"link\":\"api/plugins/twisuki_petcat/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/plugins/twisuki_petcat/\"},{\"text\":\"pc_cat\",\"link\":\"api/plugins/twisuki_petcat/pc_cat\"},{\"text\":\"pc_info\",\"link\":\"api/plugins/twisuki_petcat/pc_info\"},{\"text\":\"pc_shop\",\"link\":\"api/plugins/twisuki_petcat/pc_shop\"},{\"text\":\"pc_token\",\"link\":\"api/plugins/twisuki_petcat/pc_token\"}],\"collapsed\":true}],\"collapsed\":true},{\"text\":\"plugins_test\",\"items\":[{\"text\":\"marshoai_basic\",\"link\":\"api/plugins_test/marshoai_basic/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/plugins_test/marshoai_basic/\"}],\"collapsed\":true},{\"text\":\"marshoai_memory\",\"link\":\"api/plugins_test/marshoai_memory/index.md\",\"items\":[{\"text\":\"command\",\"link\":\"api/plugins_test/marshoai_memory/command\"},{\"text\":\"config\",\"link\":\"api/plugins_test/marshoai_memory/config\"},{\"text\":\"index\",\"link\":\"api/plugins_test/marshoai_memory/\"}],\"collapsed\":true},{\"text\":\"random_number_generator\",\"link\":\"api/plugins_test/random_number_generator\"},{\"text\":\"snowykami_testplugin\",\"link\":\"api/plugins_test/snowykami_testplugin/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/plugins_test/snowykami_testplugin/\"}],\"collapsed\":true},{\"text\":\"weather_demo\",\"link\":\"api/plugins_test/weather_demo\"}],\"collapsed\":true},{\"text\":\"tools\",\"items\":[{\"text\":\"marshoai_bangumi\",\"link\":\"api/tools/marshoai_bangumi/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/tools/marshoai_bangumi/\"}],\"collapsed\":true},{\"text\":\"marshoai_basic\",\"link\":\"api/tools/marshoai_basic/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/tools/marshoai_basic/\"}],\"collapsed\":true},{\"text\":\"marshoai_megakits\",\"link\":\"api/tools/marshoai_megakits/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/tools/marshoai_megakits/\"},{\"text\":\"mk_common\",\"link\":\"api/tools/marshoai_megakits/mk_common\"},{\"text\":\"mk_info\",\"link\":\"api/tools/marshoai_megakits/mk_info\"},{\"text\":\"mk_morse_code\",\"link\":\"api/tools/marshoai_megakits/mk_morse_code\"},{\"text\":\"mk_nya_code\",\"link\":\"api/tools/marshoai_megakits/mk_nya_code\"}],\"collapsed\":true},{\"text\":\"marshoai_memory\",\"link\":\"api/tools/marshoai_memory/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/tools/marshoai_memory/\"}],\"collapsed\":true},{\"text\":\"marshoai_meogirl\",\"link\":\"api/tools/marshoai_meogirl/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/tools/marshoai_meogirl/\"},{\"text\":\"mg_info\",\"link\":\"api/tools/marshoai_meogirl/mg_info\"},{\"text\":\"mg_introduce\",\"link\":\"api/tools/marshoai_meogirl/mg_introduce\"},{\"text\":\"mg_search\",\"link\":\"api/tools/marshoai_meogirl/mg_search\"}],\"collapsed\":true}],\"collapsed\":true},{\"text\":\"tools_wip\",\"items\":[{\"text\":\"marshoai_memory\",\"link\":\"api/tools_wip/marshoai_memory/index.md\",\"items\":[{\"text\":\"index\",\"link\":\"api/tools_wip/marshoai_memory/\"}],\"collapsed\":true}],\"collapsed\":true},{\"text\":\"config\",\"link\":\"api/config\"},{\"text\":\"constants\",\"link\":\"api/constants\"},{\"text\":\"deal_latex\",\"link\":\"api/deal_latex\"},{\"text\":\"dev\",\"link\":\"api/dev\"},{\"text\":\"hooks\",\"link\":\"api/hooks\"},{\"text\":\"hunyuan\",\"link\":\"api/hunyuan\"},{\"text\":\"index\",\"link\":\"api/\"},{\"text\":\"instances\",\"link\":\"api/instances\"},{\"text\":\"marsho\",\"link\":\"api/marsho\"},{\"text\":\"marsho_onebot\",\"link\":\"api/marsho_onebot\"},{\"text\":\"metadata\",\"link\":\"api/metadata\"},{\"text\":\"models\",\"link\":\"api/models\"},{\"text\":\"observer\",\"link\":\"api/observer\"},{\"text\":\"plugin\",\"link\":\"api/plugin/index.md\",\"items\":[{\"text\":\"register\",\"link\":\"api/plugin/register\"},{\"text\":\"func_call\",\"link\":\"api/plugin/func_call/index.md\",\"items\":[{\"text\":\"caller\",\"link\":\"api/plugin/func_call/caller\"},{\"text\":\"index\",\"link\":\"api/plugin/func_call/\"},{\"text\":\"models\",\"link\":\"api/plugin/func_call/models\"},{\"text\":\"params\",\"link\":\"api/plugin/func_call/params\"},{\"text\":\"utils\",\"link\":\"api/plugin/func_call/utils\"}],\"collapsed\":true},{\"text\":\"index\",\"link\":\"api/plugin/\"},{\"text\":\"load\",\"link\":\"api/plugin/load\"},{\"text\":\"models\",\"link\":\"api/plugin/models\"},{\"text\":\"typing\",\"link\":\"api/plugin/typing\"},{\"text\":\"utils\",\"link\":\"api/plugin/utils\"}],\"collapsed\":true},{\"text\":\"util\",\"link\":\"api/util\"},{\"text\":\"util_hunyuan\",\"link\":\"api/util_hunyuan\"}],\"collapsed\":true}]}]},\"/en/start/\":{\"base\":\"/en/start/\",\"items\":[{\"text\":\"MARSHOAI\",\"items\":[{\"text\":\"install\",\"link\":\"install\"}]}]}},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/LiteyukiStudio/nonebot-plugin-marshoai\"},{\"icon\":{\"svg\":\"<svg t=\\\"1725391346807\\\" class=\\\"icon\\\" viewBox=\\\"0 0 1025 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" p-id=\\\"5067\\\" width=\\\"256\\\" height=\\\"256\\\"><path d=\\\"M1004.692673 466.396616l-447.094409-447.073929c-25.743103-25.763582-67.501405-25.763582-93.264987 0l-103.873521 103.873521 78.171378 78.171378c12.533635-6.00058 26.562294-9.359266 41.389666-9.359266 53.02219 0 96.00928 42.98709 96.00928 96.00928 0 14.827372-3.358686 28.856031-9.359266 41.389666l127.97824 127.97824c12.533635-6.00058 26.562294-9.359266 41.389666-9.359266 53.02219 0 96.00928 42.98709 96.00928 96.00928s-42.98709 96.00928-96.00928 96.00928-96.00928-42.98709-96.00928-96.00928c0-14.827372 3.358686-28.856031 9.359266-41.389666l-127.97824-127.97824c-3.051489 1.454065-6.184898 2.744293-9.379746 3.870681l0 266.97461c37.273227 13.188988 63.99936 48.721433 63.99936 90.520695 0 53.02219-42.98709 96.00928-96.00928 96.00928s-96.00928-42.98709-96.00928-96.00928c0-41.799262 26.726133-77.331707 63.99936-90.520695l0-266.97461c-37.273227-13.188988-63.99936-48.721433-63.99936-90.520695 0-14.827372 3.358686-28.856031 9.359266-41.389666l-78.171378-78.171378-295.892081 295.871601c-25.743103 25.784062-25.743103 67.542365 0 93.285467l447.114889 447.073929c25.743103 25.743103 67.480925 25.743103 93.264987 0l445.00547-445.00547c25.763582-25.763582 25.763582-67.542365 0-93.285467z\\\" fill=\\\"#a2d8f4\\\" p-id=\\\"5068\\\"></path></svg>\"},\"link\":\"https://git.liteyuki.icu/LiteyukiStudio/nonebot-plugin-marshoai\"}]},\"locales\":{\"root\":{\"label\":\"简体中文\",\"lang\":\"zh-Hans\",\"title\":\"小棉智能\",\"description\":\"可爱,智能且易扩展\",\"themeConfig\":{\"docFooter\":{\"prev\":\"上一页\",\"next\":\"下一页\"},\"nav\":[{\"text\":\"家\",\"link\":\"/\"},{\"text\":\"使用\",\"link\":\"/start/use\"},{\"text\":\"开发\",\"link\":\"/dev/extension\"}],\"editLink\":{\"pattern\":\"_vp-fn_({ filePath }) => {\\n if (!filePath) {\\n throw new Error(\\\"filePath is undefined\\\");\\n }\\n const regex = /^(dev\\\\/api|[^\\\\/]+\\\\/dev\\\\/api)/;\\n if (regex.test(filePath)) {\\n filePath = filePath.replace(regex, \\\"\\\").replace(\\\"index.md\\\", \\\"__init__.py\\\").replace(\\\".md\\\", \\\".py\\\");\\n const fileName = filePath.split(\\\"/\\\").pop();\\n const parentFolder = filePath.split(\\\"/\\\").slice(-2, -1)[0];\\n if (fileName && parentFolder && fileName.split(\\\".\\\")[0] === parentFolder) {\\n filePath = filePath.split(\\\"/\\\").slice(0, -1).join(\\\"/\\\") + \\\"/__init__.py\\\";\\n }\\n return `https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/${filePath}`;\\n } else {\\n return `https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/docs/${filePath}`;\\n }\\n }\",\"text\":\"编辑此页面\"},\"langMenuLabel\":\"语言\",\"returnToTopLabel\":\"返回顶部\",\"sidebarMenuLabel\":\"菜单\",\"darkModeSwitchLabel\":\"主题\",\"lightModeSwitchTitle\":\"轻色模式\",\"darkModeSwitchTitle\":\"深色模式\",\"footer\":{\"message\":\"文档完善中,欢迎提出建议或帮助我们完善。\",\"copyright\":\"© 2024 <a href=\\\"https://liteyuki.icu\\\" target=\\\"_blank\\\">Liteyuki Studio</a> & <a href=\\\"https://github.com/ProjectMarsho\\\" target=\\\"_blank\\\">ProjectMarsho</a>\"}}},\"en\":{\"label\":\"English\",\"lang\":\"en-US\",\"title\":\"Marsho AI\",\"description\":\"Kawaii, Intelligent and Easy to Extend\",\"themeConfig\":{\"docFooter\":{\"prev\":\"Prev\",\"next\":\"Next\"},\"nav\":[{\"text\":\"Home\",\"link\":\"/en\"},{\"text\":\"Usage\",\"link\":\"/en/start/install\"},{\"text\":\"Develop\",\"link\":\"/en/dev/extension\"}],\"editLink\":{\"pattern\":\"_vp-fn_({ filePath }) => {\\n if (!filePath) {\\n throw new Error(\\\"filePath is undefined\\\");\\n }\\n const regex = /^(dev\\\\/api|[^\\\\/]+\\\\/dev\\\\/api)/;\\n if (regex.test(filePath)) {\\n filePath = filePath.replace(regex, \\\"\\\").replace(\\\"index.md\\\", \\\"__init__.py\\\").replace(\\\".md\\\", \\\".py\\\");\\n const fileName = filePath.split(\\\"/\\\").pop();\\n const parentFolder = filePath.split(\\\"/\\\").slice(-2, -1)[0];\\n if (fileName && parentFolder && fileName.split(\\\".\\\")[0] === parentFolder) {\\n filePath = filePath.split(\\\"/\\\").slice(0, -1).join(\\\"/\\\") + \\\"/__init__.py\\\";\\n }\\n return `https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/${filePath}`;\\n } else {\\n return `https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/docs/${filePath}`;\\n }\\n }\",\"text\":\"Edit this page\"},\"langMenuLabel\":\"Language\",\"returnToTopLabel\":\"To top\",\"sidebarMenuLabel\":\"Option\",\"darkModeSwitchLabel\":\"Theme\",\"lightModeSwitchTitle\":\"Light\",\"darkModeSwitchTitle\":\"Dark\",\"footer\":{\"message\":\"The document is being improved. Suggestions are welcome.\",\"copyright\":\"© 2024 <a href=\\\"https://liteyuki.icu\\\" target=\\\"_blank\\\">Liteyuki Studio</a>\"}}},\"ja\":{\"label\":\"日本語\",\"lang\":\"ja-JP\",\"title\":\"Marsho AI\",\"description\":\"かわいくて、賢くて、拡張しやすい\",\"themeConfig\":{\"docFooter\":{\"prev\":\"前へ\",\"next\":\"次へ\"},\"nav\":[{\"text\":\"ホーム\",\"link\":\"/ja\"},{\"text\":\"使用方法\",\"link\":\"/ja/start/install\"},{\"text\":\"開発\",\"link\":\"/ja/dev/extension\"}],\"editLink\":{\"pattern\":\"_vp-fn_({ filePath }) => {\\n if (!filePath) {\\n throw new Error(\\\"filePath is undefined\\\");\\n }\\n const regex = /^(dev\\\\/api|[^\\\\/]+\\\\/dev\\\\/api)/;\\n if (regex.test(filePath)) {\\n filePath = filePath.replace(regex, \\\"\\\").replace(\\\"index.md\\\", \\\"__init__.py\\\").replace(\\\".md\\\", \\\".py\\\");\\n const fileName = filePath.split(\\\"/\\\").pop();\\n const parentFolder = filePath.split(\\\"/\\\").slice(-2, -1)[0];\\n if (fileName && parentFolder && fileName.split(\\\".\\\")[0] === parentFolder) {\\n filePath = filePath.split(\\\"/\\\").slice(0, -1).join(\\\"/\\\") + \\\"/__init__.py\\\";\\n }\\n return `https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/${filePath}`;\\n } else {\\n return `https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/docs/${filePath}`;\\n }\\n }\",\"text\":\"このページを編集\"},\"langMenuLabel\":\"言語\",\"returnToTopLabel\":\"トップへ戻る\",\"sidebarMenuLabel\":\"オプション\",\"darkModeSwitchLabel\":\"テーマ\",\"lightModeSwitchTitle\":\"ライト\",\"darkModeSwitchTitle\":\"ダーク\",\"footer\":{\"message\":\"ドキュメントは改善中です。ご意見をお待ちしております。\",\"copyright\":\"© 2024 <a href=\\\"https://liteyuki.icu\\\" target=\\\"_blank\\\">Liteyuki Studio</a>\"}}}},\"scrollOffset\":134,\"cleanUrls\":true}"));</script>
</body>
</html>