From 631963fdc7baf3ae13cce6147b84a6d5ab7280fa Mon Sep 17 00:00:00 2001 From: JianFeeeee Date: Sun, 20 Sep 2026 10:11:02 +0800 Subject: [PATCH] =?UTF-8?q?feat(site):=20=E6=80=BB=E8=B5=B7=E9=A1=B5?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E3=80=8C=E7=9C=9F=E6=AD=A3=E7=9A=84=20AgentO?= =?UTF-8?q?S=20=E9=95=BF=E8=BF=99=E6=A0=B7=E3=80=8D+=20=E4=BF=AE=E9=A1=B5?= =?UTF-8?q?=E8=84=9A=E7=8A=B6=E6=80=81=E6=A0=8F=E4=B8=8D=E5=8F=AF=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 总起页:从对比改为展示(用户要求) 前几版是对照表(「别人说 X → 我们要做到 Y」)。用户指出重点不是对比, 而是**把自己作为「真正的 AgentOS 样例」展示出来**。改为四张并列卡片, 每条给「机制 + 可测数字」,不做比较。 标题「真正的 AgentOS,长这样」;四题:隔离 / 调度 / 通信 / 资源 —— 操作系统躲不开的四道题,逐题给答案。 ## 文案改了第三轮(用户指「读着太难受」) 按「短句、有节奏、不堆从句」重写四段正文。举一例: 旧:插件不是进程内的一个库,是内核 spawn 的独立进程。崩了就把它的 工具、钩子、通道一并摘掉,其余照跑。 新:插件不在内核里,是另一个进程。崩了就把它注册的东西一并摘掉,其余照跑。 ## 修页脚「状态」栏不可点(用户报的 bug) 三行原为 `` 死文本,点不动。改为链接: - 最新发布:v1.3.x 线 → /releases - main 在研:1.4.0 → blob/main/internal/meta/meta.go(版本号的实际来源) - 许可:AGPL-3.0-only → blob/main/LICENSE ## 一处自查纠正 我一度在卡片里写「插件崩溃 → 恢复 <1s」,那是照抄 README 的旧说法。 查源码 `dynamic_proc.go` 发现退避实为 **1s / 2s / 3s**(`procRestartBackoff=1s`, 5 分钟内崩 3 次 `procMaxRestarts=3` 即停手等人),**<1s 不成立**。 改为如实写明退避序列与停手机上阈值。README 那句待另开一轮核实。 ## 验证 - 双主题:4 卡片、控制台错误 0、横向溢出 0 - 一滑一页仍生效(6 次滑动偏差恒为 72px = scroll-padding-top) - JS 禁用 24/24 可见;reduce 下 snap 自动关闭 - 390/768/1440 溢出均 0 - 页脚 9 个 gitcode 目标逐个对照 origin/main 的树:**全部存在** (不只看 HTTP 200 —— gitcode 对错误路径也返回 200,此前踩过) --- site/index.html | 101 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 89 insertions(+), 12 deletions(-) diff --git a/site/index.html b/site/index.html index 9dc8dbf..6597b64 100644 --- a/site/index.html +++ b/site/index.html @@ -321,6 +321,59 @@ section { min-height: 0; } } + /* ── 总起页:四项 OS 本职 ── + 用四张并列的卡片而不是对照表:用户要的是「展示我们做到了什么」, + 不是「和别人比」。每张卡固定给「机制 + 可测数字」两段。 */ + .duties { + margin-top: 2.2rem; + display: grid; + grid-template-columns: 1fr 1fr; + gap: 1rem; + } + .duty { + position: relative; + padding: 1.35rem 1.4rem 1.5rem; + background: var(--bg-card); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + transition: border-color 0.3s var(--ease), transform 0.3s var(--ease-back); + } + .duty:hover { border-color: var(--border-hi); transform: translateY(-3px); } + .duty-k { + position: absolute; + top: 1.15rem; right: 1.25rem; + font-family: var(--font-mono); + font-size: 0.7rem; + letter-spacing: 0.12em; + color: var(--brand-cyan); + opacity: 0.75; + } + .duty h3 { + margin: 0 0 0.6rem; + font-size: 1.06rem; + letter-spacing: -0.01em; + } + .duty p { + margin: 0 0 0.85rem; + font-size: 0.9rem; + line-height: 1.75; + 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; } + } + /* ── 五个决定的索引(总起页)── */ .idx { list-style: none; @@ -1451,17 +1504,41 @@
-

先定边界,再加能力

+

真正的 AgentOS,长这样

- 大多数 Agent 框架先堆功能、边界后补。这里反过来 —— 五个决定,都是先把「谁能碰什么」定死。 + 隔离、调度、通信、资源。操作系统躲不开的四道题, + 这里逐题给答案 —— 且每题都有能测的数字。

-
    -
  1. 01内核零 IO,只碰调度
  2. -
  3. 02部署,从未如此便捷
  4. -
  5. 03数据如水,随流,随改,随走
  6. -
  7. 04轻重缓急,各归其位
  8. -
  9. 05忙时,有人替你接住
  10. -
+ +
+
+ 隔离 +

崩一个,不赔上全部

+

插件不在内核里,是另一个进程。崩了就把它注册的东西一并摘掉,其余照跑。

+ 退避重启 1s / 2s / 3s;5 分钟内崩 3 次则停下等人 +
+ +
+ 调度 +

拦得住,也接得回

+

输入分能等与不能等。不能等的可抢占,被打断的现场压栈,稍后原样恢复

+ L4 内核独占;外部插件声明 L4 会被夹到 L3 +
+ +
+ 通信 +

三条道,各走各的

+

控制走 stdio,数据走共享内存,通知走事件环。变长内容只传偏移,两边映射到不同地址也能读。

+ 整段写入 + 读回 3.5µs(实测) +
+ +
+ 资源 +

记忆不会越用越肿

+

上下文按相关性取舍,最近 10 条恒受保护。低分下沉成文档,冷文档再蒸馏成三元组。

+ 有效工作区间上限 60 万 token +
+
@@ -2126,9 +2203,9 @@ echo "你好,记住我喜欢喝咖啡" | ./build/waiter

状态