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_themes、words_match、words_anagram及words_random列出主題、依模式搜尋單字、尋找變位詞或隨機選取單字。 - 執行可驗證的 LLM 評測 — 使用
eval_generate產生可重現的謎題基準任務,並透過eval_check依建構方式評分答案。
文件
PuzzleTide CLI — 單詞搜索、填字遊戲與數獨產生器
集單詞搜索產生器、填字遊戲產生器,以及數獨產生器與解算器於一身的 本地優先謎題產生 CLI — 提供可列印的 PDF 學習單、入門詞庫、 可驗證的 LLM 評估,以及內建的代理技能。由 puzzletide.com 的開發團隊打造。
安裝
npm install -g puzzletide
ptide --version
此套件會安裝兩個執行檔:
ptidepuzzletide
為何要使用 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,並檢查 ptide、puzzletide,
然後是 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