• Stars
    star
    535
  • Rank 82,359 (Top 2 %)
  • Language
    JavaScript
  • License
    GNU General Publi...
  • Created over 5 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Chess analysis GUI for UCI engines, with extra features for Leela (Lc0) in particular.

Nibbler

"By far the best ICCF analysis tool for Leela." — jhorthos

Nibbler is a real-time analysis GUI for Leela Chess Zero (Lc0), which runs Leela in the background and constantly displays opinions about the current position. You can also compel the engine to evaluate one or more specific moves. Nibbler is loosely inspired by Lizzie and Sabaki.

These days, Nibbler more-or-less works with traditional engines like Stockfish, too.

For prebuilt binary releases, see the Releases section. For help, the Discord may be your best bet, or open an issue here.

Screenshot

Features

  • Display Leela's top choices graphically.
  • Winrate graph.
  • Optionally shows Leela statistics like N, P, Q, S, U, V, and WDL for each move.
  • UCI searchmoves functionality.
  • Automatic full-game analysis.
  • Play against Leela from any position.
  • Leela self-play from any position.
  • PGN loading via menu, clipboard, or drag-and-drop.
  • Supports PGN variations of arbitrary depth.
  • FEN loading.
  • Chess 960.

Installation - Windows / Linux

Some Windows and Linux standalone releases are uploaded to the Releases section from time to time.

Alternatively, it is possible to run Nibbler from source. This requires Electron, but has no other dependencies. If you have Electron installed (e.g. npm install -g electron) you can likely enter the /src directory, then do electron . to run it. Nibbler should be compatible with at least version 5 and above.

You could also build a standalone app. See comments inside the Python script builder.py for info.

Linux install script

Linux users can make use of the following one-liner to install the latest version of Nibbler:

curl -L https://raw.githubusercontent.com/rooklift/nibbler/master/files/scripts/install.sh | bash

Installation - Mac

Mac builds have been made by twoplan and Jac-Zac - the latter is probably more up-to-date.

Advanced engine options

Most people won't need them, but all of Leela's engine options can be set in two ways:

  • Leela automatically loads options from a file called lc0.config at startup - see here.
  • Nibbler will send UCI options specified in Nibbler's own engines.json file (which you can find via the Dev menu).

Hints and tips

An option to enable the UCI searchmoves feature is available in the Analysis menu. Once enabled, one or more moves can be specified as moves to focus on; Leela will ignore other moves. This is useful when you think Leela isn't giving a certain move enough attention.

Leela forgets much of the evaluation if the position changes. To mitigate this, an option in the Analysis menu allows you to hover over a PV (on the right) and see it play out on the board, without changing the position we're actually analysing. You might prefer to halt Leela while doing this, so that the PVs don't change while you're looking at them.

Leela running out of RAM can be a problem if searches go on too long. You might like to set a reasonable node limit (in the Engine menu), perhaps 10 million or so.

Thanks

Thanks to everyone in Discord and GitHub who's offered advice and suggestions; and thanks to all Lc0 devs and GPU-hours contributors!

The pieces are from Lichess.

Icon design by ciriousjoker based on this.

More Repositories

1

ogatak

KataGo analysis GUI and SGF editor
JavaScript
79
star
2

sgf_to_gif

SGF file --> GIF
Go
46
star
3

fluorine

Replay viewer for Halite 3, in JS (Electron)
JavaScript
46
star
4

chlorine

Replay viewer for Halite 2, in JS (Electron)
HTML
36
star
5

sgf

Library for SGF manipulation in Golang
Go
12
star
6

gofish

Go / Baduk library with SGF / GIB / NGF / UGF support, game editor, and GTP relay in Tkinter
Python
10
star
7

disorderBook

A Stockfighter server in Python
Python
10
star
8

halite3_reload

Halite 3 reloader
Python
8
star
9

optics

Third party replay viewer for Lux AI challenge 2021
JavaScript
8
star
10

xyz2sgf

[Python 3] GIB, NGF, and UGF/UGI converter to SGF for the game of Go / Baduk / Weiqi
Python
7
star
11

disorderBook_Prime

A Stockfighter server in C and Go
C
6
star
12

crazystone_analysis_to_sgf

Convert a CrazyStone XPS / OXPS analysis file to SGF
Python
6
star
13

sabaki_subdued_theme_40

CSS
6
star
14

iodine

Realtime viewer for Halite 3 games
JavaScript
5
star
15

halite2_rush_theory

Halite 2 Theory of Rushing
5
star
16

dubnium

Alternate Halite 3 engine
Go
4
star
17

leela_zero_analysis

SGF --> Leela Zero analysis (simple)
Python
3
star
18

tkintergo

Use Tkinter as a game engine for Golang this is the worst idea ever
Go
3
star
19

halite3_benchmarks

Python
3
star
20

gohalite2

Bot for the Halite 2 competition in Golang
Go
3
star
21

stockfighter-graph-py

Realtime grapher for Stockfighter venue bid/ask spread
Python
3
star
22

shin-kaya

Simple Go Database in Electron
JavaScript
2
star
23

lc0_lichess

Simple Lc0 runner for Lichess API
Python
2
star
24

chalite

C starter package for the Halite programming challenge
C
2
star
25

minimal_goban

Minimal goban JS code
JavaScript
2
star
26

halite_reload

Unofficial Halite Engine (Environment)
Go
2
star
27

vis

Crude offline visualiser for Halite
Python
2
star
28

gtp

Go Text Protocol helper library for engines in Golang
Go
2
star
29

LeelaStockZeroFish

LeelaStockZeroFish
Python
2
star
30

twogtp

Match runner for Go Text Protocol (GTP) engines
Go
2
star
31

chessboardjs

Chess960 data structure with methods
JavaScript
1
star
32

chesscrime

JavaScript
1
star
33

golux2

Go
1
star
34

kata-analyze

Python
1
star
35

worldsim

Experimental tile-based game/world simulation engine
Go
1
star
36

lc0_policy_grapher

Python
1
star
37

lc0_mitm

JavaScript
1
star
38

gofighter_examples

Stockfighter client programs using my gofighter library
Go
1
star
39

electron_base_3

JavaScript
1
star
40

gofighter

In which I learn Go by making a Stockfighter client
Go
1
star
41

electron-sqlite-experiments

Searching for a reproduction of a crash
JavaScript
1
star
42

sabaki_subdued_theme

Subdued theme for Sabaki SGF editor
CSS
1
star
43

kikashi

Kikashi is a Go / Baduk / Weiqi library for Golang. In particular, it deals with SGF.
Go
1
star
44

mt19937_32

mt19937 - Mersenne Twister pseudo-RNG, 32 bit version
Go
1
star
45

gotron

Use Electron (NodeJS) as a graphical frontend for Golang
JavaScript
1
star
46

scraps

Minor or useless bits of code
Go
1
star