Obsidian Sync รองรับไคลเอนต์แบบเฮดเลสแล้ว
(help.obsidian.md)- Obsidian Sync มี ไคลเอนต์แบบเฮดเลส ที่ทำให้ ซิงก์จากสภาพแวดล้อมบรรทัดคำสั่ง ได้โดยไม่ต้องใช้แอปเดสก์ท็อป
- สามารถทำ การซิงก์ vault ใน สภาพแวดล้อมแบบไม่โต้ตอบ เช่น ไปป์ไลน์ CI, เซิร์ฟเวอร์ และสคริปต์อัตโนมัติ
- ใช้คำสั่ง
ob syncเพื่อรัน การซิงก์แบบครั้งเดียวหรือแบบต่อเนื่อง และรองรับ การยืนยันตัวตนอัตโนมัติ ผ่านตัวแปรสภาพแวดล้อมOBSIDIAN_AUTH_TOKEN - มี ชุดคำสั่งแบบละเอียด ครอบคลุมการสร้าง remote vault, การตั้งค่าการเชื่อมต่อแบบโลคัล, การตรวจสอบสถานะ, การเปลี่ยนแปลงการตั้งค่า และอื่น ๆ
- บน Windows และ macOS มี โมดูลเนทีฟ ที่คงค่า เวลาสร้างไฟล์ (birthtime) ไว้ เพื่อเสริมความสมบูรณ์ของข้อมูล
ภาพรวม
- Headless Client ของ Obsidian Sync เป็นเครื่องมือสำหรับซิงก์ vault ได้โดยไม่ต้องใช้แอปเดสก์ท็อป
- มีประโยชน์ในสภาพแวดล้อมอย่าง CI, เอเจนต์อัตโนมัติ และเซิร์ฟเวอร์
- สามารถดึงการเปลี่ยนแปลงล่าสุดหรือทำให้ไฟล์อัปเดตเป็นปัจจุบันอย่างต่อเนื่องได้
- บนอุปกรณ์เครื่องเดียวกัน ไม่ควรใช้ Desktop Sync และ Headless Sync พร้อมกัน เพราะมีความเสี่ยงต่อการชนกันของข้อมูล
- การติดตั้งทำได้ด้วยคำสั่ง
npm install -g obsidian-headless
การใช้งานพื้นฐาน
- ล็อกอิน:
ob login - ดูรายการ remote vault:
ob sync-list-remote - ตั้งค่า local vault:
ob sync-setup --vault "My Vault" - ซิงก์แบบครั้งเดียว:
ob sync - ซิงก์แบบต่อเนื่อง:
ob sync --continuous - ในสภาพแวดล้อมแบบไม่โต้ตอบ สามารถตั้งค่าตัวแปรสภาพแวดล้อม
OBSIDIAN_AUTH_TOKENเพื่อทำให้การยืนยันตัวตนเป็นอัตโนมัติได้
คำสั่งหลัก
ob sync-list-remote: แสดงรายการ remote vault ทั้งหมดในบัญชี รวมถึง vault ที่แชร์ob sync-list-local: แสดง vault ที่ตั้งค่าไว้ในเครื่องและพาธob sync-create-remote: สร้าง remote vault ใหม่- ตัวเลือก:
--name,--encryption(standardหรือe2ee),--password,--region
- ตัวเลือก:
ob sync-setup: ตั้งค่าการเชื่อมต่อระหว่าง local และ remote vault- ตัวเลือก:
--vault,--path,--password,--device-name,--config-dir
- ตัวเลือก:
ob sync: รันการซิงก์ของ vault ที่ตั้งค่าไว้- รองรับการเฝ้าดูการเปลี่ยนแปลงและซิงก์ต่อเนื่องด้วยตัวเลือก
--continuous
- รองรับการเฝ้าดูการเปลี่ยนแปลงและซิงก์ต่อเนื่องด้วยตัวเลือก
ob sync-config: ดูหรือเปลี่ยนการตั้งค่าการซิงก์ของ vault- สามารถกำหนดกลยุทธ์การแก้ไขความขัดแย้ง (
merge/conflict), ประเภทไฟล์, หมวดหมู่การตั้งค่าที่จะซิงก์, โฟลเดอร์ที่ยกเว้น และอื่น ๆ ได้
- สามารถกำหนดกลยุทธ์การแก้ไขความขัดแย้ง (
ob sync-status: แสดงสถานะการซิงก์และการตั้งค่าของ vaultob sync-unlink: ยกเลิกการเชื่อม vault ออกจากการซิงก์และลบข้อมูลรับรองที่บันทึกไว้
โมดูลเนทีฟ
- มี เนทีฟแอดออน สำหรับ Windows และ macOS เพื่อกำหนด เวลาสร้างไฟล์ (birthtime)
- เมื่อดาวน์โหลดไฟล์จากเซิร์ฟเวอร์ จะคงเวลาสร้างดั้งเดิมไว้
- อ้างอิง N-API เวอร์ชัน 3 และคงความเข้ากันได้ของ ABI ข้ามเวอร์ชันของ Node.js
- บน Linux ไม่มีการรวมแอดออนเนื่องจากไม่รองรับ birthtime แต่การซิงก์ยังทำงานได้ตามปกติ
- เป้าหมายไบนารีที่พรีบิลด์ไว้ล่วงหน้า:
win32-x64,win32-arm64,win32-ia32,darwin-x64,darwin-arm64
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ดู เอกสารทางการ
ช่วงนี้การใช้ Obsidian ร่วมกับ AI CLI สนุกมาก เพราะมันเป็นแค่โครงสร้างไดเรกทอรี Markdown ธรรมดา จึงนำไปใช้งานได้ทันทีโดยไม่ต้องมีปลั๊กอิน
เลยสงสัยว่าคนส่วนใหญ่ใช้ Obsidian Sync แบบเสียเงินกัน หรือใช้ทางเลือกอย่าง SyncThing
อีกทั้งสงสัยว่าตอนติดตั้ง obsidian-headless จะได้ CLI มาด้วยหรือเปล่า หรือเป็นแค่ตัวสำหรับซิงก์อย่างเดียว
จากนี้คงจะพิจารณา Obsidian Sync แบบทางการ
เช่น ถ้ามีการแก้พร้อมกันแล้วฝั่งหนึ่งเขียนทับ การเปลี่ยนแปลงของฉันจะเป็นอย่างไร
เพราะอยากอัปเดตโน้ตบางส่วนอัตโนมัติตามการเปลี่ยนสถานะหรือ cron job แต่ไม่อยากให้เข้าถึงทั้ง vault
และยังบอกด้วยว่าชอบผลิตภัณฑ์นี้มากจนซื้อ VIP Catalyst แล้ว
เช่น ในโปรเจกต์มีแค่ readme.md ไฟล์เดียว ก็ไม่อยากต้องสร้าง vault และไฟล์ตั้งค่าแยกต่างหากเพื่อเปิดมัน
แต่ไม่ใช่เรื่องง่าย เพราะหลายฟีเจอร์ของ Obsidian พึ่งพา การตั้งค่าระดับ vault
เช่น จะใช้ธีมอะไร จะเปิดปลั๊กอินไหน หรือจะจัดการการเติมข้อความอัตโนมัติของ [[ลิงก์]] อย่างไร เป็นต้น
น่าจะมีประโยชน์มากกับงาน อัตโนมัติ ฝั่งเซิร์ฟเวอร์หรือเวิร์กโฟลว์แบบ RAG
เกี่ยวกับเรื่องนี้ฉันมีบล็อกโพสต์เชิงทดลองที่เขียนไว้ → utf9k.net/blog/obsidian-headless
เวิร์กโฟลว์นี้ยังไม่สมบูรณ์แบบ แต่ให้ความรู้สึกว่า แรงเสียดทานลดลง ตั้งแต่เขียนจนเผยแพร่ได้ทันที
เมื่อก่อนฉันใช้ Git หรือปลั๊กอิน Obsidian หลายตัวผสมกัน แต่ก็ซับซ้อนอยู่เสมอ
ดูเหมือนว่าฉันจะใช้งานผิดไปเต็ม ๆ
อยากคุยกับเอกสารและแก้ไขมันได้แบบ ChatGPT แต่ยังหาอะไรที่เหมาะจริง ๆ ไม่เจอ
และก็สงสัยด้วยว่ามี tool calling ที่แก้เฉพาะบางส่วนโดยไม่ต้องเขียนใหม่ทั้งเอกสารได้หรือไม่
ถ้ามีฟีเจอร์นี้ ฉันก็คงซิงก์บนมือถือ แล้วเปิดเอกสารบนเดสก์ท็อปด้วย Neovim ได้
ถ้ามันเป็นแค่ไฟล์ Markdown อยู่แล้ว ทำไมถึงยังต้องมี CLI และ AI จะจัดการ vault ผ่าน CLI อย่างไร
เดิมทีก็ทำงานได้ดีพอสมควรด้วยสกิลที่ปรับเอง แต่ฟีเจอร์นี้น่าจะทำให้เวิร์กโฟลว์ลื่นขึ้นอีก
และยังได้สร้างเครื่องมือ CLI ชื่อ obsidian-semantic-search เพื่อทำ การสร้างดัชนี embedding ด้วย LanceDB และการค้นหาเชิงความหมาย
วิธีนี้ช่วยให้สร้างการเชื่อมโยงภายในระหว่างโน้ตได้ดีขึ้น