PuzzleTide Puzzle Generator

ทางการ

เซิร์ฟเวอร์ MCP สำหรับสร้างเกมค้นหาคำศัพท์ ปริศนาอักษรไขว้ และซูโดกุ พร้อมแผ่นงาน PDF ที่พิมพ์ได้ คลังคำศัพท์ตามธีม และการประเมิน LLM ที่ตรวจสอบได้ ทำงานแบบ Local-first จากผู้สร้าง puzzletide.com

คุณทำอะไรได้บ้างด้วย Puzzle Tide Puzzle Generator MCP?

  • สร้างตารางค้นหาคำศัพท์ — สร้างตารางค้นหาคำศัพท์จากคำที่กำหนดเอง ไฟล์ หรือธีมสำเร็จรูป โดยใช้ puzzle_wordsearch_generate
  • สร้างปริศนาอักษรไขว้ — สร้างปริศนาอักษรไขว้แบบเชื่อมต่อกันพร้อมหมายเลขมาตรฐานและคำใบ้ที่ตรวจสอบแล้ว โดยใช้ puzzle_crossword_generate
  • สร้างหรือแก้ซูโดกุ — สร้างซูโดกุที่มีคำตอบเฉพาะที่รับประกันได้ (puzzle_sudoku_generate) หรือแก้สตริงปริศนาที่มี 81 ตัวอักษร (puzzle_sudoku_solve)
  • ตรวจสอบซูโดกุ — ตรวจสอบตารางซูโดกุว่ามีข้อขัดแย้ง ความเป็นไปได้ในการแก้ และความเป็นเอกลักษณ์ของคำตอบ โดยใช้ puzzle_sudoku_validate
  • สำรวจคลังคำศัพท์ — แสดงรายการธีม ค้นหาคำศัพท์ตามรูปแบบ ค้นหาคำสลับอักษร หรือสุ่มคำ โดยใช้ words_themes, words_match, words_anagram และ words_random
  • ดำเนินการประเมิน LLM ที่ตรวจสอบได้ — สร้างงานเกณฑ์มาตรฐานแบบปริศนาที่สามารถทำซ้ำได้ (eval_generate) และให้คะแนนคำตอบตามโครงสร้าง (eval_check)

เอกสาร

PuzzleTide CLI — ตัวสร้างปริศนาค้นหาคำ, ปริศนาอักษรไขว้ และซูโดกุ

npm package Docs Agent skills smithery badge License: MIT

ตัวสร้างปริศนาค้นหาคำ, ตัวสร้างปริศนาอักษรไขว้ และตัวสร้างและแก้ซูโดกุ ใน CLI ตัวสร้างปริศนาแบบ local-first หนึ่งเดียว — พร้อมใบงาน PDF ที่พิมพ์ได้, คลังคำเริ่มต้น, การประเมิน LLM ที่ตรวจสอบได้ และทักษะเอเจนต์ที่มาพร้อมกัน จากผู้สร้าง puzzletide.com

การติดตั้ง

npm install -g puzzletide
ptide --version

แพ็คเกจติดตั้งไบนารีทั้งสอง:

  • ptide
  • puzzletide

ทำไมต้องสร้างปริศนาด้วย CLI

ลองถามโมเดลภาษาให้เขียนปริศนาค้นหาคำ คุณจะได้ตารางที่ครึ่งหนึ่งของคำ เสียหาย; ขอซูโดกุ คุณมักจะได้อันที่มีหลายคำตอบ หรือไม่มีเลย ตารางคือผลลัพธ์ที่ LLM ไม่ถนัด และโค้ดที่แน่นอนทำได้ดี

PuzzleTide CLI คือโค้ดที่แน่นอนนั้น:

  • ทุกคำในปริศนาค้นหาคำถูกวางและตรวจสอบได้ — พิกัดการวางเป็น ส่วนหนึ่งของผลลัพธ์ และตัวสร้างถูกทดสอบด้วย property test
  • ทุกซูโดกุที่สร้างขึ้นถูกตรวจสอบว่ามีเพียงคำตอบเดียว
  • ทุกปริศนาอักษรไขว้ถูกตรวจสอบกับคำใบ้ของตัวเองก่อนส่งคืน
  • --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

ใช้คำสั่งสั้นๆ แบบโต้ตอบ และใช้ canonical tool 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

ไฟล์ manifest ของแพ็คเกจประกาศ:

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

มีห้าทักษะรวมอยู่ด้วย: ปริศนาค้นหาคำ, ปริศนาอักษรไขว้, ซูโดกุ, ปริศนาที่พิมพ์ได้, และการประเมินเอเจนต์ แต่ละทักษะชอบใช้ CLI ในเครื่องและตรวจสอบ ptide, puzzletide, แล้ว npx puzzletide ทักษะไม่เคยติดตั้งอะไรโดยอัตโนมัติ; เอเจนต์ควรถาม ผู้ใช้ก่อนติดตั้ง

เซิร์ฟเวอร์ MCP สำหรับ Claude Desktop, Cursor และไคลเอนต์ MCP ใดๆ

แพ็คเกจคู่หู puzzletide-mcp เปิดเผยทุกเครื่องมือที่ไม่ใช่แบบโต้ตอบผ่าน Model Context Protocol — ตัวสร้างปริศนาค้นหาคำ, ตัวสร้างปริศนาอักษรไขว้, ตัวสร้าง/แก้ซูโดกุ, เครื่องมือคำ, และการประเมินแบบเดียวกัน เรียกใช้ได้จาก 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, seed) กำหนดชุดงานอย่างสมบูรณ์ ดังนั้นมันจึง ตั้งชื่อการวัดประสิทธิภาพที่ทำซ้ำได้

การใช้งานไลบรารี

เอนจินสามารถนำเข้าได้ด้วย 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) ยินดีรับการมีส่วนร่วมเกี่ยวกับธีม — เพิ่มรายการลงในไฟล์ต้นฉบับและรัน การ build คอลเลกชันคลังคำ PuzzleTide ที่คัดสรรเต็มรูปแบบเป็นกรรมสิทธิ์ของ puzzletide.com และไม่ได้เป็นส่วนหนึ่งของที่เก็บนี้

การอ้างอิง PuzzleTide CLI

หากคุณใช้ PuzzleTide CLI ในงานของคุณ — ตัวอย่างเช่น การประเมินปริศนาที่ตรวจสอบได้ ในการวัดประสิทธิภาพโมเดล — โปรดอ้างอิง (หรือใช้ปุ่ม "Cite this repository" ของ 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