mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-25 07:00:48 +09:00
deploy: 8e013ad1ad
This commit is contained in:
+4
-4
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{t as p}from"./chunks/theme.D3TMuosU.js";import{R as s,a2 as i,a3 as u,a4 as c,a5 as l,a6 as f,a7 as d,a8 as m,a9 as h,aa as g,ab as A,d as v,u as y,v as C,s as P,ac as b,ad as w,ae as R,af as E}from"./chunks/framework.DXGyWiRo.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(p),S=v({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=y();return C(()=>{P(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&b(),w(),R(),n.setup&&n.setup(),()=>E(n.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function D(){return A(S)}function _(){let e=s;return h(a=>{let t=g(a),o=null;return t&&(e&&(t=t.replace(/\.js$/,".lean.js")),o=import(t)),s&&(e=!1),o},n.NotFound)}s&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{T as createApp};
|
||||
import{t as p}from"./chunks/theme.PItBixWd.js";import{R as s,a2 as i,a3 as u,a4 as c,a5 as l,a6 as f,a7 as d,a8 as m,a9 as h,aa as g,ab as A,d as v,u as y,v as C,s as P,ac as b,ad as w,ae as R,af as E}from"./chunks/framework.DXGyWiRo.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(p),S=v({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=y();return C(()=>{P(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&b(),w(),R(),n.setup&&n.setup(),()=>E(n.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function D(){return A(S)}function _(){let e=s;return h(a=>{let t=g(a),o=null;return t&&(e&&(t=t.replace(/\.js$/,".lean.js")),o=import(t)),s&&(e=!1),o},n.NotFound)}s&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{T as createApp};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,o as a,c as o,ag as n}from"./chunks/framework.DXGyWiRo.js";const p=JSON.parse('{"title":"Channels Overview","description":"","frontmatter":{},"headers":[],"relativePath":"channels/index.md","filePath":"channels/index.md","lastUpdated":1776332711000}'),i={name:"channels/index.md"};function r(s,e,l,c,h,g){return a(),o("div",null,[...e[0]||(e[0]=[n('<h1 id="channels-overview" tabindex="-1">Channels Overview <a class="header-anchor" href="#channels-overview" aria-label="Permalink to "Channels Overview""></a></h1><p>Channels are the gateways that connect your Memoh Bots to the outside world. By configuring channels, you can interact with your bots via your favorite messaging platforms.</p><p>Memoh currently supports the following channels:</p><ul><li><strong><a href="./telegram.html">Telegram</a></strong>: Feature-rich integration with streaming and attachment support.</li><li><strong><a href="./feishu.html">Feishu (Lark)</a></strong>: Enterprise-ready integration for business workflows.</li><li><strong><a href="./discord.html">Discord</a></strong>: Community-focused integration for servers and direct messages.</li><li><strong><a href="./qq.html">QQ</a></strong>: Quick setup for personal DM bots via the dedicated AI bot registration portal.</li><li><strong><a href="./matrix.html">Matrix</a></strong>: Decentralized messaging protocol support for any Matrix homeserver.</li><li><strong><a href="./misskey.html">Misskey</a></strong>: Federated social/chat style integration with replies and reactions.</li><li><strong><a href="./dingtalk.html">DingTalk</a></strong>: Enterprise chat integration for private and group conversations.</li><li><strong><a href="./wecom.html">WeCom (WeWork)</a></strong>: Enterprise messaging integration for WeCom workspaces.</li><li><strong><a href="./weixin.html">WeChat</a></strong>: Personal messaging via QR login.</li><li><strong><a href="./wechatoa.html">WeChat Official Account</a></strong>: Official account webhook integration for private message scenarios.</li><li><strong>Email</strong>: Connect via SMTP providers, Mailgun, or Gmail OAuth (configured through Email Providers).</li><li><strong>Web</strong>: Built-in chat interface for immediate access.</li></ul><h3 id="wechat-vs-wechat-official-account" tabindex="-1">WeChat vs WeChat Official Account <a class="header-anchor" href="#wechat-vs-wechat-official-account" aria-label="Permalink to "WeChat vs WeChat Official Account""></a></h3><p>Memoh supports two different WeChat-related adapters:</p><ul><li><strong>WeChat (<code>weixin</code>)</strong> is the personal-account style integration that relies on QR login.</li><li><strong>WeChat Official Account (<code>wechatoa</code>)</strong> is the official-account / webhook style integration that uses <code>App ID</code>, <code>App Secret</code>, <code>Token</code>, and optional AES settings.</li></ul><p>Choose the one that matches your actual WeChat deployment model.</p><h2 id="general-setup-flow" tabindex="-1">General Setup Flow <a class="header-anchor" href="#general-setup-flow" aria-label="Permalink to "General Setup Flow""></a></h2><ol><li><strong>Create an external app/bot</strong>: Register your bot on the target platform.</li><li><strong>Obtain credentials</strong>: Fetch API tokens, App IDs, app secrets, or access tokens.</li><li><strong>Configure in Memoh</strong>: Add the channel from your bot's <strong>Platforms</strong> tab.</li><li><strong>Save and enable</strong>: Activate the channel to start receiving and sending messages.</li></ol><p>Depending on the platform, the final step may involve:</p><ul><li>copying a webhook callback URL into the platform console</li><li>approving a QR login on mobile</li><li>leaving a long-lived stream/WebSocket connection running through Memoh</li></ul><p>Choose a channel from the sidebar to see detailed configuration guides for each platform.</p>',13)])])}const f=t(i,[["render",r]]);export{p as __pageData,f as default};
|
||||
import{_ as t,o as a,c as o,ag as n}from"./chunks/framework.DXGyWiRo.js";const p=JSON.parse('{"title":"Channels Overview","description":"","frontmatter":{},"headers":[],"relativePath":"channels/index.md","filePath":"channels/index.md","lastUpdated":1776579425000}'),i={name:"channels/index.md"};function r(s,e,l,c,h,g){return a(),o("div",null,[...e[0]||(e[0]=[n('<h1 id="channels-overview" tabindex="-1">Channels Overview <a class="header-anchor" href="#channels-overview" aria-label="Permalink to "Channels Overview""></a></h1><p>Channels are the gateways that connect your Memoh Bots to the outside world. By configuring channels, you can interact with your bots via your favorite messaging platforms.</p><p>Memoh currently supports the following channels:</p><ul><li><strong><a href="./slack.html">Slack</a></strong>: Workspace messaging with Socket Mode, threads, files, and reactions.</li><li><strong><a href="./telegram.html">Telegram</a></strong>: Feature-rich integration with streaming and attachment support.</li><li><strong><a href="./feishu.html">Feishu (Lark)</a></strong>: Enterprise-ready integration for business workflows.</li><li><strong><a href="./discord.html">Discord</a></strong>: Community-focused integration for servers and direct messages.</li><li><strong><a href="./qq.html">QQ</a></strong>: Quick setup for personal DM bots via the dedicated AI bot registration portal.</li><li><strong><a href="./matrix.html">Matrix</a></strong>: Decentralized messaging protocol support for any Matrix homeserver.</li><li><strong><a href="./misskey.html">Misskey</a></strong>: Federated social/chat style integration with replies and reactions.</li><li><strong><a href="./dingtalk.html">DingTalk</a></strong>: Enterprise chat integration for private and group conversations.</li><li><strong><a href="./wecom.html">WeCom (WeWork)</a></strong>: Enterprise messaging integration for WeCom workspaces.</li><li><strong><a href="./weixin.html">WeChat</a></strong>: Personal messaging via QR login.</li><li><strong><a href="./wechatoa.html">WeChat Official Account</a></strong>: Official account webhook integration for private message scenarios.</li><li><strong>Email</strong>: Connect via SMTP providers, Mailgun, or Gmail OAuth (configured through Email Providers).</li><li><strong>Web</strong>: Built-in chat interface for immediate access.</li></ul><h3 id="wechat-vs-wechat-official-account" tabindex="-1">WeChat vs WeChat Official Account <a class="header-anchor" href="#wechat-vs-wechat-official-account" aria-label="Permalink to "WeChat vs WeChat Official Account""></a></h3><p>Memoh supports two different WeChat-related adapters:</p><ul><li><strong>WeChat (<code>weixin</code>)</strong> is the personal-account style integration that relies on QR login.</li><li><strong>WeChat Official Account (<code>wechatoa</code>)</strong> is the official-account / webhook style integration that uses <code>App ID</code>, <code>App Secret</code>, <code>Token</code>, and optional AES settings.</li></ul><p>Choose the one that matches your actual WeChat deployment model.</p><h2 id="general-setup-flow" tabindex="-1">General Setup Flow <a class="header-anchor" href="#general-setup-flow" aria-label="Permalink to "General Setup Flow""></a></h2><ol><li><strong>Create an external app/bot</strong>: Register your bot on the target platform.</li><li><strong>Obtain credentials</strong>: Fetch API tokens, App IDs, app secrets, or access tokens.</li><li><strong>Configure in Memoh</strong>: Add the channel from your bot's <strong>Platforms</strong> tab.</li><li><strong>Save and enable</strong>: Activate the channel to start receiving and sending messages.</li></ol><p>Depending on the platform, the final step may involve:</p><ul><li>copying a webhook callback URL into the platform console</li><li>approving a QR login on mobile</li><li>leaving a long-lived stream/WebSocket connection running through Memoh</li></ul><p>Choose a channel from the sidebar to see detailed configuration guides for each platform.</p>',13)])])}const f=t(i,[["render",r]]);export{p as __pageData,f as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as t,o as a,c as o,ag as n}from"./chunks/framework.DXGyWiRo.js";const p=JSON.parse('{"title":"Channels Overview","description":"","frontmatter":{},"headers":[],"relativePath":"channels/index.md","filePath":"channels/index.md","lastUpdated":1776332711000}'),i={name:"channels/index.md"};function r(s,e,l,c,h,g){return a(),o("div",null,[...e[0]||(e[0]=[n("",13)])])}const f=t(i,[["render",r]]);export{p as __pageData,f as default};
|
||||
import{_ as t,o as a,c as o,ag as n}from"./chunks/framework.DXGyWiRo.js";const p=JSON.parse('{"title":"Channels Overview","description":"","frontmatter":{},"headers":[],"relativePath":"channels/index.md","filePath":"channels/index.md","lastUpdated":1776579425000}'),i={name:"channels/index.md"};function r(s,e,l,c,h,g){return a(),o("div",null,[...e[0]||(e[0]=[n("",13)])])}const f=t(i,[["render",r]]);export{p as __pageData,f as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{_ as o,o as t,c as a,ag as n}from"./chunks/framework.DXGyWiRo.js";const u=JSON.parse('{"title":"Slack Channel Configuration","description":"","frontmatter":{},"headers":[],"relativePath":"channels/slack.md","filePath":"channels/slack.md","lastUpdated":1776579425000}'),s={name:"channels/slack.md"};function i(l,e,r,c,d,p){return t(),a("div",null,[...e[0]||(e[0]=[n("",27)])])}const m=o(s,[["render",i]]);export{u as __pageData,m as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,o as a,c as n,ag as o}from"./chunks/framework.DXGyWiRo.js";const u=JSON.parse('{"title":"Bot Channels","description":"","frontmatter":{},"headers":[],"relativePath":"getting-started/channels.md","filePath":"getting-started/channels.md","lastUpdated":1776332711000}'),i={name:"getting-started/channels.md"};function r(l,t,s,d,h,c){return a(),n("div",null,[...t[0]||(t[0]=[o("",32)])])}const f=e(i,[["render",r]]);export{u as __pageData,f as default};
|
||||
import{_ as e,o as a,c as n,ag as o}from"./chunks/framework.DXGyWiRo.js";const u=JSON.parse('{"title":"Bot Channels","description":"","frontmatter":{},"headers":[],"relativePath":"getting-started/channels.md","filePath":"getting-started/channels.md","lastUpdated":1776579425000}'),i={name:"getting-started/channels.md"};function r(l,t,s,d,h,c){return a(),n("div",null,[...t[0]||(t[0]=[o("",32)])])}const f=e(i,[["render",r]]);export{u as __pageData,f as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+3
-3
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+5
-5
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+4
-4
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+4
-4
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
{"about.md":"CYQE4Bs3","blogs_2026-02-16.md":"D7X_K9ac","blogs_index.md":"CzVqJnkf","channels_dingtalk.md":"BPw_YVBj","channels_discord.md":"CgnXVcxj","channels_feishu.md":"7xzXC8PR","channels_index.md":"DqjHtBeW","channels_matrix.md":"C5lym8OS","channels_misskey.md":"BjR2GOoQ","channels_qq.md":"BiHC52Zm","channels_telegram.md":"WGR_O6_O","channels_wechatoa.md":"d_VUeGe9","channels_wecom.md":"D7yBtNrz","channels_weixin.md":"Ckccg7Ew","getting-started_access.md":"BY1pTTRI","getting-started_bot.md":"CTc86MCg","getting-started_browser.md":"Cjpk7h3a","getting-started_channels.md":"DtCQrK76","getting-started_compaction.md":"B6zFV5na","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":"Lc9xd9cr","getting-started_memory.md":"WVVdvmGu","getting-started_provider-and-model.md":"CLGduNUC","getting-started_schedule.md":"7R1TStAB","getting-started_search-provider.md":"DDV1py8V","getting-started_sessions.md":"BGHqYtAd","getting-started_skills.md":"CcJKfEue","getting-started_slash-commands.md":"B9pb8gxb","getting-started_supermarket.md":"BOx8ZRcm","index.md":"DtN_VGK2","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":"C-Pz2AC7","zh_style_terminology.md":"CzqhSoQX"}
|
||||
{"about.md":"CYQE4Bs3","blogs_2026-02-16.md":"D7X_K9ac","blogs_index.md":"CzVqJnkf","channels_dingtalk.md":"BPw_YVBj","channels_discord.md":"CgnXVcxj","channels_feishu.md":"7xzXC8PR","channels_index.md":"BYBYUJgL","channels_matrix.md":"C5lym8OS","channels_misskey.md":"BjR2GOoQ","channels_qq.md":"BiHC52Zm","channels_slack.md":"DYyx2j2i","channels_telegram.md":"WGR_O6_O","channels_wechatoa.md":"d_VUeGe9","channels_wecom.md":"D7yBtNrz","channels_weixin.md":"Ckccg7Ew","getting-started_access.md":"BY1pTTRI","getting-started_bot.md":"CTc86MCg","getting-started_browser.md":"Cjpk7h3a","getting-started_channels.md":"CIKhbgq7","getting-started_compaction.md":"B6zFV5na","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":"Lc9xd9cr","getting-started_memory.md":"WVVdvmGu","getting-started_provider-and-model.md":"CLGduNUC","getting-started_schedule.md":"7R1TStAB","getting-started_search-provider.md":"DDV1py8V","getting-started_sessions.md":"BGHqYtAd","getting-started_skills.md":"CcJKfEue","getting-started_slash-commands.md":"B9pb8gxb","getting-started_supermarket.md":"BOx8ZRcm","index.md":"DtN_VGK2","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":"C-Pz2AC7","zh_style_terminology.md":"CzqhSoQX"}
|
||||
|
||||
+4
-4
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+3
-3
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user