mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-25 07:00:48 +09:00
26 lines
38 KiB
HTML
26 lines
38 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 Container Management | 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.CRyv_MmE.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.BCQ-NHcv.js">
|
||
<link rel="modulepreload" href="/assets/chunks/framework.DXGyWiRo.js">
|
||
<link rel="modulepreload" href="/assets/getting-started_container.md.Do_YGEZB.lean.js">
|
||
<link rel="icon" href="/logo.png">
|
||
<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.png" 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/container.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/container.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/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/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></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_container" data-v-888acc39><div><h1 id="bot-container-management" tabindex="-1">Bot Container Management <a class="header-anchor" href="#bot-container-management" aria-label="Permalink to "Bot Container Management""></a></h1><p>Every Bot in Memoh operates within its own isolated container environment. This isolation ensures security, provides a dedicated filesystem, and allows the bot to execute code or commands without affecting other bots or the host system.</p><h2 id="concept-the-isolated-workspace" tabindex="-1">Concept: The Isolated Workspace <a class="header-anchor" href="#concept-the-isolated-workspace" aria-label="Permalink to "Concept: The Isolated Workspace""></a></h2><p>The container acts as the bot's private "computer." Within it, the bot can:</p><ul><li>Store and modify files</li><li>Install software via package managers</li><li>Execute scripts</li><li>Maintain state across multiple sessions</li></ul><hr><h2 id="operations" tabindex="-1">Operations <a class="header-anchor" href="#operations" aria-label="Permalink to "Operations""></a></h2><p>Manage the lifecycle of your bot's environment from the <strong>Container</strong> tab in the Bot Detail page.</p><h3 id="lifecycle-actions" tabindex="-1">Lifecycle Actions <a class="header-anchor" href="#lifecycle-actions" aria-label="Permalink to "Lifecycle Actions""></a></h3><ul><li><strong>Create</strong>: Initialize the container if it doesn't exist (using the configured image). Progress is shown via real-time SSE feedback during image pull and creation.</li><li><strong>Start</strong>: Launch the container. The bot must have a running container to perform many operations like file editing or executing tools.</li><li><strong>Stop</strong>: Gracefully shut down the container to save resources.</li><li><strong>Delete</strong>: Remove the container instance.</li></ul><hr><h2 id="container-information" tabindex="-1">Container Information <a class="header-anchor" href="#container-information" aria-label="Permalink to "Container Information""></a></h2><p>The <strong>Container</strong> tab displays real-time data about the bot's runtime:</p><ul><li><strong>Container ID</strong>: Unique identifier for the instance.</li><li><strong>Status</strong>: Whether it's currently running, stopped, or creating.</li><li><strong>Image</strong>: The Docker/Containerd image used as the base.</li><li><strong>Paths</strong>: Host and container paths for data persistence.</li><li><strong>Tasks</strong>: Number of active background tasks running in the container.</li><li><strong>CDI Devices</strong>: The effective GPU CDI devices currently attached to the container, if any.</li></ul><hr><h2 id="advanced-provide-cdi-devices" tabindex="-1">Advanced: Provide CDI Devices <a class="header-anchor" href="#advanced-provide-cdi-devices" aria-label="Permalink to "Advanced: Provide CDI Devices""></a></h2><p>Memoh can provide host devices to a bot container through CDI (Container Device Interface). This is an advanced capability for users who want to expose host-managed devices, most commonly GPUs, to the container runtime.</p><p>In the Web UI, this capability is placed under <strong>Advanced options</strong> in the <strong>Container</strong> tab. It is optional and only needs to be configured when the bot must access CDI-backed devices from the host.</p><h3 id="configure-cdi-devices" tabindex="-1">Configure CDI Devices <a class="header-anchor" href="#configure-cdi-devices" aria-label="Permalink to "Configure CDI Devices""></a></h3><ol><li>Open the Bot's <strong>Container</strong> tab.</li><li>Click <strong>Create</strong> if the container does not exist, or recreate the container if you need to change GPU settings.</li><li>Expand <strong>Advanced options</strong>.</li><li>Enable <strong>GPU</strong>.</li><li>Enter one or more CDI device names in <strong>CDI devices</strong>.</li></ol><p>You can enter CDI device names one per line or separated with commas. Common GPU-related examples:</p><ul><li><code>nvidia.com/gpu=0</code></li><li><code>nvidia.com/gpu=all</code></li><li><code>amd.com/gpu=0</code></li><li><code>amd.com/gpu=all</code></li></ul><h3 id="host-requirements" tabindex="-1">Host Requirements <a class="header-anchor" href="#host-requirements" aria-label="Permalink to "Host Requirements""></a></h3><p>Before configuring CDI devices in Memoh, the host machine must already provide working device drivers, vendor toolkit support where required, and valid CDI specs. In practice, this usually means:</p><ul><li>the host GPU works normally outside the container</li><li>CDI spec files exist under <code>/etc/cdi</code> or <code>/var/run/cdi</code></li><li>the device name you enter in Memoh matches a real CDI device on the host</li></ul><p>To discover the exact CDI device names exposed by the host, use the vendor tool on the host machine:</p><ul><li>NVIDIA: <code>nvidia-ctk cdi list</code></li><li>AMD: <code>amd-ctk cdi list</code></li></ul><p>If Memoh reports an error such as <code>unresolvable CDI devices</code>, the configured device name does not match any CDI device visible to the container runtime.</p><h3 id="important-behavior" tabindex="-1">Important Behavior <a class="header-anchor" href="#important-behavior" aria-label="Permalink to "Important Behavior""></a></h3><ul><li>CDI device settings are applied when the container is created. Updating the setting later requires recreating the container.</li><li>Stopping and starting an existing container does not change its attached CDI devices.</li><li>The container image still needs the appropriate user-space libraries and tools if you want to run CUDA or ROCm software inside the container.</li><li>After creation, the <strong>Container</strong> tab shows the effective attached CDI devices for verification.</li></ul><hr><h2 id="snapshots" tabindex="-1">Snapshots <a class="header-anchor" href="#snapshots" aria-label="Permalink to "Snapshots""></a></h2><p>Snapshots allow you to capture the current state of the bot's container and restore it later. This is useful for:</p><ul><li>Saving a known good configuration</li><li>Versioning the bot's environment</li><li>Testing complex changes safely</li></ul><h3 id="creating-a-snapshot" tabindex="-1">Creating a Snapshot <a class="header-anchor" href="#creating-a-snapshot" aria-label="Permalink to "Creating a Snapshot""></a></h3><ol><li>Ensure the container is stopped or in a stable state.</li><li>Click <strong>Create Snapshot</strong>.</li><li>Provide a name for the snapshot.</li></ol><h3 id="restoring-a-snapshot" tabindex="-1">Restoring a Snapshot <a class="header-anchor" href="#restoring-a-snapshot" aria-label="Permalink to "Restoring a Snapshot""></a></h3><ul><li>Find the desired snapshot in the list and click <strong>Restore</strong>. This will reset the container to the captured state.</li></ul><h3 id="managing-snapshots" tabindex="-1">Managing Snapshots <a class="header-anchor" href="#managing-snapshots" aria-label="Permalink to "Managing Snapshots""></a></h3><ul><li>View a list of existing snapshots with their creation timestamps and parent relationships.</li><li>Use the <strong>Delete</strong> button next to a snapshot to remove it.</li></ul><hr><h2 id="data-export-and-import" tabindex="-1">Data Export and Import <a class="header-anchor" href="#data-export-and-import" aria-label="Permalink to "Data Export and Import""></a></h2><p>The Container tab supports exporting and importing container data for backup, migration, or sharing purposes.</p><h3 id="export" tabindex="-1">Export <a class="header-anchor" href="#export" aria-label="Permalink to "Export""></a></h3><ol><li>Click <strong>Export Data</strong>.</li><li>The container's filesystem data is packaged into a downloadable archive.</li><li>Save the archive to your local machine.</li></ol><h3 id="import" tabindex="-1">Import <a class="header-anchor" href="#import" aria-label="Permalink to "Import""></a></h3><ol><li>Click <strong>Import Data</strong>.</li><li>Select an archive file from your local machine.</li><li>The archive contents are extracted into the container's filesystem.</li></ol><h3 id="restore" tabindex="-1">Restore <a class="header-anchor" href="#restore" aria-label="Permalink to "Restore""></a></h3><p>The <strong>Restore</strong> operation resets the container's data directory to a clean state. This is useful when the filesystem has become corrupted or you want to start fresh without recreating the container.</p><hr><h2 id="container-versioning" tabindex="-1">Container Versioning <a class="header-anchor" href="#container-versioning" aria-label="Permalink to "Container Versioning""></a></h2><p>Memoh tracks container versions to manage the lifecycle of the bot's runtime environment. Version information includes:</p><ul><li><strong>Current Version</strong>: The active container version.</li><li><strong>Version History</strong>: A log of container version changes over time.</li></ul><p>This helps with auditing and understanding when container configurations were updated.</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/container.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-10T06:52:17.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/access.html" data-v-64297f89><!--[--><span class="desc" data-v-64297f89>Previous page</span><span class="title" data-v-64297f89>Access Control</span><!--]--></a></div><div class="pager" data-v-64297f89><a class="VPLink link pager-link next" href="/getting-started/files.html" data-v-64297f89><!--[--><span class="desc" data-v-64297f89>Next page</span><span class="title" data-v-64297f89>Files</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\":\"B8mz5B7D\",\"blogs_2026-02-16.md\":\"D7X_K9ac\",\"blogs_index.md\":\"CzVqJnkf\",\"channels_discord.md\":\"CgnXVcxj\",\"channels_feishu.md\":\"7xzXC8PR\",\"channels_index.md\":\"CV834U5I\",\"channels_matrix.md\":\"C5lym8OS\",\"channels_qq.md\":\"BiHC52Zm\",\"channels_telegram.md\":\"WGR_O6_O\",\"channels_wecom.md\":\"D7yBtNrz\",\"channels_weixin.md\":\"Ckccg7Ew\",\"getting-started_access.md\":\"Co5O-s2T\",\"getting-started_bot.md\":\"CULM4cGX\",\"getting-started_browser.md\":\"Cjpk7h3a\",\"getting-started_channels.md\":\"DP2fW_sw\",\"getting-started_compaction.md\":\"CQe9KC6f\",\"getting-started_container.md\":\"Do_YGEZB\",\"getting-started_email.md\":\"DLrAWkek\",\"getting-started_files.md\":\"CbhHSLX5\",\"getting-started_heartbeat.md\":\"lBwT6Ivl\",\"getting-started_mcp.md\":\"CfWEkmuE\",\"getting-started_memory.md\":\"DfffnmM0\",\"getting-started_provider-and-model.md\":\"MB4KgxWX\",\"getting-started_schedule.md\":\"7R1TStAB\",\"getting-started_search-provider.md\":\"DDV1py8V\",\"getting-started_sessions.md\":\"CaVKbfb5\",\"getting-started_skills.md\":\"E3JgIlwr\",\"getting-started_slash-commands.md\":\"CBeh4epy\",\"index.md\":\"MTTbinuf\",\"installation_docker.md\":\"DxE7r3rU\",\"memory-providers_builtin.md\":\"DlYtNI3G\",\"memory-providers_index.md\":\"D5MvHNPW\",\"memory-providers_mem0.md\":\"C5B6D9ME\",\"memory-providers_openviking.md\":\"N-8WyFZa\",\"tts-providers_edge.md\":\"DPjdtaQf\",\"tts-providers_index.md\":\"Cgc87EeS\",\"zh_concepts_identity-and-binding.md\":\"6tGYa9d_\",\"zh_concepts_index.md\":\"_zNPjKkD\",\"zh_index.md\":\"Db4hJx1C\",\"zh_style_terminology.md\":\"CzqhSoQX\"}");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\":\"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\":\"WeCom (WeWork)\",\"link\":\"/channels/wecom.md\"},{\"text\":\"WeChat\",\"link\":\"/channels/weixin.md\"}]}],\"/zh/\":[{\"text\":\"文档总览\",\"link\":\"/zh/index.md\"}]},\"nav\":[{\"text\":\"Guides\",\"link\":\"/\"},{\"text\":\"Blogs\",\"link\":\"/blogs/\"}],\"logo\":{\"src\":\"/logo.png\",\"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> |