วิธีติดตั้ง Recall ให้ Claude Code จำงานบน VPS ได้แม่นยำ
Recall คือปลั๊กอินที่ช่วยให้ Claude Code จดจำสถานะงานข้ามเซสชันผ่านไฟล์ Markdown ในเครื่อง ช่วยลดการอ่านซอร์สโค้ดซ้ำและประหยัดค่า API tokens ได้อย่างมีประสิทธิภาพสูงสุด
สิ่งที่ Recall ทำเพื่อหน่วยความจำของ Claude Code
Recall เป็นปลั๊กอินของ Claude Code ที่ช่วยให้แต่ละโปรเจกต์มีหน่วยความจำข้ามเซสชันได้ โดยปลั๊กอินจะเขียนไฟล์ Markdown สองไฟล์ลงในโฟลเดอร์ .recall/ ภายในโปรเจกต์ของคุณ ได้แก่ บันทึกเหตุการณ์แบบเพิ่มข้อมูลต่อท้ายเท่านั้น (append-only log) และบทสรุปสั้นๆ ของสถานะงานล่าสุด ทั้งสองไฟล์ถูกสร้างขึ้นบนเครื่องที่คุณกำลังทำงานอยู่โดยตัวสรุปผลภาษา Python ในเครื่อง ดังนั้นหน่วยความจำนี้จึงไม่มีค่าใช้จ่ายเป็น API tokens เลย
ช่องว่างที่ปลั๊กอินนี้เข้ามาเติมเต็มนั้นมีขนาดเล็กและคงที่ หากคุณปิดเซสชันบน VPS ในวันอังคาร พอถึงวันพุธ Claude Code จะไม่ทราบข้อมูลใดๆ เกี่ยวกับวันอังคารเลย คุณต้องอธิบายโปรเจกต์ใหม่ด้วยตนเอง หรือปล่อยให้โมเดลอ่านซอร์สโค้ดครึ่งหนึ่งของ repository อีกครั้งเพื่อทำความเข้าใจ ซึ่งทั้งสองวิธีมีค่าใช้จ่ายเป็นโทเค็น และวิธีที่สองมีค่าใช้จ่ายสูงมาก
Recall เวอร์ชัน 0.4.0 เป็นเวอร์ชันปัจจุบัน ณ เดือนกรกฎาคม 2026 และโปรเจกต์นี้อยู่ภายใต้สัญญาอนุญาต MIT โดยตัวมันเป็นเพียงปลั๊กอินและไม่มีการเรียกใช้งานผ่านเครือข่ายใดๆ ทั้งสิ้น
สิ่งที่จำเป็นต้องมีบน VPS
Hook สำหรับการจับข้อมูลของ Recall คือสคริปต์ Python ที่มาพร้อมกับปลั๊กอิน โดยไม่มีการพึ่งพาซอฟต์แวร์จากภายนอก ดังนั้นความต้องการหลักเพียงอย่างเดียวคือตัวแปลภาษา (interpreter)
python3 -VUbuntu 24.04 ตอบโจทย์ Python 3.12.3 โดย Recall รองรับ Python 3.9 ขึ้นไป อิมเมจคอนเทนเนอร์แบบ Minimal บางตัวอาจไม่มีตัวแปลภาษาติดตั้งมาให้เลย ซึ่งในกรณีนั้นเชลล์จะตอบกลับด้วย python3: command not found โปรดติดตั้งตัวแปลภาษาก่อนดำเนินการในขั้นตอนถัดไป
sudo apt update && sudo apt install -y python3NumPy เป็นตัวเร่งความเร็วทางเลือกสำหรับขั้นตอนหนึ่งของตัวสรุปเนื้อหา (summarizer) ซึ่งคุณไม่จำเป็นต้องใช้งาน
python3 -c "import numpy"ModuleNotFoundError: No module named 'numpy' เป็นคำตอบที่ยอมรับได้ในกรณีนี้ ตัวสรุปเนื้อหามีเส้นทางการทำงานแบบ pure-Python และชุดทดสอบของโปรเจกต์ได้ตรวจสอบแล้วว่าทั้งสองเส้นทางเลือกประโยคเดียวกัน
หน่วยความจำของเซสชันมีความสำคัญบนเซิร์ฟเวอร์มากกว่าบนแล็ปท็อป เนื่องจากงานบนเซิร์ฟเวอร์มักเข้ามาเป็นช่วงสั้นๆ ตลอดหลายวัน หากคุณมี Claude Code ทำงานอยู่ใน tmux บน VPS อยู่แล้ว Recall คือส่วนประกอบที่จะช่วยนำเซสชันของเมื่อวานมาใช้งานต่อในวันนี้
ติดตั้ง Recall จาก plugin marketplace
คำสั่งสองคำสั่งที่พิมพ์ภายในเซสชันของ Claude Code:
/plugin marketplace add raiyanyahya/recall
/plugin install recall@recallคำสั่งที่สองคือ plugin@marketplace ทั้งสองชื่อคือ recall ในที่นี้ ซึ่งดูเหมือนเป็นความผิดพลาดจากการคัดลอกและวาง แต่จริงๆ แล้วไม่ใช่
ตรวจสอบการติดตั้งโดยการรันหนึ่งในคำสั่งของตัว plugin เอง:
/recall:show/recall:show จะแสดงสรุปปัจจุบัน ในโปรเจกต์ที่เพิ่งสร้างใหม่จะยังไม่มีข้อมูลให้แสดง ดังนั้นสิ่งที่คุณกำลังตรวจสอบจริงๆ คือคำสั่งนั้นมีอยู่หรือไม่ หาก Claude Code ไม่รู้จัก /recall:show แสดงว่า plugin ยังไม่ได้โหลด และจะไม่มี hook ใดทำงาน
หากต้องการรันจาก checkout แทน ให้ clone repository และตรวจสอบความถูกต้องก่อน:
git clone https://github.com/raiyanyahya/recall ~/recall
cd ~/recall && claude plugin validate .claude plugin validate . จะอ่าน manifest ใน .claude-plugin/ และรายงานว่า plugin นั้นมีรูปแบบที่ถูกต้องหรือไม่ จากนั้นให้เริ่ม Claude Code จากไดเรกทอรีโปรเจกต์ของคุณด้วย claude --plugin-dir ~/recall
สิ่งที่ hook เขียนและช่วงเวลาที่ทำงาน
Recall ลงทะเบียน hook ของ Claude Code ไว้ 3 รายการ แต่ละรายการจะรันสคริปต์ Python จากไดเรกทอรีของปลั๊กอิน
SessionStartทำงานเมื่อเริ่มต้นระบบ, กลับมาทำงานต่อ และล้างข้อมูล โดยจะแสดงcontext.mdเพื่อให้เซสชันเปิดขึ้นมาพร้อมกับสรุปข้อมูลที่คุณมองเห็นได้Stopทำงานทุกครั้งที่ Claude ตอบกลับเสร็จสิ้น โดยจะผนวกการโต้ตอบนั้นลงใน logSessionEndทำงานเมื่อปิดเซสชัน และสามารถสร้างสรุปข้อมูลขึ้นใหม่ได้
ผลลัพธ์ที่ได้จะมีไฟล์ 2 ไฟล์ ซึ่งอยู่ใน .recall/
history.mdคือบันทึกแบบ append-only: ประกอบด้วย prompt, การตอบกลับ, ไฟล์ที่ถูกแก้ไข และคำสั่งที่รันcontext.mdคือสรุปข้อมูลที่สร้างขึ้น: ประกอบด้วยเป้าหมาย, บทสรุป, ขั้นตอนถัดไป, ไฟล์ที่ถูกแก้ไข, คำสั่งที่รัน และบริบทของ git
หลังจากใช้งานจริงหนึ่งเซสชัน ให้ตรวจสอบไดเรกทอรีดังกล่าว
ls -la .recall/คุณควรเห็น history.md ที่มีเนื้อหาอยู่ภายใน คุณอาจไม่พบ context.md เลย ซึ่งเป็นพฤติกรรมปกติไม่ใช่ข้อผิดพลาด auto_save_context จะเป็น off เว้นแต่คุณจะตั้งค่าไว้ ดังนั้นสรุปข้อมูลจะถูกเขียนขึ้นก็ต่อเมื่อคุณร้องขอเท่านั้น:
/recall:saveคำสั่งนั้นจะรันตัวสรุปข้อมูลภายในเครื่องผ่าน history.md และเขียนทับ context.md อัลกอริทึมที่ใช้คือ TF-IDF (term frequency, inverse document frequency) ซึ่งส่งต่อไปยังการจัดลำดับประโยคแบบ TextRank วิธีนี้เป็นแบบกำหนดผลลัพธ์ได้แน่นอน (deterministic) และเป็นการดึงข้อมูล (extractive) ซึ่งหมายความว่าระบบจะเลือกประโยคที่มีอยู่แล้วใน log ของคุณ ไม่มีการเรียกใช้โมเดลใดๆ ขั้นตอนนี้จึงไม่มีค่าใช้จ่ายและทำงานได้แม้ในขณะที่เครื่องออฟไลน์
การกำหนดค่า Recall สำหรับหนึ่งโปรเจกต์
การกำหนดค่าจะอยู่ในไฟล์ recall.config.json ที่ root ของโปรเจกต์ นี่คือค่าเริ่มต้นที่มาพร้อมกับซอฟต์แวร์:
{
"output_dir": ".recall",
"capture_history": true,
"summary_sentences": 8,
"redact": true,
"include_git": true,
"max_input_chars": 200000
}output_dirกำหนดตำแหน่งที่ตั้งของไฟล์ทั้งสองไฟล์ ควรเก็บไว้ภายในโปรเจกต์capture_historyใช้เปิดหรือปิดการทำงานของ loghistory.mdauto_save_contextรองรับค่าoffหรือon_endโดยมีค่าเริ่มต้นเป็นoffsummary_sentencesคือจำนวนประโยคที่จะถูกเก็บไว้ในcontext.mdการเพิ่มค่านี้จะทำให้ได้สรุปที่ยาวขึ้นและใช้เวลาโหลดเพิ่มขึ้นเล็กน้อยเมื่อเริ่มเซสชันredactจะลบรูปแบบข้อมูลลับทั่วไปออกก่อนที่จะมีการเขียนข้อมูลใดๆ ลงในดิสก์include_gitจะเพิ่ม diff ปัจจุบันและ commit ล่าสุดเข้าไปในสรุปmax_input_charsจำกัดปริมาณข้อมูลของhistory.mdที่ตัวสรุปจะอ่านในการประมวลผลหนึ่งรอบ
สำหรับการใช้งานโปรเจกต์บน VPS การตั้งค่าที่มีประโยชน์คือการบันทึกอัตโนมัติ เนื่องจากเซสชันบนเซิร์ฟเวอร์มักจะสิ้นสุดลงเมื่อ terminal ถูกปิด แทนที่จะเป็นการหยุดใช้งานโดยเจตนา
{
"auto_save_context": "on_end",
"summary_sentences": 12
}หากต้องการหยุดการบันทึกชั่วคราวโดยไม่ต้องแก้ไขไฟล์ config ให้สร้างไฟล์ pause marker ขึ้นมา และลบไฟล์ดังกล่าวทิ้งเมื่อต้องการเริ่มบันทึกใหม่อีกครั้ง
touch .recall/.capture-pausedควรดำเนินการตามขั้นตอนนี้ก่อนเริ่มเซสชันที่คุณต้องจัดการกับ credential ของระบบ production เนื่องจากระบบการปกปิดข้อมูลเป็นเพียงตัวกรอง ไม่ใช่การรับประกันความปลอดภัย เหตุผลเดียวกันนี้เป็นที่มาของแนวคิด การเก็บข้อมูลลับให้ห่างจาก AI agent โดยทั่วไป: ข้อมูลลับที่ปลอดภัยที่สุดคือข้อมูลที่ agent ไม่เคยเห็นเลย
Recall ช่วยประหยัดโทเค็นได้มากน้อยเพียงใด?
ขึ้นอยู่กับว่าทางเลือกอื่นคืออะไร การโหลดสรุปข้อมูลเมื่อเริ่มเซสชันมีค่าใช้จ่ายต่ำ สิ่งที่เข้ามาแทนที่อาจมีค่าใช้จ่ายสูง เพราะโมเดลที่ไม่มีความจำเกี่ยวกับโปรเจกต์ของคุณจะต้องค้นหาข้อมูลใหม่ด้วยการอ่านไฟล์
The data behind this chart
[
{
"label": "Recall context.md",
"char_count": "4,800",
"est_tokens": "1,200"
},
{
"label": "Hand-written CLAUDE.md",
"char_count": "3,200",
"est_tokens": "800"
},
{
"label": "Re-reading the repo",
"char_count": "120,000",
"est_tokens": "30,000"
},
{
"label": "Full transcript replay",
"char_count": "340,000",
"est_tokens": "85,000"
}
]ตัวเลขเหล่านี้เป็นค่าโดยประมาณสำหรับโปรเจกต์ขนาดกลาง ไม่ใช่การวัดผลจากโปรเจกต์ของคุณโดยตรง สรุปข้อมูลของ Recall จะโหลดที่ประมาณ 1,200 โทเค็น ซึ่งสอดคล้องกับที่โปรเจกต์ระบุไว้ว่าใช้โทเค็นประมาณหนึ่งถึงสองพันโทเค็นสำหรับการทำ resume การเล่นซ้ำบันทึกการสนทนาทั้งหมดก่อนหน้าจะโหลดการสนทนาใหม่ทั้งหมด ซึ่งอยู่ในช่วง 85,000 โทเค็น ส่วนการปล่อยให้โมเดลค้นหาโปรเจกต์ใหม่ด้วยการอ่านไฟล์จะมีค่าใช้จ่ายอยู่ระหว่างสองค่านี้ คือใกล้เคียงกับ 30,000 โทเค็น และตัวเลขนี้จะเพิ่มขึ้นตามขนาดของ repository แถว CLAUDE.md มีไว้เพื่อเปรียบเทียบขนาด: มันมีราคาถูกกว่าเพราะสั้นและคงที่ อีกทั้งยังบอกกฎพื้นฐานของคุณแก่โมเดลแทนที่จะบอกสิ่งที่เกิดขึ้นเมื่อคืนนี้
จงวัดตัวเลขของคุณเอง โทเค็นหนึ่งตัวมีค่าประมาณสี่ตัวอักษรของข้อความภาษาอังกฤษ และน้อยกว่านั้นเล็กน้อยสำหรับโค้ด หากคุณป้อนสรุปข้อมูลให้กับโมเดลในเครื่องบน VPS เดียวกัน ให้ตรวจสอบหน้าต่างบริบท (context window) ที่ข้อมูลนั้นเข้าไปอยู่ก่อนที่จะเชื่อถือ resume เพราะ Ollama จะตัด prompt ที่ยาวเกินไปที่ความยาวบริบทเริ่มต้นขนาดเล็ก แทนที่จะแจ้งให้คุณทราบว่ามันตัดส่วนท้ายทิ้ง
wc -c .recall/context.md .recall/history.md
echo $(( $(wc -c < .recall/context.md) / 4 ))ภายในเซสชัน /context จะแสดงสิ่งที่ถูกโหลดเข้าสู่หน้าต่างบริบทในขณะนี้ และ /cost จะรายงานผลรวมของเซสชัน ให้ลองเริ่มเซสชันแบบปกติ (cold start) หนึ่งครั้ง และเริ่มเซสชันถัดไปโดยมีสรุปข้อมูลอยู่ด้วย แล้วนำมาเปรียบเทียบกัน สำหรับภาพรวมทั้งหมดว่าโทเค็นของเซสชันถูกใช้ไปที่ใดบ้าง วิธีที่ Claude Code ใช้โทเค็น มีรายละเอียดแจกแจงไว้ให้
มีข้อควรระวังประการหนึ่งเพื่อให้ข้อมูลนี้มีความถูกต้อง สรุปข้อมูลจะถูกโหลดทุกครั้งที่เริ่มเซสชัน ดังนั้นสรุปข้อมูลที่คุณไม่เคยนำไปใช้งานจริงจะเป็นภาระเล็กน้อยมากกว่าการประหยัด ให้คงค่า summary_sentences ไว้ใกล้เคียงกับค่าเริ่มต้น เว้นแต่ว่าเซสชันของคุณจะทำงานเป็นเวลานาน เซสชันที่เงียบกว่าจะช่วยในอีกด้านหนึ่งของบัญชี เพราะ เอเจนต์ที่ถูกผลักดันให้ทำการเปลี่ยนแปลงที่น้อยที่สุดที่ใช้งานได้ จะทิ้งบันทึกที่สั้นกว่าไว้ให้ตัวสรุปข้อมูลนำไปจัดลำดับ
สร้างสรุปใหม่โดยไม่ต้องใช้เซสชัน
หากคุณโคลน repository มา ตัวสรุปผลจะมีจุดเริ่มต้นการทำงานผ่านบรรทัดคำสั่งแยกต่างหาก ซึ่งมีประโยชน์บน VPS ในกรณีที่เซสชันหลุดไปพร้อมกับเทอร์มินัล แต่คุณยังต้องการสรุปผลอยู่
python3 ~/recall/scripts/make_context.py --helpผลลัพธ์จากคำสั่ง help จะแสดงรายการแฟล็กที่รองรับ ได้แก่ --cwd สำหรับ root ของโปรเจกต์, --transcript สำหรับระบุไฟล์ transcript โดยเฉพาะ, --quiet เพื่อระงับการแสดงผล และ --harness เพื่อเลือกระหว่าง claude และ opencode ให้ระบุเส้นทางไปยังโปรเจกต์ดังนี้:
python3 ~/recall/scripts/make_context.py --cwd /srv/projects/apiเครื่องมือจะอ่าน transcript ของเซสชันและ history.md จากนั้นจะเขียนไฟล์ context.md ไว้ภายใต้ไดเรกทอรีที่คุณระบุ หากคุณติดตั้งผ่าน marketplace ปลั๊กอินจะอยู่ในไดเรกทอรีที่ Claude Code จัดการ และ /recall:save คือวิธีที่รองรับในการทำงานเดียวกันนี้
เหตุใดจึงไม่มีการเขียนข้อมูล
ไม่มีไดเรกทอรี .recall/ หลังจากจบเซสชัน hook ไม่เคยทำงาน ให้พิมพ์ /recall:show เพื่อยืนยันว่าปลั๊กอินถูกโหลดแล้ว จากนั้นรัน python3 -V คำสั่ง hook จะพยายามใช้ python3 เป็นอันดับแรกและ python เป็นอันดับที่สอง ดังนั้นหากเครื่องไม่มีทั้งสองอย่าง ระบบจะไม่เขียนข้อมูลใดๆ และไม่มีการแจ้งเตือน
history.md มีขนาดเพิ่มขึ้น แต่ context.md ไม่เปลี่ยนแปลง auto_save_context ถูกตั้งค่าเป็น off โดยค่าเริ่มต้น ให้รัน /recall:save หรือตั้งค่าคีย์เป็น on_end แล้วปล่อยให้ hook SessionEnd จัดการ
ไฟล์ปรากฏในโปรเจกต์ที่ไม่ถูกต้อง Recall จะเขียนไฟล์โดยอ้างอิงจากไดเรกทอรีที่เริ่มใช้งาน Claude Code ดังนั้นการเริ่มเซสชันจากโฮมไดเรกทอรีจะทำให้หน่วยความจำถูกเก็บไว้ที่นั่น ให้เริ่มจากรูทของโปรเจกต์ และใช้ ls -la .recall/ เพื่อตรวจสอบว่าไฟล์ถูกจัดเก็บไว้ที่ใด
การบันทึกหยุดทำงานโดยไม่มีการแจ้งเตือน ให้ตรวจสอบเครื่องหมายหยุดชั่วคราวด้วย ls -a .recall/ ไฟล์ .capture-paused ที่คุณสร้างไว้เมื่อสัปดาห์ก่อนอาจยังคงทำงานอยู่
สรุปข้อมูลมีเนื้อหาน้อยเกินไปหลังจากเซสชันที่ยาวนาน max_input_chars จำกัดอินพุตของตัวสรุปไว้ที่ 200000 ตัวอักษร ดังนั้น log ที่ยาวมากจะถูกตัดออก ให้ทำการหมุนเวียน (rotate) log แทน
mv .recall/history.md .recall/history-2026-07-30.mdให้รันเซสชันสั้นๆ หนึ่งครั้งหลังจากนั้น แล้วตรวจสอบ ls -la .recall/ อีกครั้งเพื่อยืนยันว่ามี history.md ใหม่ปรากฏขึ้นมา
ขอบเขตการทำงานของ Recall
Recall ทำหน้าที่เป็นบันทึกและเครื่องมือสรุปผล ซึ่งควรทำความเข้าใจให้ชัดเจนว่ามีส่วนใดบ้างที่ระบบไม่ได้ครอบคลุม
เครื่องมือสรุปผลใช้วิธีการดึงข้อมูลโดยตรง (extractive) โดย TextRank จะเลือกประโยคที่มีอยู่แล้วใน history.md ดังนั้นระบบจึงไม่สามารถตัดสินได้ว่าการตัดสินใจนั้นถูกต้องหรือไม่ การตัดสินใจที่ผิดพลาดในวันอังคารจะถูกบันทึกไว้อย่างชัดเจนเหมือนกับการตัดสินใจที่ดีในวันพุธ หากเป็นเรื่องที่มีความสำคัญสูง ให้ตรวจสอบ context.md และแก้ไขด้วยตนเอง เนื่องจากไฟล์ดังกล่าวเป็นไฟล์ markdown คุณจึงสามารถแก้ไขได้โดยไม่มีข้อจำกัด
ระบบไม่มีฟังก์ชันการค้นหา คุณจะได้รับสรุปปัจจุบันหนึ่งชุดและบันทึกที่เพิ่มขึ้นเรื่อยๆ ต่อหนึ่งโปรเจกต์ ไม่ใช่หน่วยความจำที่สามารถสืบค้นข้ามโปรเจกต์ได้ หากคุณต้องการทราบว่าคุณตัดสินใจเรื่องฐานข้อมูลไว้อย่างไรเมื่อสามสัปดาห์ก่อน คุณต้องใช้คำสั่ง grep ใน history.md นอกจากนี้ระบบยังไม่มีการเชื่อมโยงข้อมูลระหว่างกัน สองเซสชันที่เปิดบน VPS เดียวกันพร้อมกันจะไม่สามารถมองเห็นบันทึกของกันและกันได้ ดังนั้นเมื่อเซสชันหนึ่งต้องการทราบว่าอีกเซสชันหนึ่งกำลังทำอะไร เซสชันสามารถส่งข้อความถึงกันได้โดยตรง ในขณะที่กำลังทำงานอยู่
Recall ไม่ได้ช่วยจัดการภายในเซสชัน ปัญหา context window ที่เต็มระหว่างเซสชันเป็นปัญหาที่ต่างออกไปและมีวิธีแก้ไขที่แตกต่างกัน โดย การจัดการ context window ภายในเซสชันเดียว เป็นเนื้อหาที่ควรอ่านควบคู่ไปกับคู่มือนี้
สรุปผลถูกออกแบบมาให้ถือว่าเป็นข้อมูลที่ไม่น่าเชื่อถือ (untrusted input) โดย context.md จะถูกแทรกเข้ามาในรูปแบบที่มีการกั้นขอบเขตและระบุที่มาไว้อย่างชัดเจน และ Claude จะสอบถามก่อนที่จะนำข้อมูลนั้นไปใช้งาน การออกแบบนี้มีขึ้นเนื่องจากไดเรกทอรี .recall/ ที่ถูก commit ไว้เป็นพื้นที่ที่ทุกคนที่มีสิทธิ์ commit สามารถเขียนข้อความที่เอเจนต์ของคุณจะอ่านได้ ระดับที่เอเจนต์จะหยุดถามเกี่ยวกับสิ่งที่อ่านขึ้นอยู่กับโหมดสิทธิ์ที่เซสชันเริ่มต้น และ โหมด auto จะกลายเป็นค่าเริ่มต้นของ Claude Code ในวันที่ 14 สิงหาคม 2026 คุณต้องตัดสินใจให้แน่ชัดว่า .recall/ เป็นข้อมูลส่วนตัวหรือข้อมูลที่ใช้ร่วมกัน หากเป็นข้อมูลส่วนตัวให้เพิ่มลงใน .gitignore หรือหากต้องการให้เป็นข้อมูลที่ใช้ร่วมกันให้ commit และตรวจสอบเหมือนกับการมีส่วนร่วมอื่นๆ หากเอเจนต์ทำงานโดยไม่มีผู้ดูแล การใช้งาน Claude Code อย่างปลอดภัยบน VPS จะครอบคลุมถึงขอบเขตความปลอดภัยที่กว้างขึ้น
การปกปิดข้อมูล (redaction) เป็นความพยายามในระดับที่ดีที่สุด โดยระบบจะมุ่งเน้นไปที่รูปแบบทั่วไป เช่น API keys, tokens, PEM blocks และการกำหนดค่า .env โปรดอ่าน .recall/ ก่อนที่คุณจะทำการ commit
หมายเลขเวอร์ชันสะท้อนถึงความสมบูรณ์ของซอฟต์แวร์อย่างตรงไปตรงมา ณ เวอร์ชัน 0.4.0 ในเดือนกรกฎาคม 2026 คีย์การตั้งค่าและโครงสร้างไฟล์ยังสามารถเปลี่ยนแปลงได้ระหว่างการปล่อยเวอร์ชันใหม่ ดังนั้นโปรดอ่านบันทึกการเปลี่ยนแปลง (changelog) ก่อนที่คุณจะอัปเกรดระบบที่คุณใช้งานอยู่เป็นประจำ
FAQ
Recall ส่งโค้ดหรือบันทึกการสนทนาของฉันไปที่อื่นหรือไม่?
ไม่ ระบบ capture hooks และตัวสรุปผลเป็นสคริปต์ Python ที่ทำงานบนเครื่องของคุณเอง ปลั๊กอินนี้ไม่มี API key และไม่มีการเรียกใช้งานผ่านเครือข่าย การสรุปผลใช้ TF-IDF และ TextRank แทนการใช้โมเดล ดังนั้นขั้นตอนนี้จึงไม่มีค่าใช้จ่ายและทำงานได้แม้เครื่องออฟไลน์ ข้อแลกเปลี่ยนคือการสรุปผลจะเป็นแบบดึงเนื้อหา (extractive): คือการเลือกประโยคจาก log ของคุณแทนที่จะเขียนขึ้นใหม่
ทำไม .recall/context.md ของฉันถึงหายไปหรือไม่อัปเดต?
auto_save_context มีค่าเริ่มต้นเป็น off ดังนั้นสรุปผลจะถูกสร้างใหม่ก็ต่อเมื่อคุณรัน /recall:save เท่านั้น ให้ตั้งค่า "auto_save_context": "on_end" ใน recall.config.json เพื่อให้มีการเขียนสรุปใหม่เมื่อจบแต่ละเซสชัน หาก history.md หายไปด้วย แสดงว่า hooks ไม่ได้ทำงานเลย ให้ตรวจสอบว่าปลั๊กอินถูกโหลดแล้วด้วย /recall:show จากนั้นตรวจสอบว่า python3 -V ตอบสนองบนเครื่องนั้นหรือไม่ เนื่องจาก hooks เป็นสคริปต์ Python
Recall ประหยัดได้เท่าไหร่ต่อเซสชัน?
การโหลดสรุปผลใช้โทเค็นประมาณ 1,200 เทียบกับ 30,000 โทเค็นสำหรับโมเดลที่ต้องอ่าน repository ของคุณใหม่เพื่อทำความเข้าใจสถานะปัจจุบัน นี่เป็นตัวเลขโดยประมาณ คุณสามารถวัดค่าของคุณเองได้ด้วย wc -c .recall/context.md และคำสั่ง /context ภายในเซสชัน โดยเปรียบเทียบการเริ่มทำงานแบบ cold start กับการทำงานต่อจากสรุปผล
ฉันยังจำเป็นต้องมีไฟล์ CLAUDE.md อยู่หรือไม่?
จำเป็น และทั้งสองไฟล์มีหน้าที่ต่างกัน CLAUDE.md คือสิ่งที่คุณตั้งใจเขียนขึ้นมา: กฎระเบียบถาวรและคำสั่ง build ส่วน context.md ถูกสร้างขึ้นจากสิ่งที่เกิดขึ้นจริงในเซสชันล่าสุด จึงเก็บสถานะการย้ายข้อมูลที่ยังไม่เสร็จสมบูรณ์ซึ่งคุณอาจไม่ได้จดบันทึกไว้ ควรเก็บไว้ทั้งสองไฟล์
VPS หนึ่งเครื่องสามารถเก็บหน่วยความจำสำหรับหลายโปรเจกต์ได้หรือไม่?
ได้ Recall เก็บหน่วยความจำไว้ใน .recall/ ภายในไดเรกทอรีของแต่ละโปรเจกต์ ดังนั้นสองโปรเจกต์บนเซิร์ฟเวอร์เดียวกันจะแยก log และสรุปผลออกจากกัน ให้เริ่มใช้งาน Claude Code จาก root ของโปรเจกต์เสมอ เพราะไฟล์จะอ้างอิงตาม working directory ไม่ใช่บัญชีผู้ใช้