Repository navigation
Releases
wfclient portable · 2026-10-31 18:03:08 (UTC+8) · ea828b371375
构建时间: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
构建时间: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
构建时间: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
构建时间: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
构建时间: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
构建时间: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
构建时间: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
构建时间: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
构建时间: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
构建时间: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。