- 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: แสดงสถานะการซิงก์และการตั้งค่าของ vault
ob 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 และการค้นหาเชิงความหมาย
วิธีนี้ช่วยให้สร้างการเชื่อมโยงภายในระหว่างโน้ตได้ดีขึ้น