fix: full QA pass — section structure, stale models, Perplexity table row

index.html:
- CRITICAL layout bug: compare-more pills div was inside #why section
  (an orphaned block from a previous failed insertion attempt), causing
  the #why section to be 5705px tall and the pill bar to appear right
  after the Why section header instead of after the Compare section.
  Fixed by removing the stray block and placing compare-more correctly
  inside #compare section, after the head-to-head cards.
- Added Perplexity Computer row to the main comparison table (was missing;
  it had a card and pills but no row in the overview table).

Model reference updates:
- chatgpt.html: GPT-4o → GPT-5.4, o3 → o3-pro (two instances each)
- claude-ai.html: GPT-4 → GPT-5.4 in provider-flexibility bullet
- claude-code.html: 'GPT-4o for one thing' → 'GPT-5.4 for one thing,
  Claude Sonnet 4.6 for another' in provider-agnostic routing example
- copilot.html: 'Claude, GPT-4o, Gemini' → 'Claude Sonnet 4.6, GPT-5.4,
  Gemini' in model roster description
- cursor.html: 'valued at $29.3B' → 'valued at over $29B' (durable phrasing)
This commit is contained in:
Nathan Esquenazi
2026-04-12 00:08:17 +00:00
parent 0205ef810a
commit 737cbb2739
6 changed files with 46 additions and 31 deletions
+2 -2
View File
@@ -278,7 +278,7 @@
<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 GPT-4o and o3 can affect memory state.</p>
<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 GPT-5.4 and o3-pro 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>
@@ -409,7 +409,7 @@
<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-4o, o3, and future model releases</li>
<li><strong>OpenAI model priority</strong> — first access to GPT-5.4, o3-pro, and future model releases</li>
</ul>
</div>
</div>
+1 -1
View File
@@ -393,7 +393,7 @@
<li><strong>Data sovereignty</strong> — everything stays on your hardware</li>
<li><strong>Any-interval scheduling</strong> — tasks every second, minute, or hour on your server</li>
<li><strong>Full shell access</strong> — reach local DBs, private repos, internal APIs</li>
<li><strong>Provider flexibility</strong> — swap Claude, GPT-4, Mistral, or local models freely</li>
<li><strong>Provider flexibility</strong> — swap Claude, GPT-5.4, Mistral, or local models freely</li>
<li><strong>Inspectable memory</strong> — read and edit plain markdown files</li>
<li><strong>Open source</strong> — MIT license, audit and extend the code</li>
<li><strong>No subscription tier constraints</strong> — features not gated behind plan levels</li>
+1 -1
View File
@@ -288,7 +288,7 @@
<h3>The provider lock-in question</h3>
<p>Claude Code supports <strong>Anthropic's API, AWS Bedrock, Google Vertex AI, and Anthropic Foundry</strong>. These are meaningful options for enterprise deployment, but they share one constraint: every inference uses a Claude model. If Claude pricing changes, if a competitor releases a model significantly better for a specific task, or if you simply want to use a local open-source model for cost or privacy reasons, you cannot do that within Claude Code. The tool is by design Claude-native.</p>
<p>Hermes is provider-agnostic. You configure which provider and model to use, and can change it at any time — or route different tasks to different providers. GPT-4o for one thing, Claude Sonnet for another, a local Ollama model for private data. This flexibility is especially valuable when the model landscape is moving as fast as it currently is: you're not locked into today's best option when something better ships.</p>
<p>Hermes is provider-agnostic. You configure which provider and model to use, and can change it at any time — or route different tasks to different providers. GPT-5.4 for one thing, Claude Sonnet 4.6 for another, a local Ollama model for private data. This flexibility is especially valuable when the model landscape is moving as fast as it currently is: you're not locked into today's best option when something better ships.</p>
<p>For most users evaluating these two tools for coding work, provider flexibility is a secondary concern — Claude is genuinely excellent at coding tasks, and Claude Code's tight integration is an advantage. But for users with strong privacy requirements, cost sensitivity, or a preference to hedge model risk, Hermes's open provider model is a concrete benefit.</p>
<h3>Using them together</h3>
+1 -1
View File
@@ -279,7 +279,7 @@
<p>Copilot's Coding Agent is <strong>issue-driven</strong>, not time-driven. You can't tell Copilot to run a task every morning at 6am, generate a weekly report, or monitor a metric and trigger an action when a threshold is crossed. Hermes has full <strong>cron-based scheduling</strong>: jobs run on whatever time-based schedule you define, with no manual trigger required. For monitoring, reporting, data pipelines, and any automation that needs to run on a clock, Hermes covers ground that Copilot cannot.</p>
<h3>Provider lock-in and cost</h3>
<p>Copilot routes all requests through <strong>GitHub's model infrastructure</strong> — you can choose between Claude, GPT-4o, Gemini, and others, but only through GitHub's proxied endpoints. You cannot point Copilot at a local Ollama instance, a custom OpenAI-compatible endpoint, or a regional cloud API. Hermes is <strong>fully provider-agnostic</strong>: local models, hosted APIs, any OpenAI-compatible endpoint, or provider-specific SDKs all work. For teams with cost constraints, data residency requirements, or a preference for specific model providers, this flexibility matters.</p>
<p>Copilot routes all requests through <strong>GitHub's model infrastructure</strong> — you can choose between Claude Sonnet 4.6, GPT-5.4, Gemini, and others, but only through GitHub's proxied endpoints. You cannot point Copilot at a local Ollama instance, a custom OpenAI-compatible endpoint, or a regional cloud API. Hermes is <strong>fully provider-agnostic</strong>: local models, hosted APIs, any OpenAI-compatible endpoint, or provider-specific SDKs all work. For teams with cost constraints, data residency requirements, or a preference for specific model providers, this flexibility matters.</p>
</div>
</div>
</div>
+1 -1
View File
@@ -267,7 +267,7 @@
<div class="narrative">
<h3>Cursor in 2026 is not Cursor in 2024</h3>
<p>Cursor has moved fast. <strong>Memories</strong> launched in June 2025, giving per-project context persistence. <strong>Automations</strong> launched in March 2026, enabling scheduled cloud-executed agent tasks. <strong>Cursor v3.0</strong> (April 2026) repositioned it as agent-first with a 30+ plugin marketplace. The company closed at a <strong>$29.3B valuation</strong> with $2B ARR, and the Supermaven acquisition brought one of the fastest autocomplete engines in the industry. This is a serious, well-funded product moving quickly.</p>
<p>Cursor has moved fast. <strong>Memories</strong> launched in June 2025, giving per-project context persistence. <strong>Automations</strong> launched in March 2026, enabling scheduled cloud-executed agent tasks. <strong>Cursor v3.0</strong> (April 2026) repositioned it as agent-first with a 30+ plugin marketplace. The company is <strong>valued at over $29B</strong> with $2B ARR, and the Supermaven acquisition brought one of the fastest autocomplete engines in the industry. This is a serious, well-funded product moving quickly.</p>
<h3>What Cursor is really for</h3>
<p>Cursor's strongest features are fundamentally IDE features: <strong>autocomplete as you type</strong> with Supermaven-powered latency, <strong>inline diffs</strong> that let you accept or reject changes line-by-line, and <strong>refactoring with full file context</strong> visible in the editor. No terminal-based agent replicates the inline diff experience. If you spend most of your coding time in an editor and want AI that integrates deeply into that workflow, Cursor is the category leader.</p>
+40 -25
View File
@@ -1300,6 +1300,8 @@
</div>
</div>
</div>
</div>
</div>
</section>
@@ -1609,20 +1611,8 @@ docker run -d \
</div>
<div class="compare-more">
<p class="compare-more-label">More comparisons</p>
<div class="compare-more-links">
<a href="compare/openclaw.html" class="compare-pill">vs. OpenClaw</a>
<a href="compare/claude-code.html" class="compare-pill">vs. Claude Code</a>
<a href="compare/codex.html" class="compare-pill">vs. Codex CLI</a>
<a href="compare/opencode.html" class="compare-pill">vs. OpenCode</a>
<a href="compare/cursor.html" class="compare-pill">vs. Cursor</a>
<a href="compare/copilot.html" class="compare-pill">vs. GitHub Copilot</a>
<a href="compare/claude-ai.html" class="compare-pill">vs. Claude.ai</a>
<a href="compare/chatgpt.html" class="compare-pill">vs. ChatGPT</a>
<a href="compare/perplexity-computer.html" class="compare-pill">vs. Perplexity Computer</a>
</div>
</div>
</section>
<!-- ===== SECTION 7: COMPARISON ===== -->
<section id="compare" class="section">
@@ -1729,17 +1719,27 @@ docker run -d \
<td><span class="no">No</span></td>
<td><span class="no">No</span></td>
</tr>
<tr>
<td>ChatGPT</td>
<td><span class="check">&#10003;</span></td>
<td><span class="check">&#10003;</span></td>
<td><span class="check">&#10003; 50+ connectors</span></td>
<td><span class="no">No</span></td>
<td><span class="no">No</span></td>
<td><span class="no">No</span></td>
<td><span class="no">No</span></td>
</tr>
</tbody>
<tr>
<td>ChatGPT</td>
<td><span class="check">&#10003;</span></td>
<td><span class="check">&#10003;</span></td>
<td><span class="check">&#10003; 50+ connectors</span></td>
<td><span class="no">No</span></td>
<td><span class="no">No</span></td>
<td><span class="no">No</span></td>
<td><span class="no">No</span></td>
</tr>
<tr>
<td>Perplexity Computer</td>
<td><span class="partial">Partial</span></td>
<td><span class="partial">Daily/weekly</span></td>
<td><span class="partial">Slack + Teams</span></td>
<td><span class="no">No</span></td>
<td><span class="no">No</span></td>
<td><span class="no">No</span></td>
<td><span class="no">No</span></td>
</tr>
</tbody>
</table>
</div>
<p style="font-size: 0.78rem; color: var(--text-muted); margin-top: -32px; margin-bottom: 48px; line-height: 1.6;">
@@ -1783,6 +1783,21 @@ docker run -d \
</div>
</div>
<div class="compare-more">
<p class="compare-more-label">More comparisons</p>
<div class="compare-more-links">
<a href="compare/openclaw.html" class="compare-pill">vs. OpenClaw</a>
<a href="compare/claude-code.html" class="compare-pill">vs. Claude Code</a>
<a href="compare/codex.html" class="compare-pill">vs. Codex CLI</a>
<a href="compare/opencode.html" class="compare-pill">vs. OpenCode</a>
<a href="compare/cursor.html" class="compare-pill">vs. Cursor</a>
<a href="compare/copilot.html" class="compare-pill">vs. GitHub Copilot</a>
<a href="compare/claude-ai.html" class="compare-pill">vs. Claude.ai</a>
<a href="compare/chatgpt.html" class="compare-pill">vs. ChatGPT</a>
<a href="compare/perplexity-computer.html" class="compare-pill">vs. Perplexity Computer</a>
</div>
</div>
</div>
</section>