Skip to content

Releases

wfclient portable · 2026-10-31 18:03:08 (UTC+8) · ea828b371375

Choose a tag to compare

构建时间:2026-10-31 18:03:08(UTC+8) ≈ 2026-10-31 10:03:08(UTC)

完整便携包:内置打好补丁的引擎(MSVC + PGO + mimalloc,随包预编译)、客户端 src、
便携版 Python 与依赖、使用说明与启动脚本。解压后双击包里那个 run-portable-<时间戳>.bat 即可运行。

包结构已改为「代目录 + 指针」:python-<hash>/、src-<hash>/、engine-<hash>/
三代并列,current.txt 决定跑哪一代;更新只会新增代目录再改一次指针,不再逐文件覆盖
运行中的 python.exe。这也意味着旧的便携目录不会再被自动更新(旧客户端只认
src/app.py / engine/wfsim-core.exe 这种老路径):请用本包重新解压一份,需要保留
账号与 verifier 身份的话,把旧的 data/config.json 拷到新目录即可。

字段 值
engine id ea828b371375
引擎 sha256 752f3666c61e3b66388158cd2221ee9c99ecf1f959c95f1bdfe21e0862e1e9bb

只想替换引擎、不想重下整包的话,见 engine-ea828b371375。
详细说明见包内 README-便携包.md,引擎身份见 engine/engine-identity.json。

wfclient portable · 2026-10-30 21:42:39 (UTC+8) · d1db2cced411

Choose a tag to compare

构建时间:2026-10-30 21:42:39(UTC+8) ≈ 2026-10-30 13:42:39(UTC)

完整便携包:内置打好补丁的引擎(MSVC + PGO + mimalloc,随包预编译)、客户端 src、
便携版 Python 与依赖、使用说明与启动脚本。解压后双击包里那个 run-portable-<时间戳>.bat 即可运行。

包结构已改为「代目录 + 指针」:python-<hash>/、src-<hash>/、engine-<hash>/
三代并列,current.txt 决定跑哪一代;更新只会新增代目录再改一次指针,不再逐文件覆盖
运行中的 python.exe。这也意味着旧的便携目录不会再被自动更新(旧客户端只认
src/app.py / engine/wfsim-core.exe 这种老路径):请用本包重新解压一份,需要保留
账号与 verifier 身份的话,把旧的 data/config.json 拷到新目录即可。

字段 值
engine id d1db2cced411
引擎 sha256 a981bdd6f5cc122a892cf3126a106a5dccb66d4063f97555ee66401f3856064e

只想替换引擎、不想重下整包的话,见 engine-d1db2cced411。
详细说明见包内 README-便携包.md,引擎身份见 engine/engine-identity.json。

wfclient portable · 2026-10-29 00:23:01 (UTC+8) · be8a95fc1ba2

Choose a tag to compare

构建时间:2026-10-29 00:23:01(UTC+8) ≈ 2026-10-28 16:23:01(UTC)

完整便携包:内置打好补丁的引擎(MSVC + PGO + mimalloc,随包预编译)、客户端 src、
便携版 Python 与依赖、使用说明与启动脚本。解压后双击包里那个 run-portable-<时间戳>.bat 即可运行。

包结构已改为「代目录 + 指针」:python-<hash>/、src-<hash>/、engine-<hash>/
三代并列,current.txt 决定跑哪一代;更新只会新增代目录再改一次指针,不再逐文件覆盖
运行中的 python.exe。这也意味着旧的便携目录不会再被自动更新(旧客户端只认
src/app.py / engine/wfsim-core.exe 这种老路径):请用本包重新解压一份,需要保留
账号与 verifier 身份的话,把旧的 data/config.json 拷到新目录即可。

字段 值
engine id be8a95fc1ba2
引擎 sha256 affe9f7c22a663fb035157a09c0856e6e7f3ec4157a2095c6eaa24494a9b9376

只想替换引擎、不想重下整包的话,见 engine-be8a95fc1ba2。
详细说明见包内 README-便携包.md,引擎身份见 engine/engine-identity.json。

wfclient portable · 2026-10-28 01:26:28 (UTC+8) · 66fc4bdfc586

Choose a tag to compare

构建时间:2026-10-28 01:26:28(UTC+8) ≈ 2026-10-27 17:26:28(UTC)

完整便携包:内置打好补丁的引擎(MSVC + PGO + mimalloc,随包预编译)、客户端 src、
便携版 Python 与依赖、使用说明与启动脚本。解压后双击包里那个 run-portable-<时间戳>.bat 即可运行。

