lichess.org
Donate

Unlimited, stronger game analysis on lichess.org

You would not be restricted to 1 million nodes, 40 games a day, or 200 per week if evaluation could use the Stockfish in your browser.

So I added a game evaluation feature that uses your device's CPU in the hopes that Lichess will adopt it. I've put it up on a public test server in case any user or Lichess volunteer wants to check it out.

Please:

  • visit https://gamblej.org
  • click "My games" image.png
  • choose a game and go to analysis
  • click "Device local analysis" (instead of "Request server analysis")

image.png

Once an evaluation completes, you can click PUBLISH to make it public if it's stronger than what's on the server.

image.png

You can return to the analysis dialog at any time via hamburger menu -> "Analysis".

local-analysis.webp

Use this feedback forum thread to tell Lichess what you think, even if it's just a thumbs up (or down).

You would not be restricted to 1 million nodes, 40 games a day, or 200 per week if evaluation could use the Stockfish in your browser. So I added a game evaluation feature that uses your device's CPU in the hopes that Lichess will adopt it. I've put it up on a public test server in case any user or Lichess volunteer wants to check it out. Please: - visit https://gamblej.org - click "My games" ![image.png](https://image.lichess1.org/display?fmt=png&h=0&op=resize&path=QuSqbYf369aO.png&w=247&sig=e3175142bbf45c095275c368cf299f2485f2696e) - choose a game and go to analysis - click "Device local analysis" (instead of "Request server analysis") ![image.png](https://image.lichess1.org/display?fmt=png&h=0&op=resize&path=UPb4IA7Gepv-.png&w=266&sig=32f2dd541b457a886683fdefe2593f0e7da847f5) Once an evaluation completes, you can click PUBLISH to make it public if it's stronger than what's on the server. ![image.png](https://image.lichess1.org/display?fmt=png&h=0&op=resize&path=_qW7AGGRGKay.png&w=324&sig=0cb843ba17f2b88a788a58ab608ad3cbddb24042) You can return to the analysis dialog at any time via `hamburger menu` -> "Analysis". ![local-analysis.webp](https://image.lichess1.org/display?fmt=webp&h=0&op=resize&path=EevDwxUAiqqz.webp&w=168&sig=63e21f828ad0d530f04d1cb5a0f9a3a8fc4c7dcf) Use this feedback forum thread to tell Lichess what you think, even if it's just a thumbs up (or down).

I think that's a great addition. People have been asking me for something like this for years, but I had no server support to store the values.

Only make sure you version the analysis data somehow. Right now there is no indication which engine version and on which depth/node count the cloud analysis eval was generated, so sometimes you see drastic changes in eval between moves because one is computed with SF14 and one with SF18.

I think that's a great addition. People have been asking me for something like this for years, but I had no server support to store the values. Only make sure you version the analysis data somehow. Right now there is no indication which engine version and on which depth/node count the cloud analysis eval was generated, so sometimes you see drastic changes in eval between moves because one is computed with SF14 and one with SF18.

@TotalNoob69 said ^

Only make sure you version the analysis data somehow. Right now there is no indication which engine version and on which depth/node count the cloud analysis eval was generated,

You can actually see the node count of a cloud, server, or local eval by hovering it:

image.png

That behavior is live on lichess (desktop only).

