mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-25 07:00:48 +09:00
10 lines
21 KiB
JavaScript
10 lines
21 KiB
JavaScript
import{_ as i,o as t,c as a,ag as e}from"./chunks/framework.CAXxHpAX.js";const c=JSON.parse('{"title":"Docker 安装","description":"","frontmatter":{},"headers":[],"relativePath":"zh/installation/docker.md","filePath":"zh/installation/docker.md","lastUpdated":1777012567000}'),d={name:"zh/installation/docker.md"};function h(l,s,n,p,o,r){return t(),a("div",null,[...s[0]||(s[0]=[e(`<h1 id="docker-安装" tabindex="-1">Docker 安装 <a class="header-anchor" href="#docker-安装" aria-label="Permalink to "Docker 安装""></a></h1><p>推荐用 Docker 跑 Memoh。编排里通常包含 PostgreSQL、主服务(内嵌 Containerd、智能体也在同一进程)、以及网页前端;主机上不必单独装 containerd、nerdctl、buildkit,都在容器里。</p><h2 id="服务结构" tabindex="-1">服务结构 <a class="header-anchor" href="#服务结构" aria-label="Permalink to "服务结构""></a></h2><p>Compose 里有多组服务。有的默认就起,有的通过 <code>--profile</code> 打开:</p><table tabindex="0"><thead><tr><th>服务</th><th>Profile</th><th>说明</th></tr></thead><tbody><tr><td><strong>server</strong></td><td><em>(核心)</em></td><td>主服务,内嵌 Containerd,智能体同进程</td></tr><tr><td><strong>web</strong></td><td><em>(核心)</em></td><td>网页端(Vue 3)</td></tr><tr><td><strong>postgres</strong></td><td><em>(核心)</em></td><td>PostgreSQL</td></tr><tr><td><strong>qdrant</strong></td><td><code>qdrant</code></td><td>向量库,给记忆检索用(稀疏/稠密)</td></tr><tr><td><strong>browser</strong></td><td><code>browser</code></td><td>Playwright 浏览器网关,给机器人上网</td></tr><tr><td><strong>sparse</strong></td><td><code>sparse</code></td><td>神经稀疏编码,给记忆检索(见下)</td></tr></tbody></table><h3 id="sparse-服务" tabindex="-1">sparse 服务 <a class="header-anchor" href="#sparse-服务" aria-label="Permalink to "sparse 服务""></a></h3><p><strong>sparse</strong> 容器跑神经稀疏向量,给记忆检索用。里面是一个轻量 Python(Flask)服务,端口 8085,模型是 OpenSearch 项目放出来的 <a href="https://huggingface.co/opensearch-project/opensearch-neural-sparse-encoding-multilingual-v1" target="_blank" rel="noreferrer"><code>opensearch-neural-sparse-encoding-multilingual-v1</code></a>。</p><p><strong>它做什么:</strong></p><ul><li>把文档压成稀疏向量(一批 token 下标 + 权重),基于掩码语言模型。</li><li>查询端用 IDF 加权词表,检索快。</li><li>和 Qdrant 一起用,可以在<strong>不另接外部 embedding API</strong> 的情况下做语义级记忆搜索。</li></ul><p><strong>什么时候值得开:</strong></p><ul><li>不想为 embedding 花钱,模型在容器里本地跑。</li><li>多语言模型现成的。</li><li>比纯关键词(BM25)强一截,又比大稠密向量省资源。</li></ul><p><strong>何时启用:</strong></p><p>打算用内置记忆提供方的 <strong>sparse</strong> 模式时,把 sparse profile 打开。镜像构建时会预下模型,启动不用临时拉权重。</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --profile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> qdrant</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --profile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sparse</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --profile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> browser</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> up</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span></span></code></pre></div><p>模式细节见 <a href="/zh/memory-providers/builtin.html">内置记忆提供方</a>。</p><h2 id="先决条件" tabindex="-1">先决条件 <a class="header-anchor" href="#先决条件" aria-label="Permalink to "先决条件""></a></h2><ul><li><a href="https://docs.docker.com/get-docker/" target="_blank" rel="noreferrer">Docker</a></li><li><a href="https://docs.docker.com/compose/install/" target="_blank" rel="noreferrer">Docker Compose v2</a></li><li>Git</li></ul><h2 id="一键安装-推荐" tabindex="-1">一键安装(推荐) <a class="header-anchor" href="#一键安装-推荐" aria-label="Permalink to "一键安装(推荐)""></a></h2><p>官方脚本(本机已装好 Docker 与 Compose):</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -fsSL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://memoh.sh</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sh</span></span></code></pre></div><p>脚本会:检查 Docker/Compose;交互问配置(工作区、数据目录、管理员、JWT、Postgres 密码、是否开 sparse、浏览器核等);从 GitHub 取最新发布并克隆;按 Docker 模板生成 <code>config.toml</code>;钉死镜像版本;按选的核编浏览器镜像并拉齐服务。</p><p><strong>静默安装</strong>(全默认、无提问):</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -fsSL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://memoh.sh</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sh</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -s</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -y</span></span></code></pre></div><p>静默时默认大概:工作区 <code>~/memoh</code>;数据 <code>~/memoh/data</code>;管理员 <code>admin</code> / <code>admin123</code>;JWT 随机;Postgres 密码 <code>memoh123</code>。</p><p><strong>指定版本:</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -fsSL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://memoh.sh</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sh</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -s</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --version</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> v0.6.0</span></span></code></pre></div><p>或:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -fsSL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://memoh.sh</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> MEMOH_VERSION=v0.6.0</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sh</span></span></code></pre></div><p><strong>大陆镜像</strong>(拉镜像慢时):</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -fsSL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://memoh.sh</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> USE_CN_MIRROR=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sh</span></span></code></pre></div><blockquote><p>环境变量可组合,例如 <code>MEMOH_VERSION=v0.6.0 USE_CN_MIRROR=true</code>。</p></blockquote><h2 id="手动安装" tabindex="-1">手动安装 <a class="header-anchor" href="#手动安装" aria-label="Permalink to "手动安装""></a></h2><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> clone</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://github.com/memohai/Memoh.git</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Memoh</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">cp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> conf/app.docker.toml</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> config.toml</span></span></code></pre></div><p>至少改 <code>config.toml</code> 里:</p><ul><li><code>admin.password</code></li><li><code>auth.jwt_secret</code>(可 <code>openssl rand -base64 32</code>)</li><li><code>postgres.password</code>(环境变量 <code>POSTGRES_PASSWORD</code> 要一致)</li></ul><p>然后(推荐开 Qdrant、浏览器、sparse):</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> POSTGRES_PASSWORD=你的库密码</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --profile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> qdrant</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --profile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> browser</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --profile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sparse</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> up</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span></span></code></pre></div><p>只跑核心(无向量、无浏览器):</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> POSTGRES_PASSWORD=你的库密码</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> up</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span></span></code></pre></div><blockquote><p>macOS 或用户已在 <code>docker</code> 组里,一般不必 <code>sudo</code>。</p></blockquote><blockquote><p><strong>重要</strong>:<code>docker-compose.yml</code> 默认挂 <code>./config.toml</code>,先建好文件再 <code>up</code>,否则起不来。</p></blockquote><h3 id="大陆镜像源" tabindex="-1">大陆镜像源 <a class="header-anchor" href="#大陆镜像源" aria-label="Permalink to "大陆镜像源""></a></h3><p>拉 Docker Hub 困难时,在 <code>config.toml</code> 里取消 <code>registry</code> 一行的注释:</p><div class="language-toml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">toml</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 style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">workspace</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">registry = </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"memoh.cn"</span></span></code></pre></div><p>并叠加国内 overlay:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docker-compose.yml</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docker/docker-compose.cn.yml</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --profile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> qdrant</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --profile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> browser</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> up</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span></span></code></pre></div><p>一键脚本在 <code>USE_CN_MIRROR=true</code> 时会处理这套。</p><h2 id="访问地址" tabindex="-1">访问地址 <a class="header-anchor" href="#访问地址" aria-label="Permalink to "访问地址""></a></h2><p>起来之后:</p><table tabindex="0"><thead><tr><th>服务</th><th>地址</th></tr></thead><tbody><tr><td>网页</td><td><a href="http://localhost:8082" target="_blank" rel="noreferrer">http://localhost:8082</a></td></tr><tr><td>API</td><td><a href="http://localhost:8080" target="_blank" rel="noreferrer">http://localhost:8080</a></td></tr><tr><td>浏览器网关</td><td><a href="http://localhost:8083" target="_blank" rel="noreferrer">http://localhost:8083</a></td></tr></tbody></table><p>默认登录 <code>admin</code> / <code>admin123</code>(请在 <code>config.toml</code> 改掉)。首次拉镜像、初始化可能要一两分钟。</p><h2 id="配置总览" tabindex="-1">配置总览 <a class="header-anchor" href="#配置总览" aria-label="Permalink to "配置总览""></a></h2><p><code>config.toml</code> 主段落大致如下:</p><table tabindex="0"><thead><tr><th>段落</th><th>含义</th></tr></thead><tbody><tr><td><code>[log]</code></td><td>等级与格式(<code>info</code>/<code>debug</code>;<code>text</code>/<code>json</code>)</td></tr><tr><td><code>[server]</code></td><td>监听,默认 <code>:8080</code></td></tr><tr><td><code>[admin]</code></td><td>管理员账号</td></tr><tr><td><code>[auth]</code></td><td>JWT 与过期时间</td></tr><tr><td><code>timezone</code></td><td>服时区,默认 <code>UTC</code></td></tr><tr><td><code>[containerd]</code></td><td>socket 与 namespace</td></tr><tr><td><code>[workspace]</code></td><td>镜像、快照、数据路径、CNI、可选仓库镜像</td></tr><tr><td><code>[postgres]</code></td><td>连接串</td></tr><tr><td><code>[qdrant]</code></td><td>Qdrant 地址、密钥、超时</td></tr><tr><td><code>[sparse]</code></td><td>稀疏服务 URL</td></tr><tr><td><code>[registry]</code></td><td>供应商定义目录</td></tr><tr><td><code>[browser_gateway]</code></td><td>浏览器网关</td></tr><tr><td><code>[web]</code></td><td>前端 host/port</td></tr></tbody></table><h2 id="常用命令" tabindex="-1">常用命令 <a class="header-anchor" href="#常用命令" aria-label="Permalink to "常用命令""></a></h2><blockquote><p>Linux 上若用户不在 <code>docker</code> 组,命令前加 <code>sudo</code>。</p></blockquote><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> up</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 起</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> down</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 停</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> logs</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -f</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 看日志</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ps</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 状态</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> pull</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> && </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> up</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 更新镜像再起</span></span></code></pre></div><h2 id="环境变量" tabindex="-1">环境变量 <a class="header-anchor" href="#环境变量" aria-label="Permalink to "环境变量""></a></h2><table tabindex="0"><thead><tr><th>变量</th><th>默认</th><th>说明</th></tr></thead><tbody><tr><td><code>POSTGRES_PASSWORD</code></td><td><code>memoh123</code></td><td>须与 <code>config.toml</code> 里 <code>postgres.password</code> 一致</td></tr><tr><td><code>MEMOH_CONFIG</code></td><td><code>./config.toml</code></td><td>配置文件路径</td></tr><tr><td><code>MEMOH_VERSION</code></td><td>最新发版</td><td>要装的 git 标签,也用于钉死镜像</td></tr><tr><td><code>USE_CN_MIRROR</code></td><td><code>false</code></td><td>是否用大陆镜像</td></tr><tr><td><code>BROWSER_CORES</code></td><td><code>chromium,firefox</code></td><td>浏览器镜像里包含的引擎</td></tr><tr><td><code>BROWSER_TAG</code></td><td><code>latest</code></td><td>浏览器镜像 tag</td></tr></tbody></table>`,59)])])}const F=i(d,[["render",h]]);export{c as __pageData,F as default};
|