[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f1jradhu30y9j1":3},{"code":4,"message":5,"data":6,"timestamp":56},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":13,"age_days":14,"hn_threads":15,"one_liner":41,"summary_md":42,"topic":43,"github_topics":46,"license":52,"homepage":53,"updated_at":54,"history":55},"official-stockfish\u002FStockfish",6,"A free and strong UCI chess engine","C++",17084,3109,153,4511,[16,22,27,33,37],{"id":17,"title":18,"points":19,"comments":20,"posted_at":21},35894291,"Increase MAX_MOVES to prevent buffer overflow and stack corruption",4,0,"2023-05-10",{"id":23,"title":24,"points":25,"comments":20,"posted_at":26},29028884,"Stockfish 14.1",3,"2021-10-28",{"id":28,"title":29,"points":30,"comments":31,"posted_at":32},24362246,"Chess Stockfish 12 released: 130 elo increase over 11",2,1,"2020-09-03",{"id":34,"title":35,"points":30,"comments":20,"posted_at":36},47701475,"Stockfish removes classical evaluation functions in favor of NNUE only (2023)","2026-04-09",{"id":38,"title":39,"points":31,"comments":20,"posted_at":40},35900053,"Stop bringing meaningless opinions like “software should not crash”","2023-05-11","一个 UCI 国际象棋引擎，为棋类 GUI、分析工具和机器人计算局面与最佳着法。","## 解决什么问题\n\n你需要一个棋力足够强、又能接入现有棋盘或分析工具的“下棋程序”。如果连界面一起做，等于额外维护一个没人要求的 UI。Stockfish 的做法是只做引擎：它通过 stdin\u002Fstdout 说 UCI 协议，任何兼容 UCI 的 GUI 都能驱动它，界面与引擎彻底解耦。\n\n## 有什么不同\n\n传统象棋引擎长期采用 alpha-beta 搜索加手工调校的评估函数。Stockfish 保留 alpha-beta 搜索，但把评估换成 NNUE 神经网络，网络以 `.nnue` 文件形式随发行版提供（二进制版本会内嵌）。这是它与经典评估式引擎最实质的差别，也解释了为什么网络文件属于分发内容而不是可选项。另一个不同点在开发流程：改动要通过 Fishtest 这个分布式测试平台，由志愿者贡献算力、用大量对局做统计验证后才能合入。真正拉开距离的是这个社区测试闭环，而不是某个单独的搜索特性。README 本身是构建与使用说明，不涉及技术细节；想了解引擎如何搜索，应去看 wiki 和 chessprogramming.org，不要指望从 README 里推断。\n\n## 适合谁\n\n棋类 GUI 用户、赛事组织者、引擎测试者，以及在自己的分析功能或机器人里接 UCI 引擎的开发者：这是默认选项，市面上的 GUI 基本都支持它，写别的引擎时也常拿它当基准。如果你想要开箱即用的完整应用（棋盘、开局训练、托管 API），它不合适——UI 和对接代码都得自己准备。如果你的评估网络完全基于另一套自研训练流程（最典型的对比对象是 Leela Chess Zero），两者路线不同，值得单独比较后再选。\n\n## 上手成本\n\n可以在 `src` 目录用自带 Makefile 编译，也可以直接用内嵌网络文件的二进制发行版。README 给出的示例是 `cd src` 后执行 `make -j profile-build`。需要 C++ 工具链，并针对平台选择构建目标才能走上快速路径，Windows、大端序等平台在 wiki 里有说明。许可证是 GPL-3.0，这点很关键：分发修改版必须以 GPL v3 公开对应源码，因此把它嵌进闭源商业产品前需要法务评估。训练数据来自 Leela Chess Zero，采用 ODbL 许可。项目 2014 年创建、至今活跃维护，成熟度不用担心；但针对自己硬件编译和调优的工程投入是实打实的。\n\n## 点评\n\n这是一个长期存在且持续维护的项目，不是短期冲榜：2014 年创建，约 17k stars、3.1k forks，本周在 C++ 榜单上仍有稳定关注。其路线——alpha-beta 搜索加 NNUE 评估，再通过分布式 Fishtest 验证——已经成熟且清晰。需要标准、强力 UCI 引擎、并能接受 GPL-3.0 义务的话，它几乎不需要额外适配就能接进现有 GUI。只有当你需要完整棋类应用，或无法满足许可证要求时，才应该另找方案。",{"slug":44,"name":45},"games","游戏",[47,48,49,50,51],"chess","chess-engine","cpp","stockfish","uci","GPL-3.0","https:\u002F\u002Fstockfishchess.org\u002F","2026-10-25T00:37:07Z",[],1792901941]