@TotalNoob69 said [^](/forum/redirect/post/7oIB2MAB) > Only make sure you version the analysis data somehow. Right now there is no indication which engine version and on which depth/node count the cloud analysis eval was generated, You can actually see the node count of a cloud, server, or local eval by hovering it: ![image.png](https://image.lichess1.org/display?fmt=png&h=0&op=resize&path=sDihPXyZ0kzo.png&w=219&sig=b66a83b0c26be4f1dd2d68e913082211726f6e23) That behavior is live on lichess (desktop only).

Mullvad Browser 15.0.19 (based on Mozilla Firefox 140.13.0esr), when I click on "Device local analysis":

https://gamblej.org/JGkDv1fh/black - {"TypeError":"can't access property \"id\", this.ctrl.ceval.engines.supporting(...)[0] is undefined","stack":"getMode@https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1:9531\nselectPreset@https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1:8297\nA@https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1:6378\nM@https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1:739\nQ/<@https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1:10808\npromise callbackQ@https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1:10798\nC@https://assets.gamblej.org/assets/compiled/lib.UOWKMFH3.js:1:1787\nasyncnr/<@https://assets.gamblej.org/assets/compiled/lib.H3EFLPSI.js:4:4132\n"} lib.KSBI3V25.js:1:674

Uncaught (in promise) TypeError: can't access property "id", this.ctrl.ceval.engines.supporting(...)[0] is undefined
getMode https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1
selectPreset https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1
A https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1
M https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1
Q https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1
promise callback*Q https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1
C https://assets.gamblej.org/assets/compiled/lib.UOWKMFH3.js:1
nr https://assets.gamblej.org/assets/compiled/lib.H3EFLPSI.js:4
analyse.local.HZ6NC4N5.js:1:9531

Mullvad Browser 15.0.19 (based on Mozilla Firefox 140.13.0esr), when I click on "Device local analysis": > https://gamblej.org/JGkDv1fh/black - {"TypeError":"can't access property \"id\", this.ctrl.ceval.engines.supporting(...)[0] is undefined","stack":"getMode@https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1:9531\nselectPreset@https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1:8297\nA@https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1:6378\nM@https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1:739\nQ/<@https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1:10808\npromise callback*Q@https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1:10798\nC@https://assets.gamblej.org/assets/compiled/lib.UOWKMFH3.js:1:1787\nasync*nr/<@https://assets.gamblej.org/assets/compiled/lib.H3EFLPSI.js:4:4132\n"} lib.KSBI3V25.js:1:674 > > Uncaught (in promise) TypeError: can't access property "id", this.ctrl.ceval.engines.supporting(...)[0] is undefined getMode https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1 selectPreset https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1 A https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1 M https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1 Q https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1 promise callback*Q https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1 C https://assets.gamblej.org/assets/compiled/lib.UOWKMFH3.js:1 nr https://assets.gamblej.org/assets/compiled/lib.H3EFLPSI.js:4 analyse.local.HZ6NC4N5.js:1:9531

This sounds like a great feature!

This sounds like a great feature!

Yo, this sounds amazing! I love the "request computer analysis" feature with server side analysis and use it very frequently, but having the option to go deeper in the analysis using your own resources sounds lovely! <3

Yo, this sounds amazing! I love the "request computer analysis" feature with server side analysis and use it very frequently, but having the option to go deeper in the analysis using your own resources sounds lovely! <3

@Egil7 said ^

Mullvad Browser 15.0.19 (based on Mozilla Firefox 140.13.0esr), when I click on "Device local analysis":

https://gamblej.org/JGkDv1fh/black - {"TypeError":"can't access property \"id\", this.ctrl.ceval.engines.supporting(...)[0] is undefined","stack":"getMode@https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1:9531\nselectPreset@https://assets.gamblej.org/assets/compiled/anal...

Sounds like your browser doesn't support the latest Stockfish wasms. But I imagine the exception happens before you ever get a chance to click the Custom tab? That sound about right? I'll fix it soon enough and let you know.

@Egil7 said [^](/forum/redirect/post/u7UQ0xT8) > Mullvad Browser 15.0.19 (based on Mozilla Firefox 140.13.0esr), when I click on "Device local analysis": > > > https://gamblej.org/JGkDv1fh/black - {"TypeError":"can't access property \"id\", this.ctrl.ceval.engines.supporting(...)[0] is undefined","stack":"getMode@https://assets.gamblej.org/assets/compiled/analyse.local.HZ6NC4N5.js:1:9531\nselectPreset@https://assets.gamblej.org/assets/compiled/anal... Sounds like your browser doesn't support the latest Stockfish wasms. But I imagine the exception happens before you ever get a chance to click the Custom tab? That sound about right? I'll fix it soon enough and let you know.

Sounds interesting. Is there any way that bad faith actors could use this 'publish' feature to break,dilute or corrupt the server stored analysis?

Sounds interesting. Is there any way that bad faith actors could use this 'publish' feature to break,dilute or corrupt the server stored analysis?