All plugins

chess-coach

Practice mate in one to four or play Hermes with piece odds on an interactive Desktop chessboard.

oppaiDesktopv0.2.0Updated 1 hour ago

Chess Coach

Play on the board. Learn in chat.

A Hermes Agent plugin with a native Desktop board, instant local practice, and an optional conversational opponent. English is the default; switch to 日本語 in the panel. The language selection is remembered on this device.

日本語ガイド

What you can do

  • Mate practice, 1–4 moves: 14 verified starting positions (7 patterns plus mirrored variants). The plugin checks your move and plays a defending reply locally. An incorrect attempt leaves the position unchanged. Hints point to a piece without revealing its destination.
  • Play Hermes: choose White or Black and equal material, pawn, knight, rook, or queen odds. The handicap removes a piece from Hermes’s side.
  • Click a piece and a highlighted destination. Select any legal promotion piece. Flip the board, undo a turn, retry a puzzle, and resume previous games.
  • Inspect SAN move history and copy PGN from the panel. Ask for a position review when you want a conversational explanation.

When the LLM is used

Puzzle creation, moves, validation, defending replies, hints, takebacks, retries, and PGN display do not call the LLM. Your game move is saved and rendered before Hermes is asked for its reply. A normal game sends one request when the opponent must move; reviews and game hints send a request only when clicked. A failed opponent request can be retried with Ask Hermes to move. There is no automatic repeated prompting.

Install / update

Put this folder at ~/.hermes/plugins/chess-coach, then enable it:

hermes plugins enable chess-coach

Enable Chess Coach in Desktop Capabilities → Plugins. After an update, restart the Hermes gateway and run Reload desktop plugins from the command palette. The Python dependency is chess>=1.10,<2; the Desktop API uses the gateway’s FastAPI runtime. There is no external chess engine or separate frontend build.

Data and compatibility

Games are stored in a profile-scoped SQLite database, plugin-data/chess-coach/coach.sqlite3. Desktop actions and agent tools use the same transactions. Revisions reject stale UI actions; agent move requests include the revision too. Legacy ctx.state games are imported once, retaining IDs, starting positions and move histories. The original legacy file is left intact. games.json remains a compatibility mirror, not the authoritative store.

No telemetry or external network service is used by the chess backend. Conversational actions go through the active Hermes chat and its configured provider. Local practice remains available when that provider is busy or rate limited, provided the Hermes gateway is running.

Tools

The existing eleven tools remain available: chess_new_game, chess_set_position, chess_board, chess_list_games, chess_legal_moves, chess_make_move, chess_undo, chess_review_position, chess_solve_mate, chess_material, and chess_pgn.

chess_solve_mate accepts 1–4 attacker moves. It uses bounded exact search: a search limit returns inconclusive, never a false “no mate.” Arbitrary complex positions can exceed that limit. The bundled catalog is verified by regression tests. Hermes provides conversational coaching; there is no numerical engine evaluation, formal rating, or automatic blunder detection. Structured opening lessons and strategic coaching are future extensions.

Development and checks

python -m unittest discover -s tests -v
node --check desktop/plugin.js
npm install
npm test

Python tests require chess, fastapi, and httpx. JavaScript tests use React, Testing Library and jsdom in a mocked host; they assert English/Japanese behavior, local puzzle operations with zero chat submissions, and one opponent notification for a game move. See MAC-TEST.md for the native smoke checks.

License and artwork

Plugin code: MIT. Existing piece artwork: Cburnett chess pieces by Colin M. L. Burnett, via lichess, offered under CC BY-SA 3.0 / GFDL / BSD. The SVG artwork has been retained; see THIRD-PARTY-NOTICES.md.

README from the reviewed commit c317bc3; it updates when the author re-pins.

Developer Mode

Explore built-in Hermes toolsets and actions.

HermesAgent

Developer?

Create a Hermes extension for Desktop or agent workflows.

Developer Section