跳到主要内容

hermes-codex-resets

❖ Communityv0.1.0

Know the moment OpenAI resets your Codex usage limits. A status-bar chip counts the time since the last reset; when a new one lands, a small card rises out of it (chip-only while you type), with a history page of every reset.

Open in Hermes Desktop
hermes plugins install hermes-codex-resets

Screenshots

README

From the reviewed commit 008f4fe ↗; it updates when the author re-pins.

Codex Resets for Hermes

A Hermes Desktop plugin that tells you the moment OpenAI resets Codex usage limits. A small chip in the status bar counts the time since the last reset. When a new one is announced, a card rises out of the chip, floods yellow, and sinks back. The rest of the time it stays out of your way.

Release CI Hermes desktop plugin License: MIT

Codex Resets

Data from Codex Resets, which tracks reset announcements from @thsottiaux. This plugin is not affiliated with OpenAI or Nous Research.

What you get

Status card Status card. Click the chip. Time since the last reset, whether it was regular or banked, the sentence from the announcement that actually mentions the reset, and when the next one is expected at the current average. History → opens the full list.
Reset A reset lands. The card rises by itself, floods yellow, and sinks back into the chip after about five seconds. Hover or click to keep it open. The chip stays yellow for 30 minutes.
Banked reset Banked resets flood cyan and say what they mean: one reset stored, to spend when you hit a limit.
Watch Watch. When codex-resets.com's forecast says a reset is likely, or one has been scheduled, the chip says so. The forecast is AI-classified, not an OpenAI commitment, and the card says that too.

While you're typing, only the chip reacts. The card waits until you pause.

Typing

History lists every reset, how long after the previous one it came, and links each row to the original post.

History

How it behaves

When What you see
Nothing happening CODEX · 1D 01H in the status bar. Nothing moves.
You click the chip The status card, anchored to the chip. Click away or press Esc to close.
A watch or a scheduled reset The chip reads WATCH · 62% CHANCE. One in-app toast per hint.
Past the average interval The chip adds · +2D.
A reset lands The card rises, floods, and sinks back.
A reset lands while you type The chip sweeps yellow. The card rises once you've stopped typing for 8 seconds.
A reset lands while Hermes is in the background A system notification, then the card plays once when you come back, marked "While you were away".

It never announces a reset from before it was installed, and never replays an older one if the source corrects an entry.

Install

This is a desktop plugin. Install it on the machine that runs the Hermes desktop app, not on a remote gateway.

One click (opens Hermes Desktop and asks before installing anything):

hermes://plugin/install?repo=sxuff/hermes-codex-resets

From the CLI:

hermes plugins install sxuff/hermes-codex-resets

Then turn on Codex Resets in Capabilities → Plugins. Desktop plugins install switched off.

By hand: download plugin.js from the latest release (or desktop/plugin.js) and save it as $HERMES_HOME/desktop-plugins/hermes-codex-resets/plugin.js (~/.hermes/... unless you moved HERMES_HOME; the folder name must be hermes-codex-resets). Hermes picks it up within seconds; if not, press Ctrl+K and run Reload desktop plugins.

To see it without waiting for a real reset, press Ctrl+K and run Codex resets: preview reset moment. Click somewhere outside the message box first, or you'll get the typing version.

Requirements

  • Hermes Agent desktop app 0.21 or later. Tested with the desktop app 0.21.3 on Windows.
  • Network access to codex-resets.com.

Try it in a browser

sxuff.github.io/hermes-codex-resets/demo/ runs the real plugin.js against a stand-in for the Hermes window. The status data is live; the window and any reset you land there are simulated. Buttons on the left land a reset, start typing, put the window in the background, or switch the data to a watch, a scheduled reset, or an overdue cycle.

Commands

Command palette Does
Codex resets: show status Opens the status card
Codex resets: open history Opens the history page
Codex resets: check now Refreshes from codex-resets.com
Codex resets: preview reset moment Plays a regular reset with sample data
Codex resets: preview banked reset moment Plays a banked reset with sample data

What it touches

  • Network: GET https://codex-resets.com/api/v1/status every 60 seconds and when the window regains focus; GET /api/v1/resets when you open History; fonts from Google Fonts. Nothing about you or your sessions is sent anywhere.
  • Storage: two values in the plugin's own Hermes storage: when it last saw a reset, and the last hint it toasted.
  • Hermes: desktop UI only. No tools, hooks, gateway calls, Python, or configuration changes.
  • Motion: the dithered wing redraws at about 11 fps while the card is open, at 60 fps only during a reset, and not at all when the window is hidden. With reduced motion on, it draws once and nothing animates.

Development

npm ci
npx playwright install chromium   # once, for captures
npm run check     # parse, import allowlist, and lint checks on desktop/plugin.js
npm run demo      # serves the browser demo at http://127.0.0.1:4321/demo/
npm run capture   # regenerates the screenshots and banner in artifacts/
hermes plugins validate .

The plugin is one plain ES module, written without JSX or a build step, as Hermes loads desktop plugins. It imports only @hermes/plugin-sdk, react and react/jsx-runtime. demo/mock-sdk.js is a small stand-in for the SDK surface the plugin uses; it is not the real SDK. demo/index.html?legacy removes the context helpers that Hermes 0.21 lacks, to check the fallbacks.

License

MIT. Data from Codex Resets, used under its free API terms, which ask for the attribution link the card shows.

hermes-town❖ Community★ 5

Local pixel-art town where every Hermes session is a resident and every tool call walks to a building. Passive lifecycle bridge to a loopback-only server; prompts, arguments, and output never leave the process. Disclosure — version 0.3.0 bundles the Town Node server and a prebuilt browser app inside the plugin directory and adds a hermes town setup/start/status/stop/open command tree. Nothing is downloaded and no npm install runs at any point; node (^20.19 or >=22.12) must already be installed and is launched only by the explicit hermes town start command, bound to 127.0.0.1 only. Runtime state, a 0600 bridge token, a bounded event journal and rotated server logs are written under HERMES_HOME/hermes-town/runtime/. On start the server also reads HERMES_HOME/cron/jobs.json (job id and enabled flag only) to place one resident per enabled scheduled job.

Tools
hermes-workbench❖ Community★ 0

The Hermes desktop app in your browser. `hermes workbench` serves the desktop interface through the Hermes dashboard, for headless servers, VPSes and tablets. Disclosure — community plugin, not a Nous product. On the first `hermes workbench` run and again after each Hermes update it runs `npm install --ignore-scripts` (guided by Hermes's lockfile) and Vite against your Hermes checkout's desktop sources, writing only under ~/.hermes/hermes-workbench and its own plugin dir (the checkout is only read), and starts `hermes dashboard` on loopback when none is running.

Desktop

← Back to the catalog · catalog built Sep 26, 2026