From 617a07124617f4fe68b30dfa675d122abfaa0c49 Mon Sep 17 00:00:00 2001 From: "Shuhao Zhang (Tony)" <5267690+ShuhaoZhangTony@users.noreply.github.com> Date: Wed, 26 Aug 2026 00:06:09 +0800 Subject: [PATCH 1/2] Polish public control-plane portfolio --- .github/workflows/site-check.yml | 18 +++++++ assets/portfolio.js | 14 +++-- assets/site.css | 2 +- data/control-plane-projects.json | 45 +++++++++++----- index.html | 20 +++---- .../test_public_site.cpython-310.pyc | Bin 0 -> 2092 bytes tests/test_public_site.py | 51 ++++++++++++++++++ 7 files changed, 121 insertions(+), 29 deletions(-) create mode 100644 .github/workflows/site-check.yml create mode 100644 tests/__pycache__/test_public_site.cpython-310.pyc create mode 100644 tests/test_public_site.py diff --git a/.github/workflows/site-check.yml b/.github/workflows/site-check.yml new file mode 100644 index 0000000..f479768 --- /dev/null +++ b/.github/workflows/site-check.yml @@ -0,0 +1,18 @@ +name: Public site checks + +on: + pull_request: + push: + branches: [main] + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.11" + - run: python -m unittest discover -s tests -v + - run: node --check assets/site.js + - run: node --check assets/portfolio.js diff --git a/assets/portfolio.js b/assets/portfolio.js index 4303ed2..d5a9c7e 100644 --- a/assets/portfolio.js +++ b/assets/portfolio.js @@ -8,9 +8,13 @@ const render = (projects) => { container.replaceChildren(); projects.forEach((project, index) => { - const card = document.createElement('a'); - card.className = `project-card${project.tone === 'negative' ? ' negative' : ''}`; - card.href = project.url; + const card = document.createElement(project.url ? 'a' : 'article'); + card.className = `project-card${project.url ? '' : ' unlinked'}`; + if (project.url) { + card.href = project.url; + card.target = '_blank'; + card.rel = 'noopener noreferrer'; + } const code = document.createElement('span'); code.textContent = `${String(index + 1).padStart(2, '0')} / ${project.code}`; @@ -26,8 +30,8 @@ const owner = document.createElement('small'); owner.textContent = project.owner; const state = document.createElement('em'); - state.dataset.en = `${project.status_en} ↗`; - state.dataset.zh = `${project.status_zh} ↗`; + state.dataset.en = project.url ? `${project.status_en} ↗` : `${project.status_en} · LINK NOT PUBLIC`; + state.dataset.zh = project.url ? `${project.status_zh} ↗` : `${project.status_zh} · 链接未公开`; footer.append(owner, state); card.append(code, name, summary, footer); diff --git a/assets/site.css b/assets/site.css index 874bfd6..a717dbf 100644 --- a/assets/site.css +++ b/assets/site.css @@ -5,7 +5,7 @@ .section{padding:106px max(4vw,calc((100vw - var(--max))/2))}.section-head{margin-bottom:50px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);gap:55px;align-items:end}.section-head h2{margin:0;max-width:950px;font-size:clamp(41px,5.7vw,82px);line-height:.96;letter-spacing:-.055em}.section-head>p{margin:0;color:var(--muted);font-size:16px}.agenda-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.agenda-grid article{min-height:430px;padding:24px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.agenda-grid article:before{content:attr(data-index);color:#7f8c89;font:500 10px "Fira Code",monospace}.agenda-grid b{width:56px;height:56px;margin:70px 0 30px;display:grid;place-items:center;background:var(--cyan);border-radius:3px;font:700 15px "Fira Code",monospace}.agenda-grid article:nth-child(2) b{background:var(--green)}.agenda-grid article:nth-child(3) b{background:var(--amber)}.agenda-grid article:nth-child(4) b{background:var(--coral)}.agenda-grid h3{margin:0 0 12px;font-size:27px;line-height:1.05;letter-spacing:-.035em}.agenda-grid p{margin:0;color:var(--muted)}.agenda-grid small{margin-top:auto;padding-top:25px;color:#7d8987;font:500 10px "Fira Code",monospace} .sage-section{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(480px,1.35fr);gap:clamp(60px,9vw,145px);color:#fff;background:var(--ink)}.sage-title h2{margin:0;color:var(--cyan);font:800 clamp(90px,11vw,166px)/.82 Sora,sans-serif;letter-spacing:-.075em}.sage-title>p:last-child{margin:27px 0 0;color:#9dadaa;font:500 13px/1.75 "Fira Code",monospace;text-transform:uppercase}.sage-body{padding-top:37px}.sage-body h3{margin:0 0 24px;font-size:clamp(27px,3.3vw,48px);line-height:1.08;letter-spacing:-.04em}.sage-body>p{max-width:780px;color:#a9b8b6;font-size:17px}.pillars{margin-top:47px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--dark-line);border-left:1px solid var(--dark-line)}.pillars div{min-height:170px;padding:20px;display:flex;flex-direction:column;border-right:1px solid var(--dark-line);border-bottom:1px solid var(--dark-line)}.pillars span{color:var(--cyan);font:500 10px "Fira Code",monospace}.pillars strong{margin-top:auto}.pillars small{margin-top:5px;color:#81918f} .systems-section{background:#fff}.system-list{border-top:1px solid var(--line)}.system-list a{min-height:92px;padding:17px 14px;display:grid;grid-template-columns:115px minmax(190px,.75fr) minmax(260px,1.35fr) 120px 25px;gap:25px;align-items:center;border-bottom:1px solid var(--line);text-decoration:none}.system-list a:hover{background:var(--paper)}.system-list span{color:#7c8987;font:500 10px "Fira Code",monospace}.system-list strong{font-size:20px}.system-list p{margin:0;color:var(--muted)}.system-list em{width:max-content;padding:5px 7px;color:#125356;background:#ccebea;border-radius:3px;font:normal 500 9px "Fira Code",monospace}.system-list a:nth-child(2) em,.system-list a:nth-child(5) em{color:#34560c;background:#dfedc1}.system-list a:nth-child(4) em{color:#6a4904;background:#f3e0ac}.system-list a:nth-child(6) em{color:#7b3d2b;background:#f3d3c9}.system-list i{color:#71807e;font-style:normal}.directory-link{margin-top:24px;padding:16px 0;display:flex;justify-content:space-between;color:var(--muted);border-bottom:1px solid var(--line);font-size:13px;font-weight:800;text-decoration:none}.directory-link:hover{color:var(--ink)} -.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.project-status{grid-column:1/-1;margin:0;padding:28px;color:var(--muted);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.project-card{min-height:350px;padding:25px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);background:#fff;text-decoration:none}.project-card:hover{background:var(--paper);box-shadow:inset 0 4px var(--cyan)}.project-card>span{color:#5f6f6d;font:500 10px "Fira Code",monospace}.project-card h3{margin:74px 0 14px;font-size:28px;line-height:1.03;letter-spacing:-.035em}.project-card p{margin:0;color:var(--muted)}.project-card footer{min-height:0;margin-top:auto;padding:30px 0 0;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;color:var(--muted);background:transparent}.project-card footer small{font-size:11px}.project-card footer em{color:#125356;font:normal 600 9px "Fira Code",monospace}.project-card.negative{background:#fff8ec}.project-card.negative:hover{box-shadow:inset 0 4px var(--amber)}.project-card.negative footer em{color:#7a4d00}.leadership-section{background:var(--paper)}.leadership-card{padding:42px;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:70px;color:#fff;background:var(--ink)}.leadership-card h2{margin:0;font-size:clamp(38px,5vw,70px);line-height:.97;letter-spacing:-.05em}.leadership-card>div:last-child{align-self:end}.leadership-card strong{font-size:22px}.leadership-card p{color:#aab9b6}.leadership-card small{color:#7f908d} +.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.project-status{grid-column:1/-1;margin:0;padding:28px;color:var(--muted);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.project-card{min-height:350px;padding:25px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);background:#fff;text-decoration:none}.project-card:hover{background:var(--paper);box-shadow:inset 0 4px var(--cyan)}.project-card.unlinked{background:linear-gradient(145deg,#fff,#f4f7f5);cursor:default}.project-card.unlinked:hover{background:linear-gradient(145deg,#fff,#f4f7f5);box-shadow:none}.project-card>span{color:#5f6f6d;font:500 10px "Fira Code",monospace}.project-card h3{margin:74px 0 14px;font-size:28px;line-height:1.03;letter-spacing:-.035em}.project-card p{margin:0;color:var(--muted)}.project-card footer{min-height:0;margin-top:auto;padding:30px 0 0;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;color:var(--muted);background:transparent}.project-card footer small{font-size:11px}.project-card footer em{color:#125356;font:normal 600 9px "Fira Code",monospace}.leadership-section{background:var(--paper)}.leadership-card{padding:42px;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:70px;color:#fff;background:var(--ink)}.leadership-card h2{margin:0;font-size:clamp(38px,5vw,70px);line-height:.97;letter-spacing:-.05em}.leadership-card>div:last-child{align-self:end}.leadership-card strong{font-size:22px}.leadership-card p{color:#aab9b6}.leadership-card small{color:#7f908d} .method-section{color:#fff;background:#101718}.method-section .section-head>p,.ecosystem-section .section-head>p{color:#9eaeab}.method-path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--dark-line);border-left:1px solid var(--dark-line)}.method-path article{min-height:280px;padding:23px;display:flex;flex-direction:column;border-right:1px solid var(--dark-line);border-bottom:1px solid var(--dark-line)}.method-path span{color:var(--cyan);font:500 10px "Fira Code",monospace}.method-path article:nth-child(2) span{color:var(--green)}.method-path article:nth-child(3) span{color:var(--amber)}.method-path article:nth-child(4) span{color:var(--coral)}.method-path strong{margin-top:auto;font-size:22px}.method-path p{margin:9px 0 0;color:#93a19f} .ecosystem-section{color:#fff;background:#151f20}.architecture{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--dark-line);border-left:1px solid var(--dark-line)}.architecture a{min-height:215px;padding:22px;display:flex;flex-direction:column;border-right:1px solid var(--dark-line);border-bottom:1px solid var(--dark-line);text-decoration:none}.architecture a:hover,.architecture .active{background:#1c292a}.architecture span{color:#748684;font:500 10px "Fira Code",monospace}.architecture strong{margin-top:auto;font-size:24px}.architecture small{margin-top:8px;color:#9aaba8;font-size:12px}.architecture .active{box-shadow:inset 0 4px var(--cyan)}.architecture .active span,.architecture .active strong{color:var(--cyan)}.shared-line{min-height:92px;padding:20px 23px;display:grid;grid-template-columns:auto 1fr minmax(270px,auto);align-items:center;gap:22px;border:1px solid var(--dark-line);border-top:0}.shared-line strong{color:var(--cyan);font:800 24px Sora,sans-serif}.shared-line i{height:1px;background:linear-gradient(90deg,var(--cyan),#42cbd01a)}.shared-line p{margin:0;color:#9aaba8;font-size:12px} footer{min-height:132px;padding:34px max(4vw,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fff;background:#070b0c}footer>div{display:flex;align-items:baseline;gap:17px}footer strong{font-size:20px}footer span,footer nav{color:#80908d}footer nav{display:flex;gap:25px}footer nav a:hover{color:var(--cyan)} diff --git a/data/control-plane-projects.json b/data/control-plane-projects.json index c9c51f6..4c03940 100644 --- a/data/control-plane-projects.json +++ b/data/control-plane-projects.json @@ -4,7 +4,7 @@ { "code": "SLO", "name": "SLO-Aware Agent Serving", - "url": "https://github.com/intellistream/slo-aware-agent-serving", + "url": null, "owner": "Liu Jun · iliujunn", "summary_en": "Admission, calibrated prediction, fairness, and resource allocation for mixed agent workloads.", "summary_zh": "面向混合智能体负载的准入、校准预测、公平性与资源分配。", @@ -14,7 +14,7 @@ { "code": "KV", "name": "Agentic KV", - "url": "https://github.com/intellistream/agentic-kv", + "url": null, "owner": "Pei Fangrui · Apei-520", "summary_en": "Dependency-aware future-reuse and recompute-cost prediction for agent state and KV decisions.", "summary_zh": "面向智能体状态与 KV 决策的依赖感知未来复用和重算成本预测。", @@ -24,7 +24,7 @@ { "code": "MODEL", "name": "VAMOS", - "url": "https://github.com/RIDE-Lab/vamos", + "url": null, "owner": "Multi-model control", "summary_en": "VRAM-aware multi-model orchestration under serving SLOs.", "summary_zh": "面向服务 SLO 的显存感知多模型编排。", @@ -34,7 +34,7 @@ { "code": "BUDGET", "name": "Token-Budget Governor", - "url": "https://github.com/intellistream/vllm-token-budget-governor-plugin", + "url": null, "owner": "Admission control", "summary_en": "Token-budget admission and overload control before work enters the inference engine.", "summary_zh": "在请求进入推理引擎前执行 token 预算准入与过载控制。", @@ -44,7 +44,7 @@ { "code": "STATE", "name": "Agent State Tiering", - "url": "https://github.com/intellistream/vllm-agent-state-tiering", + "url": null, "owner": "Ou Dandan · oddod", "summary_en": "Workflow-aware placement and prefetch across accelerator, host-memory, and storage tiers.", "summary_zh": "跨加速器、主机内存与存储层的工作流感知放置和预取。", @@ -54,7 +54,7 @@ { "code": "ROUTE", "name": "Prefix Cache Routing Reliability", - "url": "https://github.com/intellistream/prefix-cache-routing-reliability", + "url": null, "owner": "Wang Jie · WMASTER123", "summary_en": "Failure-safe distributed prefix-cache routing, stale-view handling, and bounded recovery.", "summary_zh": "故障安全的分布式前缀缓存路由、陈旧视图处理与有界恢复。", @@ -64,23 +64,42 @@ { "code": "AGENT-KV", "name": "FreshKV", - "url": "https://github.com/intellistream/FreshKV", + "url": null, "owner": "Xincai Zhu · Pygone", "summary_en": "Agent-lifecycle and future-reuse declarations drive bounded KV retention and eviction decisions, with execution delegated to an inference-engine plugin.", "summary_zh": "利用智能体生命周期和未来复用声明进行有边界的 KV 保留与淘汰决策,并由推理引擎插件负责执行。", "status_en": "INCUBATING", "status_zh": "孵化中" }, + { + "code": "QUALITY", + "name": "Quality-Bounded Inference", + "url": null, + "owner": "Peng Haoran · Tkhkrnx", + "summary_en": "Maps task-level quality targets to token budgets, decode policies, and service controls.", + "summary_zh": "把任务级质量目标映射为 token 预算、解码策略与服务控制动作。", + "status_en": "INCUBATING", + "status_zh": "孵化中" + }, + { + "code": "WORKFLOW", + "name": "Workflow-Aware Serving", + "url": null, + "owner": "Mao Yancan · yancanmao", + "summary_en": "Uses DAG readiness, critical paths, tool waits, and deadlines to coordinate serving decisions.", + "summary_zh": "依据 DAG 就绪状态、关键路径、工具等待与截止时间协调服务决策。", + "status_en": "INCUBATING", + "status_zh": "孵化中" + }, { "code": "E&A", "name": "MottoServe", - "url": "https://github.com/intellistream/llm-serving-motto-lab", + "url": null, "owner": "Li Xuheng · sssarrior", - "summary_en": "A bounded evidence-and-analysis line. The historical planner is stopped; its negative result remains a research asset.", - "summary_zh": "有边界的证据与分析课题。历史 planner 已停止,其负面结果继续作为研究资产。", - "status_en": "STOPPED MECHANISM", - "status_zh": "机制已停止", - "tone": "negative" + "summary_en": "Evidence and analysis of serving-policy behavior, planner overhead, and applicability boundaries.", + "summary_zh": "研究服务策略行为、规划器开销与适用边界的证据分析课题。", + "status_en": "RESEARCH RECORD", + "status_zh": "研究记录" } ] } diff --git a/index.html b/index.html index 2ea3a56..38f8605 100644 --- a/index.html +++ b/index.html @@ -15,7 +15,7 @@ - +