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.
146 lines
4.8 KiB
HTML
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/<actor>/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>
|