Files
dao-os-docs/zh/concepts/user_journey.html
2025-06-12 01:46:45 +00:00

259 lines
16 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
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="en" class="light sidebar-visible" dir="ltr">
<head>
<!-- Book generated using mdBook -->
<meta charset="UTF-8">
<title>用户旅程 - 大道 (Dao OS) 文档</title>
<!-- Custom HTML head -->
<meta name="description" content="大道Dao OS官方文档你的赛博生命操作系统。">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff">
<link rel="icon" href="../favicon.svg">
<link rel="shortcut icon" href="../favicon.png">
<link rel="stylesheet" href="../css/variables.css">
<link rel="stylesheet" href="../css/general.css">
<link rel="stylesheet" href="../css/chrome.css">
<link rel="stylesheet" href="../css/print.css" media="print">
<!-- Fonts -->
<link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="../fonts/fonts.css">
<!-- Highlight.js Stylesheets -->
<link rel="stylesheet" id="highlight-css" href="../highlight.css">
<link rel="stylesheet" id="tomorrow-night-css" href="../tomorrow-night.css">
<link rel="stylesheet" id="ayu-highlight-css" href="../ayu-highlight.css">
<!-- Custom theme stylesheets -->
<!-- Provide site root and default themes to javascript -->
<script>
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc.js"></script>
</head>
<body>
<div id="mdbook-help-container">
<div id="mdbook-help-popup">
<h2 class="mdbook-help-title">Keyboard shortcuts</h2>
<div>
<p>Press <kbd></kbd> or <kbd></kbd> to navigate between chapters</p>
<p>Press <kbd>S</kbd> or <kbd>/</kbd> to search in the book</p>
<p>Press <kbd>?</kbd> to show this help</p>
<p>Press <kbd>Esc</kbd> to hide this help</p>
</div>
</div>
</div>
<div id="body-container">
<!-- Work around some values being stored in localStorage wrapped in quotes -->
<script>
try {
let theme = localStorage.getItem('mdbook-theme');
let sidebar = localStorage.getItem('mdbook-sidebar');
if (theme.startsWith('"') && theme.endsWith('"')) {
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
}
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
}
} catch (e) { }
</script>
<!-- Set the theme before any content is loaded, prevents flash -->
<script>
const default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? default_dark_theme : default_light_theme;
let theme;
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
if (theme === null || theme === undefined) { theme = default_theme; }
const html = document.documentElement;
html.classList.remove('light')
html.classList.add(theme);
html.classList.add("js");
</script>
<input type="checkbox" id="sidebar-toggle-anchor" class="hidden">
<!-- Hide / unhide sidebar before it is displayed -->
<script>
let sidebar = null;
const sidebar_toggle = document.getElementById("sidebar-toggle-anchor");
if (document.body.clientWidth >= 1080) {
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
sidebar = sidebar || 'visible';
} else {
sidebar = 'hidden';
}
sidebar_toggle.checked = sidebar === 'visible';
html.classList.remove('sidebar-visible');
html.classList.add("sidebar-" + sidebar);
</script>
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<!-- populated by js -->
<mdbook-sidebar-scrollbox class="sidebar-scrollbox"></mdbook-sidebar-scrollbox>
<noscript>
<iframe class="sidebar-iframe-outer" src="../toc.html"></iframe>
</noscript>
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
<div class="sidebar-resize-indicator"></div>
</div>
</nav>
<div id="page-wrapper" class="page-wrapper">
<div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky">
<div class="left-buttons">
<label id="sidebar-toggle" class="icon-button" for="sidebar-toggle-anchor" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
<i class="fa fa-bars"></i>
</label>
<button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
<i class="fa fa-paint-brush"></i>
</button>
<ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
<li role="none"><button role="menuitem" class="theme" id="default_theme">Auto</button></li>
<li role="none"><button role="menuitem" class="theme" id="light">Light</button></li>
<li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
</ul>
<button id="search-toggle" class="icon-button" type="button" title="Search (`/`)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="/ s" aria-controls="searchbar">
<i class="fa fa-search"></i>
</button>
</div>
<h1 class="menu-title">大道 (Dao OS) 文档</h1>
<div class="right-buttons">
<a href="../print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i>
</a>
<a href="https://nest.doylee.cn/Dao-OS/dao-os-docs" title="Git repository" aria-label="Git repository">
<i id="git-repository-button" class="fa fa-github"></i>
</a>
</div>
</div>
<div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
</form>
<div id="searchresults-outer" class="searchresults-outer hidden">
<div id="searchresults-header" class="searchresults-header"></div>
<ul id="searchresults">
</ul>
</div>
</div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script>
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
});
</script>
<div id="content" class="content">
<main>
<h1 id="用户旅程从便利到主权"><a class="header" href="#用户旅程从便利到主权">用户旅程:从便利到主权</a></h1>
<p>任何主权系统的一个核心挑战,都在于“绝对控制”与“轻松便利”之间的张力。“大道”解决这个问题的方式,不是强迫用户二选一,而是设计了一场充满引导、相互尊重的**“渐进式主权”**之旅。我们在用户熟悉的地方与他们相遇,并赋能他们去往任何他们想去的地方。</p>
<p>这场旅程不仅适用于用户对核心数据的掌控,也同样适用于他们与**<code>道器</code>**(应用和扩展)生态系统的交互。</p>
<h2 id="应用之旅一次注册随处使用"><a class="header" href="#应用之旅一次注册随处使用">应用之旅:一次注册,随处使用</a></h2>
<p>在“大道”中“安装”一个应用,与传统应用商店有着本质的不同。它不是将一个程序安装到单一的设备上,而是为你整个的数字生命体——你的“大道”——授予一项新的能力。</p>
<h3 id="1-发现与信任"><a class="header" href="#1-发现与信任">1. 发现与信任</a></h3>
<p>旅程始于我们的**“应用集市”<strong>,一个去中心化的发现系统。当你找到一个<code>道器</code>时,你看到的将是它的</strong>“信任仪表盘”**(包含自动化验证检查和社区背书),让你能做出知情的、主权的决定。</p>
<h3 id="2-注册与授权-即安装"><a class="header" href="#2-注册与授权-即安装">2. 注册与授权 (即“安装”)</a></h3>
<p>当你决定添加一个<code>道器</code>时,系统会向你展示它的**“清单 (Manifest)”<strong>。这是一个清晰的、人类可读的列表,说明了该<code>道器</code>的组件(<code></code>和/或<code></code>)运行所需的权限。你对这份清单的明确批准,就是那一次性的“安装”事件。这个行为将该<code>道器</code></strong>“注册”**到你的<code></code>中,这个注册状态会被同步到你所有的<code>化身</code></p>
<h3 id="3-无缝的跨平台访问"><a class="header" href="#3-无缝的跨平台访问">3. 无缝的跨平台访问</a></h3>
<p>一旦一个<code>道器</code>被注册,你就可以在任何设备上访问它。访问方式取决于其开发者的设计。</p>
<ul>
<li>
<p><strong>对于基于 Web 的<code></code>组件</strong>:
你只需在你的标准浏览器中访问该应用的网址。网页会通过我们的 <code>dao.js</code> SDK请求连接到你的“大道”。一旦你批准例如通过一个简单的认证器插件那个<strong>浏览器标签页本身,就变成了一个临时的<code>器化身</code></strong>安全地渲染UI并与你的<code></code>通信。</p>
</li>
<li>
<p><strong>对于原生的<code></code>组件</strong>:
你下载并运行这个原生应用(例如,从应用商店或直接下载)。在首次启动时,它会请求连接你的“大道”。一旦批准,这个<strong>正在运行的应用程序,就变成了一个持久的<code>器化身</code></strong>,加入了你的网络。</p>
</li>
</ul>
<p>因为所有这些<code>器化身</code>都由同一个、已同步的<code></code>来驱动,所以你的体验在任何地方都是一致的,无需在传统意义上于每个设备都“安装”一次应用。</p>
<h3 id="4-高级配置"><a class="header" href="#4-高级配置">4. 高级配置</a></h3>
<p>在任何时候,你都可以进入你的**“主权仪表盘”**来:</p>
<ul>
<li>审查并撤销你授予任何<code>道器</code>的权限。</li>
<li>使用**“角色分配”**功能,来建议某个<code>道器</code><code></code>组件,优先在你指定的某个<code>核化身</code>(例如你作为<code>计算节点</code>的家用服务器)上运行。</li>
</ul>
<h2 id="主权之旅的阶段"><a class="header" href="#主权之旅的阶段">主权之旅的阶段</a></h2>
<h3 id="第一阶段托管模式-managed-mode--你的向导之旅"><a class="header" href="#第一阶段托管模式-managed-mode--你的向导之旅">第一阶段:“托管模式” (Managed Mode) —— 你的向导之旅</a></h3>
<p>对于新用户,此模式通过友好的密钥恢复方法和默认同步节点提供最大便利,同时保持完全的端到端加密。</p>
<h3 id="第二阶段主权仪表盘-sovereignty-dashboard--十字路口"><a class="header" href="#第二阶段主权仪表盘-sovereignty-dashboard--十字路口">第二阶段:主权仪表盘 (Sovereignty Dashboard) —— 十字路口</a></h3>
<p>这是用户通往自治之旅的指挥中心,是一个赋能与教育的工具,可将用户的主权状态可视化,并提供游戏化的“任务”来鼓励用户获取更多控制权。</p>
<h3 id="第三阶段主权模式-sovereign-mode--你的数字王国"><a class="header" href="#第三阶段主权模式-sovereign-mode--你的数字王国">第三阶段:“主权模式” (Sovereign Mode) —— 你的数字王国</a></h3>
<p>这是旅程的最终、可选阶段。在“主权仪表盘”的引导下,用户可以“毕业”到此模式,完全自主保管他们的密钥并运行自己的<code>核化身</code>网络,成为其数字领地中真正的主人。</p>
</main>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
<a rel="prev" href="../concepts/ai_system.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next prefetch" href="../specifications/tech_overview.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
<div style="clear: both"></div>
</nav>
</div>
</div>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="../concepts/ai_system.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next prefetch" href="../specifications/tech_overview.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
</nav>
</div>
<script>
window.playground_copyable = true;
</script>
<script src="../elasticlunr.min.js"></script>
<script src="../mark.min.js"></script>
<script src="../searcher.js"></script>
<script src="../clipboard.min.js"></script>
<script src="../highlight.js"></script>
<script src="../book.js"></script>
<!-- Custom JS scripts -->
</div>
</body>
</html>