包结构已改为「代目录 + 指针」:python-<hash>/、src-<hash>/、engine-<hash>/
三代并列,current.txt 决定跑哪一代;更新只会新增代目录再改一次指针,不再逐文件覆盖
运行中的 python.exe。这也意味着旧的便携目录不会再被自动更新(旧客户端只认
src/app.py / engine/wfsim-core.exe 这种老路径):请用本包重新解压一份,需要保留
账号与 verifier 身份的话,把旧的 data/config.json 拷到新目录即可。

字段 值
engine id 66fc4bdfc586
引擎 sha256 72b7675599f9d33979599f4a6c30f4cb23b437ba4f6da1ee7e943e12156ad949

只想替换引擎、不想重下整包的话,见 engine-66fc4bdfc586。
详细说明见包内 README-便携包.md,引擎身份见 engine/engine-identity.json。

wfclient portable · 2026-10-25 19:04:35 (UTC+8) · 3194962a0af7

Choose a tag to compare

构建时间:2026-10-25 19:04:35(UTC+8) ≈ 2026-10-25 11:04:35(UTC)

完整便携包:内置打好补丁的引擎(MSVC + PGO + mimalloc,随包预编译)、客户端 src、
便携版 Python 与依赖、使用说明与启动脚本。解压后双击包里那个 run-portable-<时间戳>.bat 即可运行。

包结构已改为「代目录 + 指针」:python-<hash>/、src-<hash>/、engine-<hash>/
三代并列,current.txt 决定跑哪一代;更新只会新增代目录再改一次指针,不再逐文件覆盖
运行中的 python.exe。这也意味着旧的便携目录不会再被自动更新(旧客户端只认
src/app.py / engine/wfsim-core.exe 这种老路径):请用本包重新解压一份,需要保留
账号与 verifier 身份的话,把旧的 data/config.json 拷到新目录即可。

字段 值
engine id 3194962a0af7
引擎 sha256 66bc8d798b1b8ae4d97f6bcc5554acedb82791f92bbd109d540089f23bb8c08d

只想替换引擎、不想重下整包的话,见 engine-3194962a0af7。
详细说明见包内 README-便携包.md,引擎身份见 engine/engine-identity.json。

wfclient portable · 2026-10-26 23:23:08 (UTC+8) · 14c617506965

Choose a tag to compare

构建时间:2026-10-26 23:23:08(UTC+8) ≈ 2026-10-26 15:23:08(UTC)

完整便携包:内置打好补丁的引擎(MSVC + PGO + mimalloc,随包预编译)、客户端 src、
便携版 Python 与依赖、使用说明与启动脚本。解压后双击包里那个 run-portable-<时间戳>.bat 即可运行。

包结构已改为「代目录 + 指针」:python-<hash>/、src-<hash>/、engine-<hash>/
三代并列,current.txt 决定跑哪一代;更新只会新增代目录再改一次指针,不再逐文件覆盖
运行中的 python.exe。这也意味着旧的便携目录不会再被自动更新(旧客户端只认
src/app.py / engine/wfsim-core.exe 这种老路径):请用本包重新解压一份,需要保留
账号与 verifier 身份的话,把旧的 data/config.json 拷到新目录即可。

字段 值
engine id 14c617506965
引擎 sha256 dce2a65a20e28d9edd44c7663710969f5e81618d8287039ee01998fb58311a37

只想替换引擎、不想重下整包的话,见 engine-14c617506965。
详细说明见包内 README-便携包.md,引擎身份见 engine/engine-identity.json。

wfclient self-build sources · 2026-10-25 19:03:34 (UTC+8) · dac6ecbaf97e

Choose a tag to compare

构建时间:2026-10-25 19:03:34(UTC+8) ≈ 2026-10-25 11:03:34(UTC)

自己编译引擎用的源码包:客户端 src/、构建脚本 ci/、上游补丁、文档与许可。
完整依赖说明见仓库根目录的 自构建说明.md(也在 zip 里)。

两条编译路径,先选一条

路径 要装什么 相对速度
A. 便携 GNU 链(可完全离线) 基本上什么都不用装;可选 MinGW-w64 gcc 以开启 mimalloc 1.00×
B. MSVC + PGO(发布包口径) rustup 锁版本工具链 + VS 生成工具(装最新的 VS 2026;2022 起都能用)+ llvm-tools-preview 3.4×

实测(8 核 16 线程,100 条 board):A = 102.7 s,B = 29.9 s ⇒ 3.43×。

依赖与官方安装渠道

