mirror of
https://github.com/nesquena/hermes-webui.git
synced 2026-05-27 12:10:40 +00:00
0b0671a3e3
On mobile (≤640px), .nav-back span{display:none} hid both spans inside
the back link, leaving an empty bordered pill shape visible next to the
logo — the 'broken little thing' users reported seeing to the right of ⚡ Hermes.
Fix: hide .nav-back itself. The hamburger menu provides the back navigation
link, so no information is lost.
Applies to all 13 sub-pages: memory, models, eli5, community, and all 9 compare pages.
509 lines
31 KiB
HTML
509 lines
31 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en" data-theme="dark">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
|
||
<style>
|
||
:root {
|
||
--bg-primary: #0d1117;
|
||
--bg-secondary: #161b22;
|
||
--bg-tertiary: #21262d;
|
||
--bg-card: #161b22;
|
||
--bg-card-hover: #1c2128;
|
||
--border: #30363d;
|
||
--border-hover: #484f58;
|
||
--text-primary: #e6edf3;
|
||
--text-secondary: #8b949e;
|
||
--text-muted: #6e7681;
|
||
--accent: #f0a500;
|
||
--accent-dim: #c88800;
|
||
--accent-glow: rgba(240,165,0,0.15);
|
||
--accent-subtle: rgba(240,165,0,0.08);
|
||
--green: #3fb950;
|
||
--red: #f85149;
|
||
--blue: #58a6ff;
|
||
--purple: #bc8cff;
|
||
--nav-height: 64px;
|
||
--radius: 8px;
|
||
--radius-lg: 12px;
|
||
--shadow: 0 1px 3px rgba(0,0,0,0.4),0 4px 16px rgba(0,0,0,0.3);
|
||
}
|
||
[data-theme="light"] {
|
||
--bg-primary: #ffffff;
|
||
--bg-secondary: #f6f8fa;
|
||
--bg-tertiary: #eaeef2;
|
||
--bg-card: #ffffff;
|
||
--bg-card-hover: #f6f8fa;
|
||
--border: #d0d7de;
|
||
--border-hover: #9198a1;
|
||
--text-primary: #1f2328;
|
||
--text-secondary: #656d76;
|
||
--text-muted: #9198a1;
|
||
--accent: #c07800;
|
||
--accent-dim: #a06000;
|
||
--accent-glow: rgba(192,120,0,0.12);
|
||
--accent-subtle: rgba(192,120,0,0.06);
|
||
--green: #1a7f37;
|
||
--red: #cf222e;
|
||
--blue: #0969da;
|
||
--purple: #7c3aed;
|
||
--shadow: 0 1px 3px rgba(0,0,0,0.1),0 4px 16px rgba(0,0,0,0.06);
|
||
}
|
||
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
|
||
html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}
|
||
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;transition:background 0.2s,color 0.2s;-webkit-font-smoothing:antialiased}
|
||
a{color:var(--accent);text-decoration:none;transition:color 0.15s}
|
||
a:hover{color:var(--accent-dim)}
|
||
img{max-width:100%}
|
||
::-webkit-scrollbar{width:6px;height:6px}
|
||
::-webkit-scrollbar-track{background:var(--bg-secondary)}
|
||
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
|
||
/* Nav */
|
||
#nav{position:fixed;top:0;left:0;right:0;height:var(--nav-height);background:rgba(13,17,23,0.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:1000}
|
||
[data-theme="light"] #nav{background:rgba(255,255,255,0.92)}
|
||
.nav-inner{max-width:1100px;margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
|
||
.nav-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.1rem;color:var(--text-primary);text-decoration:none;flex-shrink:0}
|
||
.nav-logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--accent),var(--accent-dim));border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1}
|
||
.nav-back{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:0.875rem;font-weight:500;padding:6px 12px;border-radius:6px;transition:color 0.15s,background 0.15s;text-decoration:none}
|
||
.nav-back:hover{color:var(--text-primary);background:var(--bg-tertiary)}
|
||
.btn-theme{background:none;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;padding:7px 10px;border-radius:6px;font-size:15px;line-height:1;transition:border-color 0.15s,color 0.15s,background 0.15s}
|
||
.btn-theme:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-tertiary)}
|
||
.btn-cta{background:var(--accent);color:#000;font-size:0.8rem;font-weight:600;padding:7px 14px;border-radius:6px;border:none;cursor:pointer;text-decoration:none;display:inline-block;transition:background 0.15s,transform 0.1s;white-space:nowrap}
|
||
.btn-cta:hover{background:var(--accent-dim);color:#000;transform:translateY(-1px)}
|
||
/* Layout */
|
||
main{padding-top:var(--nav-height)}
|
||
.hero{padding:60px 24px 48px;background:var(--bg-primary)}
|
||
.hero::before{content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:800px;height:400px;background:radial-gradient(ellipse at center,var(--accent-glow) 0%,transparent 70%);pointer-events:none}
|
||
.container{max-width:1100px;margin:0 auto;position:relative}
|
||
.section{padding:64px 24px}
|
||
.section-alt{background:var(--bg-secondary)}
|
||
/* Breadcrumb */
|
||
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:0.8rem;color:var(--text-muted);margin-bottom:24px;flex-wrap:wrap}
|
||
.breadcrumb a{color:var(--text-muted)}
|
||
.breadcrumb a:hover{color:var(--accent)}
|
||
.breadcrumb-sep{opacity:0.4}
|
||
/* Hero content */
|
||
.page-label{font-size:0.75rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
|
||
.page-title{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.1;letter-spacing:-0.02em;margin-bottom:16px}
|
||
.page-sub{font-size:1.05rem;color:var(--text-secondary);max-width:680px;line-height:1.7;margin-bottom:32px}
|
||
/* Verdict banner */
|
||
.verdict{display:flex;align-items:flex-start;gap:16px;background:var(--accent-subtle);border:1px solid rgba(240,165,0,0.2);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:48px}
|
||
[data-theme="light"] .verdict{border-color:rgba(192,120,0,0.2)}
|
||
.verdict-icon{font-size:1.6rem;flex-shrink:0;line-height:1}
|
||
.verdict-text strong{color:var(--text-primary);display:block;margin-bottom:4px;font-size:1rem}
|
||
.verdict-text p{color:var(--text-secondary);font-size:0.9rem;line-height:1.6;margin:0}
|
||
/* Section titles */
|
||
.section-title{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:700;margin-bottom:8px;color:var(--text-primary)}
|
||
.section-body{font-size:1rem;color:var(--text-secondary);max-width:720px;line-height:1.7;margin-bottom:32px}
|
||
/* Feature comparison grid */
|
||
.feature-compare{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px}
|
||
@media(max-width:700px){.feature-compare{grid-template-columns:1fr}}
|
||
.fc-col{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}
|
||
.fc-col.hermes{border-color:var(--accent);border-width:2px}
|
||
.fc-col-label{font-size:0.75rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:16px;color:var(--text-muted)}
|
||
.fc-col.hermes .fc-col-label{color:var(--accent)}
|
||
.fc-col-name{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:20px}
|
||
.fc-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}
|
||
.fc-row:last-child{border-bottom:none}
|
||
.fc-key{flex:1;font-size:0.875rem;color:var(--text-secondary)}
|
||
.fc-val{font-size:0.875rem;font-weight:500;text-align:right;min-width:60px}
|
||
.fc-val.yes{color:var(--green)}
|
||
.fc-val.no{color:var(--text-muted)}
|
||
.fc-val.partial{color:var(--accent)}
|
||
.fc-val.preview{color:var(--purple)}
|
||
.fc-val.cloud{color:var(--blue)}
|
||
/* Narrative sections */
|
||
.narrative{max-width:780px;min-width:0;word-break:break-word}
|
||
.narrative h3{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:32px 0 10px}
|
||
.narrative h3:first-child{margin-top:0}
|
||
.narrative p{font-size:0.975rem;color:var(--text-secondary);line-height:1.75;margin-bottom:16px}
|
||
.narrative ul{padding-left:20px;margin-bottom:16px}
|
||
.narrative li{font-size:0.975rem;color:var(--text-secondary);line-height:1.7;margin-bottom:6px}
|
||
.narrative strong{color:var(--text-primary)}
|
||
.narrative a{color:var(--accent)}
|
||
/* Full comparison table */
|
||
.table-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border);margin:24px 0 40px}
|
||
table{width:100%;border-collapse:collapse;font-size:0.875rem}
|
||
thead th{background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;font-size:0.78rem;letter-spacing:0.04em;text-transform:uppercase;padding:12px 16px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}
|
||
thead th:first-child{color:var(--text-primary)}
|
||
tbody tr{border-bottom:1px solid var(--border);transition:background 0.1s}
|
||
tbody tr:last-child{border-bottom:none}
|
||
tbody tr:hover{background:var(--bg-card-hover)}
|
||
tbody tr.hl{background:var(--accent-subtle)}
|
||
tbody tr.hl:hover{background:rgba(240,165,0,0.12)}
|
||
tbody td{padding:12px 16px;color:var(--text-secondary);vertical-align:middle}
|
||
tbody td:first-child{font-weight:600;color:var(--text-primary);white-space:nowrap}
|
||
.c-yes{color:var(--green);font-weight:600}
|
||
.c-no{color:var(--text-muted);font-size:0.82rem}
|
||
.c-partial{color:var(--accent);font-size:0.82rem}
|
||
.c-cloud{color:var(--blue);font-size:0.82rem}
|
||
.c-prev{color:var(--purple);font-size:0.82rem}
|
||
/* Who section */
|
||
.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
|
||
@media(max-width:600px){.who-grid{grid-template-columns:1fr}}
|
||
.who-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}
|
||
.who-card.choose-hermes{border-color:var(--green)}
|
||
.who-card.choose-other{border-color:var(--border)}
|
||
.who-card-label{font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:10px;color:var(--text-muted)}
|
||
.who-card.choose-hermes .who-card-label{color:var(--green)}
|
||
.who-card ul{padding-left:18px}
|
||
.who-card li{font-size:0.9rem;color:var(--text-secondary);line-height:1.65;margin-bottom:6px}
|
||
.who-card strong{color:var(--text-primary)}
|
||
/* CTA footer */
|
||
.cta-strip{background:var(--bg-secondary);border-top:1px solid var(--border);padding:40px 24px;text-align:center}
|
||
.cta-strip h2{font-size:1.4rem;font-weight:700;margin-bottom:8px}
|
||
.cta-strip p{color:var(--text-secondary);margin-bottom:24px;font-size:0.975rem}
|
||
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
|
||
.btn-primary{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#000;font-weight:600;font-size:0.95rem;padding:12px 22px;border-radius:8px;transition:background 0.15s,transform 0.1s}
|
||
.btn-primary:hover{background:var(--accent-dim);color:#000;transform:translateY(-1px)}
|
||
.btn-secondary{display:inline-flex;align-items:center;gap:6px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);font-weight:500;font-size:0.95rem;padding:12px 22px;border-radius:8px;transition:border-color 0.15s,background 0.15s}
|
||
.btn-secondary:hover{border-color:var(--border-hover);background:var(--bg-card-hover);color:var(--text-primary)}
|
||
/* Nav between compare pages */
|
||
.compare-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px;padding-top:32px;border-top:1px solid var(--border)}
|
||
.compare-nav-label{width:100%;font-size:0.75rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}
|
||
.cpill{display:inline-block;padding:6px 14px;border:1px solid var(--border);border-radius:100px;font-size:0.82rem;font-weight:500;color:var(--text-secondary);transition:border-color 0.15s,color 0.15s,background 0.15s}
|
||
.cpill:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}
|
||
.cpill.active{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}
|
||
/* Responsive */
|
||
/* ── Mobile nav: prevent 3-item nav overflow ── */
|
||
@media(max-width:640px){
|
||
.nav-back{display:none}
|
||
.btn-cta{display:none}
|
||
.nav-inner{gap:8px}
|
||
}
|
||
@media(max-width:768px){
|
||
.section{padding:48px 16px}
|
||
.hero{padding:48px 16px 36px}
|
||
.feature-compare{grid-template-columns:1fr}
|
||
}
|
||
|
||
/* HAMBURGER */
|
||
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;border:1px solid var(--border);border-radius:6px;background:none;transition:border-color 0.15s;flex-shrink:0}
|
||
.hamburger:hover{border-color:var(--accent)}
|
||
.hamburger span{display:block;width:20px;height:2px;background:var(--text-secondary);border-radius:2px;transition:transform 0.2s,opacity 0.2s}
|
||
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
|
||
.hamburger.open span:nth-child(2){opacity:0}
|
||
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
|
||
#compare-mobile-menu{display:none;position:fixed;top:var(--nav-height,64px);left:0;right:0;background:var(--bg-secondary,#161b22);border-bottom:1px solid var(--border,#30363d);padding:16px 24px;z-index:999;flex-direction:column;gap:4px}
|
||
#compare-mobile-menu.open{display:flex}
|
||
#compare-mobile-menu a{color:var(--text-secondary,#8b949e);font-size:0.95rem;font-weight:500;padding:10px 12px;border-radius:6px;text-decoration:none;transition:color 0.15s,background 0.15s}
|
||
#compare-mobile-menu a:hover{color:var(--text-primary,#e6edf3);background:var(--bg-tertiary,#21262d)}
|
||
#compare-mobile-menu a.accent{color:var(--accent,#f0a500)}
|
||
#compare-mobile-menu .menu-divider{height:1px;background:var(--border,#30363d);margin:4px 0}
|
||
@media(max-width:640px){
|
||
.hamburger{display:flex}
|
||
.btn-cta{display:none}
|
||
.nav-back{display:none}
|
||
}
|
||
</style>
|
||
<title>Hermes vs. ChatGPT | Comparison</title>
|
||
<meta name="description" content="Hermes vs. ChatGPT — how Hermes compares to ChatGPT Agent Mode, Scheduled Tasks, CUA, and dual-mode memory in 2025-2026." />
|
||
</head>
|
||
<body>
|
||
<nav id="nav">
|
||
<div class="nav-inner">
|
||
<a href="../index.html" class="nav-logo">
|
||
<div class="nav-logo-icon">⚡</div>
|
||
Hermes
|
||
</a>
|
||
<a href="../index.html#compare" class="nav-back"><span>← All comparisons</span></a>
|
||
<div style="display:flex;align-items:center;gap:8px;flex-shrink:0">
|
||
<button class="btn-theme" id="theme-toggle" aria-label="Toggle theme">🌙</button>
|
||
<a href="https://hermes-agent.nousresearch.com/docs/getting-started/installation" class="btn-cta" target="_blank" rel="noopener">Get started →</a>
|
||
</div>
|
||
</div>
|
||
<button class="hamburger" id="compare-hamburger" aria-label="Open menu" aria-expanded="false"><span></span><span></span><span></span></button>
|
||
</nav>
|
||
|
||
<div id="compare-mobile-menu">
|
||
<a href="../index.html">⚡ Hermes Home</a>
|
||
<a href="../index.html#compare">← All comparisons</a>
|
||
<div class="menu-divider"></div>
|
||
<a href="../eli5/" class="accent">🧠 ELI5</a>
|
||
<a href="../models/" class="accent">🤖 Best Models</a>
|
||
<a href="../community/" class="accent">🌎 Community</a>
|
||
<a href="https://hermes-agent.nousresearch.com/docs/getting-started/installation" target="_blank" rel="noopener" class="accent">Get started →</a>
|
||
</div>
|
||
<main>
|
||
<!-- HERO -->
|
||
<section class="hero" style="position:relative;overflow:hidden">
|
||
<div class="container">
|
||
<div class="breadcrumb">
|
||
<a href="../index.html">Hermes</a>
|
||
<span class="breadcrumb-sep">/</span>
|
||
<a href="../index.html#compare">Comparisons</a>
|
||
<span class="breadcrumb-sep">/</span>
|
||
<span>vs. ChatGPT</span>
|
||
</div>
|
||
<div class="page-label">Comparison</div>
|
||
<h1 class="page-title">Hermes vs. ChatGPT</h1>
|
||
<p class="page-sub">ChatGPT has Agent Mode (July 2025), Scheduled Tasks (January 2025), a computer-using agent, Projects, 50+ connectors, and dual-mode memory. It's not a passive Q&A tool.</p>
|
||
<div class="verdict">
|
||
<div class="verdict-icon">💬</div>
|
||
<div class="verdict-text">
|
||
<strong>Bottom line</strong>
|
||
<p>ChatGPT is one of the most capable cloud AI platforms. Hermes gives you comparable capabilities plus full shell access, any model, and execution on hardware you own. The core choice is data sovereignty and control vs. managed convenience.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- FEATURE COMPARE GRID -->
|
||
<section class="section">
|
||
<div class="container">
|
||
<h2 class="section-title">Quick comparison</h2>
|
||
<p class="section-body">Side-by-side feature snapshot. Scroll down for the full comparison table and narrative.</p>
|
||
<div class="feature-compare">
|
||
<!-- Hermes col -->
|
||
<div class="fc-col hermes">
|
||
<div class="fc-col-label">Self-hosted</div>
|
||
<div class="fc-col-name">Hermes</div>
|
||
<div class="fc-row"><span class="fc-key">Persistent memory</span><span class="fc-val yes">Yes, layered, permanent</span></div>
|
||
<div class="fc-row"><span class="fc-key">Scheduled tasks</span><span class="fc-val yes">Yes, self-hosted, any interval</span></div>
|
||
<div class="fc-row"><span class="fc-key">Agent Mode</span><span class="fc-val yes">Yes (always on)</span></div>
|
||
<div class="fc-row"><span class="fc-key">Computer use</span><span class="fc-val partial">Via shell tools</span></div>
|
||
<div class="fc-row"><span class="fc-key">Service connectors</span><span class="fc-val partial">Via agent tool use</span></div>
|
||
<div class="fc-row"><span class="fc-key">Shell access</span><span class="fc-val yes">Full, your server</span></div>
|
||
<div class="fc-row"><span class="fc-key">Self-hosted</span><span class="fc-val yes">Yes</span></div>
|
||
<div class="fc-row"><span class="fc-key">Provider-agnostic</span><span class="fc-val yes">Yes</span></div>
|
||
<div class="fc-row"><span class="fc-key">Open source</span><span class="fc-val yes">Yes, MIT</span></div>
|
||
<div class="fc-row"><span class="fc-key">Memory inspectability</span><span class="fc-val yes">Yes, editable markdown</span></div>
|
||
<div class="fc-row"><span class="fc-key">Data sovereignty</span><span class="fc-val yes">Yes, your hardware</span></div>
|
||
<div class="fc-row"><span class="fc-key">Projects / conversation org</span><span class="fc-val no">N/A</span></div>
|
||
<div class="fc-row"><span class="fc-key">ChatGPT Pulse</span><span class="fc-val no">N/A</span></div>
|
||
<div class="fc-row"><span class="fc-key">Mobile access</span><span class="fc-val yes">Yes (messaging apps)</span></div>
|
||
</div>
|
||
<!-- ChatGPT col -->
|
||
<div class="fc-col">
|
||
<div class="fc-col-label">Cloud managed</div>
|
||
<div class="fc-col-name">ChatGPT</div>
|
||
<div class="fc-row"><span class="fc-key">Persistent memory</span><span class="fc-val yes">Yes, dual-mode (auto + manual)</span></div>
|
||
<div class="fc-row"><span class="fc-key">Scheduled tasks</span><span class="fc-val yes">Yes, since January 2025</span></div>
|
||
<div class="fc-row"><span class="fc-key">Agent Mode</span><span class="fc-val yes">Yes, launched July 17 2025</span></div>
|
||
<div class="fc-row"><span class="fc-key">Computer use</span><span class="fc-val yes">Yes (CUA - computer-using agent)</span></div>
|
||
<div class="fc-row"><span class="fc-key">Service connectors</span><span class="fc-val yes">50+ (Gmail, GitHub, Google Drive, etc.)</span></div>
|
||
<div class="fc-row"><span class="fc-key">Shell access</span><span class="fc-val partial">Sandboxed</span></div>
|
||
<div class="fc-row"><span class="fc-key">Self-hosted</span><span class="fc-val no">No (OpenAI infrastructure)</span></div>
|
||
<div class="fc-row"><span class="fc-key">Provider-agnostic</span><span class="fc-val no">No (OpenAI models only)</span></div>
|
||
<div class="fc-row"><span class="fc-key">Open source</span><span class="fc-val no">No</span></div>
|
||
<div class="fc-row"><span class="fc-key">Memory inspectability</span><span class="fc-val partial">View/delete but opaque process</span></div>
|
||
<div class="fc-row"><span class="fc-key">Data sovereignty</span><span class="fc-val no">No (OpenAI servers)</span></div>
|
||
<div class="fc-row"><span class="fc-key">Projects / conversation org</span><span class="fc-val yes">Yes (Projects with shared context)</span></div>
|
||
<div class="fc-row"><span class="fc-key">ChatGPT Pulse</span><span class="fc-val partial">Yes (Pro: daily research briefings)</span></div>
|
||
<div class="fc-row"><span class="fc-key">Mobile access</span><span class="fc-val yes">Yes (ChatGPT app)</span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- NARRATIVE -->
|
||
<section class="section section-alt">
|
||
<div class="container">
|
||
<h2 class="section-title">ChatGPT in 2025–2026</h2>
|
||
<div class="narrative">
|
||
<h3>ChatGPT is not passive Q&A</h3>
|
||
<p><strong>Agent Mode</strong> launched July 17, 2025 — autonomous multi-step task execution with web browsing, code execution, and file operations. <strong>Scheduled Tasks</strong> arrived January 2025 for recurring prompts. The <strong>computer-using agent (CUA)</strong> adds visual browser control for web-based workflows. <strong>Projects</strong> provide shared persistent context across conversations. <strong>Pulse</strong> (Pro plan) delivers daily research briefings. Dual-mode memory — background auto-extraction plus manual pins — and 50+ connectors including Gmail, GitHub, Google Drive, and Notion make this a substantial autonomous platform.</p>
|
||
|
||
<h3>Memory: dual-mode vs. inspectable files</h3>
|
||
<p>ChatGPT's memory works in two modes: background auto-extraction where the model decides what's worth remembering, plus manual memory pins you add yourself. You can view and delete stored memories, but the extraction logic is opaque — you don't see the raw files or control the process. Critically, switching between different model versions can affect memory state.</p>
|
||
<p>Hermes stores all memory as <strong>plain markdown files</strong> on your filesystem. You can open them in any editor, modify them, version-control them with git, and they persist regardless of which model backend you use. Eight optional external memory providers (vector databases, graph stores) are available for more advanced retrieval patterns.</p>
|
||
|
||
<h3>Scheduled tasks: cloud vs. self-hosted execution</h3>
|
||
<p>ChatGPT Scheduled Tasks run on OpenAI's servers in a sandboxed environment. They can call web APIs and trigger connected services, but they cannot touch your internal databases, local network resources, private code repositories, or any system behind your firewall. Hermes scheduled tasks run on your server with full shell access: local PostgreSQL, Redis, private Git repos, internal APIs, network hardware — anything reachable from your machine is in scope.</p>
|
||
<p>For tasks that only need public web access, ChatGPT's scheduling is convenient. For tasks that need to touch private infrastructure, there is no substitution.</p>
|
||
|
||
<h3>Computer use (CUA) vs. shell access</h3>
|
||
<p>ChatGPT's CUA is genuinely impressive for <strong>visual web tasks</strong>: filling forms, navigating GUIs, scraping dynamic pages, operating cloud dashboards. It controls a hosted browser and sees screenshots. Hermes shell access is better for <strong>server-side automation</strong>: running scripts, managing files, querying databases, calling CLIs, deploying code. These are complementary tools for different jobs — CUA for the visual web layer, shell for the server layer.</p>
|
||
|
||
<h3>The data question</h3>
|
||
<p>Every message, file, and tool result you send to ChatGPT transits OpenAI's servers. For personal productivity tasks, this is a non-issue. For <strong>proprietary source code</strong>, regulated personal data (HIPAA, GDPR), credentials, financial data, or workflows that by policy must stay on-premises, it is a hard boundary. Hermes runs entirely on your hardware — network calls only leave your server when you explicitly call an external API. Your data residency and retention are entirely in your control.</p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- FULL COMPARISON TABLE -->
|
||
<section class="section">
|
||
<div class="container">
|
||
<h2 class="section-title">Full comparison table</h2>
|
||
<div class="table-wrap">
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Feature</th>
|
||
<th>ChatGPT</th>
|
||
<th>Hermes</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="hl">
|
||
<td>Persistent memory</td>
|
||
<td class="c-yes">✓ Dual-mode (auto + manual)</td>
|
||
<td class="c-yes">✓ Layered, permanent</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Memory inspectability</td>
|
||
<td class="c-partial">View/delete — opaque process</td>
|
||
<td class="c-yes">✓ Editable markdown files</td>
|
||
</tr>
|
||
<tr class="hl">
|
||
<td>Scheduled tasks</td>
|
||
<td class="c-yes">✓ Since January 2025</td>
|
||
<td class="c-yes">✓ Self-hosted, always-on</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Agent Mode</td>
|
||
<td class="c-yes">✓ Since July 17 2025</td>
|
||
<td class="c-yes">✓ Always on</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Computer use (CUA)</td>
|
||
<td class="c-yes">✓ Visual browser agent</td>
|
||
<td class="c-partial">Via shell tools</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Shell / code execution</td>
|
||
<td class="c-partial">Sandboxed</td>
|
||
<td class="c-yes">✓ Full shell, your server</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Service connectors</td>
|
||
<td class="c-yes">✓ 50+ (Gmail, GitHub, Drive…)</td>
|
||
<td class="c-partial">Via agent tool use</td>
|
||
</tr>
|
||
<tr class="hl">
|
||
<td>Self-hosted</td>
|
||
<td class="c-no">No (OpenAI infra)</td>
|
||
<td class="c-yes">✓ Yes</td>
|
||
</tr>
|
||
<tr class="hl">
|
||
<td>Data sovereignty</td>
|
||
<td class="c-no">No (OpenAI servers)</td>
|
||
<td class="c-yes">✓ Your hardware</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Provider-agnostic</td>
|
||
<td class="c-no">No (OpenAI models only)</td>
|
||
<td class="c-yes">✓ Yes, any model</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Open source</td>
|
||
<td class="c-no">No</td>
|
||
<td class="c-yes">✓ MIT license</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Mobile access</td>
|
||
<td class="c-yes">✓ ChatGPT app</td>
|
||
<td class="c-yes">✓ Messaging apps</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Projects</td>
|
||
<td class="c-yes">✓ Shared context across chats</td>
|
||
<td class="c-no">N/A</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Always-on</td>
|
||
<td class="c-yes">✓ Managed cloud</td>
|
||
<td class="c-yes">✓ Permanent server process</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- WHO SECTION -->
|
||
<section class="section section-alt">
|
||
<div class="container">
|
||
<h2 class="section-title">Who should use which</h2>
|
||
<div class="who-grid">
|
||
<div class="who-card choose-hermes">
|
||
<div class="who-card-label">Choose Hermes if you…</div>
|
||
<ul>
|
||
<li><strong>Data sovereignty</strong> — proprietary code, regulated data, or on-premises requirements</li>
|
||
<li><strong>Full shell access</strong> — tasks that must touch private servers, local DBs, or internal APIs</li>
|
||
<li><strong>Self-hosted scheduling</strong> — any interval, any trigger, no cloud dependency</li>
|
||
<li><strong>Provider flexibility</strong> — swap OpenAI, Anthropic, Google, DeepSeek, or local models freely</li>
|
||
<li><strong>Permanent non-expiring memory</strong> — persists across model switches and plan changes</li>
|
||
<li><strong>Open source</strong> — MIT license, full auditability and extensibility</li>
|
||
<li><strong>No subscription for core features</strong> — not gated behind Pro or Plus tiers</li>
|
||
</ul>
|
||
</div>
|
||
<div class="who-card choose-other">
|
||
<div class="who-card-label">Choose ChatGPT if you…</div>
|
||
<ul>
|
||
<li><strong>Best polished AI UX</strong> — zero server setup, best-in-class interface</li>
|
||
<li><strong>CUA for visual browser tasks</strong> — form filling, GUI navigation, dynamic scraping</li>
|
||
<li><strong>50+ managed connectors</strong> — Gmail, GitHub, Drive, Notion maintained by OpenAI</li>
|
||
<li><strong>Pulse briefings</strong> — daily research summaries on Pro plan</li>
|
||
<li><strong>Projects</strong> — shared persistent context and organized conversation history</li>
|
||
<li><strong>OpenAI model priority</strong> — first access to GPT-5.4 and future model releases</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Compare Nav Pills -->
|
||
<div class="compare-nav">
|
||
<div class="compare-nav-label">Compare Hermes vs.</div>
|
||
<a href="openclaw.html" class="cpill">vs. OpenClaw</a>
|
||
<a href="claude-code.html" class="cpill">vs. Claude Code</a>
|
||
<a href="codex.html" class="cpill">vs. Codex</a>
|
||
<a href="opencode.html" class="cpill">vs. OpenCode</a>
|
||
<a href="cursor.html" class="cpill">vs. Cursor</a>
|
||
<a href="copilot.html" class="cpill">vs. Copilot</a>
|
||
<a href="claude-ai.html" class="cpill">vs. Claude.ai</a>
|
||
<a href="chatgpt.html" class="cpill active">vs. ChatGPT</a>
|
||
<a href="perplexity-computer.html" class="cpill">vs. Perplexity Computer</a>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- CTA STRIP -->
|
||
<div class="cta-strip">
|
||
<div class="container">
|
||
<h2>Ready to run your own agent?</h2>
|
||
<p>Hermes is open source, MIT licensed, and runs on hardware you own.</p>
|
||
<div class="cta-btns">
|
||
<a href="https://hermes-agent.nousresearch.com/docs/getting-started/installation" class="btn-primary" target="_blank" rel="noopener">Get started →</a>
|
||
<a href="https://github.com/nousresearch/hermes" class="btn-secondary" target="_blank" rel="noopener">View on GitHub</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</main>
|
||
<script>
|
||
const html = document.documentElement;
|
||
const toggle = document.getElementById('theme-toggle');
|
||
function setTheme(t) {
|
||
html.setAttribute('data-theme', t);
|
||
localStorage.setItem('theme', t);
|
||
toggle.textContent = t === 'light' ? '🌙' : '☀️';
|
||
}
|
||
const saved = localStorage.getItem('theme');
|
||
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
||
if (saved) setTheme(saved);
|
||
else if (!prefersDark) setTheme('light');
|
||
else setTheme('dark');
|
||
toggle.addEventListener('click', () => setTheme(html.getAttribute('data-theme') === 'dark' ? 'light' : 'dark'));
|
||
// Hamburger
|
||
var cHam = document.getElementById('compare-hamburger');
|
||
var cMenu = document.getElementById('compare-mobile-menu');
|
||
if (cHam && cMenu) {
|
||
cHam.addEventListener('click', function() {
|
||
var open = cMenu.classList.toggle('open');
|
||
cHam.classList.toggle('open', open);
|
||
cHam.setAttribute('aria-expanded', open);
|
||
});
|
||
document.addEventListener('click', function(e) {
|
||
if (!cHam.contains(e.target) && !cMenu.contains(e.target)) {
|
||
cMenu.classList.remove('open');
|
||
cHam.classList.remove('open');
|
||
cHam.setAttribute('aria-expanded', 'false');
|
||
}
|
||
});
|
||
}
|
||
|
||
</script>
|
||
</body>
|
||
</html> |