mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-25 07:00:48 +09:00
26 lines
46 KiB
HTML
26 lines
46 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en" dir="ltr">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<title>Bot Access Control | Memoh Documentation</title>
|
||
<meta name="description" content="Multi-Member, Structured Long-Memory, Containerized AI Agent System.">
|
||
<meta name="generator" content="VitePress v1.6.4">
|
||
<link rel="preload stylesheet" href="/assets/style.CSFKb52n.css" as="style">
|
||
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
|
||
|
||
<script type="module" src="/assets/app.DYyu2kMS.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.CRmqvksU.js">
|
||
<link rel="modulepreload" href="/assets/chunks/framework.CAXxHpAX.js">
|
||
<link rel="modulepreload" href="/assets/getting-started_access.md.YqNM6CpY.lean.js">
|
||
<link rel="icon" href="/logo.svg">
|
||
<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-ba7c87da><!--[--><!--]--><!--[--><span tabindex="-1" data-v-d63408fd></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-d63408fd>Skip to content</a><!--]--><!----><header class="VPNav" data-v-ba7c87da data-v-908bdb68><div class="VPNavBar" data-v-908bdb68 data-v-8d1ffe88><div class="wrapper" data-v-8d1ffe88><div class="container" data-v-8d1ffe88><div class="title" data-v-8d1ffe88><div class="VPNavBarTitle has-sidebar" data-v-8d1ffe88 data-v-66d4ae12><a class="title" href="/" data-v-66d4ae12><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.svg" alt="Memoh" data-v-21b99582><!--]--><span data-v-66d4ae12>Memoh</span><!--[--><!--]--></a></div></div><div class="content" data-v-8d1ffe88><div class="content-body" data-v-8d1ffe88><!--[--><!--]--><div class="VPNavBarSearch search" data-v-8d1ffe88><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-8d1ffe88 data-v-a23194af><span id="main-nav-aria-label" class="visually-hidden" data-v-a23194af> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-a23194af data-v-e59bbbee><!--[--><span data-v-e59bbbee>Guides</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/blogs/" tabindex="0" data-v-a23194af data-v-e59bbbee><!--[--><span data-v-e59bbbee>Blogs</span><!--]--></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-8d1ffe88 data-v-2d4849be data-v-c9799874><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-c9799874><span class="text" data-v-c9799874><span class="vpi-languages option-icon" data-v-c9799874></span><!----><span class="vpi-chevron-down text-icon" data-v-c9799874></span></span></button><div class="menu" data-v-c9799874><div class="VPMenu" data-v-c9799874 data-v-b1338896><!----><!--[--><!--[--><div class="items" data-v-2d4849be><p class="title" data-v-2d4849be>English</p><!--[--><div class="VPMenuLink" data-v-2d4849be data-v-859c4b5e><a class="VPLink link" href="/zh/getting-started/access.html" data-v-859c4b5e><!--[--><span data-v-859c4b5e>简体中文</span><!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-8d1ffe88 data-v-c2b7fe22><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-c2b7fe22 data-v-95390f3d data-v-65cb479b><span class="check" data-v-65cb479b><span class="icon" data-v-65cb479b><!--[--><span class="vpi-sun sun" data-v-95390f3d></span><span class="vpi-moon moon" data-v-95390f3d></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-8d1ffe88 data-v-5bf14e4d data-v-ce44a42a><!--[--><a class="VPSocialLink no-icon" href="https://github.com/memohai/Memoh" aria-label="github" target="_blank" rel="noopener" data-v-ce44a42a data-v-9d5b176c><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-8d1ffe88 data-v-563e76b4 data-v-c9799874><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-c9799874><span class="vpi-more-horizontal icon" data-v-c9799874></span></button><div class="menu" data-v-c9799874><div class="VPMenu" data-v-c9799874 data-v-b1338896><!----><!--[--><!--[--><div class="group translations" data-v-563e76b4><p class="trans-title" data-v-563e76b4>English</p><!--[--><div class="VPMenuLink" data-v-563e76b4 data-v-859c4b5e><a class="VPLink link" href="/zh/getting-started/access.html" data-v-859c4b5e><!--[--><span data-v-859c4b5e>简体中文</span><!--]--></a></div><!--]--></div><div class="group" data-v-563e76b4><div class="item appearance" data-v-563e76b4><p class="label" data-v-563e76b4>Appearance</p><div class="appearance-action" data-v-563e76b4><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-563e76b4 data-v-95390f3d data-v-65cb479b><span class="check" data-v-65cb479b><span class="icon" data-v-65cb479b><!--[--><span class="vpi-sun sun" data-v-95390f3d></span><span class="vpi-moon moon" data-v-95390f3d></span><!--]--></span></span></button></div></div></div><div class="group" data-v-563e76b4><div class="item social-links" data-v-563e76b4><div class="VPSocialLinks social-links-list" data-v-563e76b4 data-v-ce44a42a><!--[--><a class="VPSocialLink no-icon" href="https://github.com/memohai/Memoh" aria-label="github" target="_blank" rel="noopener" data-v-ce44a42a data-v-9d5b176c><span class="vpi-social-github"></span></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-8d1ffe88 data-v-96eb4489><span class="container" data-v-96eb4489><span class="top" data-v-96eb4489></span><span class="middle" data-v-96eb4489></span><span class="bottom" data-v-96eb4489></span></span></button></div></div></div></div><div class="divider" data-v-8d1ffe88><div class="divider-line" data-v-8d1ffe88></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-ba7c87da data-v-b2c93339><div class="container" data-v-b2c93339><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-b2c93339><span class="vpi-align-left menu-icon" data-v-b2c93339></span><span class="menu-text" data-v-b2c93339>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-b2c93339 data-v-d1ffc3c0><button data-v-d1ffc3c0>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-ba7c87da data-v-59945d5d><div class="curtain" data-v-59945d5d></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-59945d5d><span class="visually-hidden" id="sidebar-aria-label" data-v-59945d5d> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-5df780f0><section class="VPSidebarItem level-0" data-v-5df780f0 data-v-31549b30><!----><div class="items" data-v-31549b30><!--[--><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/index.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/about.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>About Memoh</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-5df780f0><section class="VPSidebarItem level-0" data-v-5df780f0 data-v-31549b30><div class="item" role="button" tabindex="0" data-v-31549b30><div class="indicator" data-v-31549b30></div><h2 class="text" data-v-31549b30>Installation</h2><!----></div><div class="items" data-v-31549b30><!--[--><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/installation/docker.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Docker</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-5df780f0><section class="VPSidebarItem level-0 has-active" data-v-5df780f0 data-v-31549b30><div class="item" role="button" tabindex="0" data-v-31549b30><div class="indicator" data-v-31549b30></div><h2 class="text" data-v-31549b30>Getting Started</h2><!----></div><div class="items" data-v-31549b30><!--[--><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/provider-and-model.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>LLM Provider</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/bot.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Bot</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/sessions.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Sessions</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/access.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Access Control</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/container.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Container</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/files.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Files</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/skills.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Skills</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/supermarket.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Supermarket</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/mcp.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>MCP</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/channels.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Channels</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/browser.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Browser</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/memory.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Memory</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/compaction.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Context Compaction</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/heartbeat.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Heartbeat</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/schedule.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Scheduled Tasks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/search-provider.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Web Search</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/email.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Email</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/getting-started/slash-commands.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Slash Commands</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-5df780f0><section class="VPSidebarItem level-0" data-v-5df780f0 data-v-31549b30><div class="item" role="button" tabindex="0" data-v-31549b30><div class="indicator" data-v-31549b30></div><h2 class="text" data-v-31549b30>Memory Providers</h2><!----></div><div class="items" data-v-31549b30><!--[--><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/memory-providers/index.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/memory-providers/builtin.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Built-in</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/memory-providers/mem0.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Mem0</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/memory-providers/openviking.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>OpenViking</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-5df780f0><section class="VPSidebarItem level-0" data-v-5df780f0 data-v-31549b30><div class="item" role="button" tabindex="0" data-v-31549b30><div class="indicator" data-v-31549b30></div><h2 class="text" data-v-31549b30>TTS Providers</h2><!----></div><div class="items" data-v-31549b30><!--[--><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/tts-providers/index.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/tts-providers/edge.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Edge TTS</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-5df780f0><section class="VPSidebarItem level-0" data-v-5df780f0 data-v-31549b30><div class="item" role="button" tabindex="0" data-v-31549b30><div class="indicator" data-v-31549b30></div><h2 class="text" data-v-31549b30>Channels</h2><!----></div><div class="items" data-v-31549b30><!--[--><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/channels/index.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/channels/telegram.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Telegram</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/channels/feishu.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Feishu (Lark)</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/channels/discord.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Discord</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/channels/qq.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>QQ</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/channels/matrix.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Matrix</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/channels/misskey.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Misskey</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/channels/dingtalk.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>DingTalk</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/channels/wecom.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>WeCom (WeWork)</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/channels/weixin.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>WeChat</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/channels/wechatoa.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>WeChat Official Account</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/channels/slack.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Slack</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-ba7c87da data-v-6c992f05><div class="VPDoc has-sidebar has-aside" data-v-6c992f05 data-v-888acc39><!--[--><!--]--><div class="container" data-v-888acc39><div class="aside" data-v-888acc39><div class="aside-curtain" data-v-888acc39></div><div class="aside-container" data-v-888acc39><div class="aside-content" data-v-888acc39><div class="VPDocAside" data-v-888acc39 data-v-8cfe0409><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-8cfe0409 data-v-116d4a1f><div class="content" data-v-116d4a1f><div class="outline-marker" data-v-116d4a1f></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-116d4a1f>On this page</div><ul class="VPDocOutlineItem root" data-v-116d4a1f data-v-ba57d2ed><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-8cfe0409></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-888acc39><div class="content-container" data-v-888acc39><!--[--><!--]--><main class="main" data-v-888acc39><div style="position:relative;" class="vp-doc _getting-started_access" data-v-888acc39><div><h1 id="bot-access-control" tabindex="-1">Bot Access Control <a class="header-anchor" href="#bot-access-control" aria-label="Permalink to "Bot Access Control""></a></h1><p>Memoh uses an ACL (Access Control List) system to control who can interact with your bot. You can define prioritized rules to allow or deny specific users, channel identities, or entire channel types — all from the bot's <strong>Access</strong> tab.</p><hr><h2 id="quick-start-acl-presets" tabindex="-1">Quick Start: ACL Presets <a class="header-anchor" href="#quick-start-acl-presets" aria-label="Permalink to "Quick Start: ACL Presets""></a></h2><p>When you create a bot, Memoh lets you start from an <strong>ACL preset</strong>. Presets are just a shortcut for common access patterns.</p><table tabindex="0"><thead><tr><th>Preset</th><th>Result</th></tr></thead><tbody><tr><td><code>allow_all</code></td><td>Default effect is <code>allow</code>; anyone can chat unless you add deny rules later</td></tr><tr><td><code>private_only</code></td><td>Default effect is <code>deny</code>; private conversations are allowed</td></tr><tr><td><code>group_only</code></td><td>Default effect is <code>deny</code>; group conversations are allowed</td></tr><tr><td><code>group_and_thread_only</code></td><td>Default effect is <code>deny</code>; groups and threads are allowed</td></tr><tr><td><code>deny_all</code></td><td>Default effect is <code>deny</code>; nobody except the owner/admin path can chat until you add allow rules</td></tr></tbody></table><p>These presets only define the starting point. After creation, you can refine everything from the <strong>Access</strong> tab.</p><hr><h2 id="concepts" tabindex="-1">Concepts <a class="header-anchor" href="#concepts" aria-label="Permalink to "Concepts""></a></h2><h3 id="default-effect" tabindex="-1">Default Effect <a class="header-anchor" href="#default-effect" aria-label="Permalink to "Default Effect""></a></h3><p>Each bot has a <strong>default effect</strong> (<code>allow</code> or <code>deny</code>) that applies when no ACL rule matches an incoming message. Configure this from the bot's <strong>Access</strong> tab.</p><ul><li><strong>Allow</strong>: Anyone can chat with the bot unless explicitly denied by a rule.</li><li><strong>Deny</strong>: Only the bot owner, admins, and explicitly allowed subjects can chat.</li></ul><h3 id="subject-types" tabindex="-1">Subject Types <a class="header-anchor" href="#subject-types" aria-label="Permalink to "Subject Types""></a></h3><p>ACL rules can target three kinds of subjects:</p><table tabindex="0"><thead><tr><th>Subject</th><th>Description</th></tr></thead><tbody><tr><td><strong>All</strong></td><td>Matches every incoming message regardless of sender. Use this for global allow/deny rules.</td></tr><tr><td><strong>Channel Identity</strong></td><td>A specific identity on an external channel (e.g., a Telegram user, a Discord member). Useful for controlling access at the individual level.</td></tr><tr><td><strong>Channel Type</strong></td><td>An entire channel platform (e.g., all Telegram users, all Discord users). Useful for platform-level access control.</td></tr></tbody></table><h3 id="rule-effects" tabindex="-1">Rule Effects <a class="header-anchor" href="#rule-effects" aria-label="Permalink to "Rule Effects""></a></h3><p>Each rule has an <strong>effect</strong>:</p><ul><li><strong>Allow</strong> — Grants the subject permission to chat with the bot.</li><li><strong>Deny</strong> — Blocks the subject from chatting with the bot.</li></ul><h3 id="priority-based-evaluation" tabindex="-1">Priority-Based Evaluation <a class="header-anchor" href="#priority-based-evaluation" aria-label="Permalink to "Priority-Based Evaluation""></a></h3><p>Rules are evaluated in <strong>priority order</strong> (top to bottom). The first matching rule determines the outcome:</p><ol><li>Bot owner or system admin → <strong>Always allowed</strong> (bypasses ACL).</li><li>Rules are checked from highest priority (top) to lowest (bottom).</li><li>The first rule whose subject matches the sender is applied.</li><li>If no rule matches → the <strong>default effect</strong> is applied.</li></ol><p>This means rule ordering matters. A deny rule placed above an allow rule will take precedence for matching subjects.</p><hr><h2 id="managing-access" tabindex="-1">Managing Access <a class="header-anchor" href="#managing-access" aria-label="Permalink to "Managing Access""></a></h2><p>Open a bot's <strong>Access</strong> tab to configure its access control.</p><h3 id="start-with-a-preset-then-refine" tabindex="-1">Start With A Preset, Then Refine <a class="header-anchor" href="#start-with-a-preset-then-refine" aria-label="Permalink to "Start With A Preset, Then Refine""></a></h3><p>Recommended workflow:</p><ol><li>Pick an ACL preset when creating the bot.</li><li>Open the <strong>Access</strong> tab.</li><li>Confirm the resulting <strong>Default Effect</strong>.</li><li>Add or reorder rules only where the preset is too broad or too narrow.</li></ol><h3 id="adding-rules" tabindex="-1">Adding Rules <a class="header-anchor" href="#adding-rules" aria-label="Permalink to "Adding Rules""></a></h3><ol><li>Click <strong>Add Rule</strong>.</li><li>Select a subject type: <ul><li><strong>All</strong>: Applies to everyone.</li><li><strong>Channel Identity</strong>: Search and select a specific channel identity the bot has seen before.</li><li><strong>Channel Type</strong>: Select an entire channel platform.</li></ul></li><li>Choose the <strong>effect</strong>: <code>allow</code> or <code>deny</code>.</li><li>Optionally set <strong>source scope</strong> to restrict the rule to a specific context: <ul><li><strong>Channel</strong>: Only applies when the message comes from a specific channel config.</li><li><strong>Conversation Type</strong>: <code>private</code>, <code>group</code>, or <code>thread</code>.</li><li><strong>Conversation ID</strong>: A specific chat/group ID.</li><li><strong>Thread ID</strong>: A specific thread within a conversation (requires Conversation ID).</li></ul></li><li>Click <strong>Save</strong>.</li></ol><h3 id="reordering-rules" tabindex="-1">Reordering Rules <a class="header-anchor" href="#reordering-rules" aria-label="Permalink to "Reordering Rules""></a></h3><p>Rules can be <strong>drag-and-dropped</strong> to change their priority. Higher rules (closer to the top) are evaluated first. After reordering, click <strong>Save</strong> to persist the new order.</p><h3 id="source-scope" tabindex="-1">Source Scope <a class="header-anchor" href="#source-scope" aria-label="Permalink to "Source Scope""></a></h3><p>Source scope lets you create fine-grained rules. For example:</p><ul><li>Allow a user to chat only via Telegram, but not Discord.</li><li>Block an entire channel type only in group conversations.</li><li>Restrict access to a specific thread in a specific group.</li></ul><p>Scope fields form a hierarchy: <strong>Channel → Conversation Type → Conversation ID → Thread ID</strong>. Each level is optional, but a Thread ID requires a Conversation ID.</p><hr><h2 id="what-the-presets-actually-mean" tabindex="-1">What The Presets Actually Mean <a class="header-anchor" href="#what-the-presets-actually-mean" aria-label="Permalink to "What The Presets Actually Mean""></a></h2><p>This is the most useful mental model:</p><ul><li><code>allow_all</code> is best for open bots and public demos.</li><li><code>private_only</code> is best when the bot should only answer in direct chats.</li><li><code>group_only</code> is best for bots intended to live only in shared rooms.</li><li><code>group_and_thread_only</code> is best for bots that should work in group spaces and threaded sub-conversations, but not in private DMs.</li><li><code>deny_all</code> is best for highly restricted bots where you want to add every allow rule manually.</li></ul><p>If you are unsure, start with <code>allow_all</code> for a personal test bot or <code>deny_all</code> for anything sensitive.</p><hr><h2 id="examples" tabindex="-1">Examples <a class="header-anchor" href="#examples" aria-label="Permalink to "Examples""></a></h2><h3 id="open-bot-anyone-can-chat" tabindex="-1">Open Bot (Anyone Can Chat) <a class="header-anchor" href="#open-bot-anyone-can-chat" aria-label="Permalink to "Open Bot (Anyone Can Chat)""></a></h3><ol><li>Choose preset <code>allow_all</code>, or set <strong>ACL Default Effect</strong> to <code>allow</code>.</li><li>No rules needed — everyone is allowed by default.</li></ol><h3 id="private-bot-with-selected-users" tabindex="-1">Private Bot with Selected Users <a class="header-anchor" href="#private-bot-with-selected-users" aria-label="Permalink to "Private Bot with Selected Users""></a></h3><ol><li>Choose preset <code>deny_all</code>, or set <strong>ACL Default Effect</strong> to <code>deny</code>.</li><li>Add <strong>allow</strong> rules for each authorized channel identity.</li><li>Only listed subjects (plus the bot owner and admins) can trigger the bot.</li></ol><h3 id="open-bot-with-blocked-users" tabindex="-1">Open Bot with Blocked Users <a class="header-anchor" href="#open-bot-with-blocked-users" aria-label="Permalink to "Open Bot with Blocked Users""></a></h3><ol><li>Choose preset <code>allow_all</code>, or set <strong>ACL Default Effect</strong> to <code>allow</code>.</li><li>Add <strong>deny</strong> rules for problematic channel identities at the top of the list.</li><li>Everyone except denied subjects can chat with the bot.</li></ol><h3 id="platform-specific-access" tabindex="-1">Platform-Specific Access <a class="header-anchor" href="#platform-specific-access" aria-label="Permalink to "Platform-Specific Access""></a></h3><ol><li>Start from preset <code>deny_all</code> or <code>private_only</code>, depending on your goal.</li><li>Add an <strong>allow</strong> rule with subject type <strong>Channel Type</strong> set to <code>telegram</code>.</li><li>Only Telegram users can chat with the bot — messages from other channels are denied.</li></ol><h3 id="channel-scoped-access" tabindex="-1">Channel-Scoped Access <a class="header-anchor" href="#channel-scoped-access" aria-label="Permalink to "Channel-Scoped Access""></a></h3><ol><li>Add an <strong>allow</strong> rule for a specific channel identity.</li><li>Set the <strong>Source Scope</strong> channel to your Telegram channel config.</li><li>The user can only chat with the bot via that specific Telegram channel.</li></ol><hr><h2 id="debugging-access-decisions" tabindex="-1">Debugging Access Decisions <a class="header-anchor" href="#debugging-access-decisions" aria-label="Permalink to "Debugging Access Decisions""></a></h2><p>When ACL behavior is confusing, use:</p><ul><li>the <strong>Access</strong> tab to inspect rule order and default effect</li><li>the <code>/access</code> slash command to inspect the current identity, role, and ACL evaluation context</li></ul><p>This is especially helpful when a user is linked across multiple channels or when group/thread scoping is involved.</p></div></div></main><footer class="VPDocFooter" data-v-888acc39 data-v-64297f89><!--[--><!--]--><div class="edit-info" data-v-64297f89><div class="edit-link" data-v-64297f89><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/memohai/Memoh/edit/main/docs/docs/getting-started/access.md" target="_blank" rel="noreferrer" data-v-64297f89><!--[--><span class="vpi-square-pen edit-link-icon" data-v-64297f89></span> Edit on GitHub<!--]--></a></div><div class="last-updated" data-v-64297f89><p class="VPLastUpdated" data-v-64297f89 data-v-1cbf3ee4>Last Updated: <time datetime="2026-04-16T09:45:11.000Z" data-v-1cbf3ee4></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-64297f89><span class="visually-hidden" id="doc-footer-aria-label" data-v-64297f89>Pager</span><div class="pager" data-v-64297f89><a class="VPLink link pager-link prev" href="/getting-started/sessions.html" data-v-64297f89><!--[--><span class="desc" data-v-64297f89>Previous page</span><span class="title" data-v-64297f89>Sessions</span><!--]--></a></div><div class="pager" data-v-64297f89><a class="VPLink link pager-link next" href="/getting-started/container.html" data-v-64297f89><!--[--><span class="desc" data-v-64297f89>Next page</span><span class="title" data-v-64297f89>Container</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-ba7c87da data-v-137d0c52><div class="container" data-v-137d0c52><p class="message" data-v-137d0c52>Published under AGPLv3</p><p class="copyright" data-v-137d0c52>Copyright © 2024 Memoh</p></div></footer><!--[--><!--]--></div></div>
|
||
<script>window.__VP_HASH_MAP__=JSON.parse("{\"about.md\":\"BjgA6DuA\",\"blogs_2026-02-16.md\":\"BNMeYY71\",\"blogs_index.md\":\"BU7HIh5k\",\"channels_dingtalk.md\":\"B5SBhtPg\",\"channels_discord.md\":\"nWxkk0E9\",\"channels_feishu.md\":\"BdLiDNPX\",\"channels_index.md\":\"BMhis6AA\",\"channels_matrix.md\":\"DurhP29P\",\"channels_misskey.md\":\"K_p2b9tc\",\"channels_qq.md\":\"xrtB7-Cp\",\"channels_slack.md\":\"DJzfVI9g\",\"channels_telegram.md\":\"DHWAMJPN\",\"channels_wechatoa.md\":\"6qw2hORh\",\"channels_wecom.md\":\"CvQSc0QF\",\"channels_weixin.md\":\"NGCJG9Zr\",\"getting-started_access.md\":\"YqNM6CpY\",\"getting-started_bot.md\":\"Cun_Y-ny\",\"getting-started_browser.md\":\"CjVL6wjg\",\"getting-started_channels.md\":\"zZ6TuOep\",\"getting-started_compaction.md\":\"G9ICyEJo\",\"getting-started_container.md\":\"CrcDm5m4\",\"getting-started_email.md\":\"DN5WsFFI\",\"getting-started_files.md\":\"Db2yzSPF\",\"getting-started_heartbeat.md\":\"hEHFzwV2\",\"getting-started_mcp.md\":\"BZLjLQ-y\",\"getting-started_memory.md\":\"5cl77orc\",\"getting-started_provider-and-model.md\":\"ee3Zv59w\",\"getting-started_schedule.md\":\"BgiO7WiT\",\"getting-started_search-provider.md\":\"C6dGU9hk\",\"getting-started_sessions.md\":\"MU-Cy0GW\",\"getting-started_skills.md\":\"DTJvqMSO\",\"getting-started_slash-commands.md\":\"ChJs4d6R\",\"getting-started_supermarket.md\":\"BqLtu6vF\",\"index.md\":\"DzWsM5pb\",\"installation_docker.md\":\"BgArxak6\",\"memory-providers_builtin.md\":\"EikeTjwl\",\"memory-providers_index.md\":\"Db8RSqmA\",\"memory-providers_mem0.md\":\"DpAU5KWk\",\"memory-providers_openviking.md\":\"CFYGljE_\",\"tts-providers_edge.md\":\"BX5H-DX1\",\"tts-providers_index.md\":\"D7QeNyIs\",\"zh_about.md\":\"B7OBOXmY\",\"zh_channels_dingtalk.md\":\"D9yScEqY\",\"zh_channels_discord.md\":\"hDZvIkCe\",\"zh_channels_feishu.md\":\"CXq0MfFS\",\"zh_channels_index.md\":\"BWP88zIP\",\"zh_channels_matrix.md\":\"Vnmdv9SZ\",\"zh_channels_misskey.md\":\"DqxQOux5\",\"zh_channels_qq.md\":\"BNeEboWG\",\"zh_channels_slack.md\":\"BorAvxVv\",\"zh_channels_telegram.md\":\"aog6LT57\",\"zh_channels_wechatoa.md\":\"NF2lyD-H\",\"zh_channels_wecom.md\":\"B6C5NGt8\",\"zh_channels_weixin.md\":\"CN1Tpz9B\",\"zh_getting-started_access.md\":\"Xdj3gnBr\",\"zh_getting-started_bot.md\":\"CX52RbZZ\",\"zh_getting-started_browser.md\":\"D8vb0V4w\",\"zh_getting-started_channels.md\":\"Dq9OGdFi\",\"zh_getting-started_compaction.md\":\"Hrp0kpsz\",\"zh_getting-started_container.md\":\"D8xPCDfk\",\"zh_getting-started_email.md\":\"A8DZo4sU\",\"zh_getting-started_files.md\":\"XzVEmYRS\",\"zh_getting-started_heartbeat.md\":\"-PcsvFfb\",\"zh_getting-started_mcp.md\":\"DjOk5SWR\",\"zh_getting-started_memory.md\":\"DwSkbf1D\",\"zh_getting-started_provider-and-model.md\":\"Dh-N6ess\",\"zh_getting-started_schedule.md\":\"SwTd2ck9\",\"zh_getting-started_search-provider.md\":\"B_ir3heu\",\"zh_getting-started_sessions.md\":\"Co3PgbK6\",\"zh_getting-started_skills.md\":\"D7x3PuS-\",\"zh_getting-started_slash-commands.md\":\"CLkXYQTD\",\"zh_getting-started_supermarket.md\":\"CmK_MQg3\",\"zh_index.md\":\"dyJoE-Ka\",\"zh_installation_docker.md\":\"CE0ppM2m\",\"zh_memory-providers_builtin.md\":\"DF4YWtnz\",\"zh_memory-providers_index.md\":\"Dp4W68u7\",\"zh_memory-providers_mem0.md\":\"DqMDmCIG\",\"zh_memory-providers_openviking.md\":\"C4M6Csyz\",\"zh_tts-providers_edge.md\":\"wQ1jlxqC\",\"zh_tts-providers_index.md\":\"Dc8Cv1W6\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Memoh Documentation\",\"description\":\"Multi-Member, Structured Long-Memory, Containerized AI Agent System.\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"siteTitle\":\"Memoh\",\"sidebar\":{\"/blogs/\":[{\"text\":\"Blogs\",\"link\":\"/blogs/index.md\",\"items\":[{\"text\":\"Introduction (Feb 2026)\",\"link\":\"/blogs/2026-02-16.md\"}]}],\"/\":[{\"text\":\"Overview\",\"link\":\"/index.md\"},{\"text\":\"About Memoh\",\"link\":\"/about.md\"},{\"text\":\"Installation\",\"items\":[{\"text\":\"Docker\",\"link\":\"/installation/docker.md\"}]},{\"text\":\"Getting Started\",\"items\":[{\"text\":\"LLM Provider\",\"link\":\"/getting-started/provider-and-model.md\"},{\"text\":\"Bot\",\"link\":\"/getting-started/bot.md\"},{\"text\":\"Sessions\",\"link\":\"/getting-started/sessions.md\"},{\"text\":\"Access Control\",\"link\":\"/getting-started/access.md\"},{\"text\":\"Container\",\"link\":\"/getting-started/container.md\"},{\"text\":\"Files\",\"link\":\"/getting-started/files.md\"},{\"text\":\"Skills\",\"link\":\"/getting-started/skills.md\"},{\"text\":\"Supermarket\",\"link\":\"/getting-started/supermarket.md\"},{\"text\":\"MCP\",\"link\":\"/getting-started/mcp.md\"},{\"text\":\"Channels\",\"link\":\"/getting-started/channels.md\"},{\"text\":\"Browser\",\"link\":\"/getting-started/browser.md\"},{\"text\":\"Memory\",\"link\":\"/getting-started/memory.md\"},{\"text\":\"Context Compaction\",\"link\":\"/getting-started/compaction.md\"},{\"text\":\"Heartbeat\",\"link\":\"/getting-started/heartbeat.md\"},{\"text\":\"Scheduled Tasks\",\"link\":\"/getting-started/schedule.md\"},{\"text\":\"Web Search\",\"link\":\"/getting-started/search-provider.md\"},{\"text\":\"Email\",\"link\":\"/getting-started/email.md\"},{\"text\":\"Slash Commands\",\"link\":\"/getting-started/slash-commands.md\"}]},{\"text\":\"Memory Providers\",\"items\":[{\"text\":\"Overview\",\"link\":\"/memory-providers/index.md\"},{\"text\":\"Built-in\",\"link\":\"/memory-providers/builtin.md\"},{\"text\":\"Mem0\",\"link\":\"/memory-providers/mem0.md\"},{\"text\":\"OpenViking\",\"link\":\"/memory-providers/openviking.md\"}]},{\"text\":\"TTS Providers\",\"items\":[{\"text\":\"Overview\",\"link\":\"/tts-providers/index.md\"},{\"text\":\"Edge TTS\",\"link\":\"/tts-providers/edge.md\"}]},{\"text\":\"Channels\",\"items\":[{\"text\":\"Overview\",\"link\":\"/channels/index.md\"},{\"text\":\"Telegram\",\"link\":\"/channels/telegram.md\"},{\"text\":\"Feishu (Lark)\",\"link\":\"/channels/feishu.md\"},{\"text\":\"Discord\",\"link\":\"/channels/discord.md\"},{\"text\":\"QQ\",\"link\":\"/channels/qq.md\"},{\"text\":\"Matrix\",\"link\":\"/channels/matrix.md\"},{\"text\":\"Misskey\",\"link\":\"/channels/misskey.md\"},{\"text\":\"DingTalk\",\"link\":\"/channels/dingtalk.md\"},{\"text\":\"WeCom (WeWork)\",\"link\":\"/channels/wecom.md\"},{\"text\":\"WeChat\",\"link\":\"/channels/weixin.md\"},{\"text\":\"WeChat Official Account\",\"link\":\"/channels/wechatoa.md\"},{\"text\":\"Slack\",\"link\":\"/channels/slack.md\"}]}],\"/zh/\":[{\"text\":\"文档总览\",\"link\":\"/zh/index.md\"},{\"text\":\"关于与安装\",\"items\":[{\"text\":\"了解 Memoh\",\"link\":\"/zh/about.md\"},{\"text\":\"Docker 安装\",\"link\":\"/zh/installation/docker.md\"}]},{\"text\":\"入门\",\"items\":[{\"text\":\"供应商与模型\",\"link\":\"/zh/getting-started/provider-and-model.md\"},{\"text\":\"机器人\",\"link\":\"/zh/getting-started/bot.md\"},{\"text\":\"会话\",\"link\":\"/zh/getting-started/sessions.md\"},{\"text\":\"访问控制\",\"link\":\"/zh/getting-started/access.md\"},{\"text\":\"容器\",\"link\":\"/zh/getting-started/container.md\"},{\"text\":\"文件\",\"link\":\"/zh/getting-started/files.md\"},{\"text\":\"技能\",\"link\":\"/zh/getting-started/skills.md\"},{\"text\":\"超市\",\"link\":\"/zh/getting-started/supermarket.md\"},{\"text\":\"MCP\",\"link\":\"/zh/getting-started/mcp.md\"},{\"text\":\"渠道(入门)\",\"link\":\"/zh/getting-started/channels.md\"},{\"text\":\"浏览器\",\"link\":\"/zh/getting-started/browser.md\"},{\"text\":\"长期记忆\",\"link\":\"/zh/getting-started/memory.md\"},{\"text\":\"会话上下文压缩\",\"link\":\"/zh/getting-started/compaction.md\"},{\"text\":\"心跳\",\"link\":\"/zh/getting-started/heartbeat.md\"},{\"text\":\"计划任务\",\"link\":\"/zh/getting-started/schedule.md\"},{\"text\":\"搜索提供方\",\"link\":\"/zh/getting-started/search-provider.md\"},{\"text\":\"邮件\",\"link\":\"/zh/getting-started/email.md\"},{\"text\":\"斜杠命令\",\"link\":\"/zh/getting-started/slash-commands.md\"}]},{\"text\":\"记忆提供方\",\"items\":[{\"text\":\"总览\",\"link\":\"/zh/memory-providers/index.md\"},{\"text\":\"内置\",\"link\":\"/zh/memory-providers/builtin.md\"},{\"text\":\"Mem0\",\"link\":\"/zh/memory-providers/mem0.md\"},{\"text\":\"OpenViking\",\"link\":\"/zh/memory-providers/openviking.md\"}]},{\"text\":\"TTS\",\"items\":[{\"text\":\"总览\",\"link\":\"/zh/tts-providers/index.md\"},{\"text\":\"Edge TTS\",\"link\":\"/zh/tts-providers/edge.md\"}]},{\"text\":\"渠道\",\"items\":[{\"text\":\"总览\",\"link\":\"/zh/channels/index.md\"},{\"text\":\"Slack\",\"link\":\"/zh/channels/slack.md\"},{\"text\":\"Telegram\",\"link\":\"/zh/channels/telegram.md\"},{\"text\":\"飞书\",\"link\":\"/zh/channels/feishu.md\"},{\"text\":\"Discord\",\"link\":\"/zh/channels/discord.md\"},{\"text\":\"QQ\",\"link\":\"/zh/channels/qq.md\"},{\"text\":\"Matrix\",\"link\":\"/zh/channels/matrix.md\"},{\"text\":\"Misskey\",\"link\":\"/zh/channels/misskey.md\"},{\"text\":\"钉钉\",\"link\":\"/zh/channels/dingtalk.md\"},{\"text\":\"企微\",\"link\":\"/zh/channels/wecom.md\"},{\"text\":\"微信\",\"link\":\"/zh/channels/weixin.md\"},{\"text\":\"微信公众号\",\"link\":\"/zh/channels/wechatoa.md\"}]}]},\"nav\":[{\"text\":\"Guides\",\"link\":\"/\"},{\"text\":\"Blogs\",\"link\":\"/blogs/\"}],\"logo\":{\"src\":\"/logo.svg\",\"alt\":\"Memoh\"},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/memohai/Memoh\"}],\"footer\":{\"message\":\"Published under AGPLv3\",\"copyright\":\"Copyright © 2024 Memoh\"},\"search\":{\"provider\":\"local\"},\"editLink\":{\"pattern\":\"https://github.com/memohai/Memoh/edit/main/docs/docs/:path\",\"text\":\"Edit on GitHub\"},\"lastUpdated\":{\"text\":\"Last Updated\",\"formatOptions\":{\"dateStyle\":\"short\",\"timeStyle\":\"medium\"}}},\"locales\":{\"root\":{\"label\":\"English\",\"lang\":\"en\"},\"zh\":{\"label\":\"简体中文\",\"lang\":\"zh\"}},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
||
|
||
</body>
|
||
</html> |