diff --git a/site/index.html b/site/index.html index cd953a6..6471b05 100644 --- a/site/index.html +++ b/site/index.html @@ -725,6 +725,57 @@ 走动的包用 .dv-pkdot(金色)。 */ .dv-pkline { fill: none; stroke: var(--brand-gold); stroke-width: 1.1; opacity: .22; } + /* ── 图 5 新增图元 ── */ + /* 主 agent 的忙碌条:一直爬不到头,呼应「占住很久」 */ + .dv-busy-track { fill: var(--border); opacity: .5; } + .dv-busy-fill { fill: var(--brand-blue); opacity: .75; } + /* 回执区:极淡底 + 虚线边,与主干道区分开 */ + .dv5-band { fill: var(--bg-card); stroke: var(--border); stroke-width: 1; stroke-dasharray: 5 4; opacity: .55; } + .dv5-chip { fill: var(--bg-elev, var(--bg-card)); stroke: var(--border-hi); stroke-width: 1; } + .dv5-out1 { fill: var(--brand-cyan); font-size: 9.4px; text-anchor: middle; } + .dv5-out2 { fill: var(--text-muted); font-size: 9.4px; text-anchor: middle; } + /* 触发条件卡:金色系,与「忙碌」呼应;也给的是可核验的默认值 */ + .dv5-trigger { fill: none; stroke: var(--brand-gold); stroke-width: 1.2; stroke-dasharray: 5 4; opacity: .6; } + .dv5-tcap { fill: var(--brand-gold); font-size: 9.6px; text-anchor: middle; font-weight: 600; letter-spacing: .04em; } + .dv5-tval { fill: var(--text-dim); font-size: 9.6px; text-anchor: middle; } + .dv5-tnote { fill: var(--text-muted); font-size: 8.6px; text-anchor: middle; } + /* 积压条被逐条取走 */ + .js-fx .dv5-pile rect { animation: queueTake 3.6s ease-in-out infinite; } + .js-fx .dv5-pile rect:nth-of-type(1) { animation-delay: 0s; } + .js-fx .dv5-pile rect:nth-of-type(2) { animation-delay: .5s; } + .js-fx .dv5-pile rect:nth-of-type(3) { animation-delay: 1s; } + + /* ── 图 3 新增图元 ── */ + /* 玻璃高光:贴在方块上半部,营造「有厚度的一层壳」 */ + .dv-sheen { + fill: url(#gSheen); + /* 只盖上半部、透明度低。整块铺满会像蒙了层白纱(实测过)。 */ + opacity: .3; + pointer-events: none; + } + /* 进程的虚拟地址:左右各自靠边,避开中间的竖向连接线 */ + .dv-addr { fill: var(--text-muted); font-size: 10px; font-family: var(--font-mono); text-anchor: start; } + .dv-addr-r { text-anchor: end; } + /* 桥接说明:居中,压在两条竖向虚线之间,不与任何线重叠 */ + .dv-bridge { fill: var(--brand-cyan); font-size: 10px; text-anchor: middle; font-weight: 600; } + /* 物理页标题:也居中。靠左会被 x=72 那条写入虚线穿过(实测压字)。 */ + .dv-physcap { fill: var(--brand-cyan); font-size: 10.5px; text-anchor: middle; font-weight: 600; opacity: .9; } + /* 同一物理页的呼吸描边 */ + .dv-phys-glow { fill: none; stroke: var(--brand-cyan); stroke-width: 2; opacity: 0; } + @keyframes physBreathe { + 0%, 100% { opacity: 0; } + 50% { opacity: .38; } + } + .js-fx .dv-phys-glow { animation: physBreathe 4.4s ease-in-out infinite; } + /* 同一物理页:实线外框 + 极淡填充,与「虚拟地址」的虚线形成对比 */ + .dv-phys { fill: none; stroke: var(--brand-cyan); stroke-width: 1.6; opacity: .5; } + .dv-page-fill { fill: url(#gPage); } + /* arena 字节刻度:细密竖线,把「一片区域」讲成「有结构的区域」 */ + .dv-ticks path { stroke: var(--text-muted); stroke-width: 0.8; opacity: .35; } + /* 同页连通线:两进程之间的一条细光路 */ + .dv-pagelink { fill: none; stroke: var(--brand-cyan); stroke-width: 1.1; opacity: .30; stroke-dasharray: 3 3; } + .dv-linkdot { fill: var(--brand-cyan); filter: url(#fGlow); } + /* 级别强度条(图 4):从 L1 到 L4 依次点亮,表现「级别越低越可等、 越高越紧急」。静态时四条只是深浅不同的背景,看不出递进。 */ .dv-gauge-fill rect { opacity: .45; } @@ -1993,8 +2044,7 @@ 常驻型个人 Agent 框架
- 内核只管编排、记忆与调度,消息 / 文件 / 网络 / 设备 - 一律交给插件。插件崩了不牵连内核 —— 换掉一个二进制就热重载。 + 内核只做编排、记忆、调度三件事,其余由插件桥接,崩了自己重启,波及不到内核。
@@ -2254,35 +2303,73 @@实测整段写入+读回 3.5µs
- 主 agent 被长任务占住、积压又够多时,内核把这些消息转给一个 - 临时驻留的分诊助手。能当场办的就办了; + 主 agent 被长任务占住、积压又够多时,内核把这些消息转给一个临时驻留的分诊助手。能当场办的就办了; 非等主 agent 不可的,立刻回一句「忙碌中,请稍候」。 你不必对着对话框猜它还在不在。
- 输入先过调度器,再进处理管道。全程 7 个阶段钩子,插件可改写或短路。 + 输入先过调度器,再进处理管道。全程 7 个阶段钩子。
- 恰恰相反。零 IO 是为了让内核专注做难的部分:输入调度(四级中断、抢占与 - 现场保存)、上下文预算、三层记忆的蒸馏与召回。IO 挪出去之后,这些才有 + 恰恰相反。零 IO 是为了让内核专注做难的部分:输入调度(四级中断、抢占与现场保存)、上下文预算、三层记忆的蒸馏与召回。IO 挪出去之后,这些才有 清晰的所有权。
- 不会。三层是迁移而非复制:上下文事件裁剪后归档成文档,文档冷掉后蒸馏成 - 图谱三元组。图谱有去重与 UNIQUE 约束;媒体字节在块被永久删除时回收,但如果同一份字节仍被别的块共享,则不删。 + 不会。三层是迁移而非复制:上下文事件裁剪后归档成文档,文档冷掉后蒸馏成图谱三元组。图谱有去重与 UNIQUE 约束;媒体字节在块被永久删除时回收,但如果同一份字节仍被别的块共享,则不删。