134 lines
17 KiB
HTML
134 lines
17 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN" data-theme="dark">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>器谱 · 设备与感知 — 魂镜 Hunjing</title>
|
||
<link rel="stylesheet" href="assets/app.css?v=10">
|
||
</head>
|
||
<body>
|
||
<svg style="display:none" aria-hidden="true"><symbol id="i-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></symbol><symbol id="i-home" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><path d="M9 22V12h6v10"/></symbol><symbol id="i-branch" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="6" y1="3" x2="6" y2="15"/><circle cx="18" cy="6" r="3"/><circle cx="6" cy="18" r="3"/><path d="M18 9a9 9 0 0 1-9 9"/></symbol><symbol id="i-user" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></symbol><symbol id="i-book" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></symbol><symbol id="i-layers" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"/><polyline points="2 17 12 22 22 17"/><polyline points="2 12 12 17 22 12"/></symbol><symbol id="i-kanban" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 3h4v18H5z"/><path d="M10 3h4v12h-4z"/><path d="M15 3h4v8h-4z"/></symbol><symbol id="i-package" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/></symbol><symbol id="i-users" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></symbol><symbol id="i-route" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="19" r="3"/><circle cx="18" cy="5" r="3"/><path d="M12 19h4.5a3.5 3.5 0 0 0 0-7h-9a3.5 3.5 0 0 1 0-7H12"/></symbol><symbol id="i-globe" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></symbol><symbol id="i-bag" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"/><line x1="3" y1="6" x2="21" y2="6"/><path d="M16 10a4 4 0 0 1-8 0"/></symbol><symbol id="i-shield" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></symbol><symbol id="i-monitor" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></symbol><symbol id="i-sliders" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="21" x2="4" y2="14"/><line x1="4" y1="10" x2="4" y2="3"/><line x1="12" y1="21" x2="12" y2="12"/><line x1="12" y1="8" x2="12" y2="3"/><line x1="20" y1="21" x2="20" y2="16"/><line x1="20" y1="12" x2="20" y2="3"/><line x1="1" y1="14" x2="7" y2="14"/><line x1="9" y1="8" x2="15" y2="8"/><line x1="17" y1="16" x2="23" y2="16"/></symbol><symbol id="i-eye" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></symbol><symbol id="i-mic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"/><path d="M19 10v2a7 7 0 0 1-14 0v-2"/><line x1="12" y1="19" x2="12" y2="23"/></symbol><symbol id="i-camera" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></symbol><symbol id="i-pin" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></symbol><symbol id="i-bell" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"/><path d="M13.73 21a2 2 0 0 1-3.46 0"/></symbol><symbol id="i-file" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></symbol><symbol id="i-lock" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></symbol><symbol id="i-clock" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></symbol><symbol id="i-chevrons" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="11 17 6 12 11 7"/><polyline points="18 17 13 12 18 7"/></symbol>
|
||
</svg>
|
||
<div class="app">
|
||
<aside class="sidebar">
|
||
<div class="brand">
|
||
<div class="brand__mark" aria-hidden="true"></div>
|
||
<div class="brand__text">
|
||
<div class="brand__name">魂镜</div>
|
||
<div class="brand__sub">Hunjing</div>
|
||
</div>
|
||
</div>
|
||
<nav class="side-nav" aria-label="主导航"><div class="nav-group"><div class="nav-group__title">常用</div><a class="nav-item" href="home.html"><svg><use href="#i-home"/></svg><span class="cn">镜庭</span><span class="nav-plain">首页</span></a><a class="nav-item" href="conversation.html"><svg><use href="#i-branch"/></svg><span class="cn">镜树</span><span class="nav-plain">对话</span></a><a class="nav-item" href="characters.html"><svg><use href="#i-user"/></svg><span class="cn">镜生</span><span class="nav-plain">角色</span></a><a class="nav-item" href="memory.html"><svg><use href="#i-book"/></svg><span class="cn">息壤</span><span class="nav-plain">记忆</span></a><a class="nav-item" href="avatar.html"><svg><use href="#i-layers"/></svg><span class="cn">形仪</span><span class="nav-plain">形象</span></a></div><div class="nav-group"><div class="nav-group__title">创造</div><a class="nav-item" href="agent-workspace.html"><svg><use href="#i-kanban"/></svg><span class="cn">天工阁</span><span class="nav-plain">任务</span></a><a class="nav-item" href="plugins.html"><svg><use href="#i-package"/></svg><span class="cn">百工坊</span><span class="nav-plain">插件</span></a><a class="nav-item" href="collaboration.html"><svg><use href="#i-users"/></svg><span class="cn">同契台</span><span class="nav-plain">协作</span></a><a class="nav-item" href="model-gateway.html"><svg><use href="#i-route"/></svg><span class="cn">神识阁</span><span class="nav-plain">模型</span></a></div><div class="nav-group"><div class="nav-group__title">世界</div><a class="nav-item" href="community.html"><svg><use href="#i-globe"/></svg><span class="cn">雅集</span><span class="nav-plain">社区</span></a><a class="nav-item" href="marketplace.html"><svg><use href="#i-bag"/></svg><span class="cn">云市</span><span class="nav-plain">市场</span></a></div><div class="nav-group"><div class="nav-group__title">治理与账户</div><a class="nav-item" href="governance.html"><svg><use href="#i-shield"/></svg><span class="cn">司命台</span><span class="nav-plain">治理</span></a><a class="nav-item is-active" aria-current="page" href="devices.html"><svg><use href="#i-monitor"/></svg><span class="cn">器谱</span><span class="nav-plain">设备</span></a><a class="nav-item" href="settings.html"><svg><use href="#i-sliders"/></svg><span class="cn">设置</span><span class="nav-plain">账户</span></a></div></nav>
|
||
<div class="side-foot">
|
||
<button class="icon-btn side-fold-btn" data-sidebar-fold aria-label="收起侧栏" title="收起 / 展开侧栏(记忆偏好)"><svg><use href="#i-chevrons"/></svg></button>
|
||
<span class="avatar avatar--sm avatar--user">舟</span>
|
||
<span style="font-size:12.5px">云舟</span>
|
||
<button class="icon-btn" data-theme-toggle style="margin-left:auto" aria-label="切换到月白主题"><svg><use href="#i-moon"/></svg></button>
|
||
</div>
|
||
</aside>
|
||
<main class="main">
|
||
<header class="topbar">
|
||
<div class="crumbs"><span class="cn">器谱</span><span class="crumbs__sep">·</span><span class="here">设备与感知</span></div>
|
||
<div class="topbar__spacer"></div>
|
||
<span class="prototype-tag">静态原型 · 待审查</span>
|
||
<button class="icon-btn" data-theme-toggle aria-label="切换到月白主题"><svg><use href="#i-moon"/></svg></button>
|
||
</header>
|
||
<div class="content">
|
||
|
||
<div class="realm-banner" role="note">
|
||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
|
||
设备能力同时受系统权限与授契约束;采集有持续指示,可即时暂停或撤销。离线缓存加密,不创建独立角色副本。
|
||
</div>
|
||
|
||
<section class="section">
|
||
<div class="section__head"><span class="cn">形器<span class="cn__plain">登记设备</span></span></div>
|
||
<div class="card" style="padding:6px 18px">
|
||
<div class="list-row">
|
||
<svg style="width:18px;height:18px;color:var(--text-3)"><use href="#i-monitor"/></svg>
|
||
<div class="list-row__body"><div class="list-row__title">MacBook Pro · Tauri 桌面</div><div class="list-row__sub">macOS · 当前设备</div></div>
|
||
<span class="badge badge--ok" style="font-size:11px"><span class="badge__dot"></span>在线</span>
|
||
</div>
|
||
<div class="list-row">
|
||
<svg style="width:18px;height:18px;color:var(--text-3)"><use href="#i-monitor"/></svg>
|
||
<div class="list-row__body"><div class="list-row__title">iPhone · 移动端</div><div class="list-row__sub">iOS · 实时语音常用设备</div></div>
|
||
<span class="badge badge--ok" style="font-size:11px"><span class="badge__dot"></span>在线</span>
|
||
</div>
|
||
<div class="list-row">
|
||
<svg style="width:18px;height:18px;color:var(--text-3)"><use href="#i-globe"/></svg>
|
||
<div class="list-row__body"><div class="list-row__title">Web 浏览器 · Safari</div><div class="list-row__sub">昨天活跃 · 仅文件读写授权</div></div>
|
||
<span class="badge badge--muted" style="font-size:11px"><span class="badge__dot"></span>离线</span>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="section">
|
||
<div class="section__head"><span class="cn">授契<span class="cn__plain">设备能力授权</span></span><button class="btn btn--ghost btn--sm" style="margin-left:auto">全部撤销</button></div>
|
||
<div class="card" style="padding:6px 18px">
|
||
<div class="grant-row">
|
||
<span class="grant-row__cap"><svg><use href="#i-mic"/></svg>闻声 · 麦克风</span>
|
||
<div><div style="font-size:13px">青梧 · 实时语音</div><div class="grant-row__meta">iPhone · 仅通话期间 · 采集指示常显</div></div>
|
||
<button class="btn btn--ghost btn--sm">撤销</button>
|
||
</div>
|
||
<div class="grant-row">
|
||
<span class="grant-row__cap"><svg><use href="#i-file"/></svg>文件读写</span>
|
||
<div><div style="font-size:13px">青梧 · 书斋归档</div><div class="grant-row__meta">MacBook · 仅 ~/BookRoom/ 目录 · 长期(可随时撤销)</div></div>
|
||
<button class="btn btn--ghost btn--sm">撤销</button>
|
||
</div>
|
||
<div class="grant-row">
|
||
<span class="grant-row__cap"><svg><use href="#i-bell"/></svg>通知</span>
|
||
<div><div style="font-size:13px">叩心提醒通道</div><div class="grant-row__meta">iPhone · 静默时段 22:00–08:00 · 频率 ≤ 1 条/日</div></div>
|
||
<button class="btn btn--ghost btn--sm">撤销</button>
|
||
</div>
|
||
<div class="grant-row" style="opacity:.6">
|
||
<span class="grant-row__cap"><svg><use href="#i-camera"/></svg>观影 · 摄像头</span>
|
||
<div><div style="font-size:13px">未授权</div><div class="grant-row__meta">任何角色请求摄像头时将单独请命</div></div>
|
||
<span style="font-size:11.5px;color:var(--text-3)">—</span>
|
||
</div>
|
||
<div class="grant-row" style="opacity:.6">
|
||
<span class="grant-row__cap"><svg><use href="#i-pin"/></svg>问路 · 位置</span>
|
||
<div><div style="font-size:13px">未授权(上次通感已结束)</div><div class="grant-row__meta">通感默认 10 分钟 · 精度 1km · 结束即失效</div></div>
|
||
<span style="font-size:11.5px;color:var(--text-3)">—</span>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<div class="two-col">
|
||
<section class="section card" style="border-color:color-mix(in srgb,var(--accent) 40%,transparent)">
|
||
<div class="card__head"><span class="cn" style="color:var(--accent-strong)">通感进行中<span class="cn__plain">限时设备感知</span></span><span style="margin-left:auto;font-size:12px;color:var(--text-3)" class="mono">剩 8 分钟</span></div>
|
||
<p style="font-size:13px;color:var(--text-2);margin-bottom:10px">青梧 · 问路(位置 · 精度 1km)· 用于「找一家安静的茶馆」。采集指示常显,位置不写入长期记忆,会话结束即丢弃。</p>
|
||
<div class="progress" style="margin-bottom:12px"><div class="progress__bar" style="width:20%"></div></div>
|
||
<div style="display:flex;gap:10px">
|
||
<button class="btn btn--outline btn--sm">暂停</button>
|
||
<button class="btn btn--danger btn--sm">立即结束并撤销</button>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="section">
|
||
<div class="block approval">
|
||
<div class="approval__head">
|
||
<span class="approval__seal" aria-hidden="true">命</span>
|
||
<div>
|
||
<div class="approval__title"><span class="cn">请命 · 观屏</span><span class="cn__plain">屏幕读取授权</span></div>
|
||
<div style="font-size:11.5px;color:var(--text-3)">来自镜树「书房整理」· 限此一次</div>
|
||
</div>
|
||
</div>
|
||
<div class="approval__body">
|
||
<p style="font-size:14px;color:var(--text-1)">允许青梧在未来 10 分钟读取当前屏幕?</p>
|
||
<div class="fact"><span class="fact__k">用途</span><span class="fact__v">识别书桌照片中的书目并归档</span></div>
|
||
<div class="fact"><span class="fact__k">数据</span><span class="fact__v">仅屏幕内容 · 不截屏存储 · 不写入长期记忆</span></div>
|
||
</div>
|
||
<div class="approval__acts">
|
||
<button class="btn btn--cinnabar" aria-label="确认决定:允许本次观屏">允许(本次,10 分钟)</button>
|
||
<button class="btn btn--outline">拒绝</button>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
|
||
</div>
|
||
</main>
|
||
</div>
|
||
<script src="assets/app.js?v=3"></script>
|
||
</body>
|
||
</html>
|