Files
Memoh/zh/concepts/identity-and-binding.html
T
2026-02-26 12:21:05 +00:00

26 lines
18 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>账号模型与绑定 | 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.BPi_7-V7.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.CD9R37In.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.Dzd8uadc.js">
<link rel="modulepreload" href="/assets/chunks/framework.ePeAWSvT.js">
<link rel="modulepreload" href="/assets/zh_concepts_identity-and-binding.md.B6I6pSqI.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-0b622e3d><!--[--><!--]--><!--[--><span tabindex="-1" data-v-932dfa24></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-932dfa24>Skip to content</a><!--]--><!----><header class="VPNav" data-v-0b622e3d data-v-cbdb3f87><div class="VPNavBar" data-v-cbdb3f87 data-v-09a7a663><div class="wrapper" data-v-09a7a663><div class="container" data-v-09a7a663><div class="title" data-v-09a7a663><div class="VPNavBarTitle has-sidebar" data-v-09a7a663 data-v-1ca2c797><a class="title" href="/zh/" data-v-1ca2c797><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.png" alt="Memoh" data-v-346210d3><!--]--><span data-v-1ca2c797>Memoh</span><!--[--><!--]--></a></div></div><div class="content" data-v-09a7a663><div class="content-body" data-v-09a7a663><!--[--><!--]--><div class="VPNavBarSearch search" data-v-09a7a663><!--[--><!----><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-09a7a663 data-v-309ca964><span id="main-nav-aria-label" class="visually-hidden" data-v-309ca964> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-309ca964 data-v-4e52d219><!--[--><span data-v-4e52d219>Guides</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/blogs/" tabindex="0" data-v-309ca964 data-v-4e52d219><!--[--><span data-v-4e52d219>Blogs</span><!--]--></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-09a7a663 data-v-600a78f1 data-v-e9349af2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-e9349af2><span class="text" data-v-e9349af2><span class="vpi-languages option-icon" data-v-e9349af2></span><!----><span class="vpi-chevron-down text-icon" data-v-e9349af2></span></span></button><div class="menu" data-v-e9349af2><div class="VPMenu" data-v-e9349af2 data-v-d1be668f><!----><!--[--><!--[--><div class="items" data-v-600a78f1><p class="title" data-v-600a78f1>简体中文</p><!--[--><div class="VPMenuLink" data-v-600a78f1 data-v-a76156bb><a class="VPLink link" href="/concepts/identity-and-binding.html" data-v-a76156bb><!--[--><span data-v-a76156bb>English</span><!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-09a7a663 data-v-a4d10e8f><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-a4d10e8f data-v-e4623c8b data-v-09b3fe96><span class="check" data-v-09b3fe96><span class="icon" data-v-09b3fe96><!--[--><span class="vpi-sun sun" data-v-e4623c8b></span><span class="vpi-moon moon" data-v-e4623c8b></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-09a7a663 data-v-25549ca5 data-v-1ebfbf18><!--[--><a class="VPSocialLink no-icon" href="https://github.com/memohai/Memoh" aria-label="github" target="_blank" rel="noopener" data-v-1ebfbf18 data-v-9fae8dee><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-09a7a663 data-v-f15caaaf data-v-e9349af2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-e9349af2><span class="vpi-more-horizontal icon" data-v-e9349af2></span></button><div class="menu" data-v-e9349af2><div class="VPMenu" data-v-e9349af2 data-v-d1be668f><!----><!--[--><!--[--><div class="group translations" data-v-f15caaaf><p class="trans-title" data-v-f15caaaf>简体中文</p><!--[--><div class="VPMenuLink" data-v-f15caaaf data-v-a76156bb><a class="VPLink link" href="/concepts/identity-and-binding.html" data-v-a76156bb><!--[--><span data-v-a76156bb>English</span><!--]--></a></div><!--]--></div><div class="group" data-v-f15caaaf><div class="item appearance" data-v-f15caaaf><p class="label" data-v-f15caaaf>Appearance</p><div class="appearance-action" data-v-f15caaaf><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-f15caaaf data-v-e4623c8b data-v-09b3fe96><span class="check" data-v-09b3fe96><span class="icon" data-v-09b3fe96><!--[--><span class="vpi-sun sun" data-v-e4623c8b></span><span class="vpi-moon moon" data-v-e4623c8b></span><!--]--></span></span></button></div></div></div><div class="group" data-v-f15caaaf><div class="item social-links" data-v-f15caaaf><div class="VPSocialLinks social-links-list" data-v-f15caaaf data-v-1ebfbf18><!--[--><a class="VPSocialLink no-icon" href="https://github.com/memohai/Memoh" aria-label="github" target="_blank" rel="noopener" data-v-1ebfbf18 data-v-9fae8dee><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-09a7a663 data-v-2ba8e25a><span class="container" data-v-2ba8e25a><span class="top" data-v-2ba8e25a></span><span class="middle" data-v-2ba8e25a></span><span class="bottom" data-v-2ba8e25a></span></span></button></div></div></div></div><div class="divider" data-v-09a7a663><div class="divider-line" data-v-09a7a663></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-0b622e3d data-v-cf6c023b><div class="container" data-v-cf6c023b><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-cf6c023b><span class="vpi-align-left menu-icon" data-v-cf6c023b></span><span class="menu-text" data-v-cf6c023b>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-cf6c023b data-v-16789cd8><button data-v-16789cd8>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-0b622e3d data-v-93da2e40><div class="curtain" data-v-93da2e40></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-93da2e40><span class="visually-hidden" id="sidebar-aria-label" data-v-93da2e40> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-535c5c28><section class="VPSidebarItem level-0" data-v-535c5c28 data-v-deb7ba71><!----><div class="items" data-v-deb7ba71><!--[--><div class="VPSidebarItem level-1 is-link" data-v-deb7ba71 data-v-deb7ba71><div class="item" data-v-deb7ba71><div class="indicator" data-v-deb7ba71></div><a class="VPLink link link" href="/zh/index.html" data-v-deb7ba71><!--[--><p class="text" data-v-deb7ba71>文档总览</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-0b622e3d data-v-c52330a3><div class="VPDoc has-sidebar has-aside" data-v-c52330a3 data-v-a98d3285><!--[--><!--]--><div class="container" data-v-a98d3285><div class="aside" data-v-a98d3285><div class="aside-curtain" data-v-a98d3285></div><div class="aside-container" data-v-a98d3285><div class="aside-content" data-v-a98d3285><div class="VPDocAside" data-v-a98d3285 data-v-c8dfdcbd><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-c8dfdcbd data-v-0bc75643><div class="content" data-v-0bc75643><div class="outline-marker" data-v-0bc75643></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-0bc75643>On this page</div><ul class="VPDocOutlineItem root" data-v-0bc75643 data-v-076cfa5e><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-c8dfdcbd></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-a98d3285><div class="content-container" data-v-a98d3285><!--[--><!--]--><main class="main" data-v-a98d3285><div style="position:relative;" class="vp-doc _zh_concepts_identity-and-binding" data-v-a98d3285><div><h1 id="账号模型与绑定" tabindex="-1">账号模型与绑定 <a class="header-anchor" href="#账号模型与绑定" aria-label="Permalink to &quot;账号模型与绑定&quot;"></a></h1><h2 id="账号模型" tabindex="-1">账号模型 <a class="header-anchor" href="#账号模型" aria-label="Permalink to &quot;账号模型&quot;"></a></h2><p>Memoh 将平台账号与系统账号视为两类不同实体:</p><ul><li><strong>平台账号(<code>ChannelIdentity</code></strong> 是用户在外部接入平台上的账号(例如飞书账号),不是 Memoh 内部账号。</li><li><strong>系统账号(<code>User</code></strong> 是 Memoh 系统内账号。</li></ul><p>平台账号在初始阶段可以不绑定系统账号。<br><code>bind</code> 的职责是完成这两类账号的关联。</p><h2 id="接入平台与-bot" tabindex="-1">接入平台与 Bot <a class="header-anchor" href="#接入平台与-bot" aria-label="Permalink to &quot;接入平台与 Bot&quot;"></a></h2><ul><li><strong>接入平台(<code>channel</code></strong> 是入站消息来源。</li><li><strong>Bot</strong> 是系统内的授权与资源边界。</li></ul><p>Bot 由系统账号管理,入站消息由平台账号产生。</p><h2 id="为什么账号绑定是账号作用域" tabindex="-1">为什么账号绑定是账号作用域 <a class="header-anchor" href="#为什么账号绑定是账号作用域" aria-label="Permalink to &quot;为什么账号绑定是账号作用域&quot;"></a></h2><p>账号绑定的目标是建立账号归属关系,而不是直接发放 bot 资源权限:</p><ul><li>它只负责平台账号与系统账号的绑定;</li><li>不把账号绑定与成员管理语义耦合在一起;</li><li>让 bot 访问控制保持独立、可演进。</li></ul><h2 id="账号绑定流程-当前共识" tabindex="-1">账号绑定流程(当前共识) <a class="header-anchor" href="#账号绑定流程-当前共识" aria-label="Permalink to &quot;账号绑定流程(当前共识)&quot;"></a></h2><ol><li>用户以自己的系统账号申请 bind code;</li><li>平台账号在支持的接入平台会话中发送 code;</li><li>系统校验 code,完成平台账号到系统账号的绑定;</li><li>bot 成员与授权由独立流程处理。</li></ol><h2 id="bot-类型语义" tabindex="-1">Bot 类型语义 <a class="header-anchor" href="#bot-类型语义" aria-label="Permalink to &quot;Bot 类型语义&quot;"></a></h2><ul><li><strong>Public bot</strong>:支持成员协作语义。</li><li><strong>Personal bot</strong>:语义上应为单 owner,不应依赖成员机制。</li></ul><blockquote><p>注:本文档记录的是产品语义与共识方向。<br> 部分运行时细节仍可能处于收敛阶段。</p></blockquote></div></div></main><footer class="VPDocFooter" data-v-a98d3285 data-v-cd4d56d3><!--[--><!--]--><div class="edit-info" data-v-cd4d56d3><div class="edit-link" data-v-cd4d56d3><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/memohai/Memoh/edit/main/docs/docs/zh/concepts/identity-and-binding.md" target="_blank" rel="noreferrer" data-v-cd4d56d3><!--[--><span class="vpi-square-pen edit-link-icon" data-v-cd4d56d3></span> Edit on GitHub<!--]--></a></div><div class="last-updated" data-v-cd4d56d3><p class="VPLastUpdated" data-v-cd4d56d3 data-v-868b2e6d>Last Updated: <time datetime="2026-02-12T09:13:03.000Z" data-v-868b2e6d></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-cd4d56d3><span class="visually-hidden" id="doc-footer-aria-label" data-v-cd4d56d3>Pager</span><div class="pager" data-v-cd4d56d3><!----></div><div class="pager" data-v-cd4d56d3><a class="VPLink link pager-link next" href="/zh/index.html" data-v-cd4d56d3><!--[--><span class="desc" data-v-cd4d56d3>Next page</span><span class="title" data-v-cd4d56d3>文档总览</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-0b622e3d data-v-7ace51a1><div class="container" data-v-7ace51a1><p class="message" data-v-7ace51a1>Published under AGPLv3</p><p class="copyright" data-v-7ace51a1>Copyright © 2024 Memoh</p></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"blogs_2026-02-16.md\":\"CVgn4GCU\",\"blogs_index.md\":\"DyCOc_Zm\",\"cli_auth.md\":\"C8ws3CHD\",\"cli_bot.md\":\"BnhEB6FG\",\"cli_channel.md\":\"BBEJiWrG\",\"cli_chat.md\":\"Cr9VFV7R\",\"cli_config.md\":\"B8bSu8j2\",\"cli_index.md\":\"CZsWbIpX\",\"cli_model.md\":\"DjdZHTvQ\",\"cli_provider.md\":\"D1oztYQ9\",\"cli_schedule.md\":\"D2s8Q1KC\",\"concepts_bot.md\":\"C_C3siLW\",\"concepts_channel.md\":\"DdS-uyu8\",\"concepts_container.md\":\"Djausou_\",\"concepts_conversation-and-history.md\":\"BS_PnG4v\",\"concepts_index.md\":\"Ci6EwNPX\",\"concepts_mcp.md\":\"B9KnE-R7\",\"concepts_memory.md\":\"BgBEcLnX\",\"concepts_provider-and-model.md\":\"DQq3j0ql\",\"concepts_schedule.md\":\"COs_2DXO\",\"concepts_skills.md\":\"HeUi2diL\",\"concepts_subagents.md\":\"C0_bz0wW\",\"getting-started.md\":\"C9lgqnN0\",\"getting-started_create-bot.md\":\"Da6WTI-u\",\"getting-started_platform-telegram.md\":\"BlTohjMj\",\"getting-started_provider-and-model.md\":\"hf8EhYPV\",\"index.md\":\"BXBUN2vU\",\"installation_config-toml.md\":\"BasYU7hp\",\"installation_docker.md\":\"Ce3JA8xc\",\"troubleshooting.md\":\"rkMlAGoL\",\"zh_concepts_identity-and-binding.md\":\"B6I6pSqI\",\"zh_concepts_index.md\":\"uaZIblvt\",\"zh_index.md\":\"DbGu2QT1\",\"zh_style_terminology.md\":\"C89A7q1C\"}");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\":\"/getting-started.md\"},{\"text\":\"Installation\",\"items\":[{\"text\":\"Docker\",\"link\":\"/installation/docker.md\"},{\"text\":\"config.toml\",\"link\":\"/installation/config-toml.md\"}]},{\"text\":\"Getting Started\",\"items\":[{\"text\":\"Provider and Model\",\"link\":\"/getting-started/provider-and-model.md\"},{\"text\":\"Create Bot\",\"link\":\"/getting-started/create-bot.md\"},{\"text\":\"telegram platform\",\"link\":\"/getting-started/platform-telegram.md\"}]},{\"text\":\"Concepts\",\"items\":[{\"text\":\"Overview\",\"link\":\"/concepts/index.md\"},{\"text\":\"Bot\",\"link\":\"/concepts/bot.md\"},{\"text\":\"Provider and Model\",\"link\":\"/concepts/provider-and-model.md\"},{\"text\":\"Schedule\",\"link\":\"/concepts/schedule.md\"},{\"text\":\"Memory\",\"link\":\"/concepts/memory.md\"},{\"text\":\"Channel\",\"link\":\"/concepts/channel.md\"},{\"text\":\"Container\",\"link\":\"/concepts/container.md\"},{\"text\":\"MCP\",\"link\":\"/concepts/mcp.md\"},{\"text\":\"Subagents\",\"link\":\"/concepts/subagents.md\"},{\"text\":\"Skills\",\"link\":\"/concepts/skills.md\"},{\"text\":\"Conversation and History\",\"link\":\"/concepts/conversation-and-history.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>