<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Hermes Cyber Terminal</title>
<link rel="stylesheet" href="../../../assets/fonts.css">
<link rel="stylesheet" href="../../../assets/base.css">
<link rel="stylesheet" href="style.css">
</head>
<body class="tpl-hermes-cyber-terminal">
<div class="deck">

  <!-- 1. COVER -->
  <section class="slide is-active">
    <div class="hc-grid"></div>
    <div class="hc-vignette"></div>
    <div class="hc-scanlines"></div>
    <div class="hc-chrome"><div class="dots"><span></span><span></span><span></span></div><div>~/hermes · zsh · 118x42 · 01:37:04</div></div>
    <div style="margin:auto 0">
      <p class="hc-prompt">whoami --hermes</p>
      <h1 class="hc-h1">HERMES<br>AGENT / v0.9.2<span class="hc-cursor"></span></h1>
      <p class="hc-lede">一个号称能「自主跑完整软件工程任务」的命令行 agent。<br>真的好用？还是又一轮营销？—— 我连续跑了 72 小时，告诉你答案。</p>
      <div style="margin-top:26px">
        <span class="hc-tag">rust-core</span>
        <span class="hc-tag">mcp-native</span>
        <span class="hc-tag amber">72h-benchmark</span>
        <span class="hc-tag red">honest-review</span>
      </div>
    </div>
    <div class="hc-footer"><span>hermes-review · lewis · 2026</span><span>01 / 08</span></div>
  </section>

  <!-- 2. SECTION DIVIDER -->
  <section class="slide">
    <div class="hc-grid"></div>
    <div class="hc-scanlines"></div>
    <div class="hc-chrome"><div class="dots"><span></span><span></span><span></span></div><div>section · 01/04</div></div>
    <div style="margin:auto 0">
      <p class="hc-prompt">cat chapter_01.md</p>
      <h1 class="hc-h1" style="font-size:110px">// Setup</h1>
      <p class="hc-lede">从 <code style="color:var(--hc-amber)">brew install hermes</code> 到第一次 prompt —— 一共 4 分 22 秒。</p>
    </div>
    <div class="hc-footer"><span>section · setup</span><span>02 / 08</span></div>
  </section>

  <!-- 3. CONTENT — spec cards -->
  <section class="slide">
    <div class="hc-grid"></div>
    <div class="hc-scanlines"></div>
    <div class="hc-chrome"><div class="dots"><span></span><span></span><span></span></div><div>benchmark · cold-start</div></div>
    <h2 class="hc-h2">开箱数据</h2>
    <p class="hc-lede">cold start → first-successful-task 三次平均</p>
    <div class="hc-grid-3">
      <div class="hc-card"><div class="lbl">install time</div><div class="val">42s</div><div class="desc">单 binary，无 docker，无 python env。</div></div>
      <div class="hc-card"><div class="lbl">first token</div><div class="val">1.8s</div><div class="desc">接入 claude-opus-4-6，无预热。</div></div>
      <div class="hc-card"><div class="lbl">first PR merged</div><div class="val">4m22s</div><div class="desc">跑的是 fix-a-typo 级别的低难度任务。</div></div>
    </div>
    <div class="hc-grid-2">
      <div class="hc-card"><div class="lbl">// verdict +</div><div class="val" style="color:var(--hc-green);font-size:18px">冷启动是真的快</div><div class="desc">和 OpenClaw 的 docker + pip 流程比，快不止一个数量级。</div></div>
      <div class="hc-card"><div class="lbl">// verdict -</div><div class="val" style="color:var(--hc-red);font-size:18px">MCP 服务器配置不够友好</div><div class="desc">env 变量需要手动塞进 ~/.hermes/env，文档几乎没写。</div></div>
    </div>
    <div class="hc-footer"><span>data · verified 3 runs</span><span>03 / 08</span></div>
  </section>

  <!-- 4. CODE -->
  <section class="slide">
    <div class="hc-grid"></div>
    <div class="hc-scanlines"></div>
    <div class="hc-chrome"><div class="dots"><span></span><span></span><span></span></div><div>trace · hermes run</div></div>
    <p class="hc-prompt">hermes run "refactor auth module to use pkce"</p>
    <h3 class="hc-h3" style="margin-top:12px">↓ 真实 trace (节选)</h3>
    <pre class="hc-codebox" style="margin-top:10px"><span class="cm"># hermes v0.9.2 · session 42a1</span>
