SiYuan: ซอฟต์แวร์จัดการความรู้ส่วนบุคคลแบบโฮสต์เองที่ให้ความสำคัญกับความเป็นส่วนตัวเป็นอันดับแรก
(github.com/siyuan-note)- SiYuan คือ ระบบจัดการความรู้ส่วนบุคคลที่ให้ความสำคัญกับความเป็นส่วนตัวเป็นอันดับแรก ซึ่งรองรับการอ้างอิงระดับบล็อกอย่างละเอียดและการแก้ไข Markdown แบบ WYSIWYG
- ฟีเจอร์หลักประกอบด้วยการอ้างอิงระดับบล็อกและลิงก์สองทาง, การฝัง SQL query, การแก้ไขเอกสารขนาดใหญ่, สูตรคณิตศาสตร์และแผนภูมิ, web clipping, ลิงก์คำอธิบายประกอบ PDF, มุมมองตารางฐานข้อมูล และการทบทวนแบบ spaced repetition ด้วยแฟลชการ์ด
- มีแอปเดสก์ท็อปและมือถือ, การติดตั้งผ่าน Docker, API, CLI และ community marketplace พร้อมรองรับ การเขียนด้วย AI และแชต Q/A บนพื้นฐาน OpenAI API รวมถึง Tesseract OCR
- ฟีเจอร์ส่วนใหญ่ใช้งานได้ฟรีแม้เพื่อการพาณิชย์ แต่บางฟีเจอร์เป็น สำหรับสมาชิกแบบชำระเงินเท่านั้น และไม่รองรับการซิงก์ข้อมูลผ่านดิสก์ซิงก์ของบุคคลที่สามเนื่องจากอาจทำให้ข้อมูลเสียหายได้
- การติดตั้งผ่าน Docker รองรับเฉพาะการใช้งานผ่านเบราว์เซอร์ และไม่รองรับการเชื่อมต่อกับแอปเดสก์ท็อป/มือถือ, การส่งออก PDF/HTML/Word และการนำเข้าไฟล์ Markdown
โมเดลการจัดการความรู้ที่ SiYuan นำเสนอ
- SiYuan เป็นระบบจัดการความรู้ส่วนบุคคลที่ชูแนวคิด “Refactor your thinking”
- แนวทางหลักคือ ให้ความสำคัญกับความเป็นส่วนตัวเป็นอันดับแรก และรองรับการอ้างอิง ระดับบล็อก อย่างละเอียดพร้อมการแก้ไข Markdown แบบ WYSIWYG
- คู่มือผู้ใช้งานออนไลน์มีให้ในภาษา English
- ฟอรัมสนทนาภาษาอังกฤษเปิดให้ใช้งานที่ SiYuan English Discussion Forum
ฟีเจอร์หลัก
- ฟีเจอร์ content block ครอบคลุมการอ้างอิงระดับบล็อกและลิงก์สองทาง, คุณสมบัติแบบกำหนดเอง, การฝัง SQL query และโปรโตคอล
siyuan:// - ตัวแก้ไข รองรับการแก้ไขสไตล์บล็อก, Markdown แบบ WYSIWYG, โครงร่างรายการ, การขยายบล็อก และการแก้ไขเอกสารขนาดใหญ่ระดับล้านคำ
- สามารถใส่สูตรคณิตศาสตร์, แผนภูมิ, flowchart, Gantt chart, timing chart, โน้ตดนตรีห้าเส้น และรูปแบบการแสดงผลอื่น ๆ ลงในเอกสารได้
- รองรับ web clipping และลิงก์คำอธิบายประกอบ PDF
- การส่งออกรองรับ Markdown มาตรฐานที่มี block reference, embed และ assets รวมถึง PDF, Word และ HTML
- มีฟีเจอร์คัดลอกไปยัง WeChat MP, Zhihu และ Yuque
- ฐานข้อมูลมี Table view
- รองรับการทบทวนแบบ spaced repetition ด้วยแฟลชการ์ด, การเขียนด้วย AI และแชต Q/A บนพื้นฐาน OpenAI API และ Tesseract OCR
- มี multi-tab, split screen แบบ drag-and-drop, template snippet และ JavaScript/CSS snippet
- รองรับแอป Android, iOS, HarmonyOS และการติดตั้งผ่าน Docker
- มี API และ community marketplace
- ฟีเจอร์ส่วนใหญ่ใช้งานได้ฟรีแม้เพื่อการพาณิชย์ และบางฟีเจอร์เป็นฟีเจอร์สมาชิกแบบชำระเงินตาม Pricing
สถาปัตยกรรมและระบบนิเวศ
- ระบบนิเวศของ SiYuan ประกอบด้วยเอนจินตัวแก้ไข, ส่วนขยาย, marketplace, data repository, plugin API, แอปมือถือ และโครงการทบทวนแบบเว้นระยะ
- lute: เอนจินตัวแก้ไข
- chrome: ส่วนขยาย Chrome/Edge
- bazaar: community marketplace
- dejavu: data repository
- petal: plugin API
- android: แอป Android
- ios: แอป iOS
- harmony: แอป HarmonyOS
- riff: การทบทวนแบบ spaced repetition
การติดตั้งและการปรับใช้
- บนเดสก์ท็อปและมือถือ แนะนำให้ ติดตั้งผ่าน app store ก่อนเพื่อรองรับการอัปเกรดแบบคลิกเดียวในอนาคต
- แอปมือถือมีให้บน App Store, Google Play, F-Droid
- แอปเดสก์ท็อปมีให้บน Microsoft Store
- แพ็กเกจติดตั้งดาวน์โหลดได้จาก B3log และ GitHub Releases
- รายการใน package manager ใช้ชื่อ
siyuanและsiyuan-note
การโฮสต์ด้วย Docker
- วิธีที่ง่ายที่สุดในการให้บริการ SiYuan บนเซิร์ฟเวอร์คือ การติดตั้งผ่าน Docker
- ชื่อ Docker image คือ
b3log/siyuanและหน้าของ image อยู่ที่ Docker Hub - ตั้งแต่ v3.7.0 ต้องส่ง subcommand
serveอย่างชัดเจน- ตัวอย่าง:
docker run b3log/siyuan serve --workspace=...
- ตัวอย่าง:
- ตัวเลือกการรันหลักมีดังนี้
--workspace: ระบุพาธโฟลเดอร์ workspace ที่ mount จากโฮสต์ด้วย-v--accessAuthCode: กำหนดรหัสผ่านหน้าจอล็อก
- สามารถกำหนด PUID และ PGID ผ่าน environment variable เพื่อปรับผู้ใช้และกลุ่มที่รันภายในคอนเทนเนอร์
- หากไม่ระบุค่า จะใช้ค่าเริ่มต้นเป็น
1000 - เป็นการตั้งค่าเพื่อลดปัญหาสิทธิ์ของไดเรกทอรีที่ mount จากโฮสต์
- หากไม่ระบุค่า จะใช้ค่าเริ่มต้นเป็น
- พาธ workspace สามารถตั้งผ่าน environment variable
SIYUAN_WORKSPACE_PATHได้เช่นกัน แต่หากมีอาร์กิวเมนต์จาก command line จะยึด command line เป็นหลัก - รหัสผ่านหน้าจอล็อกสามารถตั้งผ่าน environment variable
SIYUAN_ACCESS_AUTH_CODEได้เช่นกัน แต่หากมีอาร์กิวเมนต์จาก command line จะยึด command line เป็นหลัก - หากตั้ง
SIYUAN_ACCESS_AUTH_CODE_BYPASS=trueจะปิดการใช้งานรหัสผ่านหน้าจอล็อกได้ SIYUAN_LANGใช้กำหนดภาษาของอินเทอร์เฟซใน Docker และหากไม่ตั้งค่าจะใช้ค่าเริ่มต้นเป็นen- หากต้องการซ่อนพอร์ต 6806 สามารถใช้ NGINX reverse proxy ได้ และจำเป็นต้องตั้งค่า WebSocket reverse proxy สำหรับ
/ws - ข้อควรระวังในการติดตั้งผ่าน Docker
- หาก mount volume ไม่ถูกต้อง ข้อมูลอาจสูญหายหลังลบคอนเทนเนอร์
- เนื่องจากอาจเกิดปัญหาการยืนยันตัวตน จึงแนะนำให้ใช้การตั้งค่า reverse proxy แทนการ redirect แบบ URL rewrite
- หากมีปัญหาเรื่องสิทธิ์ ควรตรวจสอบว่า
PUIDและPGIDตรงกับเจ้าของไดเรกทอรีที่ mount จากโฮสต์หรือไม่
- ข้อจำกัด ของการติดตั้งผ่าน Docker
- ไม่รองรับการเชื่อมต่อกับแอปเดสก์ท็อปและมือถือ และรองรับเฉพาะการใช้งานผ่านเบราว์เซอร์
- ไม่รองรับการส่งออกเป็น PDF, HTML, Word
- ไม่รองรับการนำเข้าไฟล์ Markdown
CLI
- CLI ในตัวเข้าถึง ข้อมูล workspace ได้โดยตรงโดยไม่ต้องมีเซิร์ฟเวอร์ที่กำลังทำงานอยู่
- ตัวอย่างการใช้งานแบบรวดเร็วมีดังนี้
siyuan notebook list -w ~/SiYuan: แสดงรายการโน้ตบุ๊กทั้งหมดsiyuan search "keyword" -w ~/SiYuan -f json: ค้นหาแบบ full-text พร้อมผลลัพธ์เป็น JSONsiyuan export md --id <block-id> -w ~/SiYuan: ส่งออกเอกสารเป็น Markdown
- หมวดคำสั่งครอบคลุม notebooks และ documents, content, metadata, query, reference, import/export, data management, utility, database, server, workspace/system
-f jsonให้ผลลัพธ์ที่เหมาะกับการใช้งานในสคริปต์ และรูปแบบเริ่มต้นคือ-f table- คำสั่งแก้ไขส่วนใหญ่รองรับ
--dry-runสำหรับดูตัวอย่างก่อนนำไปใช้จริง - ไบนารีของ CLI คือ
SiYuan-Kernelซึ่งอยู่ใต้<install>/resources/kernelของพาธติดตั้ง- ตัวติดตั้งบน Windows จะเพิ่มลง PATH ให้อัตโนมัติ
- บน macOS/Linux สามารถสร้าง symbolic link ได้ด้วยตนเอง
การจัดเก็บและการซิงก์ข้อมูล
- ข้อมูลถูกจัดเก็บในโฟลเดอร์ data ของ workspace
- หน้าที่ของโฟลเดอร์หลักมีดังนี้
assets: เก็บ assets ที่แทรกไว้emojis: เก็บรูปภาพอีโมจิsnippets: เก็บ code snippetstorage: เก็บเงื่อนไข query, layout, แฟลชการ์ด เป็นต้นtemplates: เก็บ template snippetwidgets: เก็บ widgetplugins: เก็บ pluginpublic: เก็บข้อมูลสาธารณะ
- โฟลเดอร์ที่เหลือคือโฟลเดอร์โน้ตบุ๊กที่ผู้ใช้สร้างขึ้น และไฟล์
.syภายในโฟลเดอร์โน้ตบุ๊กใช้เก็บข้อมูลเอกสาร - รูปแบบข้อมูลเอกสาร
.syคือ JSON - ไม่รองรับการซิงก์ข้อมูลผ่านดิสก์ซิงก์ของบุคคลที่สาม เพราะอาจทำให้ข้อมูลเสียหายได้
- แม้จะไม่รองรับดิสก์ซิงก์ของบุคคลที่สาม แต่รองรับการเชื่อมต่อกับที่เก็บข้อมูลคลาวด์ของบุคคลที่สามผ่านสิทธิ์สมาชิกแบบชำระเงิน
- สามารถใช้การส่งออกและนำเข้าข้อมูลเป็นทางเลือกสำหรับการซิงก์แบบแมนนวล
- เดสก์ท็อป:
Settings→Export→Export Data/Import Data - มือถือ:
Right column→About→Export Data/Import Data
- เดสก์ท็อป:
โอเพนซอร์สและการอัปเกรด
- SiYuan เป็น โอเพนซอร์สเต็มรูปแบบ และยินดีรับการมีส่วนร่วม
- รีโพซิทอรีที่เกี่ยวข้องมีดังนี้
- ดูแนวทางการพัฒนาได้ที่ Development Guide
- หากติดตั้งผ่าน app store ให้อัปเดตจาก app store
- หากติดตั้งผ่านแพ็กเกจเดสก์ท็อป สามารถตั้งค่า
Settings→About→Automatically download update installation packageเพื่อดาวน์โหลดแพ็กเกจติดตั้งล่าสุดอัตโนมัติและรับคำแนะนำในการติดตั้ง - หากติดตั้งผ่านแพ็กเกจแบบแมนนวล ให้ดาวน์โหลดแพ็กเกจติดตั้งอีกครั้งแล้วติดตั้ง
- ตรวจสอบเวอร์ชันใหม่ได้ที่
Settings→About→Current Version→Check update, Official Download, GitHub Releases
FAQ อื่น ๆ
- หากไม่พบไอคอนบล็อกในบางบล็อก เช่น paragraph block ภายในรายการ นั่นหมายความว่าไอคอนบล็อกของบล็อกย่อยตัวแรกใต้รายการนั้นถูกซ่อนไว้
- สามารถวางเคอร์เซอร์บนบล็อกนั้นแล้วกด
Ctrl+/เพื่อเปิดเมนูบล็อกได้
- สามารถวางเคอร์เซอร์บนบล็อกนั้นแล้วกด
- หากทำ data repo key หาย และก่อนหน้านี้เคย initial setup อย่างถูกต้องบนหลายอุปกรณ์ คีย์ของทุกอุปกรณ์จะเหมือนกัน และสามารถดึงได้จาก
Settings→About→Data repo key→Copy key string - หากตั้งค่าคีย์ไม่ถูกต้อง หรือไม่สามารถใช้งานทุกอุปกรณ์ได้ ต้องสำรองข้อมูลด้วยตนเองแล้วรีเซ็ต data repo key
- ใช้
Export Dataหรือคัดลอกโฟลเดอร์workspace/data/จากระบบไฟล์โดยตรงเพื่อสำรองข้อมูล - เรียกใช้
Settings→About→Data repo key→Reset data repo - หลังรีเซ็ตคีย์บนอุปกรณ์หนึ่งแล้ว ให้นำเข้าคีย์บนอุปกรณ์อื่น
- คลาวด์จะใช้ไดเรกทอรีซิงก์ใหม่ และไดเรกทอรีซิงก์เดิมรวมถึง snapshot บนคลาวด์เดิมจะไม่สามารถใช้งานได้อีก
- ใช้
- ฟีเจอร์ส่วนใหญ่ใช้งานได้ฟรีแม้เพื่อการพาณิชย์
- สิทธิ์สมาชิกแบบชำระเงินจะใช้งานได้หลังชำระเงินเท่านั้น และรายละเอียดเพิ่มเติมดูได้ที่ Pricing
1 ความคิดเห็น
ความเห็นจาก Hacker News
ดูน่าสนใจดี แต่พอผ่านเส้นทางด้านการจัดการความรู้/การเพิ่มประสิทธิภาพการทำงานมาแล้ว ก็รู้สึกว่าถ้าคุณคุ้นกับคอมพิวเตอร์หรือ Unix อยู่พอสมควร ควรเริ่มจากการพึ่งพา โครงสร้างไดเรกทอรี, ชื่อไฟล์, plain text, รายการ, Markdown ก่อน
แนวทางแบบ Unix ที่ให้ความสำคัญกับไฟล์มากกว่าแอปนั้นดีกว่า และควรจัดระเบียบด้วยแนวคิดสากลอย่างสถานที่ สิ่งของ ผู้คน เหตุการณ์ ตัวชี้วัด และวิธีใช้ การใช้เครื่องมืออย่างคำสั่ง Unix, make/justfile, (rip)grep, git, fzf ก็ช่วยได้มาก และถ้าพยายามแก้ปัญหานี้ผ่านเว็บ สุดท้ายจะกลายเป็นไปแก้ปัญหาเรื่องเว็บแทนที่จะเป็นการจัดการความรู้พื้นฐาน สมาร์ตโฟน/หน้าจอสัมผัสก็เป็นปัญหาใหญ่เช่นกัน แต่แทนที่จะพยายามแก้เองทั้งหมด ทางที่เป็นจริงกว่าคือทำให้ตัวจัดการไฟล์หรือ fzf บน Termux ใช้งานด้วยการสัมผัสได้ดีพอ อย่างไรก็ตาม ฟีเจอร์ backlink ยังเป็นเรื่องที่กำลังคิดอยู่เสมอ และคงดีถ้ามีเครื่องมือ Unix ที่สแกนการอ้างอิงไฟล์อื่นจากไฟล์ข้อความในลำดับชั้นได้
มันไม่มีโน้ตบุ๊กหรือโฟลเดอร์ มีแค่ไดเรกทอรีเดียวที่เก็บไฟล์ Markdown พร้อมระบบค้นหา/แท็กที่ใช้ได้ดี คล้ายกับแนวโน้มที่เลิกจัดอีเมลเป็นโครงสร้างลึก ๆ ล่วงหน้า แล้วเปลี่ยนมาเป็น “ทำดัชนีไว้ แล้วค่อยค้นหาเมื่อจำเป็น” มันเพียงพอกับความต้องการ และถึงจะมีบั๊กเล็ก ๆ หรือช่องโหว่อยู่บ้างก็ยังหลบเลี่ยงหรืออยู่กับมันได้ ข้อจำกัดเป็นแรงผลักดันที่ทรงพลังต่อความคิดสร้างสรรค์และการลงมือทำ
ถ้าใช้กฎเกณฑ์ที่สมเหตุสมผล ก็สามารถสร้างเวอร์ชันเว็บด้วย Ghost หรือ Zola และ deploy อัตโนมัติผ่าน CI ได้ มีทั้งแบ็กอัปและการซิงก์ รวมถึงแอปเดสก์ท็อป/มือถือ มี Vim key binding และปลั๊กอิน git ด้วย มันเข้ากับ Unix ได้ดีและปรับตัวเข้ากับรูปแบบการสำรวจ/จัดระเบียบหลายแบบ เป็นระบบที่ดีมากทีเดียว ใช้เครื่องมือมาหลายตัวแล้วก็ยังไม่เจออะไรที่เข้าใกล้ Obsidian
ช่วงประมาณ 1 ปีที่ผ่านมาเลยลงหลักปักฐานกับ Markdown ธรรมดาและลำดับชั้นของไดเรกทอรี ไปเลย ใช้ Emacs ซึ่งเป็นตัวแก้ไขที่ชอบในการแก้ไฟล์ และใช้ประโยชน์จาก key binding, การค้นหา และการควบคุมเวอร์ชันที่มีอยู่แล้ว โน้ตถูกอัปขึ้น Forgejo instance ที่โฮสต์เอง จะเป็น GitHub ก็ได้ Forgejo มีเว็บอินเทอร์เฟซในตัวอยู่แล้ว จึงทำให้โน้ตและลิงก์ทำงานได้ดี บนโน้ตบุ๊กก็ตั้งให้ mdbook เฝ้าดูไดเรกทอรีแล้ว build เป็นเว็บไซต์แบบ static ไว้ใช้เวลาไล่อ่านหรือเปิดดูโน้ต เคยหาวิธีเขียนโน้ตบนมือถือด้วย แต่ถ้าเกินไม่กี่บรรทัดก็สุดท้ายหยิบโน้ตบุ๊กมาใช้อยู่ดี บนมือถือเลยแทบใช้เพื่ออ่านอย่างเดียว เอา mdbook เดียวกันไปไว้หลัง VPN เพื่อให้เข้าถึงจากมือถือได้ และถ้าต้องแก้ระหว่างเดินทางก็ใช้เว็บอินเทอร์เฟซของ Forgejo ได้
สำหรับผมมันเหมาะมาก แต่การซิงก์และการใช้งานบนมือถือยังน่าเสียดายอยู่ บน Termux มันทำงานได้สวยงาม แต่ถ้ามีวิธีครอบแอปบรรทัดคำสั่งด้วย UI พื้นฐานสำหรับมือถือก็คงดี Tk/Tcl ดูจะใกล้ที่สุด แต่มีตัวเลือกฝั่ง Android เท่านั้น และผมใช้ iOS เป็นหลัก เลยไม่ค่อยเหมาะ ส่วนการซิงก์ก็มีแผนที่ดูเข้าท่า เช่นซิงก์ผ่าน IMAP4 หรือแบบอิง git และ roadmap กับงานของโปรเจกต์นี้ก็ถูกติดตามอยู่ใน repository ของมันเอง จึงถือว่าใช้งานได้จริง
เมื่อก่อนเคยมีไอเดียสำหรับแอปโน้ตที่ Unix มาก ๆ และตอนนี้ก็ยังคิดว่ามันน่าจะทำงานได้ดี จะเก็บโน้ตไว้ในฐานข้อมูล SQLite ก็ได้ประโยชน์เรื่องการบีบอัด ประสิทธิภาพ และการแบ็กอัปที่ง่าย หรือจะเก็บเป็นไฟล์ข้อความในไฟล์ซิสเต็มก็ได้ประโยชน์เรื่องการค้นหาง่ายและการพึ่งพาระบบต่ำ ตัว “editor” เองมีหน้าที่แค่สร้างไฟล์ชั่วคราวใหม่แล้วเปิดด้วย
$EDITORทีหลังก็ค่อยตั้งชื่อ หรือจะใช้วันที่ปัจจุบันเป็นชื่อก็ได้ ถ้าต้องใช้ลิงก์ก็ใช้ตัวแก้ไขที่รู้จักไฟล์ซิสเต็ม ถ้าต้องการ syntax highlighting ก็ใช้ตัวแก้ไขที่มีฟีเจอร์นั้น การซิงก์ก็ใช้ร่วมกับ Syncthing และการค้นหาก็ใช้ fzfผมใช้สิ่งนี้บนโฮมเซิร์ฟเวอร์มาหลายปีแล้ว
มันเป็น เครื่องมือคล้าย Obsidian ที่ยังขัดเกลาน้อยกว่าและเอกสารก็ยังไม่มาก ข้อดีคือเป็นโอเพนซอร์ส แต่ผมไม่ค่อยรู้จักบริษัทที่อยู่เบื้องหลังนัก นอกจากรู้ว่าเป็นบริษัทจีนก็หาอะไรเพิ่มเติมไม่ได้มาก ใช้มันเพราะโฮสต์เองได้ มีฟีเจอร์ส่วนใหญ่ของ Obsidian และใช้ผ่านเว็บเบราว์เซอร์ได้จากทุกที่ ซึ่งเป็นฟีเจอร์ใหญ่ที่สุดที่ Obsidian ไม่มี
ตอนเห็นครั้งแรกไม่ได้รู้สึกว่าแอปหยาบหรือทำมาไม่ดี แถมตอบสนองได้ดีกว่า Notion ชัดเจน และให้ความรู้สึกฝืดน้อยกว่า RemNote เพียงแต่มี tooltip โผล่มาเยอะและเร็วเกินไปจนค่อนข้างรบกวน ดูเหมือนพวกเขาพยายามใส่แฟลชการ์ดแบบ spaced repetition เหมือน RemNote, ฐานข้อมูลแบบ Notion, รวมถึง AI เข้าไป และก็ดูเหมือนจะทำออกมาได้ค่อนข้างดี ตัวเลือกการส่งออกที่หลากหลายซึ่งยังคงเก็บ internal link, รูปภาพ และ code block ไว้ได้ รวมถึง Org-Mode ก็ดีเหมือนกัน ผมชอบที่มันเป็นทางเลือกที่มั่นคงและฟีเจอร์เยอะสำหรับแอปแบบ cloud-first และปิดซอร์ส แต่ด้วยความสามารถด้านเลย์เอาต์ขั้นสูงและฟีเจอร์จำนวนมาก มันอาจจะดูรบกวนและหนักเกินไปสำหรับการใช้งานของผม Tana ก็เป็นโซลูชัน all-in-one คล้ายกันและล้ำกว่า แต่สุดท้ายผมก็มักถูกดึงกลับไปหาแอปที่โฟกัสมากกว่า
ทั้งที่ในแอป Electron ก็มี HTTP API อยู่แล้ว แต่เว็บเดโมกลับเปิดได้แค่ไฟล์ฝั่งไคลเอนต์ผ่าน file system API เท่านั้น สักวันหนึ่งผมคง fork มันแล้วทำให้ตรงกับที่ตัวเองต้องการ และยังมีความอยากแบบเพี้ยน ๆ ที่จะเปลี่ยนฟอร์แมตการ serialize จาก Markdown เป็น XML เพื่อจะได้ใช้เครื่องมืออื่นมาจัดการกราฟด้วย xpath, xquery, basex
เห็นเครื่องมือจดโน้ตแบบนี้ออกมาใหม่เรื่อย ๆ อยู่บ่อย ๆ ฉันลงลึกกับ Logseq ไปมากแล้ว และเวอร์ชันฐานข้อมูลใหม่ก็กำลังจะออกเร็ว ๆ นี้
ถ้าไม่มีเครื่องมือนำเข้า/ส่งออกที่ช่วยย้ายโน้ตระหว่างแอปหลักอย่าง Logseq หรือ Obsidian ได้ เครื่องมือแบบนี้ก็จะถูกใช้แค่โดยผู้ใช้ใหม่ หรือคนที่มีโน้ตน้อยมากจนพอจะหาเวลาย้ายได้เท่านั้น
อาจมีข้อดีด้านประสิทธิภาพหรือการบีบอัด แต่เมื่อคิดถึงปริมาณงานเขียนที่คนคนหนึ่งจะใช้ตลอดชีวิต มันก็ยังไม่ค่อยน่าโน้มน้าวสำหรับฉันตอนนี้
ไลเซนส์ดูแปลก ๆ หน่อย การซิงก์แบบ self-hosted ถูกระบุว่าเป็นฟีเจอร์เสียเงิน และในโค้ดก็มีการตรวจสอบไลเซนส์จริง แต่แทนที่จะเป็นผลิตภัณฑ์แบบ open core ทั่วไปที่มีไดเรกทอรี
ee/แยกต่างหากภายใต้ไลเซนส์คนละแบบ กลับมีแม้แต่โค้ดตรวจสอบไลเซนส์ทั้งหมดอยู่ภายใต้ AGPLใน FAQ ก็ยังย้ำว่า “SiYuan is completely open source” ด้วย ถ้าอย่างนั้น ต่อให้ลบการตรวจสอบไลเซนส์ออกด้วยแพตช์ ซึ่งเท่าที่ดูสำหรับฉันน่าจะแก้แค่บรรทัดเดียว ก็ยังถือว่าปฏิบัติตามไลเซนส์ครบถ้วนอยู่ดี แถมยังสามารถแจกจ่ายไบนารีของเวอร์ชันที่แพตช์แล้วได้ด้วย แน่นอนว่ามันค่อนข้างไม่แฟร์ แต่นี่ตั้งใจไว้แบบนั้นหรือ? ขายแค่ ความสะดวกสบาย ของอิมเมจที่ build ไว้ล่วงหน้าหรือเปล่า?
มันทำให้ขายซอฟต์แวร์เสรีได้จริง และถ้าดำเนินการดี ๆ มันก็เวิร์ก
แต่ถ้าคุณไม่อยากเสีย $100 เพื่อ build เวอร์ชัน iOS เพราะข้อจำกัดของบัญชีนักพัฒนา Apple การใช้เวอร์ชันทางการก็อาจดีกว่าในทางปฏิบัติจริง ยังมีแพตช์ไม่เป็นทางการที่ค่อนข้างเป็นที่รู้จัก 2 ตัวซึ่งเอาข้อจำกัดแบบเสียเงินออก ตัวหนึ่งคือเวอร์ชันทดลองของนักพัฒนาภายนอกที่ทดสอบฟีเจอร์แล้วส่งกลับ upstream ที่ github.com/siyuan-community/siyuan และอีกตัวคือ github.com/EightDoor/siyuan ที่ลบฟีเจอร์เสียเงินออกเฉย ๆ นอกจากนี้ยังเคยมี PR จากนักพัฒนาในชุมชนที่เสนอให้เพิ่มใบรับรองดิจิทัลเพื่อกันไม่ให้ไบนารีแพ็กเกจไม่เป็นทางการใช้บริการคลาวด์ทางการได้ เพราะ marketplace ของปลั๊กอินใช้ CDN ทางการทำให้ค่า traffic ไม่ได้น้อย แต่ PR นั้นก็ถูกปฏิเสธ
ขอแนะนำ Trilium Notes ได้อีกตัว ใช้มาหลายปีแล้วพอใจมาก
ตอนนี้มันอยู่ใน “maintenance mode” แต่สำหรับฉันกลับมองว่าเป็นข้อดี เพราะไม่มีความเสี่ยงที่ฟีเจอร์จะบวมเกินไป สามารถ self-host ได้ เป็นเว็บแอปที่ยอดเยี่ยม มี native client แบบเลือกใช้ และทำงานแบบออฟไลน์ได้ https://github.com/zadam/trilium
https://github.com/TriliumNext/Notes
self-host มา 3 เดือนแล้วและพอใจมาก ย้ายมาจาก Joplin แม้จะเสียการเข้าถึงแบบออฟไลน์ไป แต่ก็ แสดงออกได้ยืดหยุ่นกว่า และใช้งานเขียนได้ดีกว่ามาก
ฟีเจอร์อื่น ๆ ของเวอร์ชัน Pro ก็ไม่ได้รู้สึกขาดอะไรเป็นพิเศษ ฉันใช้แค่ Authelia สำหรับการยืนยันตัวตน และไม่ต้องพึ่ง Docker container อื่น ๆ มันใช้รูปแบบไฟล์ของตัวเอง แต่ฉันสำรองข้อมูล volume และสามารถ export ออกเป็น Markdown ธรรมดาแบบแมนนวลได้ เว็บ UI ก็ responsive ดีสำหรับการใช้งานบนมือถือ และสำหรับฉันมันเหมาะกว่าตัวอื่น ๆ
แล้วก็ใช้ S3 instance แบบ self-hosted เพื่อซิงก์ทุก installation รวมถึง OSX และ Android/iPhone ด้วย การซิงก์ทำงานได้ดีมาก เมื่อดูจากจำนวนฟีเจอร์แล้ว ฉันรู้สึกว่าโปรแกรมนี้ทำให้ Obsidian หลุดจากการเป็นตัวเปรียบเทียบไปเลย น่าจะพูดได้ว่าเป็นทางเลือกที่ใกล้กับ Notion มากกว่า ตอนนี้ฉันกำลังทำเครื่องมือเสริมแบบ self-hosted เล็ก ๆ สำหรับ Siyuan อยู่ ซึ่งจะช่วยให้ผู้ใช้แชร์โน้ตแบบสาธารณะได้
ฉันก็เห็นด้วยกับคำแนะนำที่เห็นที่นี่
วิธี จัดการความรู้ ของฉันเรียบง่ายมาก ทุกอย่างอยู่ใน git และอยู่ในโครงสร้างไดเรกทอรีขนาดใหญ่ที่ค่อย ๆ เติบโตตามธรรมชาติเมื่อเวลาผ่านไป ฉันมีโน้ตเยอะมาก น่าจะราว 7,000~8,000 ชิ้น การเก็บไว้ใน git ทำให้ฉันมีความยืดหยุ่นที่จะใช้งานในแบบที่ต้องการ บางครั้งก็ใช้ Emacs/Neovim แต่ส่วนใหญ่ใช้ Sublime Text เพราะมี workspace แยกตามโปรเจกต์หรือแนวคิด ส่วนมือถือก็ push ทุกอย่างไปยัง Gitea instance ของตัวเอง ฉันไม่ได้ต้องเข้าถึงโน้ตจากมือถือบ่อยนัก แต่ช่วงหลังเริ่มคิดเรื่องนี้มากขึ้น อยากได้คำแนะนำวิธีอ่านไดเรกทอรีไฟล์ข้อความบน Android
บน iOS ตอนนี้ฉันใช้ Working Copy สำหรับ git commit/push/pull และใช้ Obsidian สำหรับแก้ไขข้อความ อินเทอร์เฟซของ Obsidian สำหรับแก้ Markdown แบบเร็ว ๆ ค่อนข้างถูกใจฉัน เท่าที่รู้ Obsidian ก็มีเวอร์ชัน Android ด้วย แต่ฉันยังไม่เคยใช้ ส่วน Working Copy บน Android มีหรือเปล่าไม่แน่ใจ แต่อาจมีแอป git แบบ GUI ที่คล้ายกันอยู่
สิ่งที่น่าเสียดายในแอปแนวนี้รวมถึง Notion คือความสามารถในการสืบทอดพร็อพเพอร์ตีของฐานข้อมูล
ตัวอย่างเช่น อยากสร้างฐานข้อมูลแม่ที่มีพร็อพเพอร์ตีงานพื้นฐานอย่างชื่อเรื่องและวันครบกำหนด แล้วสร้างฐานข้อมูลลูกที่เพิ่มพร็อพเพอร์ตีตามโปรเจกต์เข้าไป แบบนั้นก็จะทำมุมมองเดียวที่เห็นงานทั้งหมดที่ต้องทำวันนี้ได้ พร้อมกับเพิ่มข้อมูลทั้งหมดที่จำเป็นสำหรับงานแต่ละชิ้นได้ด้วย แปลกดีที่เท่าที่ผมรู้ยังไม่มีใครใส่สิ่งนี้ลงในแอปเลย
https://tana.inc/docs/supertags
ส่วนเวอร์ชันดั้งเดิมที่อิง Markdown ผมตอบไม่ได้ แต่โดยรวมเห็นด้วยว่าน่าจะดีถ้ามีฟีเจอร์แบบนี้แพร่หลายมากกว่านี้
เครื่องมือที่ซับซ้อนส่วนใหญ่มีประเภทงาน และบางตัวก็ปรับแต่งได้ บางตัวก็ไม่ได้ เช่น Jira น่าจะทำสิ่งที่อธิบายไว้ได้
แต่การทำงานพื้นฐานของงานใช้เทมเพลต ไม่ได้ใช้การสืบทอด ดังนั้นต้องเขียนสคริปต์เอง
ดูดีนะ แต่เหมือน Obsidian แทบทุกอย่าง ต่างจากฟีเจอร์ของ Obsidianอย่างไร?
พอเห็นคำว่า “Personal Knowledge Management” แล้วผมคาดหวังอีกแบบ
ตัวอย่างเช่น ถ้าตอนนี้ผมกำลังศึกษาวิธีเริ่ม IRL streaming ผมก็อยากสร้างหัวข้อชื่อ “IRL Streaming” แล้วใส่ลิงก์วิดีโอ ลิงก์เอกสาร/เอกสารประกอบ/บทสอน/ไกด์/วิธีใช้ และเขียนโน้ตลงไปด้วย สุดท้ายก็จะได้เรียนรู้หัวข้อนั้น และถ้าจำเป็นก็อาจสร้างหัวข้อย่อยอย่าง “SRT and SLS vs RTMP” เพื่อค้นคว้าต่อได้ มีคนบอกว่ามันเหมือน Obsidian เวอร์ชันลอกมา แต่พอไปดูเว็บไซต์ Obsidian มันถูกอธิบายว่าเป็นเครื่องมือช่วยเขียนหนังสือ อันนี้เรียกตัวเองว่า PKM เลยดูเกี่ยวข้องกันอยู่ แต่ก็อาจไม่ใช่สิ่งที่ผมหาอยู่ ผมไม่ต้องการวิธีแบบโฟลเดอร์ที่มีไฟล์ตามที่คอมเมนต์ด้านบนเสนอ ผมอยากได้เว็บแอปที่เข้าถึงได้จากทุกที่ เอาไว้โยนลิงก์ข้อมูลที่จัดตามหัวข้อพร้อมโน้ตเกี่ยวกับมันลงไป พออ่าน README ของ siyuan-note แล้ว ดูเหมือนมันจะทำแบบนี้ได้ คำถามหนึ่งคือ รองรับหลายผู้ใช้ไหม? ผมอยากโฮสต์ให้ชุมชนในละแวกผมใช้