Skip to content

Repository files navigation

Dynochess

Шахматный ambient-виджет для macOS: тактические пазлы в зоне чёлки во время естественных пауз в работе. Замена doomscroll-перерывов короткими тактическими переключениями (≤90 сек).

macOS 14+ · Apple Silicon / Intel · GPL-3.0

Why

Перерыв между задачами — это не отдых, если он уходит на Twitter и Reddit. Dynochess подменяет рефлекс открыть хайп-фид на 30-90-секундный шахматный пазл прямо в notch.

  • Не партии, а пазлы. Адаптивный рейтинг (Glicko-2) подбирает посильную сложность.
  • Ambient. Pill в зоне чёлки, expanded-notch на hover/click. Приложение никогда не выходит на передний план.
  • Триггеры: глобальный hotkey · idle ≥3 мин · Pomodoro (25/5) · фокус на Twitter/Reddit/YouTube.
  • Hint engine. Stockfish 17.1 в bundle: «I give up» → лучший ход.
  • Локально. Нет сети, нет аналитики, нет аккаунтов. JSONL лог событий в ~/.dynochess/events.jsonl.

Install

  1. Скачай Dynochess-0.1.0.dmg со страницы Releases.
  2. Открой DMG, перетащи Dynochess.app в Applications.
  3. Первый запуск: правый клик по .appOpen (ad-hoc подпись, не notarized — Gatekeeper попросит подтверждение один раз).
  4. Иконка появится в menu bar. Hotkey по умолчанию — ⌘⇧C.

Если не запускается

Симптомы: «Dynochess.app is damaged», «operation not permitted», или приложение тихо ничего не делает при клике. Это macOS quarantine + отсутствие notarization.

xattr -cr /Applications/Dynochess.app
open /Applications/Dynochess.app

Если xattr отказывает — sudo xattr -cr /Applications/Dynochess.app. После этого иконка появится в menu bar.

Альтернатива: System Settings → Privacy & Security → внизу будет кнопка «Open Anyway» после первой неудачной попытки запуска.

Usage

  • Hotkey ⌘⇧C — открыть пазл прямо сейчас.
  • Idle trigger — pill сам всплывает после ≥3 мин неактивности (настраивается).
  • Pomodoro — стартует через menu bar → Start Pomodoro. Цикл 25/5; пазл предлагается на break.
  • App context — переключение на Twitter/Reddit/YouTube → pill с пазлом (можно отключить).

В expanded-notch:

  • двигай фигуру кликами (from → to);
  • зелёный border — правильный ход; красный — попробуй ещё.
  • Hint — лучший ход подсветкой (Stockfish, ~200ms).
  • Skip — следующий пазл; Close — свернуть в pill.

Stats: menu bar → Stats — кривая рейтинга, accuracy по темам, дневная активность.

Settings

Menu bar → Settings:

  • Триггеры: idle / Pomodoro / app-context — включение и пороги.
  • Hotkey: перепривязать через KeyboardShortcuts.Recorder.
  • Звук: on/off для success/fail.
  • Темы: mate / fork / pin / endgame / ... — фильтр.

Privacy

Всё локально. Никаких внешних запросов.

  • ~/.dynochess/events.jsonl — JSONL лог решений (puzzle id, FEN, your move, correct, time, trigger source). Только локально, никуда не отправляется. Удали файл — стата обнулится.
  • ~/Library/Application Support/Dynochess/ — рейтинг и состояние.
  • Формат открытый — можешь грепать, импортировать в Pandas, удалить руками.

Build from source

brew install create-dmg                  # для DMG
bash scripts/build-puzzle-db.sh          # ~70k Lichess пазлов (~один раз)
bash scripts/fetch-stockfish.sh          # Stockfish 17.1 binary
bash scripts/build-app.sh                # → Dynochess.app
bash scripts/make-dmg.sh                 # → Dynochess-0.1.0.dmg

Требования: macOS 14+, Swift 5.10+ / Xcode 16+.

Credits

License

GPL-3.0 (наследуется от Stockfish, упакованного в bundle). См. LICENSE.

About

Chess tactics ambient widget for macOS — puzzles in the notch during natural pauses

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages