প্রকল্প সম্পর্কে

Havemind হলো Obsidian-এর জন্য একটি সেলফ-হোস্টেড সিঙ্ক্রোনাইজেশন সমাধান, যা দুই বা তিনজন ব্যক্তি একটি ভল্ট শেয়ার করার জন্য ডিজাইন করা হয়েছে। এটি একটি Obsidian প্লাগইন এবং একটি সার্ভার নিয়ে গঠিত যা আপনি নিজে হোস্ট করেন, কোনো ক্লাউড সার্ভিসে সাইন আপ করার প্রয়োজন নেই। প্লাগইনটি macOS, Windows, Linux, iOS এবং Android-এ চলে, যার জন্য Obsidian 1.11.4 বা তার নতুন সংস্করণ প্রয়োজন। মূল বৈশিষ্ট্যগুলির মধ্যে রয়েছে: - ডিভাইস জুড়ে রিয়েল-টাইম সিঙ্ক (লং-পোলিংয়ের মাধ্যমে পরিবর্তন প্রায় এক সেকেন্ডে পৌঁছায়) - সম্পূর্ণ লেখক ট্র্যাকিং সহ অ্যাপেন্ড-অনলি ইতিহাস (কে কী লিখেছে, রঙ সহ) - কোনো নীরব ওভাররাইট নেই: অ-ওভারল্যাপিং সম্পাদনা স্বয়ংক্রিয়ভাবে মার্জ হয়; বিরোধপূর্ণ সম্পাদনা `Havemind Conflicts/`-এ কপি সহ সংরক্ষিত থাকে - নোট, অ্যাটাচমেন্ট (২৫ MB পর্যন্ত) এবং অ্যাপিয়ারেন্স সেটিংস (থিম, স্নিপেট, হটকি, গ্রাফ সেটিংস) সিঙ্ক করে - কলের মাধ্যমে উচ্চস্বরে পড়া ৬-অঙ্কের কোডের মাধ্যমে ডিভাইস অনুমোদন (তিনটি চেষ্টা) - প্রতি সার্ভারে একাধিক ভল্ট, স্টোরেজ কোটা এবং প্রতি-ডিভাইস থ্রটলিং - ঐচ্ছিক এনক্রিপ্টেড ব্যাকআপ (libsodium crypto_box_seal দিয়ে সিল করা) নিরাপত্তা নেটওয়ার্ক এনক্রিপশন এবং অ্যাক্সেস নিয়ন্ত্রণের জন্য Tailscale (WireGuard) এর উপর নির্ভর করে; সার্ভারটি শুধুমাত্র আপনার ব্যক্তিগত tailnet-এ অ্যাক্সেসযোগ্য। ভল্টটি সার্ভারে প্লেইনটেক্সটে সংরক্ষিত থাকে, তাই সার্ভার নিয়ন্ত্রণকারী যে কেউ এটি পড়তে পারে। এন্ড-টু-এন্ড এনক্রিপশন ইচ্ছাকৃতভাবে সুযোগের বাইরে। প্লাগইনটি কখনই `.obsidian/plugins/` (কোড, স্টেট বা সিক্রেট) সিঙ্ক করে না এবং কোনো টেলিমেট্রি বা অ্যানালিটিক্স অন্তর্ভুক্ত নয়। সার্ভারটি একটি ইচ্ছাকৃতভাবে সহজ Fastify + SQLite অ্যাপ্লিকেশন, যার একটি কনটেন্ট-অ্যাড্রেসড ব্লব স্টোর রয়েছে, যা নন-রুট হিসাবে ড্রপড ক্যাপাবিলিটি সহ চলে। প্লাগইনটি সমস্ত বুদ্ধিমত্তা পরিচালনা করে: ভল্ট পর্যবেক্ষণ, টেকসই আউটবক্স, থ্রি-ওয়ে মার্জ, কনফ্লিক্ট কপি এবং অ্যাক্টিভিটি লগিং। সেলফ-হোস্টিংয়ের জন্য, গাইডটি Docker Compose + Tailscale সেটআপ কভার করে, যার মধ্যে একটি ডেটাবেস কী সিক্রেট তৈরি করা, সার্ভার চালানো এবং ডিভাইস সংযোগ করা অন্তর্ভুক্ত। রিপোজিটরিতে AI এজেন্টদের (যেমন Claude বা MCP) সাথে Havemind ব্যবহারের জন্য ডকুমেন্টেশন, একটি প্রযুক্তিগত পরিকল্পনা এবং একটি MVP স্পেক অন্তর্ভুক্ত রয়েছে। স্থানীয় যাচাইয়ের জন্য Node.js 22 এবং npm 10 প্রয়োজন; `npm run verify` লিন্ট, টাইপচেক, টেস্ট এবং বিল্ড চালায়।