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 — ตัวสร้างปริศนาค้นหาคำ, ปริศนาอักษรไขว้ และซูโดกุ
ตัวสร้างปริศนาค้นหาคำ, ตัวสร้างปริศนาอักษรไขว้ และตัวสร้างและแก้ซูโดกุ ใน CLI ตัวสร้างปริศนาแบบ local-first หนึ่งเดียว — พร้อมใบงาน PDF ที่พิมพ์ได้, คลังคำเริ่มต้น, การประเมิน LLM ที่ตรวจสอบได้ และทักษะเอเจนต์ที่มาพร้อมกัน จากผู้สร้าง puzzletide.com
การติดตั้ง
npm install -g puzzletide
ptide --version
แพ็คเกจติดตั้งไบนารีทั้งสอง:
ptidepuzzletide
ทำไมต้องสร้างปริศนาด้วย 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/SVGpuzzle_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' });
เอกสารเพิ่มเติม:
เวอร์ชันออนไลน์
ชอบเบราว์เซอร์ไหม?
- PuzzleTide ปริศนาค้นหาคำ
- PuzzleTide ปริศนาอักษรไขว้
- PuzzleTide ซูโดกุ
- PuzzleTide แฮงแมน
- ปริศนาที่พิมพ์ได้
- สร้างปริศนาของคุณเอง
- แบบอักษรและการตั้งค่าปริศนาค้นหาคำที่เป็นมิตรกับผู้มีภาวะดิสเล็กเซีย
ความเป็นส่วนตัว
ทุกอย่างทำงานในเครื่อง ไม่มีบัญชี, ไม่มีคีย์ 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