Files
2026-09-21 11:19:07 +08:00

143 lines
17 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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-search" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></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-key" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4"/></symbol><symbol id="i-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></symbol><symbol id="i-x" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></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 is-active" aria-current="page" href="governance.html"><svg><use href="#i-shield"/></svg><span class="cn">司命台</span><span class="nav-plain">治理</span></a><a class="nav-item" 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"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
治理不支配角色或用户数据;隐藏推理、密钥与凭据永不进入诊断与审计展示。错误与安全事件优先直白表述。
</div>
<section class="section card">
<div class="card__head"><span class="cn">阴阳平衡<span class="cn__plain">朱批治理的三态</span></span><span style="margin-left:auto;font-size:11.5px;color:var(--text-3)">阳亢 · 放行偏多 / 动态平衡 / 阴盛 · 驳回偏多</span></div>
<div class="taiji-gauge">
<svg viewBox="0 0 128 76" role="img" aria-label="阴阳平衡仪表:通过率 78%,动态平衡,鎏金指针居中偏右">
<path d="M 12 68 A 52 52 0 0 1 116 68" fill="none" stroke="var(--line)" stroke-width="7" stroke-linecap="round"/>
<path d="M 12 68 A 52 52 0 0 1 38 25" fill="none" stroke="color-mix(in srgb, var(--cinnabar) 45%, transparent)" stroke-width="7" stroke-linecap="round"/>
<path d="M 90 25 A 52 52 0 0 1 116 68" fill="none" stroke="color-mix(in srgb, var(--accent) 50%, transparent)" stroke-width="7" stroke-linecap="round"/>
<line x1="64" y1="68" x2="90" y2="25" stroke="var(--gilt)" stroke-width="2" stroke-linecap="round"/>
<circle cx="64" cy="68" r="3" fill="var(--gilt)"/>
<text class="taiji-gauge__label" x="12" y="76">阴 · 驳回</text>
<text class="taiji-gauge__label" x="116" y="76" text-anchor="end">阳 · 放行</text>
</svg>
<div>
<div class="taiji-gauge__val" style="color:var(--accent-strong)">动态平衡</div>
<div style="font-size:12px;color:var(--text-2);margin-top:3px">近 30 日朱批通过率 78% · 驳回 22%<br><span style="color:var(--text-3)">指针偏右但在平衡带内;阳亢时提示收紧行契,阴盛时提示检查策略误伤</span></div>
</div>
</div>
</section>
<div class="tabs" role="tablist" aria-label="治理队列">
<button class="tab is-on" role="tab" aria-selected="true">内容 <span class="cnt">2</span></button>
<button class="tab" role="tab" aria-selected="false">插件 <span class="cnt">1</span></button>
<button class="tab" role="tab" aria-selected="false">市场 <span class="cnt">1</span></button>
<button class="tab" role="tab" aria-selected="false">申诉 <span class="cnt">1</span></button>
</div>
<section class="section">
<div class="section__head"><span class="cn">司议<span class="cn__plain">治理案件</span></span></div>
<div class="card case-card" style="margin-bottom:14px;padding-left:20px">
<div class="card__head">
<span class="badge badge--warn"><span class="badge__dot"></span>待审 · 等待审核 <span class="mono">pending_review</span></span>
<span style="font-size:11.5px;color:var(--text-3);margin-left:auto">09-15 11:20 · 鸣冤 ×3</span>
</div>
<p style="font-size:13.5px">雅集帖子「未署名的守砚人立像二创」被举报:疑似未保留来源署名(CC BY-NC 要求)。</p>
<div style="display:flex;gap:8px;margin-top:12px">
<button class="btn btn--outline btn--sm">查看原文</button>
<button class="btn btn--outline btn--sm">限观 · 限制展示</button>
<button class="btn btn--danger btn--sm">移除</button>
<button class="btn btn--ghost btn--sm">驳回举报</button>
</div>
</div>
<div class="card case-card" style="padding-left:20px">
<div class="card__head">
<span class="badge badge--warn"><span class="badge__dot"></span>待审 <span class="mono">pending_review</span></span>
<span style="font-size:11.5px;color:var(--text-3);margin-left:auto">09-14 09:02 · 自动扫描</span>
</div>
<p style="font-size:13.5px">市场商品「曲谱排版插件 v1.4」扫描发现:Manifest 声明与实际网络请求域不一致。</p>
<div style="display:flex;gap:8px;margin-top:12px">
<button class="btn btn--outline btn--sm">查看扫描报告</button>
<button class="btn btn--danger btn--sm">下架</button>
<button class="btn btn--ghost btn--sm">通知创作者</button>
</div>
</div>
</section>
<div class="two-col">
<section class="section card">
<div class="card__head"><span class="cn">诊断授权<span class="cn__plain">双重授权</span></span></div>
<p style="font-size:12.5px;color:var(--text-2);margin-bottom:12px">读取 Run 详细诊断(ModelCall、工具参数、ContextSnapshot)需要在普通认证之外叠加短期诊断令牌:绑定单个 Run、单次使用、默认 15 分钟。</p>
<div class="set-row">
<div class="set-row__body"><div class="set-row__t">申请诊断令牌</div><div class="set-row__d">目的 user_inspection · 绑定 run_9f31c2(天工阁 · 书单任务)</div></div>
<button class="btn btn--cinnabar btn--sm">签发</button>
</div>
<div class="set-row">
<div class="set-row__body"><div class="set-row__t mono">hjd_8f…(已过期)</div><div class="set-row__d">09-15 12:04 签发 · 12:19 过期 · 已用 1 次 · 范围:青梧 · 选篇答复</div></div>
<span class="badge badge--muted" style="font-size:11px"><span class="badge__dot"></span>已过期</span>
</div>
<p style="font-size:11.5px;color:var(--text-3);margin-top:10px">隐藏推理、密钥、Authorization 与签名 URL 永不返回;管理员与诊断均不可读私箧。</p>
</section>
<section class="section card">
<div class="card__head"><span class="cn">安全概览</span><a class="more" href="settings.html">设置 →</a></div>
<div class="set-row"><div class="set-row__body"><div class="set-row__t">活跃会话 2</div><div class="set-row__d">MacBook(当前)· iPhone</div></div><a class="btn btn--ghost btn--sm" href="settings.html">管理</a></div>
<div class="set-row"><div class="set-row__body"><div class="set-row__t">Service Account key 1</div><div class="set-row__d">scope:只读统计 · 90 天轮换</div></div><button class="btn btn--ghost btn--sm">轮换</button></div>
<div class="set-row"><div class="set-row__t">凭据重用检测</div><span class="badge badge--ok" style="font-size:11px"><span class="badge__dot"></span>30 天 0 次</span></div>
</section>
</div>
<section class="section">
<div class="section__head"><span class="cn">审计<span class="cn__plain">AuditEvent · 权威事务同批提交</span></span></div>
<div class="card">
<div class="table-wrap"><table class="data">
<thead><tr><th>时间</th><th>主体</th><th>动作</th><th>对象</th><th>结果</th></tr></thead>
<tbody>
<tr><td class="mono">09-15 19:48</td><td>云舟</td><td>朱批 · 允许</td><td class="mono">calendar.write · run_7ab1</td><td class="mark-ok">✓</td></tr>
<tr><td class="mono">09-15 19:52</td><td>云舟</td><td>创建天工</td><td class="mono">run_9f31c2</td><td class="mark-ok">✓</td></tr>
<tr><td class="mono">09-15 12:04</td><td>云舟</td><td>签发诊断令牌</td><td class="mono">hjd_8f…</td><td class="mark-ok">✓</td></tr>
<tr><td class="mono">09-14 22:31</td><td>未知请求</td><td>跨镜域读取</td><td class="mono">memory · 雪袖</td><td class="mark-no" style="color:var(--err)">✗ 拒绝(失败关闭)</td></tr>
<tr><td class="mono">09-12 10:05</td><td>云舟</td><td>BYOK 轮换</td><td class="mono">byok_7c02…</td><td class="mark-ok">✓</td></tr>
</tbody>
</table></div>
</div>
</section>
</div>
</main>
</div>
<script src="assets/app.js?v=3"></script>
</body>
</html>