使用方法
- 按你实际猜过的顺序填行。第 1 行填猜测的 5 个字母,右边填这一行的反馈码:
g绿、y黄、x灰。页面默认已经填好两组:slate/yxxyx与story/yygxx。 - 用「添加一行」继续录入后面的猜测,最多 6 行(正好是官方给的 6 次机会);填错了用「删除一行」删掉最后一行。
- 填完就会自动重算。统计条给出四项:剩余候选数、词库规模(504 个 5 字母词)、生效行数、候选占词库的比例。示例两组填完后剩 2 个候选:
boost与ghost,占词库 0.40%。 - 候选列表直接列在结果区,可以「复制候选」粘回游戏;下方候选表默认显示 12 行,点「加载更多」展开全部,也可以按 TSV 复制或导出 CSV。
- 只填第 1 行时是 9 个候选(
boost burst first frost ghost trust twist visit worst),再叠加第 2 行降到 2 个——每多一行约束,候选数只减不增。
这个 Wordle助手能解决什么问题
一是把绿黄灰反馈真正用满。很多人只记住「灰色是没有这个字母」,遇到重复字母就判断错;Wordle助手按官方计数规则处理,绿黄给出下界、灰色给出精确值,两者一起决定候选集。
二是把已经锁定的信息摊开给你看。结果区下方会写出当前绿位(未确定的位置用 _)、每个字母的计数约束(≥2 表示至少 2 个,×2 表示恰好 2 个),以及已经被排除的字母。看完这一行你就知道下一次该试哪些字母,不用在脑子里记账。
三是排查自己填错的反馈。如果候选数变成 0,说明约束互相矛盾——通常是某一行的反馈码填反了,或者把一个重复字母的灰色理解成了「词里根本没有这个字母」。
四是离线可用、不留痕。词库跟着页面一起加载,筛选全在本地完成,刷新即清空,不会把你的猜测记录发到任何地方。
本页不做这些事:不破解答案(它只按你给的反馈筛词,反馈错了结果就错)、不提供 6 字母及以上变体的词库、不做按字母凑分的拼字游戏查询、也不做字母重组的全排列穷举。
原理与规则说明
核心是两件事:把反馈翻译成约束,再用词库逐条验证约束。Wordle助手的翻译遵循官方规则,实现上是一次两遍扫描:第一遍先标所有绿色,并从答案字母池里扣掉已用掉的字母;第二遍从左到右扫描非绿位,池子里还有该字母就标黄并扣减,否则标灰。这个顺序决定了重复字母的行为——同一个字母在猜测里出现 3 次而答案只有 2 个时,多出来的那次一定是灰色。
约束由三个结构组成。一是 green[5],记录每个位置被绿色锁定的字母;二是 notAt,记录每个字母被排除的位置(黄色和灰色都会贡献一条);三是每个字母的计数区间 [min, max]。
计数区间为什么这样取。下界 min 取所有行里「该字母绿+黄个数」的最大值——某一行里有 2 个绿,就说明答案里至少有 2 个。上界 max 只在该字母出现过灰色的那一行才收紧,取那一行里它的绿+黄个数:灰色意味着「多出来的不算」,所以这一行的绿+黄数就是答案里的准确个数,多一个少一个都不行。示例第 1 行 slate 的 a、e、l 都是灰色且没有绿黄,于是这三个字母的上界是 0,直接被排除。s 和 t 只有黄色、没有灰色,上界保持无限,只有下界 1。
遵循的规则来源。词长固定 5、字母集为 a–z 小写、反馈为绿黄灰三态,这套规则来自 NYT Wordle 的官方玩法;大小写处理上统一 toLowerCase(),词库里 504 个词全部是 5 个小写字母,定长拼接存储,共 2520 字节,随页面一起加载。
首猜切分能力是怎么算出来的。把这个 504 词库里的每一个词都当成答案,对某个猜测跑一遍上面那个两遍扫描函数,就能统计出它能产生多少种不同反馈串;桶数越多、最大的桶越小,下一次剩下的候选就越少。实测 slate 能切成 103 种反馈、最大一桶 31 个词、平均只剩 4.9 个;crane 是 99 种 / 44 / 5.1;raise 是 87 种 / 27 / 5.8;而 audio 只有 51 种、最大一桶 119 个、平均剩 9.9 个。元音开局看着聪明,实际切分能力差很多。
阈值与边界(均为实测)。行数是 1 到 6;猜测必须是 5 个英文字母,反馈必须是 5 位且只含 g/y/x;候选 0 时给出矛盾提示而不是返回空列表了事。首猜信息量实测:以全部 504 词为答案集,slate 能分成 103 种反馈、最大一桶 31 个词、平均剩余 4.9 个;crane 是 99 种 / 44 / 5.1;raise 是 87 种 / 27 / 5.8;而 audio 只有 51 种、最大一桶 119 个词、平均剩余 9.9 个。
最常见的误用。把灰色直接当成「答案里没有这个字母」。猜 eerie 得到 yxyxg 时,e 出现三次、其中一次是灰色,正确解读是「答案里恰好有 2 个 e」,而不是「没有 e」;按朴素理解去筛,候选集会与第 5 位的绿色 e 直接矛盾,一个词都剩不下,而正确规则下剩 2 个(there、where)。
完整示例(数值均为实测)
假设答案就是 ghost,前两猜分别是 slate 与 story,与页面默认值完全一致:
| 步骤 | 猜测 / 反馈 | 新增约束 | 剩余候选 |
|---|---|---|---|
| 第 1 行 | slate / yxxyx | s、t 各至少 1 个(s 不在第 1 位,t 不在第 4 位);l、a、e 各 0 个 | 9 |
| 第 2 行 | story / yygxx | 第 3 位锁定 o;s 不在第 1 位、t 不在第 2 位;r、y 各 0 个 | 2 |
| 结果 | boost、ghost | 两位候选都含 o、s、t,且 o 在第 3 位 | 2 |
第 1 行单独作用时剩 9 个候选:boost burst first frost ghost trust twist visit worst。叠加第 2 行之后,r、y 被排除掉,burst、first、frost、trust 这些带 r 的词全部出局,visit、twist、worst 因为第 3 位不是 o 也被排除,最后只剩 boost 与 ghost。这两个词的差别只在第 1 位,下一猜任选其一都能在 6 次内收尾。
输入范围与对照表
输入规则与限制:
- 猜测必须是 5 个英文字母,超出或不足都会指出具体是哪一行。
- 反馈必须是 5 位,只允许 g、y、x(大写 G/Y/X 会自动转小写),其它字符会报错并指明位置。
- 行数 1 到 6,第 7 行起不再添加。
- 词库 504 个常用 5 字母英文词,定长拼接 2520 字节;生僻词、专有名词、复数变形不在库内。
- 候选为 0时说明约束矛盾,请回查反馈码,而不是词库太小。
下面是用这个 504 词库统计出的字母覆盖情况,用来判断首猜该覆盖哪些字母(默认显示 12 行):
| 字母 | 出现在多少个词里 | 占比 |
|---|---|---|
| e | 238 | 47.2% |
| a | 212 | 42.1% |
| t | 199 | 39.5% |
| r | 193 | 38.3% |
| s | 175 | 34.7% |
| o | 147 | 29.2% |
| i | 144 | 28.6% |
| h | 129 | 25.6% |
| l | 129 | 25.6% |
| n | 116 | 23.0% |
| c | 114 | 22.6% |
| d | 81 | 16.1% |
库内最冷门的四个字母是 z(4 个词,0.8%)、x(6 个,1.2%)、j(2 个,0.4%)与 q(2 个,0.4%)。拿它们试字母性价比极低;e、a、t、r、s 这五个字母合计覆盖的词次最多,所以 slate、crane、stare 这类词的切分能力明显好于 audio。
结果边界与约束的坑
- 候选数只减不增。每加一行约束都会在上一次结果上继续过滤,示例是 9 → 2;如果你发现候选变多了,说明改动的行被重新解析成了更松的约束(比如把黄色改成了绿色之外的填法)。
- 词库规模决定了上限。504 个常用词覆盖大部分日常答案,但官方答案表更长;遇到候选 0 请先怀疑反馈填错,其次才考虑词不在库内。
- 统计条里的「占词库」是比例不是概率。它是候选数除以词库规模,只说明筛掉了多少,不代表答案落在这个集合里的可能性。
- 反馈错了结果一定错。本页不会校验你的反馈是否可能来自某个真实答案(那需要反推),只按你给的约束筛词。
- 黄色不代表「只有一个」。一个黄色只给出下界 1;要确定个数,必须靠某一行里该字母出现灰色来给出上界。
- 灰色位也被记入 notAt。某字母在第 2 位是灰色,即使它在别处是绿色,本页也会排除「该字母出现在第 2 位」的所有词。
常见问题
灰色到底是什么意思?重复字母时怎么算?
灰色的含义是「这一位没有被匹配」,不是「答案里没有这个字母」。当同一个字母在一行里出现多次时,绿色和黄色先用掉答案里的份数,多出来的那几次就是灰色,此时该字母的总数正好等于这一行的绿+黄个数。猜 eerie 得到 yxyxg 就是这个情形:e 恰好 2 个。
为什么候选数是 0?是不是词库太小?
先查反馈。候选 0 意味着约束互相矛盾,最常见的是把重复字母的灰色当成「没有这个字母」,结果和另一行同字母的绿色直接打架。逐行删掉一行试试,定位到是哪一行之后重新核对该行的颜色顺序。词库有 504 个常用词,漏词有可能,但不会让一个合理约束集变成 0。
504 个词够用吗?为什么不再多放一些?
覆盖日常答案够用,覆盖全部官方答案不够。词库以定长拼接的方式内联在页面里(504 词 / 2520 字节),再加词就要占用内联脚本的体积上限;本页优先保证单页脚本不超 8 KB、加载轻快,所以停在常用词规模,并把规模写在这页上。
结果区下面那行「绿位 / ×2 / ≥1 / 排除」是什么意思?
绿位五个字符,未确定的位置用下划线占位;×2 表示该字母已经由某行的灰色确定了恰好 2 个,≥1 表示只确定至少 1 个、上界还没锁死;「排除」后面列出的是计数上界为 0、即答案里肯定没有的字母。看这一行就能决定下一次试哪些字母。
为什么第 1 行填完还有 9 个候选,加上第 2 行就只剩 2 个?
因为每行约束是叠加的。第 1 行 slate 只锁住 s、t 至少各 1 个并排除 l、a、e,剩 9 个;第 2 行 story 又锁住第 3 位是 o、排除 r 与 y,burst、first、frost、trust 带 r 先出局,visit、twist、worst 第 3 位不是 o 再出局,最后只剩 boost 与 ghost。
反馈码填成大写或者多打了空格会怎样?
反馈码会自动转小写,多余空格会被去掉;但位数不足 5 位或出现 g/y/x 之外的字符时,错误区会指明是第几行、当前值是什么,不会静默按空处理。
能查 6 个字母或者别的 Wordle 变体吗?
不能。词库是 5 字母固定长度,反馈解析也按 5 位写死;变体词长不同,需要另一份词库与另一套约束长度,本页不做。
我的猜测和结果会被上传吗?会记住上次填的吗?
不会上传,Wordle助手的筛选全部由页面内的 JS 完成,不发任何网络请求,可以在开发者工具 Network 面板自查。也不会记忆:刷新后回到默认的两行示例,历史猜测不保存在任何地方。