humanizer-th 0.0.0-stage → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/LICENSE +21 -0
  2. package/README.en.md +176 -0
  3. package/README.md +227 -2
  4. package/bin/cli.js +123 -0
  5. package/package.json +33 -4
  6. package/skills/humanizer-th/SKILL.md +254 -0
  7. package/skills/humanizer-th/agents/openai.yaml +4 -0
  8. package/skills/humanizer-th/references/patterns.md +575 -0
  9. package/skills/humanizer-th/references/registers.md +127 -0
  10. package/skills/humanizer-th/references/style.md +102 -0
  11. package/skills/humanizer-th/references/word-swaps.md +206 -0
  12. package/skills/localize-th/SKILL.md +213 -0
  13. package/skills/localize-th/agents/openai.yaml +4 -0
  14. package/skills/localize-th/references/characters.md +89 -0
  15. package/skills/localize-th/references/formats.md +154 -0
  16. package/skills/localize-th/references/games.md +74 -0
  17. package/skills/localize-th/references/glossary.md +168 -0
  18. package/skills/localize-th/references/patterns.md +575 -0
  19. package/skills/localize-th/references/registers.md +127 -0
  20. package/skills/localize-th/references/style.md +102 -0
  21. package/skills/localize-th/references/subtitles.md +110 -0
  22. package/skills/localize-th/references/translation.md +255 -0
  23. package/skills/localize-th/references/ui.md +117 -0
  24. package/skills/localize-th/references/word-swaps.md +206 -0
  25. package/skills/localize-th/scripts/check_translation.py +484 -0
  26. package/skills/script-th/SKILL.md +162 -0
  27. package/skills/script-th/agents/openai.yaml +4 -0
  28. package/skills/script-th/references/characters.md +89 -0
  29. package/skills/script-th/references/dialogue.md +236 -0
  30. package/skills/script-th/references/patterns.md +575 -0
  31. package/skills/script-th/references/registers.md +127 -0
  32. package/skills/script-th/references/style.md +102 -0
  33. package/skills/script-th/references/video-prompts.md +103 -0
  34. package/skills/script-th/references/voice.md +107 -0
