Noobmasterplayer123
ChessAgine V2 Release Notes
Intro
Hey all, I'm back with another set of great updates I have been making to my ChessAgine project. For those who are not sure what my project is about, feel free to read my last few blog posts later on. In this release note, I write about a ton of new updates/patches and bug fixes I have made to the ChessAgine Web app, so lets get started!
Accessibility
To make ChessAgine GUI accessible to many chess players, I have introduced the following to make it easier for chess players to use the application.
Guest Mode:
You can now use all the features like game review, position analysis, and themes analysis and much more in guest mode. You don't need an account, as you only need to sign up to use AgineCloud (read below).
(Reviewing my game I played on Lichess without an account, guest mode is perfect for quick analysis!)
User Driven Background & Chess Pieces:
ChessAgine is now more accessible via user-driven selection of chess pieces, background colour, previously the background was only purple, which didn't suit many people's eyes. The background themes include dark mode, light mode and more colourful background colours!
(ChessAgine background comes in many colours, my favorite one is the neon blue really gives the chessboard a hype)
AgineCloud:
ChessAgine GUI comes with an in-built AI LLM provider. This is a ChessAgine-hosted, cloud-based, community-driven provider that is free to use and configure. To use these models, you would need to select AgineCloud in the settings tab and start using it:
Models include
- AWS Nova lite 2
- Gemini 3 Pro
- Mistral models
- Meta llama models
- Gemini 2.0 flash
etc Aginecloud models run cheap open source models and some big premium models like Gemini 3 Pro; the bigger models run on community donations, so everyone shares the resources. This provider makes it easy for non-technical folks to start using the LLM side of things. To use AgineCloud, you need an account, as the resources are donation-based, but you can use Ollama models as well as insert an API key if you don't want to create an account.
**You** (2025-12-14, 4:33:51 p.m.):
give me analysis on this position
---
**Agine** (2025-12-14, 4:34:31 p.m.):
Hello! I'm ChessAgine. It's great to analyze this position with you. You've reached a fascinating moment in the opening—a complex struggle where White enjoys a significant space advantage, but Black is trying to create counterplay on the queenside.
Let's break down what's happening on the board.
### Position Evaluation
**Advantage:** **Significant advantage for White (+1.46)**
The engine gives White a solid lead here. You have more space, better piece mobility, and a clear plan, while Black's pieces (especially the Knight on e7) are somewhat cramped.
### ️ The Immediate Threat
Black's last move, **...Qb6**, attacks your **b2 pawn**. This is a classic "poisoned pawn" scenario.
* **The Question:** Do you defend it passively, or ignore it for active play?
### Best Moves & Strategy
Here are the top recommendations based on the analysis:
#### 1. The Engine's Choice: **12. Qd2** (Best Move)
This is the most principled response.
* **Why it's strong:** Instead of passively defending b2, you develop your Queen to a strong square.
* **The Idea:** You connect your rooks and prepare **Bh6** to trade off Black's dark-squared bishop (their best defender).
* **What if Black takes b2?** If 12... Qxb2, it's risky for Black. You can play moves like **Nc2** followed by **Reb1**, trapping the Queen or forcing it to retreat while you gain massive tempo and open lines for your Rooks.
#### 2. The Positional Break: **12. b3**
* **The Idea:** This immediately challenges Black's annoying c4 pawn.
* **Why it works:** If Black captures (12... cxb3), you recapture with **axb3**. This opens the **a-file** for your Rook and fixes your pawn structure, leaving Black with fewer targets.
#### 3. The Human Approach: **12. Rb1**
* **Maia Analysis:** My data shows that players rated 1100-1600 often play this move.
* **Verdict:** It's a **solid but passive** move. It solves the problem of the b2 pawn directly, but it doesn't improve your position or create new threats. Grandmasters usually prefer the activity of `Qd2`.
### Coach's Corner: Strategic Insight
You have a **Space Advantage** thanks to your pawn on **e5**. This pawn is a "bone in the throat" for Black, restricting their Knight on f6 (which is currently on e7) and preventing them from freeing their position easily.
**Your Plan:**
1. **Maintain the Center:** Keep that e5 pawn strong.
2. **Kingside Attack:** Because you control the center, you can look to expand on the kingside later (moves like h4 or g4 can be powerful).
3. **Don't be afraid:** In positions like this, activity is usually worth more than a single flank pawn (like b2).
**Recommendation:** I suggest playing **12. Qd2**. It sets you up for a strong middlegame attack!
---
**You** (2025-12-14, 4:34:31 p.m.):
Go check for hallucinations.
---
**Agine** (2025-12-14, 4:35:17 p.m.):
### Evaluation Summary
The previous response is accurate. No corrections required.
AgineChat Upgrades
As you read above, you might see something about hallucination checking, and you probably thought I asked it manually; nope, this is a feature.
Self-Eval Hallucination Check:
LLM hallucination has been a problem since I started this project. Whenever I post about agine, people make fun of how it hallucinates I had enough and decided to implement a self-evaluation architecture. Basically, turning on the self-eval toggle in the agineChat window forces LLM to automatically check its previous response and consider what the user asked for, what it generated and then check on its own work and rewrite its answer. You might wonder what happens if the self-eval check hallucinates, this usually doesn't occur with good models like Gemini pro, as agine is very easily able to catch its own mistakes. Just like how we double-check a move we play, I took inspiration from this and implemented it in the chat. It costs some tokens, but worth it for more accurate results.
(Agine talking to itself to correct itself, like how we rage on ourselves when we make a blunder in a winning position)
Agine Eval Grader Mode:
Just like how Agine can self-evaluate its own generated message from 1 message ago, it can even evaluate the message you send to it as a user. This message has to be a chess evaluation of a position, which Agine checks the engines, Maia2, and other calculations to see how deep you went to analyze the position. This is very useful for players who struggle to think about a position and write it down in words (myself). Agine grader mode, when turned on in chat, forces you to actually think and write down and get a grade out of 100 on how you did.
(I provide why I played Nc2 and ask Agine to grade my analysis, below Agine checks my work and checks its own work self-eval)
**You** (2025-12-14, 5:04:17 p.m.):
in this position, I played Nc2 so I can develop my night and possibly trap the queen if queen takes the b2 pawn
---
**Agine** (2025-12-14, 5:04:54 p.m.):
**FINAL SCORE: 70/100**
### Detailed Breakdown:
**1. Best Move Identification (12/20)**
**Solid Choice:** You identified `Nc2`, which is the 4th best move according to the engine (+1.36). It maintains a strong advantage for White.
**Missed Top Move:** You missed `Bf6` (+1.97), which is significantly stronger. `Bf6` immediately creates attacking chances on the kingside and restricts Black's position, whereas `Nc2` is a slower, maneuvering move.
**2. Candidate Moves Quality (8/15)**
**Relevant Selection:** The move you chose addresses a specific problem in the position (the misplaced knight on the rim).
**Tunnel Vision:** You only discussed one move. In this position, it is critical to consider attacking options like `Bf6` (blocking the f-pawn and eyeing the king) or `h4` (launching a pawn storm) alongside positional improvements.
**3. Analysis Depth & Calculation (15/20)**
**Tactical Accuracy:** Your calculation regarding the trap is correct. If Black plays `...Qxb2`, `Reb1` indeed traps the queen (or forces `...Qxb1` losing material).
**Logical Reasoning:** Your reasoning for developing the knight is sound.
**"Hope Chess":** Your analysis relies heavily on the opponent making a mistake (taking the pawn). A complete analysis would explain the plan if Black *doesn't* take the pawn (e.g., "If they don't take, I will reroute the knight to e3 to control f5").
**4. Position Themes Recognition (18/25)**
**Bad Piece Improvement:** You correctly identified that the Knight on a3 ("night") was poorly placed and needed to be brought back into the game.
**Tactical Awareness:** You successfully spotted the "Poisoned Pawn" theme on b2.
**Kingside Attack:** You missed the primary theme of the position: White has a massive space advantage and should be looking to attack the Black king immediately with moves like `Bf6`, `h4`, and `g5`.
**5. Strategic Understanding (8/10)**
**Maneuvering:** Recognizing that pieces on the rim (Na3) need to be improved is a sign of good strategic maturity.
**Prophylaxis:** `Nc2` indirectly defends against Black's queenside play while preparing to rejoin the center.
**6. Accuracy & Objectivity (9/10)**
**Factual:** Your assessment that the move develops the knight and sets a trap is factually correct.
**Realistic:** You qualified your statement with "possibly," acknowledging that the opponent might not fall for it.
### Overall Assessment:
**Grade**: **Fair (70/100)**
**Key Strengths**:
1. **Positional Awareness**: You correctly identified your worst piece (the knight on a3) and sought to improve it.
2. **Tactical Sharpness**: You accurately calculated a trap involving the b2 pawn, ensuring your move had tactical venom.
**Areas for Improvement**:
1. **Missed Attacking Opportunities**: You focused on improving your own pieces but missed the chance to actively hurt the opponent with `Bf6`. When you have a space advantage, look for attacking moves first.
2. **Planning Beyond Traps**: While setting traps is fun, your analysis should focus on what happens if the opponent plays *correctly*. `Nc2` is good because it improves the knight, not just because it sets a trap.
**Actionable Recommendations**:
1. **Candidate Move Method**: Before settling on a move like `Nc2`, force yourself to look at "Forcing Moves" (Checks, Captures, Threats). `Bf6` creates a threat against the King/position that is hard to ignore.
2. **Evaluate the "Main Line"**: When analyzing, assume your opponent sees your threat. Ask yourself: "If they don't take the pawn, is my move still good?" (In this case, yes, but it's a good habit to check).
3. **Kingside Attack Patterns**: Study positions with a "Space Advantage." When you have more space (like pawns on e5/d4), you often have a green light to launch an attack on the wing.
---
**You** (2025-12-14, 5:04:54 p.m.):
Go check for hallucinations.
---
**Agine** (2025-12-14, 5:05:04 p.m.):
### Evaluation Summary
The previous response is accurate. The analysis correctly identifies `Nc2` as a solid positional move that sets a trap, while rightly pointing out that `Bf6` is the superior move for generating kingside pressure. The tactical verification of the "poisoned pawn" trap (if `...Qxb2`, then `Reb1` traps the queen) is also correct.
### Corrections
None.
### Corrected Response
The previous response is accurate. No corrections required.
Chess Trained LLM Commentary Model Integration:
ChessAgine GUI connects to NAKSTStudio/chess-gemma-commentary, which can be used in Game review mode. To use it you would need to run the model locally via Ollama by running
Ollama pull hf.co/NAKSTStudio/chess-gemma-commentary:f16
expose the the ollama via ngrok, read the ChessAgine docs on how to set it up
A Fine-tuned Gemma 3 270M model for generating chess move commentary, ELO predictions, and move classifications in 14 languages.
Model info: Base Model: Google Gemma 3 270M (270 Million Parameters) Fine-tuning Method: LoRA (Low-Rank Adaptation) - Rank 8, Alpha 16 Training Data: 25,000+ chess positions with expert commentary Training Epochs: 3 Training Framework: Unsloth + Hugging Face Transformers Hardware: Google Colab T4 GPU Model Size: 500MB (full) / 270 mb .task (int 8 dynamic quantized) Languages Supported: 14 (English, Hindi, Spanish, Mandarin Chinese, French, German, Portuguese, Russian, Japanese, Arabic, Korean, Turkish, Indonesian, Bengali).
The model was trained over a medium corpus of chess positions and commentary by AI, which was then manually checked for errors. The model is small but very on point when it comes to commentary. The model is OSS, and I'm proud to make it available for everyone to use.
(Gives short on on-point commentary, quite useful for beginners who just want to read short text on what is happening in position)
Learning Tools
I also added some extra tools that are non-AI, LLM AI-related.
Maia2 Integration
If you don't know what Maia2 is, feel free to read Hollow's blog post about what it does and how helpful it is, I added Maia2 to give Agine a more human touch to its analysis, as Agine does refer to Maia2's human probability predictions, not only that I also developed Maia Move Prediction Graph, a graph that tells you which moves in a game (non book moves) where most probable for given improbable threshold you select. This can be used to find tricky moves and brilliancies in a game, where a tricky move is most probable and either a mistake or blunder, whereas a brilliancy is a very unlikely move to find a great move or top engine move. I want to thank @mattchessic for the idea of the Maia Move Prediction graph, Maia2 researchers and devs for their open-source work.

(Maia2 can be used to see what top top-predicted moves are for the above position for a 1900-rated player, Bd7 is most human move)
( Maia Move Prediction Graph, tells which moves where most probable and which can be considered brilliant or tricky moves)
Guess The Eval Puzzles
You can now guess the eval on Lichess puzzles, but with a twist, you should also guess the numeric value of chess themes like king safety, tactical score, positional score, as well as Stockfish's eval. This is again to force you to think and evaluate a position, even if you get the numbers wrong, you are forcing yourself to think about eval all chess elements which you might miss! For puzzles, I also added the ability to get an ELO rating for Lichess puzzles.

Game Review + Bulk Upload + Eval Graph
Recently, I added bulk upload to the game analysis page. This bulk upload allows you to upload a .pgn file with up to 5000 games in it. Once you upload the game, you can see all the games in the PGN file via the games collection. You can perform a game review on top of it, as well as see Maia2, Stockfish analysis. The game review editor also allows adding comments and downloading the annotated PGN into other chess tools, like Lichess studies.
(I uploaded the World Cup games. I can see all 78 games and do a game review on any of them, and can even see the eval graph.)
ChessAgine MCP
I also made quite a lot of updates to the MCP server.
- Added support for Chessboardmagic Repertoire builder to LLM tools, meaning you can create your repertoire on Chessboardmagic platform and generate a pat and put it in ChessAgine config to give Claude access to your own repertoire, the games, and all your repertoire there. This is super cool feature as you can give Claude your own opening files from chessboardmagic and use agine tools on top of it to perform detailed analysis!!
(Note: this feature is for chessboardmagic subs only, but the repertoire builder is great, so I added support for it regardless, for free usage, Lichess studies support already exists)
- self-eval framework addition, Claude can now do the same as the self-eval check that is present on the website. If Claude messes up, you can ask it to perform a self-eval check.
- ChessDB LLM support, ChessDB devs recently exposed their small LLM to the public. The LLM is great for quick analysis, and ChessAgine MCP brings a tool connection so you can ask for ChessDB's text response and have Claude build on top of it.
- 3D chess piece set support: Like how I added 3d pieces to the site, Claude can also show 3D pieces!! Now you can switch angles and view the board in 2d and 3d
- MCP SDK updates and internal fixes to make it performance-ready
- feat: your LLMs can get access to 12k opening book database, this database contains opening names, moves, variation names and much more, so LLM can comprehend and look up if a position is what opening and what are known moves, saving token size and tools steps to predict what moves to analyze!!
Conclusion
That's about it. I have gone over all the updates regarding the web app and MCP server, and I plan to add more updates and make the overall platform better. I'm mostly adding features the community suggests in the ChessAgine Discord, and fixing bugs. To be honest, I was self-doubting when writing this blog post. With all this AI hate whenever I post about Agine, there is always someone questioning my work and even saying it's "pointless" or "useless", but I work on this platform because it's a passion project. I recently found this "the best the best the best" music video, which I found funny as well as motivational. I think ChessAgine is the best, even if there are 1000 flaws in it.
https://youtu.be/5vRlJrkxsqo?si=Zze-ltxdk-jE9drE
Anyway, I have put the website URL and Discord invite if anyone wants to join and suggest ideas on what I can improve, or try the platform themselves, and hopefully find it useful. Also, my platform is Free Open Source Software (FOSS), just like Lichess.
ChessAgine Platform
Discord Community Invite
ChessAgine • lichess.org
