สิ่งที่คุณพูดไม่ควรหายไปเฉย ๆ
คุณพูดความคิดยาว ๆ การแทรกข้อความล้มเหลว แล้วข้อความหายไป ทำไมแอปพิมพ์ด้วยเสียงทำคำหาย และประวัติในเครื่องแบบข้อความล้วนที่ Keebye เก็บไว้
เก้าสิบวินาทีของ "ตรงกับที่ฉันคิดเป๊ะ" — คำอธิบาย PR เต็ม ๆ คำตอบที่ประณีตถึงลูกค้า — แล้วก็มีอะไรเล็ก ๆ ผิดพลาดขึ้นในจังหวะที่แทรกข้อความพอดี หน้าต่างเป้าหมายไม่ได้โฟกัสอยู่ การวางไม่ติด แอปสะดุด แล้วข้อความก็_หายไป_ดื้อ ๆ ไม่ได้ถูกบันทึกไว้ที่ไหน ไม่ได้นั่งอยู่ในบัฟเฟอร์ หายไป ไปป์ไลน์การพิมพ์ด้วยเสียงตัวไหนที่ปฏิบัติกับการแทรกข้อความเสมือนเป็นสำเนาเดียวของข้อความที่ถอดได้ ก็มีโหมดความล้มเหลวนี้
สิ่งที่ตามมาคือความโกรธที่เฉพาะเจาะจงและดูเกินเหตุ และผมคิดว่ามันชอบธรรม วินาทีที่เสียไปไม่ใช่ประเด็น ประเด็นคือคุณทำงานไปแล้ว — คุณเรียบเรียงความคิด คุณพูดมันออกมาได้ดี เครื่องก็ถอดมันได้ถูกด้วยซ้ำ — แล้วเครื่องมือก็ทำลายผลลัพธ์นั้นทิ้งเพราะปัญหาการส่งมอบ เทคที่สองไม่เคยดีเท่าเทคแรก ใครที่เคยพูดย่อหน้าเดิมซ้ำจากความทรงจำย่อมรู้ว่าคุณผลิตมันซ้ำไม่ได้ คุณผลิตญาติที่แบนราบกว่าของมันออกมา
ผมเองก็เคยทำสิ่งที่พูดหายแบบนี้ ในเครื่องมืออื่น ก่อนที่ Keebye จะมีอยู่ มันคือหนึ่งในเหตุฉุกเฉินเล็ก ๆ ที่แอปนี้ถูกสร้างขึ้นมารอบ ๆ
ทำไมข้อความที่พูดออกมาถึงหายไปเฉย ๆ
นี่ไม่ใช่บั๊กของผู้ให้บริการรายใด มันคือการตัดสินใจเชิงออกแบบระดับหมวดหมู่ และคุ้มค่าที่จะเข้าใจว่าทำไมหมวดหมู่นี้ถึงตัดสินใจแบบนั้น
แอปพิมพ์ด้วยเสียงคือท่อ ไม่ใช่โปรแกรมแก้ไขข้อความ เสียงเข้าปลายหนึ่ง ข้อความออกอีกปลาย ไปลงในหน้าต่างของคนอื่น — เทอร์มินัล ช่อง Slack เอกสาร Google มันไม่มีเอกสารของตัวเอง ซึ่งเป็นสิ่งที่ทำให้เครื่องมือพวกนี้ล่องหนและรวดเร็วพอดี แต่มันแปลว่าข้อความที่ถอดได้มักมีอยู่แค่ชั่วขณะเดียว: ตอนแทรก และการแทรกคือขั้นตอนที่เปราะบางที่สุดขั้นเดียวในไปป์ไลน์ทั้งหมด มันขึ้นอยู่กับว่าหน้าต่างไหนโฟกัสอยู่ในมิลลิวินาทีที่ส่งมอบ ขึ้นอยู่กับการที่คลิปบอร์ดไม่ถูกแอปอื่นแย่งชิง ขึ้นอยู่กับว่าสิทธิ์ Accessibility อารมณ์ดีไหม ขึ้นอยู่กับว่าแอปเป้าหมายรับอินพุตแบบสังเคราะห์หรือเปล่า เมื่ออะไรในนั้นล้มเหลว ท่อล้วน ๆ ก็ไม่มีอะไรอยู่ข้างหลัง น้ำหกลงพื้นไปแล้ว
ยังมีเหตุผลเชิงหลักการที่ทำให้เครื่องมือต่าง ๆ ขี้อายเรื่องการเก็บสำเนา: บันทึกของทุกสิ่งที่คุณเคยพูดนั้นอ่อนไหว สิ่งที่คุณพูดคือข้อความของคุณ prompt ของคุณ การตัดสินใจที่ยังก่อตัวไม่เสร็จของคุณ ผู้ให้บริการที่เก็บมันไว้ — โดยเฉพาะที่ไหนก็ตามที่ใกล้คลาวด์ — ได้สร้างภาระรับผิดขึ้นมา และวิธีเลี่ยงภาระนั้นที่ง่ายที่สุดคือไม่เก็บอะไรเลย ผู้ใช้รับความระมัดระวังนั้นมาในรูปของความชั่วคราว: การพิมพ์ด้วยเสียงที่ปลอดภัยที่สุดในมุมของผู้ให้บริการ คือครั้งที่ไม่เคยมีอยู่
ผมเข้าใจตรรกะนั้น ผมแค่คิดว่ามันปรับให้เหมาะกับฝ่ายที่ผิด โหมดความล้มเหลวของการเก็บประวัติในเครื่องคือไฟล์หนึ่งไฟล์บนดิสก์ของคุณเอง โหมดความล้มเหลวของการไม่เก็บอะไรเลยคืองานของคุณระเหยไปเพราะหน้าต่างหลุดโฟกัส
Keebye เก็บอะไรไว้ และเก็บที่ไหน
Keebye จึงเก็บประวัติไว้ เปิดตามค่าเริ่มต้น และนี่คือความหมายของมันเป๊ะ ๆ — ไม่มากกว่านั้น ไม่น้อยกว่านั้น
เมื่อเปิดประวัติ ทุกการพูดที่เสร็จสมบูรณ์จะถูกเขียนลงฐานข้อมูล SQLite ในเครื่องบน Mac ของคุณ (rusqlite โหมด WAL สำหรับคนที่สนใจท่อภายใน) ไฟล์อยู่ในไดเรกทอรี app-support — com.keebye.app/keebye.db — และมันไม่เคยออกจากเครื่อง ไม่มีการซิงก์ ไม่มีการอัปโหลด ไม่มีบัญชีที่มันผูกอยู่ด้วย มันคือไฟล์หนึ่งไฟล์ บนดิสก์ของคุณ เป็นของคุณ
การกู้คืนถูกออกแบบรอบสองวิธีที่คุณทำข้อความหายจริง ๆ กรณีที่พบบ่อย — การแทรกเพิ่งล้มเหลวไปเมื่อวินาทีก่อน — มีเส้นทางที่เร็วที่สุด: เมนูในเมนูบาร์มีรายการ Copy Last Dictation คลิกมัน แล้วสิ่งที่คุณพูดล่าสุดจะอยู่ในคลิปบอร์ด วางมันไปที่ที่มันควรไป แล้วเดินหน้าต่อ กรณีที่พบน้อยกว่า — "ฉันพูดอะไรไว้ตอนวันอังคารและอยากได้มันคืน" — ไปผ่าน Dictation History… หน้าต่างที่มีรายการเต็ม: ค้นหาได้ ลบทีละรายการได้ และล้างทั้งหมดได้เมื่อคุณอยากเช็ดกระดานให้เกลี้ยง
การเก็บรักษาคือ 30 วัน บังคับใช้อัตโนมัติ การตัดทิ้งรันตอนฐานข้อมูลเปิด และรันอีกครั้งหลังการแทรกทุกครั้ง หน้าต่างเวลาจึงเป็น 30 วันจริง ๆ ไม่ใช่ "30 วัน โดยประมาณ ตอนไหนที่เราว่าง" และถ้าคุณอยากได้พฤติกรรมแบบชั่วคราวเหมือนเดิม — บางคนควรเลือกแบบนั้น และผมจะพูดถึงว่าใคร — ประวัติเป็นการตั้งค่าตัวหนึ่ง (history_enabled) และการปิดมันแปลว่าไม่มีอะไรถูกเขียนลงไปเลย
ข้อความเท่านั้น ไม่มีเสียง
ส่วนที่ผมใส่ใจที่สุดคือสิ่งที่ประวัตินี้_ไม่ใช่_ มันเป็นข้อความเท่านั้น สคีมาประวัติของ Keebye ไม่มีคอลัมน์เสียง — ไม่ใช่การตั้งค่าเก็บเสียงที่ตั้งค่าเริ่มต้นเป็นปิด แต่คือไม่มีคอลัมน์ ตัวไฟล์บันทึกเสียงไม่เคยถูกเก็บ นั่นเป็นเรื่องเชิงโครงสร้าง โดยการออกแบบ: ข้อความที่ถอดได้ว่า "ตอบ Andrei ไปว่าการย้ายระบบเลื่อนไปหนึ่งสัปดาห์" ก็อ่อนไหวพอแล้ว ส่วนเสียงของคุณที่พูดมันออกมา พร้อมเวลากำกับ เป็นวัตถุคนละระดับ และผมไม่อยากให้แอปมีความสามารถที่จะสะสมมันไว้
อีกรายละเอียดที่สำคัญกว่าจำนวนคำของมัน: ถ้าคุณพูดลงในช่องปลอดภัย — อินพุตแบบรหัสผ่าน — ประวัติจะไม่บันทึกมัน ที่เดียวที่แม้แต่ร่องรอยที่เป็นข้อความก็ยังผิด คือที่เดียวที่เราไม่เก็บมันไว้
นี่คือท่าทีเดียวกับส่วนที่เหลือของแอป — การแปลงเสียงเป็นข้อความรันบนเครื่อง ซึ่งเราเขียนถึงไว้ในบริบทของการพิมพ์ด้วยเสียงในภาษาของตัวเอง — แต่ประวัติคือจุดที่ท่าทีนั้นถูกทดสอบ เพราะประวัติเป็นที่เดียวที่ Keebye เก็บคำของคุณไว้ถาวรเลย ในเครื่อง ข้อความล้วน ลบตัวเอง รู้สึกเหมือนเป็นรูปร่างที่คู่ควรกับการเปิดไว้เป็นค่าเริ่มต้น
ข้อจำกัดที่ต้องพูดตรง ๆ
หัวข้อพูดตรง ๆ เหมือนเคย
คุณฟังย้อนหลังไม่ได้ ข้อความล้วนมีสองคม ถ้าการถอดเสียงผิด — โมเดลได้ยินชื่อผิด ทำตัวเลขเละ — ประวัติก็เก็บข้อความที่ผิดนั้นไว้อย่างซื่อสัตย์ และเสียงที่จะตัดสินข้อพิพาทได้ก็หายไปโดยการออกแบบ สำหรับกรณีกู้คืนส่วนใหญ่เรื่องนี้ไม่สำคัญ เพราะความล้มเหลวอยู่ที่การแทรก ไม่ใช่ที่ข้อความ แต่ถ้าคุณอยากให้ประวัติการพิมพ์ด้วยเสียงเป็นคลังบันทึกเสียง มันไม่ใช่แบบนั้น โดยตั้งใจ
สามสิบวันคือสามสิบวัน ประวัติคือตาข่ายนิรภัย ไม่ใช่คลังจดหมายเหตุ ถ้าสิ่งที่พูดไว้สำคัญเกินหนึ่งเดือน บ้านของมันคือเอกสารที่คุณพูดมันลงไป ไม่ใช่ฐานข้อมูลของแอป การตัดทิ้งไม่ถามก่อน
ในเครื่องเท่านั้นก็คือในเครื่องเท่านั้น ประวัติของคุณไม่ตามคุณข้ามเครื่อง สิ่งที่คุณพูดไว้บนเดสก์ท็อปกู้คืนจากแล็ปท็อปไม่ได้ ผมนำเสนอมันเป็นฟีเจอร์ด้านความเป็นส่วนตัว และมันก็เป็นแบบนั้นจริง — ไม่มีอะไรซิงก์เพราะไม่มีอะไรถูกส่ง — แต่ผมจะไม่แกล้งทำเป็นว่ามันไม่ใช่ข้อจำกัดด้วย มันเป็นทั้งสองอย่าง คุณควรรู้ว่ามันเป็นอย่างไหนสำหรับคุณ ก่อนจะพึ่งพามัน
และกรณีขอบ: ถ้าคุณคือคนที่แบบจำลองภัยคุกคามบอกว่า_ห้ามมีร่องรอยใด ๆ_ ให้ปิดประวัติ มันคือการตั้งค่าข้อเดียว และแอปเคารพมันอย่างเต็มที่ การเปิดไว้เป็นค่าเริ่มต้นคือตัวเลือกที่ถูกต้องสำหรับผู้ใช้ส่วนใหญ่ ที่อยากได้ย่อหน้าของวันอังคารที่แล้วคืนมามากกว่า มันไม่ควรกลายเป็นกับดักสำหรับคนที่เหลือ
งานไม่ควรมีจุดล้มเหลวจุดเดียว
เหตุผลที่ลึกกว่าที่ฟีเจอร์นี้มีอยู่: ผมรันวันของตัวเองเป็นเลนขนาน — agent กำลังสร้างงานในบางหน้าต่าง มนุษย์กำลังรออยู่ในหน้าต่างอื่น — และเสียงคือช่องทางที่ป้อนงานให้ทั้งหมด เวิร์กโฟลว์นั้นคือสมมติฐานทั้งหมดของ การขับ Claude Code ด้วยเสียงของคุณ ช่องทางที่บางครั้งทำลายสิ่งที่มันขนส่งเองไม่ใช่ช่องทางที่คุณจะสร้างวันทำงานไว้บนมัน นักพัฒนาคาดหวังเส้นทางกู้คืน — undo, log, reflog, ถังขยะ — ทว่าเวิร์กโฟลว์การพิมพ์ด้วยเสียงจำนวนมากไม่มีอะไรเทียบเท่าให้เมื่อการแทรกข้อความล้มเหลว
ถ้าคุณกำลังชั่งใจเครื่องมือในหมวดหมู่นี้ การเปรียบเทียบของเราพูดตรงไปตรงมาว่าตัวอื่นเปล่งประกายตรงไหนด้วย: Keebye เทียบกับ Superwhisper และ Keebye เทียบกับ Wispr Flow และข้อความที่หายไปมีคำบ่นพี่น้องของมันอยู่ — คำแรกของสิ่งที่คุณพูดถูกกลืนไปก่อนไมค์จะตื่น — ซึ่งเราเขียนไว้ใน ทำไมแอปพิมพ์ด้วยเสียงถึงกินคำแรกของคุณ
Keebye อยู่ในช่วงเข้าถึงล่วงหน้าสำหรับ macOS เริ่มทดลองใช้ฟรีได้ด้านล่าง พูดหนึ่งย่อหน้า จงใจพลาดหน้าต่างเป้าหมาย แล้วใช้ Copy Last Dictation เพื่อกู้ข้อความคืน โฟกัสผิดยังคงมีต้นทุนเป็นขั้นตอนการกู้คืนหนึ่งขั้น แต่มันไม่ต้องมีต้นทุนเป็นความคิดทั้งก้อนอีกต่อไป
ทำให้การพูดยาว ๆ ครั้งหน้ากู้คืนได้
เริ่มทดลองใช้ฟรี แล้วทดสอบ Copy Last Dictation ก่อนจะไว้ใจให้เสียงเขียนคำอธิบาย PR ยาว ๆ
Start free trialEarly access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.
อ่านต่อ
ทำไมแอปพิมพ์ด้วยเสียงถึงกินคำแรกของคุณ
คุณกด hotkey เริ่มพูด แล้วคำแรกก็ถูกตัดหายไป ทำไมการตัดตอนช่วงเริ่มเย็นถึงเกิดขึ้น — และไมค์ที่อุ่นอยู่แล้วบวกกับ pre-roll 500 ms ซ่อมมันอย่างไร
พูดป้อน prompt ให้ agent ขนาน ทีละเลน
การรัน coding agent พร้อมกันสองสามตัวทำให้การสั่ง prompt กลายเป็นคอขวด นี่คือเวิร์กโฟลว์เสียงสำหรับป้อนงานทุกเลนโดยไม่ต้องออกจากเลนที่คุณอยู่
ขับ Claude Code ด้วยเสียงของคุณ: การสร้างงานแบบเลนขนาน
AI coding agent ทำให้การพิมพ์กลายเป็นคอขวด นี่คือเวิร์กโฟลว์ใช้งานจริงสำหรับการพูด prompt รีวิว และคำสั่งปรับทิศทางข้ามเลน agent ขนานบน macOS