Persist PageTree expand state via control-plane view-state and align chevron/DOM with restored expansion; keep Sidex-style shallow page-tree scan and drop the unused recursive scanner that only added cargo noise. Add password vault workbench routes/runtime/skill/CLI, split page_ai_pi into a module package, and retire Hermes/ACP/OpenHub recycle + root harness evidence from the index while gitignoring recycle and local diag dumps. Archive superseded design/bugs docs under old/, point architecture at ARCHITECTURE.md, and refresh smokes for Pi S1–S7, vault, and editor regressions so the working tree can stay clean.
1.8 KiB
1.8 KiB
name, description
| name | description |
|---|---|
| mnote-vault | MNote AI 密码本(多 agent 唯一策略)。登录优先 mnote.vault.login(复用/刷新 session); 取密 mnote.vault.resolve;禁扫 .mnote/vault 文件。Cloudflare 时人机验证后 session 回写。 |
MNote 密码箱 / AI 密码本
SSOT:/home/lix/.agent-infra/vault-policy.md
稳态:登录(目标约 3 次 shell:鉴权 + list? + login×2)
# 本机 mnote-web 鉴权(一次性,非 vault)
eval $(node scripts/mnote-vault-cli.js auth-e2e)
# 可选 list 找 id;已知 id 则跳过
node scripts/mnote-vault-cli.js list
# 核心:复用 session / 登录并保存
node scripts/mnote-vault-cli.js login --id <id>
# 再调一次应 reused=true
# Cloudflare:人验证后
node scripts/mnote-vault-cli.js session --id <id> --cookie '...'
Pi:mnote.vault.login / session 同语义。
禁止每次:读 policy、猜 /api/auth 路径、list+resolve+多次 chrome 试错。
| 工具 | 用途 |
|---|---|
mnote.vault.login |
首选:复用/刷新登录态 |
mnote.vault.session |
人机验证后回写 Cookie |
mnote.vault.list / get |
选型;L0 无密文 |
mnote.vault.resolve |
仅当需要密码本身(非登录会话) |
HTTP/CLI 同语义:/api/vault/ai/items/{id}/login|session、scripts/mnote-vault-cli.js login|session。
硬规则
- 禁 file/local_file 扫
.mnote/vault/** - 聊天不贴 password/cookieHeader
- 长期态存在 AI 密码本条目(session + playbook),不另建文件池
- 人机验证:本机 chrome-bridge / 远程 Paseo 浏览器 →
session回写;过期再验证
工作流
- 用户共享条目到 AI 本(自动带默认 playbook:email 优先 + api_first)
- Agent:
login(id) - 用返回 cookie 访问站点;或 human_required 后等人回写再
login