PuzzleTide Puzzle Generator

官方

單字搜尋、填字遊戲與數獨生成器MCP伺服器,提供可列印的PDF學習單、主題詞庫及可驗證的LLM評估。本地優先,來自puzzletide.com的開發團隊。

你可以用 Puzzle Tide Puzzle Generator MCP 做什麼?

  • 生成單字搜尋 — 透過 puzzle_wordsearch_generate,從自訂單字、檔案或內建主題建立單字搜尋網格。
  • 生成縱橫填字遊戲 — 使用 puzzle_crossword_generate 產生具標準編號與驗證提示的連鎖縱橫填字遊戲。
  • 生成或解答數獨 — 透過 puzzle_sudoku_generate 建立保證唯一解的數獨,或使用 puzzle_sudoku_solve 解答 81 字元的謎題字串。
  • 驗證數獨 — 使用 puzzle_sudoku_validate 檢查數獨網格是否有衝突、可解性及解的唯一性。
  • 探索單字庫 — 透過 words_themeswords_matchwords_anagramwords_random 列出主題、依模式搜尋單字、尋找變位詞或隨機選取單字。
  • 執行可驗證的 LLM 評測 — 使用 eval_generate 產生可重現的謎題基準任務,並透過 eval_check 依建構方式評分答案。

文件

PuzzleTide CLI — 單詞搜索、填字遊戲與數獨產生器

npm package Docs Agent skills smithery badge License: MIT

集單詞搜索產生器、填字遊戲產生器,以及數獨產生器與解算器於一身的 本地優先謎題產生 CLI — 提供可列印的 PDF 學習單、入門詞庫、 可驗證的 LLM 評估,以及內建的代理技能。由 puzzletide.com 的開發團隊打造。

安裝

npm install -g puzzletide
ptide --version

此套件會安裝兩個執行檔:

  • ptide
  • puzzletide

為何要使用 CLI 來產生謎題

要求語言模型產生一個單詞搜索,你會得到一個有一半單詞是錯的網格; 要求它產生一個數獨,你通常會得到一個有多個解答或根本無解的數獨。 網格正是 LLM 不擅長而確定性程式碼擅長的輸出類型。

PuzzleTide CLI 就是那個確定性程式碼:

  • 每個單詞搜索的單詞都有放置位置且可驗證 — 放置座標是輸出的一部分, 且產生器都經過屬性測試。
  • 每個產生的數獨都經過檢查,確保只有唯一解。
  • 每個填字遊戲在回傳前,都會根據其線索進行驗證。
  • 相同的 --seed 輸入,在任何機器上都會產出相同的謎題。

此套件也附帶 SKILL.md 代理技能,因此編碼代理(Pi、Hermes、 OpenClaw 及其他基於 SKILL.md 的系統)會使用 CLI,而非手寫網格。

指令模型

ptide <namespace> <operation> [input] [options]   # for humans
ptide run <tool-id> [input] [options] --json      # canonical, for scripts/agents
ptide tools list | search <q> | info <id> | docs <id>
ptide agent manifest

互動式使用短指令,自動化則使用標準工具 ID:

ptide sudoku generate --difficulty hard
ptide run puzzle.sudoku.generate --difficulty hard --json

單詞搜索產生器

八個放置方向,具備簡單/中等/困難預設值,自動調整大小的網格 (6–30),重音符號/空格/連字號正規化。單詞可來自旗標、檔案或 內建主題:

# Word search from your own words, printed in the terminal
ptide wordsearch generate --words "coral,shark,kelp,wave,tide"

# Themed printable word search (puzzle page + solution page)
ptide wordsearch generate --theme animals/ocean-animals --pdf ocean.pdf

# Kids mode: easy = forward-only words
ptide wordsearch generate --theme seasonal/halloween --difficulty easy

填字遊戲產生器

具備標準填字遊戲編號的連鎖放置、線索網格驗證, 以及為主題單詞提供的確定性備用線索。無法連鎖的單詞 會被回報,而非默默捨棄:

# Crossword with your clues
ptide crossword generate --words "PARIS: Capital of France; TOKYO: Capital of Japan"

# From a JSON file, as a printable PDF
ptide crossword generate --file words.json --pdf review.pdf --title "Unit 4 Review"

數獨產生器與解算器

簡單、中等、困難和專家級數獨(17–21 個提示數),具備唯一性保證、 即時解算器,以及一個能回報衝突、可解性與解答唯一性的驗證器:

ptide sudoku generate --difficulty expert --seed 42
ptide sudoku solve "53..7....6..195....98....6.8...6...34..8.3..17...2...6.6....28....419..5....8..79"
ptide sudoku validate --file puzzle.txt
ptide daily        # today's daily sudoku, same for everyone on a given UTC day

可列印的謎題:PDF 學習單與 SVG

每個產生器都接受 --pdf <file> 來產生可立即列印的學習單 — 謎題 頁面加上解答頁(--paper letter|a4,使用 --no-solution-page 可省略解答頁) — 以及 --svg <file> 來產生向量圖形。為課堂講義製作可列印的 單詞搜索和數獨學習單,只需一個迴圈即可完成:

for i in 1 2 3 4 5; do
  ptide sudoku generate --difficulty medium --seed "$i" --pdf "sudoku-$i.pdf" --title "Sudoku #$i"
done

偏好現成的學習單嗎? 懸疑謀殺可列印單詞搜索 是讀者最愛,還有數百種更多選擇在 可列印謎題

詞庫與單詞工具