[<span class="fn">plan</span>]    <span class="st">"分析 src/auth/*.ts → 找 oauth flow → 抽成 pkce"</span>
[<span class="fn">read</span>]    src/auth/oauth.ts       <span class="cm">// 214 lines</span>
[<span class="fn">read</span>]    src/auth/token.ts       <span class="cm">// 88 lines</span>
[<span class="kw">think</span>]   <span class="st">"发现 implicit flow，改为 code+pkce，需新 state param"</span>
[<span class="fn">edit</span>]    src/auth/oauth.ts       <span class="hl">+43 -17</span>
[<span class="fn">edit</span>]    src/auth/token.ts       <span class="hl">+12 -4</span>
[<span class="fn">test</span>]    pnpm vitest auth        <span class="st">PASS 18/18</span>
[<span class="fn">commit</span>]  <span class="var">"feat(auth): migrate to oauth2 code+pkce"</span>
[<span class="fn">push</span>]    origin feat/pkce-auth   <span class="st">ok</span>

<span class="cm"># 总耗时 3m 14s · 14k tokens · $0.21</span></pre>
    <div class="hc-footer"><span>trace · live</span><span>04 / 08</span></div>
  </section>

  <!-- 5. CHART -->
  <section class="slide">
    <div class="hc-grid"></div>
    <div class="hc-scanlines"></div>
    <div class="hc-chrome"><div class="dots"><span></span><span></span><span></span></div><div>benchmark · hermes vs openclaw</div></div>
    <h2 class="hc-h2">72 小时对比</h2>
    <p class="hc-lede">同一组 48 个 GitHub issue，两个 agent 各跑一遍</p>
    <svg viewBox="0 0 1000 380" style="width:100%;max-width:1040px;margin-top:24px" xmlns="http://www.w3.org/2000/svg">
      <g font-family="JetBrains Mono, monospace" font-size="13" fill="#8a8892">
        <!-- axis -->
        <line x1="80" y1="40" x2="80" y2="320" stroke="rgba(126,211,164,.2)"/>
        <line x1="80" y1="320" x2="960" y2="320" stroke="rgba(126,211,164,.2)"/>
        <!-- y labels -->
        <text x="70" y="46" text-anchor="end">100%</text>
        <text x="70" y="116" text-anchor="end">75%</text>
        <text x="70" y="186" text-anchor="end">50%</text>
        <text x="70" y="256" text-anchor="end">25%</text>
        <text x="70" y="324" text-anchor="end">0</text>
        <!-- bars: hermes -->
        <g>
          <rect x="130" y="80"  width="80" height="240" fill="rgba(126,211,164,.15)" stroke="#7ed3a4" stroke-width="1.5"/>
          <text x="170" y="76" text-anchor="middle" fill="#7ed3a4" font-weight="700">82%</text>
          <text x="170" y="345" text-anchor="middle">resolved</text>
          <rect x="240" y="146" width="80" height="174" fill="rgba(126,211,164,.15)" stroke="#7ed3a4" stroke-width="1.5"/>
          <text x="280" y="142" text-anchor="middle" fill="#7ed3a4" font-weight="700">58%</text>
          <text x="280" y="345" text-anchor="middle">one-shot</text>
          <rect x="350" y="60"  width="80" height="260" fill="rgba(126,211,164,.15)" stroke="#7ed3a4" stroke-width="1.5"/>
          <text x="390" y="56" text-anchor="middle" fill="#7ed3a4" font-weight="700">89%</text>
          <text x="390" y="345" text-anchor="middle">test-pass</text>
          <rect x="460" y="110" width="80" height="210" fill="rgba(126,211,164,.15)" stroke="#7ed3a4" stroke-width="1.5"/>
          <text x="500" y="106" text-anchor="middle" fill="#7ed3a4" font-weight="700">71%</text>
          <text x="500" y="345" text-anchor="middle">pr-merged</text>
        </g>
        <!-- bars: openclaw -->
        <g>
          <rect x="570" y="150" width="80" height="170" fill="rgba(233,197,138,.12)" stroke="#e9c58a" stroke-width="1.5"/>
          <text x="610" y="146" text-anchor="middle" fill="#e9c58a" font-weight="700">60%</text>
          <text x="610" y="345" text-anchor="middle">resolved</text>
          <rect x="680" y="212" width="80" height="108" fill="rgba(233,197,138,.12)" stroke="#e9c58a" stroke-width="1.5"/>
          <text x="720" y="208" text-anchor="middle" fill="#e9c58a" font-weight="700">38%</text>
          <text x="720" y="345" text-anchor="middle">one-shot</text>
          <rect x="790" y="130" width="80" height="190" fill="rgba(233,197,138,.12)" stroke="#e9c58a" stroke-width="1.5"/>
          <text x="830" y="126" text-anchor="middle" fill="#e9c58a" font-weight="700">67%</text>
          <text x="830" y="345" text-anchor="middle">test-pass</text>
        </g>
        <!-- legend -->
        <g transform="translate(820,50)">
          <rect x="0" y="0" width="14" height="14" fill="rgba(126,211,164,.15)" stroke="#7ed3a4"/>
          <text x="22" y="12" fill="#7ed3a4">hermes 0.9.2</text>
          <rect x="0" y="22" width="14" height="14" fill="rgba(233,197,138,.12)" stroke="#e9c58a"/>
          <text x="22" y="34" fill="#e9c58a">openclaw 2.1</text>
        </g>
      </g>
    </svg>
    <div class="hc-footer"><span>benchmark · n=48</span><span>05 / 08</span></div>
  </section>

  <!-- 6. STATS -->
  <section class="slide">
    <div class="hc-grid"></div>
    <div class="hc-scanlines"></div>
    <div class="hc-chrome"><div class="dots"><span></span><span></span><span></span></div><div>tldr</div></div>
    <p class="hc-prompt">echo $VERDICT</p>
    <div class="hc-big">7.8<span style="font-size:60px;color:var(--hc-ink2)">/ 10</span></div>
    <p class="hc-lede" style="margin-top:14px">值得装，还不值得完全依赖。</p>
    <div class="hc-grid-2" style="margin-top:24px">
      <div class="hc-card"><div class="lbl">+ strong points</div><div class="desc">• rust 本体冷启快<br>• trace 可读性极强<br>• diff 审核友好，commit message 也写得合格</div></div>
      <div class="hc-card"><div class="lbl">- weak points</div><div class="desc">• plan 阶段偶尔跳步<br>• 超 50k LoC 仓库会 OOM<br>• MCP 配置需要手动塞 env</div></div>
    </div>
    <div class="hc-footer"><span>verdict · honest</span><span>06 / 08</span></div>
  </section>

  <!-- 7. CTA -->
  <section class="slide">
    <div class="hc-grid"></div>
    <div class="hc-scanlines"></div>
    <div class="hc-chrome"><div class="dots"><span></span><span></span><span></span></div><div>install</div></div>
    <h2 class="hc-h2">想自己跑一遍？</h2>
    <p class="hc-lede">三条命令，不到 5 分钟就能看见它干第一件事。</p>
    <pre class="hc-codebox" style="margin-top:22px"><span class="cm"># 1. install</span>
