Files
Agent Board 262e66b02e feat: purge legacy agent hosts and land vault Chrome extension path
Retire ACP/Hermes/OpenCode surfaces and rename hermes_tools to
mnote_agent_tools so Page AI stays on Pi Lab only. Add Chrome vault
extension + extension token route, pre-release purge design, and soft-retire
legacy smokes for the small-group production cut.
2026-07-25 14:25:37 +08:00

146 lines
4.8 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<title>MNote Vault · 连接设置</title>
<style>
:root {
color-scheme: dark;
--bg: #0f1115;
--card: #1a1d23;
--border: #3a3f4b;
--text: #e8eaed;
--muted: #9aa0a6;
--accent: #3b82f6;
--ok: #4ade80;
--err: #f87171;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: system-ui, -apple-system, sans-serif;
background: var(--bg);
color: var(--text);
line-height: 1.45;
padding: 24px;
}
.wrap { max-width: 520px; margin: 0 auto; }
h1 { font-size: 1.25rem; margin: 0 0 4px; }
.sub { color: var(--muted); font-size: 0.85rem; margin-bottom: 20px; }
.card {
background: var(--card);
border: 1px solid var(--border);
border-radius: 12px;
padding: 16px;
margin-bottom: 16px;
}
label {
display: block;
font-size: 0.75rem;
color: var(--muted);
margin: 10px 0 4px;
}
input {
width: 100%;
padding: 8px 10px;
border-radius: 8px;
border: 1px solid var(--border);
background: #0f1115;
color: var(--text);
font-size: 0.9rem;
}
.actions { display: flex; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
button {
border: 0;
border-radius: 8px;
padding: 8px 14px;
cursor: pointer;
font-size: 0.85rem;
font-weight: 600;
}
.primary { background: var(--accent); color: #fff; }
.secondary { background: #2a2f3a; color: var(--text); }
.danger { background: #7f1d1d; color: #fecaca; }
#status {
margin-top: 12px;
font-size: 0.85rem;
min-height: 1.2em;
}
#status.ok { color: var(--ok); }
#status.err { color: var(--err); }
code {
background: #0f1115;
padding: 1px 6px;
border-radius: 4px;
font-size: 0.8rem;
}
.hint { font-size: 0.8rem; color: var(--muted); margin-top: 8px; }
details.adv {
margin-top: 14px;
border-top: 1px solid var(--border);
padding-top: 10px;
}
details.adv summary {
cursor: pointer;
color: var(--muted);
font-size: 0.8rem;
user-select: none;
}
details.adv[open] summary { margin-bottom: 6px; }
</style>
</head>
<body>
<div class="wrap">
<h1>MNote Vault</h1>
<p class="sub">连接远程 MNote → 签发扩展 token → 外站保存账号与登录态</p>
<div class="card">
<label for="baseUrl">MNote 基址 (baseUrl)</label>
<input id="baseUrl" type="url" placeholder="http://127.0.0.1:3000" />
<label for="email">MNote 账号 / 邮箱</label>
<input id="email" type="email" autocomplete="username" />
<label for="password">密码(仅登录瞬间使用,不落盘)</label>
<input id="password" type="password" autocomplete="current-password" />
<details class="adv" id="advRoot">
<summary>高级:覆盖工作区 rootUri(一般不用)</summary>
<label for="rootUri">rootUri</label>
<input
id="rootUri"
type="text"
placeholder="留空 = 自动使用账号默认 my-space"
/>
<p class="hint">
每个账号登录后都有固定默认工作区(
<code>…/users/&lt;actor&gt;/workspaces/my-space</code>
)。留空即可;仅当你要把密码箱写到别的 local_folder 时才填
<code>file://…</code>
</p>
</details>
<div class="actions">
<button type="button" class="primary" id="connect">连接并登录</button>
<button type="button" class="secondary" id="test">测试连接</button>
<button type="button" class="danger" id="disconnect">断开</button>
</div>
<div id="status"></div>
<p class="hint" id="workspaceHint"></p>
</div>
<div class="card">
<strong>使用说明</strong>
<ol class="hint" style="padding-left: 1.2em">
<li>确保 mnote-web 已启动;本机可用 <code>http://127.0.0.1:3000</code>,外网填 frp 完整地址(含端口)。</li>
<li>填 baseUrl + 账号密码 →「连接并登录」。外网首次会弹出「允许访问该网站」,必须点允许。</li>
<li>rootUri 自动解析,不必手填。</li>
<li>外站出现密码框后会弹出保存确认;默认勾选保存 Cookie。</li>
<li>也可点工具栏图标手动「保存当前页」。</li>
</ol>
</div>
</div>
<script type="module" src="options.js"></script>
</body>
</html>