30 個入門主題(海洋動物、水果、太空、萬聖節...)— 瀏覽、 搜尋、模式比對、回文構詞、隨機挑選。透過 --words/--file 帶入你自己的清單,或在 puzzletide.com 使用完整的精選集:

ptide words themes --search dinosaur
ptide words match "c_r_l"        # crossword-style pattern matching
ptide words anagram coral

終端機中還有一個猜單詞遊戲:ptide play hangman

代理技能

Pi 可以直接從這個 npm 套件載入內建的技能:

pi install npm:puzzletide

套件清單宣告了:

{
  "pi": {
    "skills": ["./skills"]
  }
}

包含五個技能:單詞搜索、填字遊戲、數獨、可列印謎題, 以及代理評估。每個技能都偏好使用本地 CLI,並檢查 ptidepuzzletide, 然後是 npx puzzletide。技能絕不會自動安裝任何東西;代理應在安裝前 詢問使用者。

適用於 Claude Desktop、Cursor 及任何 MCP 客戶端的 MCP 伺服器

配套套件 puzzletide-mcp 透過模型上下文協定公開了所有非互動式工具 — 相同的 單詞搜索產生器、填字遊戲產生器、數獨產生器/解算器、單詞 工具和評估,可從 Claude Desktop、Cursor、Windsurf 或任何 MCP 客戶端呼叫:

{
  "mcpServers": {
    "puzzletide": {
      "command": "npx",
      "args": ["-y", "puzzletide-mcp"]
    }
  }
}

請參閱 docs/mcp.md 以了解工具名稱、引數和每個客戶端的 設定。

工具

MCP 伺服器(和 ptide run <tool-id>)公開了 15 個工具:

  • puzzle_wordsearch_generate:從自訂單詞、檔案或主題詞庫產生單詞搜索網格 — 每個放置位置皆可驗證,可透過 PDF/SVG 列印。
  • puzzle_crossword_generate:產生具備標準編號和已驗證線索的連鎖填字遊戲。
  • puzzle_sudoku_generate:產生簡單、中等、困難或專家級數獨,並保證有唯一解。
  • puzzle_sudoku_solve:從其 81 個字元的字串解算數獨,並回報解答是否唯一。
  • puzzle_sudoku_validate:驗證數獨網格 — 衝突、可解性與解答唯一性。
  • words_categories:列出詞庫類別。
  • words_themes:列出或搜尋內建的主題單詞清單。
  • words_list:列出主題中的單詞,可按長度或數量篩選。
  • words_match:尋找符合填字遊戲風格模式(c_r_l)的單詞。
  • words_anagram:在詞庫中尋找給定字母的回文構詞。
  • words_random:隨機挑選一個單詞,可選擇從某個主題中挑選。
  • words_stats:詞庫統計資料。
  • eval_generate:產生可重現、可客觀評分的謎題任務,用於對 LLM 和代理進行基準測試。
  • eval_check:透過建構方式對產生的評估任務答案進行評分 — 無需信任答案金鑰。
  • play_daily:列印今日的每日數獨(在 UTC 的一天內,所有人都相同)。

可驗證的 LLM 評估

謎題答案無需答案金鑰即可檢查:數獨答案要麼滿足規則並保留提示數, 要麼不滿足;單詞搜索答案要麼沿著網格中的直線拼出單詞, 要麼沒有。這使得謎題成為 LLM 評估的乾淨基準任務 — 無需 LLM 裁判:

ptide eval generate --type sudoku --n 20 --difficulty hard --seed 1 --out tasks.json
# ...run your model on tasks.json, collect [{id, answer}] ...
ptide eval check --tasks tasks.json --answers answers.json --json

(類型、難度、n、種子)元組完全決定了任務集,因此它 命名了一個可重現的基準。

程式庫用法

引擎是可匯入的 TypeScript,無需 CLI 參與:

import { generateSudoku, generateWordSearch, wordSearchPdf } from 'puzzletide';

const sudoku = generateSudoku({ difficulty: 'hard', seed: 42 });
const search = generateWordSearch({
  words: ['coral', 'shark', 'kelp'],
  directions: ['E', 'S', 'SE'],
  seed: 7,
});
const pdfBytes = await wordSearchPdf(search, { title: 'Ocean Animals' });

更多文件:

線上版本

偏好使用瀏覽器嗎?

隱私

所有內容都在本地執行。無需帳戶、無需 API 金鑰、無遙測、無網路 存取。

開發

npm install
npm run build     # tsc → dist/
npm test          # vitest + fast-check property tests (build first: CLI tests run dist/)

入門詞庫是為此套件編寫的通用原創清單 (scripts/wordbanks-source.json,使用 npm run build:wordbanks 編譯)。 歡迎貢獻主題 — 在來源檔案中新增條目並執行建置。 完整的精選 PuzzleTide 詞庫集為 puzzletide.com 專有, 不屬於此儲存庫的一部分。

引用 PuzzleTide CLI

如果您在工作中使用了 PuzzleTide CLI — 例如在模型基準測試中使用可驗證的謎題 評估 — 請引用它(或使用 GitHub 的「引用此儲存庫」按鈕):

@software{puzzletide_cli,
  author  = {{Caravaca Labs}},
  title   = {PuzzleTide CLI: word search, crossword \& sudoku generator with verifiable LLM evals},
  year    = {2026},
  url     = {https://github.com/Caravaca-Labs/puzzletide-cli},
  note    = {From the makers of \url{https://puzzletide.com}}
}

純文字:「PuzzleTide CLI (Caravaca Labs, 2026), https://github.com/Caravaca-Labs/puzzletide-cli — 由 https://puzzletide.com. 的開發團隊打造」

授權

MIT © Caravaca Labs