mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-25 07:00:48 +09:00
39 lines
38 KiB
HTML
39 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>Scheduled Tasks | 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_schedule.md.7R1TStAB.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/schedule.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/schedule.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_schedule" data-v-888acc39><div><h1 id="scheduled-tasks" tabindex="-1">Scheduled Tasks <a class="header-anchor" href="#scheduled-tasks" aria-label="Permalink to "Scheduled Tasks""></a></h1><p>Scheduled Tasks allow you to automate recurring bot actions using cron expressions. This is useful for sending periodic reports, checking external data, performing maintenance, or triggering any routine task without manual intervention.</p><h2 id="concept-cron-based-automation" tabindex="-1">Concept: Cron-Based Automation <a class="header-anchor" href="#concept-cron-based-automation" aria-label="Permalink to "Concept: Cron-Based Automation""></a></h2><p>A <strong>Schedule</strong> is a cron-triggered rule bound to a specific bot. When a schedule fires, it sends a command to the agent, which executes it using its available tools, skills, and context. The bot can then deliver results to any connected channel.</p><hr><h2 id="schedule-fields" tabindex="-1">Schedule Fields <a class="header-anchor" href="#schedule-fields" aria-label="Permalink to "Schedule Fields""></a></h2><table tabindex="0"><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>Name</strong></td><td>A display name for the task (e.g., "Morning News Summary").</td></tr><tr><td><strong>Description</strong></td><td>A brief explanation of what the task does.</td></tr><tr><td><strong>Pattern</strong></td><td>A cron expression that defines when the task runs (e.g., <code>0 9 * * *</code> for daily at 9:00 AM).</td></tr><tr><td><strong>Command</strong></td><td>The natural-language instruction sent to the agent when the schedule triggers (e.g., "Summarize today's top tech news and send it to the Telegram channel").</td></tr><tr><td><strong>Enabled</strong></td><td>Whether the schedule is currently active.</td></tr><tr><td><strong>Max Calls</strong></td><td>Optional limit on the total number of executions. Leave empty for unlimited.</td></tr><tr><td><strong>Current Calls</strong></td><td>The number of times this schedule has already fired.</td></tr></tbody></table><hr><h2 id="cron-pattern-reference" tabindex="-1">Cron Pattern Reference <a class="header-anchor" href="#cron-pattern-reference" aria-label="Permalink to "Cron Pattern Reference""></a></h2><p>The <code>pattern</code> field uses standard cron syntax with five fields. It is evaluated in the server's configured timezone. By default, Memoh uses <code>UTC</code>, and you can change it with the top-level <code>timezone</code> config value.</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>┌───────────── minute (0–59)</span></span>
|
||
<span class="line"><span>│ ┌───────────── hour (0–23)</span></span>
|
||
<span class="line"><span>│ │ ┌───────────── day of month (1–31)</span></span>
|
||
<span class="line"><span>│ │ │ ┌───────────── month (1–12)</span></span>
|
||
<span class="line"><span>│ │ │ │ ┌───────────── day of week (0–6, Sun=0)</span></span>
|
||
<span class="line"><span>│ │ │ │ │</span></span>
|
||
<span class="line"><span>* * * * *</span></span></code></pre></div><p><strong>Common examples:</strong></p><table tabindex="0"><thead><tr><th>Pattern</th><th>Meaning</th></tr></thead><tbody><tr><td><code>0 9 * * *</code></td><td>Every day at 9:00 AM</td></tr><tr><td><code>*/30 * * * *</code></td><td>Every 30 minutes</td></tr><tr><td><code>0 0 * * 1</code></td><td>Every Monday at midnight</td></tr><tr><td><code>0 8,20 * * *</code></td><td>Every day at 8:00 AM and 8:00 PM</td></tr><tr><td><code>0 0 1 * *</code></td><td>First day of every month at midnight</td></tr></tbody></table><hr><h2 id="viewing-schedules" tabindex="-1">Viewing Schedules <a class="header-anchor" href="#viewing-schedules" aria-label="Permalink to "Viewing Schedules""></a></h2><ol><li>Navigate to the Bot <strong>Detail Page</strong>.</li><li>Select the <strong>Schedule</strong> tab.</li><li>The list shows all schedules for this bot, including their name, cron pattern, enabled status, and execution counts.</li><li>Click <strong>Refresh</strong> to reload the list.</li></ol><hr><h2 id="creating-schedules" tabindex="-1">Creating Schedules <a class="header-anchor" href="#creating-schedules" aria-label="Permalink to "Creating Schedules""></a></h2><p>Schedules are primarily created in two ways:</p><h3 id="via-the-bot-conversational" tabindex="-1">Via the Bot (Conversational) <a class="header-anchor" href="#via-the-bot-conversational" aria-label="Permalink to "Via the Bot (Conversational)""></a></h3><p>The bot itself has access to a <code>schedule</code> tool. You can ask the bot to create a schedule in natural language:</p><blockquote><p>"Create a schedule called 'Daily Digest' that runs every day at 8 AM and sends me a summary of my unread emails."</p></blockquote><p>The bot will translate this into a cron expression and register the schedule automatically.</p><h3 id="via-the-api" tabindex="-1">Via the API <a class="header-anchor" href="#via-the-api" aria-label="Permalink to "Via the API""></a></h3><p>You can also create schedules programmatically using the REST API:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>POST /api/bots/{bot_id}/schedule</span></span></code></pre></div><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Daily Digest"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "description"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Summarize unread emails every morning"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "pattern"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"0 8 * * *"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "command"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Summarize my unread emails and send the result to Telegram."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "enabled"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "max_calls"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">null</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><hr><h2 id="execution-flow" tabindex="-1">Execution Flow <a class="header-anchor" href="#execution-flow" aria-label="Permalink to "Execution Flow""></a></h2><p>When a schedule fires:</p><ol><li>The cron service triggers the schedule.</li><li>The <code>current_calls</code> counter is incremented.</li><li>If <code>max_calls</code> is set and reached, the schedule is automatically disabled.</li><li>The agent receives the <code>command</code> along with the schedule context.</li><li>The agent executes the command using its tools (e.g., web search, file read, send message).</li><li>Results can be delivered to any connected channel.</li></ol><hr><h2 id="schedule-vs-heartbeat" tabindex="-1">Schedule vs. Heartbeat <a class="header-anchor" href="#schedule-vs-heartbeat" aria-label="Permalink to "Schedule vs. Heartbeat""></a></h2><table tabindex="0"><thead><tr><th>Feature</th><th>Schedule</th><th>Heartbeat</th></tr></thead><tbody><tr><td><strong>Trigger</strong></td><td>Cron expression (flexible timing)</td><td>Fixed interval (minutes)</td></tr><tr><td><strong>Command</strong></td><td>Custom natural-language instruction</td><td>Generic "routine check" prompt</td></tr><tr><td><strong>Max Calls</strong></td><td>Optional execution limit</td><td>Unlimited</td></tr><tr><td><strong>Use Case</strong></td><td>Specific recurring tasks</td><td>Periodic autonomous thinking</td></tr></tbody></table><p>Both features complement each other: use <strong>Heartbeat</strong> for general-purpose periodic activity and <strong>Schedule</strong> for precise, task-oriented automation.</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/schedule.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-03-25T17:32:02.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/heartbeat.html" data-v-64297f89><!--[--><span class="desc" data-v-64297f89>Previous page</span><span class="title" data-v-64297f89>Heartbeat</span><!--]--></a></div><div class="pager" data-v-64297f89><a class="VPLink link pager-link next" href="/getting-started/search-provider.html" data-v-64297f89><!--[--><span class="desc" data-v-64297f89>Next page</span><span class="title" data-v-64297f89>Web Search</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> |