<span class="kw">$</span> brew install hermes-agent/tap/hermes

<span class="cm"># 2. auth (先准备好 anthropic api key)</span>
<span class="kw">$</span> hermes auth login

<span class="cm"># 3. first task</span>
<span class="kw">$</span> cd ~/your-repo && hermes run <span class="st">"add a CHANGELOG.md from git log"</span></pre>
    <div style="margin-top:26px">
      <span class="hc-tag">brew-ready</span>
      <span class="hc-tag">opus-4.6</span>
      <span class="hc-tag amber">needs-api-key</span>
    </div>
    <div class="hc-footer"><span>try-it-now</span><span>07 / 08</span></div>
  </section>

  <!-- 8. THANKS -->
  <section class="slide">
    <div class="hc-grid"></div>
    <div class="hc-scanlines"></div>
    <div class="hc-chrome"><div class="dots"><span></span><span></span><span></span></div><div>EOF</div></div>
    <div style="margin:auto 0">
      <p class="hc-prompt">exit 0</p>
      <h1 class="hc-h1" style="font-size:120px">// thanks<span class="hc-cursor"></span></h1>
      <p class="hc-lede">完整 trace、48 个任务的 PR 列表、benchmark 脚本都在 <span style="color:var(--hc-amber)">github.com/lewis/hermes-review</span></p>
    </div>
    <div class="hc-footer"><span>session closed</span><span>08 / 08</span></div>
  </section>

</div>
<script src="../../../assets/runtime.js"></script>
</body>
</html>