依赖 版本 官方渠道
Rust 工具链 1.97.1-x86_64-pc-windows-msvc(锁版本) https://rustup.rs · https://www.rust-lang.org/tools/install
VS 生成工具(link.exe + Windows SDK + cl.exe) 最新的 VS 2026(实测工具集 14.51.36231);2022 及以后都能用(14.44.35207) https://visualstudio.microsoft.com/downloads/ · https://visualstudio.microsoft.com/visual-cpp-build-tools/ · winget install --id Microsoft.VisualStudio.BuildTools -e(默认最新 = 2026)
llvm-profdata(PGO) 随工具链(LLVM 22.1) rustup component add llvm-tools-preview · https://doc.rust-lang.org/rustc/profile-guided-optimization.html
crates.io 依赖 见 engine-src/work/Cargo.lock https://crates.io
MinGW-w64 gcc(可选,仅 mimalloc) 任意 https://www.msys2.org/ · https://winlibs.com/
Git for Windows(可选) ≥ 2.40 https://git-scm.com/download/win
GitHub PAT(可选) fine-grained,public 只读 https://github.com/settings/tokens

也有的前提:Windows 10/11 x64、磁盘约 2 GB(编译目标目录 542 MB + cargo registry 110 MB)、
Python 3.11+(只跑 ci/ 脚本)、能访问 GitHub(取上游源码;匿名 60 次/小时够用)。

三步开始

python ci\fetch_sources.py                    :: 拉上游源码 + 打本仓补丁
python ci\build_engine.py --crt-static --target-cpu x86-64-v3 --rivens-gate 3
python ci\tools\run_corpus.py dist\wfsim-core.exe --anchors   :: 逐位闸门

常见坑(中文路径让 ar.exe 乱码、no .profraw produced、便携链不支持 PGO、
gas 按源码条数计费……)逐条写在 自构建说明.md 的最后一节。

只想要"开箱即用"?用 portable-dac6ecbaf97e 那条线的完整便携包。

wfclient engine · 2026-10-31 18:02:55 (UTC+8) · ea828b371375

Choose a tag to compare

构建时间:2026-10-31 18:02:55(UTC+8) ≈ 2026-10-31 10:02:55(UTC)

只含引擎本体,供已有便携包的用户替换 engine-<hash>/wfsim-core.exe(或直接放进 engine-local/;标签即 engine id,可幂等重发)。

字段 值
engine id ea828b371375
sha256 752f3666c61e3b66388158cd2221ee9c99ecf1f959c95f1bdfe21e0862e1e9bb
size 19426304 bytes
target-cpu x86-64-v3(AVX2 通用版)
CRT static
构建 MSVC + PGO + mimalloc,三道逐位闸门全过才发布

用法:解压覆盖到便携包 engine/(先把旧文件另存为 wfsim-core.prev.exe)。完整包见
portable-ea828b371375。

wfclient engine · 2026-10-30 21:42:18 (UTC+8) · d1db2cced411

Choose a tag to compare

构建时间:2026-10-30 21:42:18(UTC+8) ≈ 2026-10-30 13:42:18(UTC)

只含引擎本体,供已有便携包的用户替换 engine-<hash>/wfsim-core.exe(或直接放进 engine-local/;标签即 engine id,可幂等重发)。

字段 值
engine id d1db2cced411
sha256 a981bdd6f5cc122a892cf3126a106a5dccb66d4063f97555ee66401f3856064e
size 19420672 bytes
target-cpu x86-64-v3(AVX2 通用版)
CRT static
构建 MSVC + PGO + mimalloc,三道逐位闸门全过才发布

用法:解压覆盖到便携包 engine/(先把旧文件另存为 wfsim-core.prev.exe)。完整包见
portable-d1db2cced411。

wfclient engine · 2026-10-29 00:22:56 (UTC+8) · be8a95fc1ba2

Choose a tag to compare

构建时间:2026-10-29 00:22:56(UTC+8) ≈ 2026-10-28 16:22:56(UTC)

只含引擎本体,供已有便携包的用户替换 engine-<hash>/wfsim-core.exe(或直接放进 engine-local/;标签即 engine id,可幂等重发)。

字段 值
engine id be8a95fc1ba2
sha256 affe9f7c22a663fb035157a09c0856e6e7f3ec4157a2095c6eaa24494a9b9376
size 19351552 bytes
target-cpu x86-64-v3(AVX2 通用版)
CRT static
构建 MSVC + PGO + mimalloc,三道逐位闸门全过才发布

用法:解压覆盖到便携包 engine/(先把旧文件另存为 wfsim-core.prev.exe)。完整包见
portable-be8a95fc1ba2。