崩一个,不赔上全部
-插件不在内核里,是另一个进程。崩了就把它注册的东西一并摘掉,其余照跑。
- 退避重启 1s / 2s / 3s;5 分钟内第 4 次崩溃即停下等人 +插件不在内核里,是另一个进程。崩了就把它注册的东西一并摘掉,其余照跑。重启退避 1s / 2s / 3s,5 分钟内第 4 次崩溃则停下等人。
diff --git a/site/index.html b/site/index.html
index 6471b05..4631937 100644
--- a/site/index.html
+++ b/site/index.html
@@ -426,16 +426,6 @@
color: var(--text-dim);
}
.duty p strong { color: var(--brand-cyan); font-weight: 700; }
- .duty-ev {
- display: inline-block;
- font-family: var(--font-mono);
- font-size: 0.72rem;
- line-height: 1.5;
- color: var(--text-muted);
- padding-top: 0.7rem;
- border-top: 1px solid var(--border);
- width: 100%;
- }
@media (max-width: 860px) {
.duties { grid-template-columns: 1fr; gap: 0.8rem; }
}
@@ -538,15 +528,6 @@
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
}
.alt-visual svg { position: relative; z-index: 1; width: 100%; height: auto; display: block; }
- .dv-note {
- position: relative;
- z-index: 1;
- margin: 0.55rem 0 0;
- text-align: center;
- font-size: 0.74rem;
- color: var(--text-muted);
- font-family: var(--font-mono);
- }
@media (max-width: 860px) {
.alt { grid-template-columns: 1fr; gap: 1.6rem; margin-top: 2.6rem; }
/* 窄屏位移收小:单列时左右各 42px 会让内容显得跳,也更容易探出视口 */
@@ -738,7 +719,6 @@
.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; }
@@ -801,7 +781,7 @@
}
.js-fx .dv-sweep { animation: shmSweep 2.8s cubic-bezier(.4,0,.2,1) infinite; }
- /* 收货闪光(图 5):分诊助手接到消息时亮一下 */
+ /* 收货闪光(图 5):驻留子 agent 接到消息时亮一下 */
.dv-recv {
fill: none;
stroke: var(--brand-cyan);
@@ -914,7 +894,6 @@
/* 两列标题 */
.dv-colcap { fill: var(--text-dim); font-size: 10px; text-anchor: middle; letter-spacing: 0.04em; }
.dv-colcap-dim { fill: var(--text-muted); }
- .dv-caps { fill: var(--text-muted); font-size: 8.8px; text-anchor: middle; }
@media (prefers-reduced-motion: no-preference) {
/* 只呼吸透明度,不动 r。
为何:.dv-pkdot 现在兼做「沿链路行进的数据包」(靠 SMIL 的
@@ -1096,9 +1075,10 @@
.loop {
position: relative;
z-index: 1;
- max-width: 34rem;
+ width: fit-content;
+ min-width: 21rem;
margin: 0.5rem auto 0;
- padding: 1.7rem 1rem 1.9rem;
+ padding: 1.7rem 1.6rem 2.4rem;
border: 1px dashed rgba(6, 182, 212, 0.4);
border-radius: var(--radius-md);
background: rgba(6, 182, 212, 0.045);
@@ -1114,6 +1094,8 @@
border: 1px solid rgba(6, 182, 212, 0.4);
border-radius: var(--radius-pill);
}
+ /* 单列。曾试过两列填满宽度,但 grid 按行填充会把编号排成
+ 1/3/5 · 2/4/6 —— 这是线性流程,顺序不能乱。 */
.seq {
list-style: none;
margin: 0;
@@ -1171,24 +1153,12 @@
line-height: 1;
}
- .flow-note {
- position: relative;
- z-index: 1;
- margin: 1.1rem auto 0;
- max-width: 34rem;
- text-align: center;
- font-size: 0.76rem;
- color: var(--text-muted);
- line-height: 1.6;
- }
- .flow-note code { font-size: 0.74rem; }
-
/* 窄屏:中轴线收边,节点撑满 */
@media (max-width: 620px) {
.flow { padding: 1.2rem 1rem 1.1rem; }
.flow::before { display: none; }
.n { width: auto; max-width: none; }
- .br, .flow-note { max-width: none; }
+ .br { max-width: none; }
.loop { max-width: none; padding: 2.2rem 0.8rem 2.4rem; }
.lnk { height: 1.6rem; }
}
@@ -2068,29 +2038,25 @@
插件不在内核里,是另一个进程。崩了就把它注册的东西一并摘掉,其余照跑。 插件不在内核里,是另一个进程。崩了就把它注册的东西一并摘掉,其余照跑。重启退避 1s / 2s / 3s,5 分钟内第 4 次崩溃则停下等人。 输入分能等与不能等。不能等的可抢占,被打断的现场压栈,稍后原样恢复。 输入分能等与不能等。不能等的可抢占,被打断的现场压栈,稍后原样恢复。L4 内核独占,外部插件声明 L4 会被夹到 L3。 控制走 stdio,数据走共享内存,通知走事件环。变长内容只传偏移,两边映射到不同地址也能读。 控制走 stdio,数据走共享内存,通知走事件环。变长内容只传偏移,两边映射到不同地址也能读。实测整段写入 + 读回 3.5µs。 上下文按相关性取舍,最近 10 条恒受保护。低分下沉成文档,冷文档再蒸馏成三元组。 上下文按相关性取舍,最近 10 条恒受保护。低分下沉成文档,冷文档再蒸馏成三元组。有效工作区间上限 60 万 token。崩一个,不赔上全部
- 拦得住,也接得回
- 三条道,各走各的
- 记忆不会越用越肿
-
实测:statically linked,无动态依赖
@@ -2371,7 +2336,6 @@实测整段写入+读回 3.5µs
@@ -2438,7 +2402,7 @@pre_action
- 构建消息与工具表 · 插件可在此短路pre_actionpost_action
- 插件可改写最终文本post_actionbefore_toolcall
- 逐个工具执行前 · 可拒before_toolcallafter_toolcall
- 上下文裁剪 · 相关记忆召回 · 结果入消息after_toolcall
- on_input 在进管道之前跑;before_output / after_output 在全部轮次结束后跑一次。
-
- 这正是「分诊助手」的用途。主 agent 忙超阈值(默认 5 分钟)且积压够多(默认 3 条) + 这正是驻留子 agent 的用途。主 agent 忙超阈值(默认 5 分钟)且积压够多(默认 3 条) 时,内核可拉起临时驻留子接手:能办的直接办,需要主 agent 的立刻回「忙碌中,请稍候」。 这个自动转投默认关闭,由部署方显式打开 —— 它属于「内核替父做决策」,与 「显式才是特权」同一条理由。