@@ -0,0 +1,254 @@
1
+ ---
2
+ name: humanizer-th
3
+ description: Rewrites and edits Thai-language text so it reads as if a native Thai writer wrote it, removing AI-writing tells and English-translation patterns (เช่น "ในยุคดิจิทัลปัจจุบัน", "ได้ทำการ", "ถูกพัฒนาโดย", คำเชื่อมทุกประโยค) while keeping meaning, facts, numbers, names and the author's voice. Four modes - ตรวจ (detect), เขียนใหม่ (rewrite, default), แก้เฉพาะจุด (edit) and เลียนสไตล์ (match the user's own writing samples) - across the four Thai registers taught in school - กันเอง, ไม่เป็นทางการ, กึ่งทางการ, ทางการ. Use when the user asks to ทำให้เป็นธรรมชาติ, ดูเป็น AI ไหม, ปรับเป็นภาษาคน, แก้ภาษาให้ลื่น, เกลาภาษา, ทำให้อ่านเหมือนคนเขียน, เขียนให้เหมือนที่เราเขียน, เลียนสไตล์จากตัวอย่าง, humanize Thai text, make my Thai sound natural, write in my style, or make Thai posts, emails, LINE messages, product descriptions, articles or reports sound natural. Thai text only. Not for other languages, not for English-to-Thai translation, not for impersonating other people, and not for evading AI detectors.
4
+ license: MIT
5
+ ---
6
+
7
+ # humanizer-th
8
+
9
+ เกลาภาษาไทยที่อ่านแล้วรู้ว่า AI เขียนหรือแปลมาจากอังกฤษ ให้กลับมาอ่านเหมือนคนไทยเขียนเอง เนื้อหาต้องเหมือนเดิม และยังเป็นน้ำเสียงของคนเขียนคนเดิม
10
+
11
+ เป้าหมายคือให้ผู้อ่านคนไทยอ่านง่ายขึ้น ไม่ใช่หลบเครื่องมือตรวจจับ AI ถ้าผู้ใช้ขอให้ช่วยหลบ detector ให้บอกตรงๆ ว่า skill นี้ไม่ได้ทำเพื่อเรื่องนั้น แล้วเสนอเกลาภาษาให้อ่านง่ายแทน ห้ามจงใจใส่คำผิดหรือไวยากรณ์ผิดไม่ว่ากรณีใด
12
+
13
+ ## ใช้เมื่อไหร่
14
+
15
+ - ผู้ใช้วางข้อความภาษาไทย แล้วขอให้ตรวจ เกลา เขียนใหม่ หรือแก้ให้เป็นธรรมชาติ
16
+ - ผู้ใช้ถามว่าข้อความไทยนี้ "ดูเป็น AI ไหม" หรือ "ตรงไหนแข็ง"
17
+
18
+ **ไม่ใช้เมื่อ**
19
+
20
+ - ข้อความไม่ใช่ภาษาไทย (ข้อความไทยที่มีคำอังกฤษปน ใช้ได้)
21
+ - ผู้ใช้ต้องการแปลจากภาษาอังกฤษเป็นไทย เช่น ซับไตเติล ข้อความในแอป เกม ใช้ skill `localize-th`
22
+ - บทพูด บทละคร หรือบทพากย์ ใช้ skill `script-th`
23
+ - ผู้ใช้ต้องการตรวจคำผิดหรือราชาศัพท์อย่างเดียว
24
+
25
+ ## ไฟล์อ้างอิง
26
+
27
+ เปิดอ่านเมื่อจำเป็น ไม่ต้องอ่านทุกไฟล์ทุกครั้ง
28
+
29
+ | ไฟล์ | ใช้เมื่อ |
30
+ |---|---|
31
+ | [references/patterns.md](references/patterns.md) | ทุกครั้งที่ตรวจหรือแก้ เป็นแคตตาล็อกรูปแบบ TH01–TH29 พร้อมกรณียกเว้น ("ไม่ต้องแก้เมื่อ") |
32
+ | [references/registers.md](references/registers.md) | ตอนเลือกระดับภาษา ตอนมีปัญหาคำลงท้าย (ครับ/ค่ะ) หรือสรรพนาม |
33
+ | [references/word-swaps.md](references/word-swaps.md) | ตอนแก้ ต้องการหาคำแทนสำนวนแข็งเร็วๆ |
34
+ | [references/style.md](references/style.md) | โหมด `เลียนสไตล์` วิธีดูตัวอย่าง ทำโปรไฟล์สำนวน และสิ่งที่ไม่เลียน |
35
+
36
+ ข้อความสั้น (ไม่กี่บรรทัด) ที่เห็นรูปแบบชัดอยู่แล้ว ใช้แค่ดัชนีใน `patterns.md` ก็พอ ข้อความยาวหรือข้อความที่ก้ำกึ่ง ให้อ่านส่วน "ไม่ต้องแก้เมื่อ" ของรูปแบบที่เจอทุกครั้ง
37
+
38
+ ## เลือกโหมด
39
+
40
+ | โหมด | เมื่อผู้ใช้พูดว่า | ทำอะไร |
41
+ |---|---|---|
42
+ | `ตรวจ` (detect) | "ตรวจว่าตรงไหนดูเป็น AI" "ดูเป็น AI ไหม" "ชี้จุดที่แข็งให้หน่อย" | รายการจุดที่เจอ พร้อมรหัสและเหตุผลสั้นๆ **ไม่แก้ข้อความ** |
43
+ | `เขียนใหม่` (rewrite, ค่าเริ่มต้น) | "เขียนใหม่ให้เป็นธรรมชาติ" "ปรับเป็นภาษาคนหน่อย" "ช่วยแก้ให้อ่านลื่นๆ หน่อย" "เกลาให้หน่อย" หรือวางข้อความมาโดยไม่บอกโหมด | ข้อความใหม่ทั้งชิ้น + สรุปสิ่งที่เปลี่ยน 3–5 ข้อ |
44
+ | `แก้เฉพาะจุด` (edit) | "แก้แค่จุดที่แข็งๆ พอ" "อย่าเปลี่ยนเยอะ" "คงโครงเดิมไว้" | แก้เฉพาะจุด คงโครงสร้าง ลำดับ และย่อหน้าเดิม + บอกว่าแก้ตรงไหน |
45
+ | `เลียนสไตล์` (match style) | "เขียนให้เหมือนที่เราเขียน" "ใช้สำนวนแบบตัวอย่างนี้" หรือส่งงานเก่าของตัวเองมาพร้อมร่างหรือโจทย์ | ข้อความที่เขียนตามสำนวนของผู้ใช้ + โปรไฟล์สำนวนย่อ + สิ่งที่ปรับ |
46
+
47
+ ถ้าคำขอกำกวมระหว่าง `เขียนใหม่` กับ `แก้เฉพาะจุด` ให้เลือก `แก้เฉพาะจุด` เพราะเปลี่ยนน้อยกว่าและผู้ใช้ขอเพิ่มทีหลังได้
48
+
49
+ `เลียนสไตล์` รับงานได้สองแบบ คือ**ร่าง**ที่จะเขียนใหม่ (มักเป็นข้อความที่ AI ร่างไว้) หรือ**โจทย์**ว่าจะบอกอะไร (เช่น หัวข้อสั้นๆ ไม่กี่ข้อ) ถ้าผู้ใช้ส่งตัวอย่างมาอย่างเดียว ให้ทำโปรไฟล์ แล้วถามว่าจะให้เขียนอะไร ถ้าผู้ใช้ส่งงานเก่าของตัวเองมาพร้อมร่าง ให้ใช้โหมดนี้แม้ไม่ได้บอกชื่อโหมด
50
+
51
+ ## ขั้นตอน
52
+
53
+ ทำ 4 ขั้นตามลำดับทุกครั้ง โหมด `เลียนสไตล์` เริ่มที่ขั้นที่ 0
54
+
55
+ ### ขั้นที่ 0: ทำโปรไฟล์สำนวน (เฉพาะ `เลียนสไตล์`)
56
+
57
+ 1. ดูตัวอย่างตาม `style.md` หัวข้อ "ตัวอย่างที่ใช้ได้" ว่าเป็นงานของใคร ตรงประเภทกับงานไหม มีพอไหม และดูเป็นข้อความที่ AI เขียนหรือเปล่า
58
+ 2. ทำโปรไฟล์ตามตารางใน `style.md` ทุกข้อมีหลักฐานจากตัวอย่าง
59
+ 3. ถ้าผู้ใช้ส่งโปรไฟล์ที่เคยทำไว้มาแทนตัวอย่าง ใช้ตามนั้นได้เลย
60
+
61
+ ถ้าจุดประสงค์คือปลอมเป็นคนอื่นหรือหลบ detector ให้หยุดแล้วบอกผู้ใช้ตาม `style.md` หัวข้อ "เมื่อตัวอย่างเป็นงานของคนอื่น"
62
+
63
+ ### ขั้นที่ 1: ระบุระดับภาษา
64
+
65
+ 1. ถ้าผู้ใช้ระบุระดับหรือช่องทาง (เช่น "จะโพสต์เฟซ" "ส่งอีเมลหาลูกค้า") ให้ใช้ตามนั้น
66
+ 2. ถ้าไม่ระบุ ให้เดาจากเนื้อหาและผู้รับ ตามตารางใน `registers.md` แล้วบอกในผลลัพธ์ว่าเลือกระดับไหน
67
+ 3. ถ้าเดาไม่ได้จริงๆ ให้ถาม**คำถามเดียว** เช่น "ข้อความนี้ส่งถึงใครครับ" แล้วรอคำตอบ
68
+ 4. ดูคำลงท้ายในต้นฉบับ (ครับ / ค่ะ / ไม่มี) และจำไว้ใช้ในขั้นที่ 3
69
+ 5. โหมด `เลียนสไตล์`: ใช้ระดับภาษาและคำลงท้ายตามโปรไฟล์ ถ้าขัดกับร่าง ให้ยึดโปรไฟล์ เพราะตัวอย่างคืองานที่ผู้ใช้เขียนเอง ถ้าคำลงท้ายในร่างเป็นคนละเพศกับตัวอย่าง ให้ใช้ตามตัวอย่าง แล้วบอกในหมายเหตุ
70
+
71
+ ระดับภาษา 4 แบบ ใช้ชื่อเดียวกับที่เรียนในวิชาภาษาไทย (ไม่รวมระดับพิธีการ ซึ่งอยู่นอกขอบเขต):
72
+
73
+ | ระดับ | ใช้กับ | ลักษณะ |
74
+ |---|---|---|
75
+ | `กันเอง` | แชตกับเพื่อน คนในครอบครัว คนสนิท | ประโยคสั้น ละประธานได้ คำลงท้ายตามความสัมพันธ์ |
76
+ | `ไม่เป็นทางการ` | โพสต์โซเชียล บล็อก แชตกับหัวหน้าหรือเพื่อนร่วมงาน | อ่านสบาย ไม่ใช้ศัพท์ทางการเกิน |
77
+ | `กึ่งทางการ` | อีเมลงาน ข้อความถึงลูกค้า | สุภาพ กระชับ ไม่แข็ง |
78
+ | `ทางการ` | รายงาน หนังสือราชการ เอกสารวิชาการ | ไม่ใช้ภาษาพูด แต่ไม่ยืดยาด |
79
+
80
+ ห้ามยกระดับภาษาให้สูงกว่าต้นฉบับ เว้นแต่ผู้ใช้ขอ หรือระดับเดิมไม่ตรงกับช่องทาง (TH16)
81
+
82
+ ### ขั้นที่ 2: ตรวจรูปแบบ
83
+
84
+ อ่านข้อความทั้งชิ้น แล้วไล่หารูปแบบตาม `patterns.md` ทีละหมวด:
85
+
86
+ 1. **ประโยค:** TH03 ได้ทำการ/มีการ, TH04 "ถูก" แบบแปล, TH05 ซึ่งต่อกันยาว, TH07 สำนวนแปล, TH08 "มัน", TH23 กรอบประโยคว่าง, TH25 "ไม่ใช่แค่... แต่คือ..."
87
+ 2. **คำ:** TH02 การ/ความ, TH09 คำโฆษณา, TH10 คำขยาย, TH19 ทับศัพท์, TH20 กั๊กซ้อน, TH21 สามารถ...ได้, TH22 ของซ้อน, TH24 ภาษาสวยหรู
88
+ 3. **น้ำเสียงและระดับภาษา:** TH14 "คุณ" ถี่, TH15 คำลงท้าย, TH16 ระดับไม่ตรงช่องทาง, TH26 คำพูดผู้ช่วย AI
89
+ 4. **โครงสร้างและรูปแบบ:** TH01 เปิดลอยๆ, TH06 คำเชื่อมทุกประโยค, TH11 กฎสามข้อ, TH12 ปิดสรุปซ้ำ, TH13 คำถามเปิดแบบโฆษณา, TH17 รูปแบบแชตบอต
90
+ 5. **เครื่องหมาย:** TH18 จุลภาค, TH27 จุดท้ายประโยค, TH28 ขีดยาวและอัฒภาค, TH29 อีโมจิและ "!"
91
+
92
+ **ข้ามส่วนเหล่านี้ทั้งตอนตรวจและตอนแก้:** ข้อความในเครื่องหมายคำพูดที่เป็นคำพูดของคนอื่น โค้ด ลิงก์ ชื่อเฉพาะ และช่องว่างแบบ template ที่ผู้ใช้ตั้งใจเว้นไว้ (เช่น `[ชื่อลูกค้า]`) ไม่นับรูปแบบที่อยู่ในส่วนเหล่านี้ เช่น คำอังกฤษในคำพูดของลูกค้าไม่ใช่ TH19
93
+
94
+ สำหรับแต่ละจุดที่เจอ ให้เทียบกับ "ไม่ต้องแก้เมื่อ" ของรูปแบบนั้นก่อนนับว่าเป็นปัญหา ตัดสินจากความถี่และการเกิดร่วมกัน คำเดียวที่เจอครั้งเดียวมักไม่ใช่ปัญหา
95
+
96
+ ถ้าโหมดเป็น `ตรวจ` ให้ข้ามไปทำผลลัพธ์เลย ไม่ต้องทำขั้นที่ 3–4 โหมด `เลียนสไตล์` ที่เขียนจากโจทย์ไม่มีร่างให้ตรวจ ข้ามไปขั้นที่ 3
97
+
98
+ ### ขั้นที่ 3: แก้
99
+
100
+ - เริ่มจากจุดที่กระทบการอ่านมากที่สุด เช่น ประโยคเปิด สำนวนแปล ระดับภาษาผิดช่องทาง แล้วค่อยไล่ไปจุดเล็ก
101
+ - อ่านทั้งประโยคก่อนแก้ บางจุดต้องเรียงประโยคใหม่ ไม่ใช่แค่เปลี่ยนคำตาม `word-swaps.md`
102
+ - ใช้คำลงท้ายตามกฎใน `registers.md`: คงเพศของผู้เขียน ไม่ใส่ทุกประโยค ห้ามเดาเพศจากชื่อ ถ้าต้นฉบับไม่มีคำลงท้าย ไม่ต้องหยุดถามก่อน ให้ส่งผลลัพธ์แบบไม่มีคำลงท้ายเพศ แล้วถามในหมายเหตุว่าต้องการให้เติมไหม
103
+ - โหมด `แก้เฉพาะจุด`: แก้เฉพาะจุดที่เจอในขั้นที่ 2 คงลำดับประโยค ย่อหน้า หัวข้อ และรายการเดิม
104
+ - โหมด `เขียนใหม่`: เรียงใหม่ได้ ตัดย่อหน้าที่ซ้ำได้ แต่ข้อมูลทุกข้อต้องอยู่ครบ
105
+ - โหมด `เลียนสไตล์`: เขียนตาม `style.md` หัวข้อ "เขียนตามโปรไฟล์" และ "สไตล์กับรูปแบบใน `patterns.md`" ข้อมูลทุกข้อในร่างหรือโจทย์ต้องอยู่ครบ และไม่มีอะไรจากตัวอย่างติดมา
106
+ - **อย่าสร้างรูปแบบใหม่ระหว่างแก้** เช่น ตัด "นอกจากนี้" แล้วไปใส่ "อีกทั้ง" แทน หรือเติมคำโฆษณาให้ดูมีชีวิตชีวา
107
+
108
+ ### ขั้นที่ 4: ตรวจทานกับข้อห้าม
109
+
110
+ ก่อนส่งผลลัพธ์ เทียบต้นฉบับกับข้อความใหม่ทีละข้อตามรายการด้านล่าง ถ้าข้อไหนไม่ผ่านให้กลับไปแก้
111
+
112
+ - [ ] ตัวเลข วันที่ เวลา ราคา หน่วย เหมือนเดิมทุกตัว
113
+ - [ ] ชื่อคน ชื่อแบรนด์ ชื่อสินค้า ชื่อสถานที่ เหมือนเดิม
114
+ - [ ] ข้อความในเครื่องหมายคำพูดที่เป็นคำพูดของคนอื่น ลิงก์ โค้ด แฮชแท็ก ไม่ถูกแตะ
115
+ - [ ] ไม่มีข้อมูลใหม่ที่ต้นฉบับไม่มี (ไม่เติมเหตุผล ตัวอย่าง หรือคำโฆษณาเอง)
116
+ - [ ] ไม่มีคำผิดหรือไวยากรณ์ผิดที่จงใจใส่
117
+ - [ ] ความมั่นใจของข้อความเท่าเดิม (ต้นฉบับบอก "อาจ" ผลลัพธ์ต้องไม่กลายเป็น "แน่นอน")
118
+ - [ ] คำลงท้ายเพศเดียวกับต้นฉบับ (`เลียนสไตล์`: เพศเดียวกับตัวอย่าง)
119
+ - [ ] ความยาวไม่เกินต้นฉบับ (ส่วนใหญ่ควรสั้นลง) ถ้าเขียนจากโจทย์ ไม่ยาวกว่าชิ้นที่ยาวที่สุดในตัวอย่าง และสั้นกว่าได้ถ้าโจทย์มีข้อมูลน้อย
120
+ - [ ] ไม่มีรูปแบบ AI ใหม่เกิดขึ้นในข้อความที่แก้ ยกเว้นลักษณะที่อยู่ในโปรไฟล์สำนวน
121
+ - [ ] (`เลียนสไตล์`) ไม่มีเรื่อง ข้อมูล หรือประโยคจากตัวอย่างติดมา
122
+ - [ ] (`เลียนสไตล์`) ลักษณะที่ใช้ทุกข้อมีในโปรไฟล์ และไม่ถี่กว่าในตัวอย่าง
123
+
124
+ ## ข้อห้าม
125
+
126
+ ใช้ทุกครั้ง ไม่ว่าผู้ใช้จะขอแบบไหน
127
+
128
+ 1. ห้ามเปลี่ยนข้อเท็จจริง ตัวเลข วันที่ ชื่อคน ชื่อแบรนด์ ราคา
129
+ 2. ห้ามแตะข้อความในเครื่องหมายคำพูดที่เป็นคำพูดของคนอื่น ลิงก์ โค้ด และชื่อเฉพาะ
130
+ 3. ห้ามเพิ่มข้อมูลที่ต้นฉบับไม่มี (ถ้าเขียนจากโจทย์ ต้นฉบับคือโจทย์)
131
+ 4. ห้ามจงใจใส่คำผิดหรือไวยากรณ์ผิด
132
+ 5. ถ้าข้อความเป็นธรรมชาติอยู่แล้ว ให้บอกตรงๆ และแก้น้อยที่สุด
133
+ 6. ความยาวผลลัพธ์ไม่ควรยาวกว่าต้นฉบับ
134
+ 7. ห้ามเขียนให้คนอ่านเชื่อว่าคนอื่นเป็นคนเขียน ถ้าคนนั้นไม่รู้หรือไม่ได้อนุญาต
135
+
136
+ ถ้าการแก้รูปแบบใดทำให้ต้องละเมิดข้อใดข้อหนึ่ง ให้คงรูปแบบนั้นไว้ และบอกผู้ใช้ในสรุป
137
+
138
+ ## รูปแบบคำตอบ
139
+
140
+ ใช้รหัสรูปแบบ (THxx) ทุกครั้งที่อ้างถึงสิ่งที่เปลี่ยนหรือสิ่งที่เจอ
141
+
142
+ ### ภาษาของคำตอบ
143
+
144
+ - **ข้อความที่เกลาหรือเขียนเป็นภาษาไทยเสมอ**
145
+ - **ส่วนที่อธิบายให้ผู้ใช้อ่าน ใช้ภาษาเดียวกับคำขอ:** ระดับภาษา สรุปสิ่งที่เปลี่ยน รายการที่ตรวจเจอ โปรไฟล์สำนวน หมายเหตุ คำถาม และหัวข้อในแบบคำตอบด้านล่าง ถ้าผู้ใช้สั่งเป็นภาษาอังกฤษ ให้เขียนส่วนนี้เป็นภาษาอังกฤษทั้งหมด เช่น `สิ่งที่เปลี่ยน:` เป็น `Changes:` ถ้าสั่งเป็นภาษาไทยหรือไทยปนอังกฤษ ใช้ภาษาไทย
146
+ - **คำไทยที่ยกมาอ้างในคำอธิบาย** คงเป็นภาษาไทย แล้วบอกความหมายในวงเล็บ เช่น "ได้ทำการ" (stiff "carried out the act of") รหัส THxx คงไว้เหมือนเดิม
147
+ - **คำแปลกลับ:** ถ้าผู้ใช้สั่งเป็นภาษาอื่นที่ไม่ใช่ไทย หรือบอกว่าอ่านไทยไม่ออก ให้แนบคำแปลกลับเป็นภาษาของผู้ใช้ไว้ท้ายคำตอบทุกครั้ง ใต้หัวข้อ `Back-translation:` เขียนคำแปลกลับตามความหมายจริงของภาษาไทย ไม่ต้องเกลาให้สวย เพราะมีไว้ให้ผู้ใช้ตรวจว่าความหมายยังตรง และบอกสิ่งที่ภาษาไทยใส่เพิ่มไว้ในวงเล็บ เช่น `(polite, female speaker)` `(calls him "older brother")`
148
+
149
+ ### `เขียนใหม่`
150
+
151
+ ```
152
+ [ข้อความที่แก้แล้ว]
153
+
154
+ ---
155
+ ระดับภาษา: กึ่งทางการ
156
+ สิ่งที่เปลี่ยน:
157
+ - ตัด "ได้ทำการ" (TH03) 2 จุด
158
+ - เปลี่ยนประโยคแปลตรง "ทำให้แน่ใจว่า" เป็น "ตรวจให้ดีว่า" (TH07)
159
+ - ...
160
+ ```
161
+
162
+ - สรุปสิ่งที่เปลี่ยน 3–5 ข้อ รวมจุดที่เป็นรูปแบบเดียวกันไว้ในข้อเดียว
163
+ - ถ้าเดาระดับภาษาเอง ให้เขียนว่า `ระดับภาษา: ไม่เป็นทางการ (เดาจากเนื้อหา)`
164
+ - ถ้าเลือกคำลงท้ายเอง หรือคงรูปแบบไว้เพราะติดข้อห้าม ให้เพิ่มหัวข้อ `หมายเหตุ:` ต่อท้าย
165
+ - ถ้าไม่มีอะไรต้องแก้ ให้ส่งข้อความเดิมพร้อม `สิ่งที่เปลี่ยน: ไม่มี ข้อความนี้อ่านเป็นธรรมชาติอยู่แล้ว` ห้ามหาอะไรมาแก้ให้ครบ 3 ข้อ
166
+
167
+ ### `ตรวจ`
168
+
169
+ ```
170
+ ระดับภาษา: ไม่เป็นทางการ (เดาจากเนื้อหา)
171
+ พบ 4 จุด:
172
+
173
+ 1. "ในยุคดิจิทัลปัจจุบัน" (TH01) ประโยคเปิดลอยๆ ใช้กับเรื่องไหนก็ได้
174
+ 2. "ได้มีการปรับปรุง" (TH03) ใส่ "ได้มีการ" ทั้งที่ประโยคบอกแล้วว่าใครทำ
175
+ 3. "นอกจากนี้" / "ยิ่งไปกว่านั้น" / "อย่างไรก็ตาม" (TH06) คำเชื่อมติดกัน 3 ประโยค
176
+ 4. "หวังว่าบทความนี้จะเป็นประโยชน์" (TH12) ปิดท้ายแบบสูตร
177
+
178
+ ภาพรวม: [1–2 ประโยค ว่าข้อความดูเป็น AI มากน้อยแค่ไหน และควรแก้จุดไหนก่อน]
179
+ ```
180
+
181
+ - ยกข้อความต้นฉบับมาตรงตัว เพื่อให้ผู้ใช้หาเจอ
182
+ - เรียงตามลำดับที่ปรากฏในข้อความ
183
+ - ไม่เขียนข้อความใหม่ทั้งชิ้น ถ้าผู้ใช้ต้องการให้แก้ ให้ถามหรือรอคำขอ
184
+ - ถ้าไม่เจออะไร ให้เขียน `ไม่พบจุดที่ดูเป็น AI` แทนรายการ แล้วบอกภาพรวมสั้นๆ
185
+ - ถ้าข้ามส่วนที่มีรูปแบบเพราะเป็นคำพูดที่ยกมา โค้ด ลิงก์ หรือกรณียกเว้น ให้บอกในบรรทัด `ไม่นับ:` สั้นๆ
186
+
187
+ ### `แก้เฉพาะจุด`
188
+
189
+ ```
190
+ [ข้อความเดิมที่แก้เฉพาะจุด]
191
+
192
+ ---
193
+ ระดับภาษา: กึ่งทางการ
194
+ จุดที่แก้:
195
+ - "ทำการตรวจสอบ" → "ตรวจ" (TH02)
196
+ - "สามารถติดต่อได้" → "ติดต่อได้" (TH21)
197
+ - ...
198
+ ```
199
+
200
+ - แสดงทุกจุดที่แก้ ไม่ต้องจำกัด 3–5 ข้อ
201
+ - ถ้าไม่มีอะไรต้องแก้ ให้เขียน `จุดที่แก้: ไม่มี`
202
+ - ถ้าเจอรูปแบบแต่ไม่ได้แก้เพราะอยู่ในกรณียกเว้น ไม่ต้องรายงาน
203
+
204
+ ### `เลียนสไตล์`
205
+
206
+ ```
207
+ [ข้อความที่เขียนตามสไตล์]
208
+
209
+ ---
210
+ โปรไฟล์สำนวน (จากตัวอย่าง 3 ชิ้น):
211
+ - เรียกตัวเองว่า "ผม" ไม่เรียกคนอ่านตรงๆ
212
+ - "ครับ" ครั้งเดียวท้ายโพสต์
213
+ - บรรทัดละวรรค เว้นบรรทัดทุก 2–3 บรรทัด
214
+ - ไม่มีอีโมจิ หัวข้อ หรือ "!"
215
+ สิ่งที่ปรับจากร่าง:
216
+ - ตัดหัวข้อและอีโมจิ (TH17, TH29) เพราะตัวอย่างไม่มี
217
+ - ...
218
+ ไม่ได้เลียน:
219
+ - ...
220
+ ```
221
+
222
+ - โปรไฟล์แสดงแค่ 4–6 ข้อที่เห็นชัดที่สุด ถ้าผู้ใช้ขอโปรไฟล์เต็มไว้ใช้ครั้งหน้า ให้ส่งตามแบบใน `style.md` หัวข้อ "เก็บโปรไฟล์ไว้ใช้ครั้งหน้า"
223
+ - ถ้าเขียนจากโจทย์ ใช้หัวข้อ `เขียนจาก:` สรุปโจทย์สั้นๆ แทน `สิ่งที่ปรับจากร่าง:`
224
+ - `ไม่ได้เลียน:` ใส่เฉพาะเมื่อมีลักษณะที่ตั้งใจไม่ตาม เช่น สำนวนแปลที่ผู้เขียนใช้ประจำ หรือคำที่สะกดผิด ถ้าไม่มีให้ตัดหัวข้อนี้
225
+ - ถ้าตัวอย่างน้อย ปนหลายประเภท หรือดูเป็นข้อความที่ AI เขียน ให้บอกใน `หมายเหตุ:` ต่อท้าย
226
+
227
+ ## กรณีพิเศษ
228
+
229
+ - **ข้อความเป็นธรรมชาติอยู่แล้ว:** บอกตรงๆ ว่า "ข้อความนี้อ่านเป็นธรรมชาติอยู่แล้ว" แก้เฉพาะจุดที่ชัดจริงๆ หรือไม่แก้เลย อย่าแก้เพื่อให้ดูว่าได้ทำอะไร
230
+ - **ข้อความมีช่องว่างที่ยังไม่กรอก** เช่น `[ชื่อร้าน]` `[วันที่]`: คงไว้และห้ามเติมเองเสมอ ถ้าดูเป็น template ที่ผู้ใช้ตั้งใจเว้นไว้ (เช่น อีเมลตอบลูกค้าที่ขึ้นต้น `เรียน [ชื่อลูกค้า]`) ไม่ต้องนับเป็นรูปแบบ ถ้าดูเป็นของที่ AI ลืมกรอก ให้นับเป็น TH26 และแจ้งผู้ใช้
231
+ - **ข้อความยาว:** แก้ทีละส่วนตามหัวข้อหรือย่อหน้าเดิม และตรวจกับข้อห้ามทั้งชิ้นตอนจบ
232
+ - **ข้อความสั้นมาก** (หนึ่งสองประโยค): ไม่ต้องมีสรุป 3 ข้อ บอกสิ่งที่เปลี่ยนเท่าที่มี
233
+ - **คำลงท้ายปนสองเพศ:** อาจเป็นแชตหลายคน หรือแอดมินหลายคน ถ้าไม่แน่ใจให้คงไว้และถาม
234
+ - **ผู้ใช้ส่งงานเก่าของตัวเองมาเป็นตัวอย่างสไตล์:** ใช้โหมด `เลียนสไตล์` ข้อห้ามทุกข้อยังใช้เหมือนเดิม
235
+ - **ข้อความมีภาษาอังกฤษปนแบบที่ผู้เขียนตั้งใจ** (เช่น แชตในบริษัทเทคโนโลยี): คงไว้ ดู TH19
236
+ - **ผู้เขียนไม่ใช่คนไทย** (ผู้ใช้บอกเอง หรือสั่งเป็นภาษาอื่นแล้วส่งภาษาไทยที่เขียนเองมา): ข้อความมักมีไวยากรณ์ผิดหรือใช้คำผิดความหมาย ซึ่งไม่ใช่รูปแบบ TH ให้แก้ด้วย เพราะคนไทยอ่านแล้วสะดุดยิ่งกว่ารูปแบบ AI ใส่ไว้ในสรุปเป็นข้อแยก ไม่ต้องมีรหัส บอกสั้นๆ ว่าผิดตรงไหน ส่วนคำลงท้าย ถ้าไม่รู้เพศของผู้เขียน ให้ถามตามกฎเดิม
237
+
238
+ ## ตัวอย่างสั้น
239
+
240
+ **ผู้ใช้:** ช่วยเกลาให้หน่อย จะส่ง LINE หาหัวหน้า "เรียนพี่ต้น ขอแจ้งให้ทราบว่าผมได้ทำการส่งรายงานประจำเดือนเรียบร้อยแล้ว ซึ่งได้มีการปรับปรุงตามที่พี่แนะนำ หากมีข้อสงสัยเพิ่มเติม สามารถสอบถามได้เลยครับ"
241
+
242
+ **ผลลัพธ์:**
243
+
244
+ ```
245
+ พี่ต้นครับ ส่งรายงานประจำเดือนแล้ว ปรับตามที่พี่แนะนำแล้ว ถ้าสงสัยตรงไหนถามได้เลยครับ
246
+
247
+ ---
248
+ ระดับภาษา: ไม่เป็นทางการ (ส่ง LINE หาหัวหน้า)
249
+ สิ่งที่เปลี่ยน:
250
+ - เปลี่ยนภาษาหนังสือ "เรียน" "ขอแจ้งให้ทราบว่า" เป็นภาษาแชต (TH16)
251
+ - ตัด "ได้ทำการ" และ "ได้มีการ" (TH03)
252
+ - ตัดโซ่ "ซึ่ง" แยกเป็นประโยคสั้น (TH05)
253
+ - เปลี่ยนประโยคปิดแบบสูตรเป็นภาษาพูด (TH12, TH21)
254
+ ```
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "humanizer-th"
3
+ short_description: "เกลาภาษาไทยให้อ่านเหมือนคนไทยเขียนเอง"
4
+ default_prompt: "ใช้ $humanizer-th เกลาข้อความนี้ให้เป็นธรรมชาติ ข้อเท็จจริงต้องเหมือนเดิม"