প্রকল্প সম্পর্কে
প্রজেক্ট পজিশনিং
এটি番茄小说 (Tomato Novel)-এর দীর্ঘ ধারাবাহিক গল্পের জন্য একটি Windows লোকাল ডেস্কটপ ওয়ার্কস্টেশন, যার টেকনোলজি স্ট্যাক হলো Electron, React, TypeScript এবং SQLite। অ্যাপ্লিকেশনটি番茄 অ্যাকাউন্টে লগ-ইন করে না এবং স্বয়ংক্রিয়ভাবে কোনো কাজ পাবলিশ করে না; সমস্ত পাবলিশিং কার্যক্রম লেখকের দ্বারা প্ল্যাটফর্মের ব্যাকএন্ডে ম্যানুয়ালি সম্পন্ন করা হয়। এর মূল ধারণা হলো 「র্যাঙ্কিং রিসার্চ—স্যাম্পল ডিসমেন্টলিং—অরিজিনাল প্রজেক্ট ইনিশিয়েশন—রোলিং প্ল্যানিং—চ্যাপ্টার-বাই-চ্যাপ্টার রাইটিং—স্টেট লেজার—কোয়ালিটি চেক—শিডিউলিং পাবলিশিং—ডেটা রিভিউ」-কে একটি অডিটেবল লোকাল পাইপলাইনে রূপান্তর করা।
প্রধান সক্ষমতা
মার্কেট রিসার্চের ক্ষেত্রে, এটি লগ-ইন ছাড়াই পাবলিক র্যাঙ্কিং পেজ সংগ্রহ করতে পারে বা র্যাঙ্কিং CSV ইমপোর্ট করতে পারে এবং বিভিন্ন তারিখের স্ন্যাপশট তুলনা সমর্থন করে। TXT, EPUB, DOCX ইমপোর্ট বা টেক্সট পেস্ট করার সময় এটি প্রথমে চ্যাপ্টার প্রিভিউ প্রদান করে এবং নিশ্চিত করার পর ডেটাবেসে সংরক্ষণ করে। স্যাম্পল ডিসমেন্টলিং শুধুমাত্র লোকাল অ্যানালাইসিস সমর্থন করে, অথবা প্রতিটি বইয়ের জন্য স্পষ্ট সম্মতির পর ১০টি চ্যাপ্টারের ব্যাচে ক্লাউড মডেল কল করে চ্যাপ্টার, ১০-চ্যাপ্টার পর্যায়, ভলিউম এবং সম্পূর্ণ বইয়ের চার স্তরের প্রমাণ তৈরি করে। এটি বিল্ট-ইন চাইনিজ কমার্শিয়াল ওয়েব নভেল নলেজ বেস অনুযায়ী প্রতিটি চ্যাপ্টার থেকে প্রত্যাশা, কোর বেনিফিট, অ্যাক্টিভ অ্যাকশন, ইমোশনাল রিটার্ন, অ্যাকচুয়াল ইমপ্যাক্ট এবং পরবর্তী প্রত্যাশা এক্সট্রাক্ট করে।
রাইটিং সাইডে রয়েছে ক্রিয়েটিভ কন্ট্রাক্ট অ্যাপ্রুভাল, ম্যাক্রো পর্যায় এবং ভলিউম, আগামী ৩০ চ্যাপ্টারের রাফ আউটলাইন, আগামী ৫ চ্যাপ্টারের ডিটেইল আউটলাইন এবং বর্তমান চ্যাপ্টারের সিন কার্ড। রাইটিং ডেস্ক চ্যাপ্টার আউটলাইন সংরক্ষণ করতে পারে, কম্পাইল করা মিনিমাম কনটেক্সট প্রিভিউ করতে পারে এবং এরপর বডি টেক্সট জেনারেট বা হাতে লিখতে পারে। সাধারণ চ্যাপ্টারগুলো ৫-চ্যাপ্টার ব্যাচে সমর্থিত, যা কার্যকর করার আগে ইনপুট, আউটপুট এবং খরচের অনুমান দেখায়। গুরুত্বপূর্ণ চ্যাপ্টার, ভলিউম বর্ডার, বড় স্টেট পরিবর্তন, ফ্যাক্ট কনফ্লিক্ট বা হার্ড ওয়ার্নিংয়ের ক্ষেত্রে স্বয়ংক্রিয়ভাবে চ্যাপ্টার-বাই-চ্যাপ্টার প্রসেসিং প্রয়োজন হয়। স্টেট লেজারটি চরিত্র, সম্পর্ক, ক্ষমতা, রিসোর্স, স্থান, টাইমলাইন, গোপনীয়তা, প্রতিশ্রুতি, ফোরশ্যাডোয়িং, সাব-প্লট এবং ইভেন্ট রক্ষণাবেক্ষণের জন্য ব্যবহৃত হয়।
মডেল এবং কনটেক্সট
সিস্টেম সেটিংসে OpenAI / কম্প্যাটিবল ইন্টারফেস বা Anthropic Claude প্রোটোকল নির্বাচন করে বেস অ্যাড্রেস এবং মডেলের নাম লেখা যায়, পাশাপাশি খরচের অনুমানের জন্য ইনপুট-আউটপুট ইউনিট প্রাইস প্রদান করা যায়। দীর্ঘ টাস্কের মোট টাইমআউট ৫, ১০ বা ১৫ মিনিটের মধ্যে নির্বাচন করা যায় এবং স্ট্রিমিং রেসপন্সে ১৮০ সেকেন্ড ডেটা না থাকলে তা আগে বন্ধ হয়ে যাবে। API কী-গুলো Windows Credential Manager-এ সংরক্ষিত হয় এবং SQLite, লগ, প্রজেক্ট ডিরেক্টরি বা ব্যাকআপ প্যাকে লেখা হয় না। Anthropic কলের জন্য অফিসিয়াল API কী ব্যবহৃত হয়, এটি Claude Code / Claude Max লগ-ইন স্টেট পড়ে না। প্রাসঙ্গিক ফ্যাক্ট রিট্রিভালের জন্য লোকাল চাইনিজ ক্যারেক্টার সিমিলারিটি ইনডেক্স ব্যবহৃত হয়, কোনো ক্লাউড ভেক্টর মডেল কল করা হয় না।
কনটেক্সট এর রেন্ডারিং স্ট্যাবিলিটি অনুযায়ী লেয়ার করা হয়; ক্রিয়েটিভ কন্ট্রাক্ট সিস্টেম প্রম্পটের ফিক্সড শেষে থাকে এবং বর্তমান চ্যাপ্টারের টাস্ক জেনারেশন পয়েন্টের কাছাকাছি থাকে। স্টোরি বাইবেলের দীর্ঘ লিস্টগুলোকে সেটিং আইটেমে রূপান্তর করা যায় এবং কার্যকর চ্যাপ্টার রেঞ্জ, রিডার রিভিল চ্যাপ্টার এবং মেনশন টাইমিং অনুযায়ী ফিল্টার করে ইনজেক্ট করা হয়। ওয়ার্ল্ড রুলস এবং টাইম অ্যাঙ্কর ডিফল্টভাবে স্থায়ী থাকে। মডেল কনটেক্সট উইন্ডো প্রথমে ডিটেকশন রেজাল্ট থেকে নেওয়া হয়, না থাকলে ক্লাউড-এর জন্য 1M এবং লোকাল-এর জন্য 32k ধরে নেওয়া হয়, যা ম্যানুয়ালি ওভাররাইড করা সম্ভব।
ম্যানুয়াল গেটওয়ে
ক্রিয়েটিভ কন্ট্রাক্ট অ্যাপ্রুভ না হওয়া পর্যন্ত প্ল্যানিং বা বডি টেক্সট জেনারেট করা যায় না। যেসব চ্যাপ্টারে অমীমাংসিত হার্ড প্রবলেম আছে, সেগুলো ফাইনাল করা বা পাবলিশিং কিউতে নেওয়া যায় না। অ্যাপ্রুভড কন্ট্রাক্ট, অ্যাপ্রুভড প্ল্যানিং, ফাইনাল করা বা পাবলিশিং চলাকালীন চ্যাপ্টার পরিবর্তন করতে হলে প্রথমে আউটলাইন চেঞ্জ অর্ডার অ্যাপ্রুভ করতে হবে। AI শুধুমাত্র ক্যান্ডিডেট, ড্রাফট এবং সাজেশন জেনারেট করে; এটি স্বয়ংক্রিয়ভাবে ফাইনাল করে না, আউটলাইন পরিবর্তন করে না বা পাবলিশ করে না। কোয়ালিটি চেক সর্বদা অফলাইন রুলস কার্যকর করে এবং মডেল কনফিগার করার পর বডি টেক্সট বা লেজার প্রমাণের সাথে সেমান্টিক রিভিউ যুক্ত করে।
আইসোলেশন এবং সিকিউরিটি
অরিজিনাল স্যাম্পল শুধুমাত্র research\research.sqlite-এ সংরক্ষিত থাকে। ক্লাউড ডিসমেন্টলিংয়ের জন্য শুধুমাত্র লোকাল ডি-সেনসিটাইজড চ্যাপ্টার ফ্র্যাগমেন্ট পাঠানো হয়। ক্রিয়েটিভ মডেল শুধুমাত্র ডি-সেনসিটাইজড ইনসাইট প্যাক গ্রহণ করে, অরিজিনাল রিসার্চ টেক্সট নয়। কোয়ালিটি চেক রেকর্ড শুধুমাত্র অ্যানোনিমাস রিসার্চ রেফারেন্স এবং ফিঙ্গারপ্রিন্ট সংরক্ষণ করে। Electron রেন্ডার প্রসেসে sandbox, context isolation এবং content security policy সক্রিয় থাকে এবং Node.js ইন্টিগ্রেশন খোলা থাকে না। IPC শুধুমাত্র মেইন উইন্ডো কল গ্রহণ করে এবং পাবলিক API-এর জন্য Zod প্যারামিটার স্কিমা রেজিস্টার করতে হয়; আনরেজিস্টার্ড চ্যানেল ডিফল্টভাবে রিজেক্ট করা হয়। র্যাঙ্কিং কালেকশন এবং মডেল অ্যাড্রেস শুধুমাত্র HTTP/HTTPS অনুমতি পায় এবং লোকালহোস্ট, প্রাইভেট নেটওয়ার্ক এবং রিজার্ভড অ্যাড্রেস রিজেক্ট করা হয়।
ডেটা, ব্যাকআপ এবং রিলায়াবিলিটি
ডিফল্ট ওয়ার্কস্পেস ইউজার ডকুমেন্ট ডিরেক্টরির 「长篇创作工作台数据」-তে থাকে, যার মধ্যে catalog.sqlite, রিসার্চ লাইব্রেরি, প্রতিটি কাজের জন্য আলাদা project.sqlite, অ্যাটাচমেন্ট, এক্সপোর্ট এবং ব্যাকআপ ডিরেক্টরি থাকে। বিভিন্ন প্রজেক্টের মধ্যে ক্রস-প্রজেক্ট ফুল-টেক্সট বা ভেক্টর রিট্রিভাল করা হয় না। ব্যাকআপ ফাইল .novelbak AES-256-GCM এনক্রিপশন ব্যবহার করে, যাতে ডেটাবেস, প্রজেক্ট ডিরেক্টরি, অ্যাটাচমেন্ট এবং ফাইল লিস্ট থাকে। এটি তৈরির আগে SQLite checkpoint কার্যকর করে, প্রথমে একটি টেম্পোরারি ফাইলে লেখে এবং সম্পূর্ণ ডিক্রিপশন ভেরিফিকেশনের পর টার্গেট ফাইল রিপ্লেস করে। রিস্টোর করার সময় এটি একটি নতুন কপি ডিরেক্টরিতে লেখে, বর্তমান ওয়ার্কস্পেস ওভাররাইট করে না। অটোমেটিক ব্যাকআপ দৈনিক বা সাপ্তাহিক ভিত্তিতে হতে পারে এবং সাম্প্রতিক ১-৩০টি কপি রাখা হয়; ডেডিকেটেড পাসওয়ার্ড শুধুমাত্র Windows Credential Manager-এ থাকে।
সিস্টেম হেলথ পেজ থেকে ম্যানুয়ালি প্রতিটি লাইব্রেরির SQLite ইন্টিগ্রিটি চেক করা যায়, চ্যাপ্টার রেকর্ড এবং দুটি FTS ইনডেক্স সংখ্যা যাচাই করা যায়, আইসোলেটেড ডিরেক্টরি, ফেইলড টাস্ক এবং ডিস্ক ইউসেজ রিপোর্ট করা যায়। ইনডেক্স ট্রানজ্যাকশনালভাবে রিবিল্ড করা যায়; ক্ষতিগ্রস্ত বা মিসিং ফাইল শুধুমাত্র রিপোর্ট করা হয়, স্বয়ংক্রিয়ভাবে ডিলিট বা মুভ করা হয় না। AI টাস্ক সেন্টার স্ট্যাটাস, মডেল, রিয়েল টোকেন, খরচ এবং সময় রেকর্ড করে। অস্বাভাবিকভাবে বন্ধ হয়ে যাওয়া রানিং টাস্কগুলোকে 'ইন্টারাপ্টেড' হিসেবে মার্ক করা হয় এবং বডি টেক্সট টাস্কগুলো ক্যানসেল বা সেফলি রিট্রাই করা যায়। ডেস্কটপ লগ JSON Lines ফরম্যাটে থাকে, যা ডিস্কে লেখার আগে কী, Bearer, URL ক্রেডেনশিয়াল এবং ইউজার ডিরেক্টরি ডি-সেনসিটাইজ করে এবং বডি টেক্সট ও ডেটাবেস ছাড়া ডায়াগনস্টিক ZIP এক্সপোর্ট করা যায়।
পাবলিশিং এবং আপডেট
Windows পাবলিশিংয়ের জন্য NSIS ইনস্টলার ব্যবহৃত হয়, পোর্টেবল বিল্ড release\win-unpacked-এ থাকে। বর্তমান ডেভেলপমেন্ট ভার্সনে কোনো কমার্শিয়াল কোড সাইনিং সার্টিফিকেট নেই, তাই SmartScreen 'Unknown Publisher' দেখাতে পারে। অটো-আপডেট শুধুমাত্র প্যাকেজড অ্যাপে সক্রিয় থাকে, যা স্টার্টআপের ১৫ সেকেন্ড পর এবং এরপর প্রতি ৬ ঘণ্টা পর পর চেক করে; এটি ব্যাকগ্রাউন্ডে ডাউনলোড হয় এবং স্বয়ংক্রিয়ভাবে রিস্টার্ট হয় না। ইনস্টলেশনের আগে একটি এনক্রিপ্টেড pre-update স্ন্যাপশট তৈরি করা হয় এবং ইনস্টলার ফেইল করলে বর্তমান ভার্সনটি রাখা হয়। আপডেট সোর্স প্রজেক্টের GitHub Releases-এ ফিক্সড থাকে, যা শুধুমাত্র latest.yml রিকোয়েস্ট করে এবং কোনো বডি টেক্সট, লেজার বা ক্রেডেনশিয়াল আপলোড করে না; এটি এনভায়রনমেন্ট ভেরিয়েবল দিয়ে সম্পূর্ণ ডিজেবল করা সম্ভব। পাবলিশিং পাইপলাইনের জন্য তিনটি GitHub Secrets (সার্টিফিকেট এবং পাবলিশার নাম) কনফিগার করতে হয় এবং v* ট্যাগ টেস্ট, বিল্ড, সাইন এবং পাবলিশ ট্রিগার করে।
ইঞ্জিনিয়ারিং এবং কোয়ালিটি বেঞ্চমার্ক
লোকাল ডেভেলপমেন্টের জন্য Node.js 22 LTS এবং Windows 10/11 সাজেস্ট করা হয়। কমান্ডগুলোর মধ্যে রয়েছে npm test, test:quality, test:scale (১০টি বই × ১৫০০ চ্যাপ্টার × ৩০ লাখ শব্দের ক্যাপাসিটি), test:e2e, build, test:electron এবং dist:win। src/shared/quality-benchmark-corpus.ts-এ প্রম্পট ভার্সনের সাথে যুক্ত ফিক্সড কেসগুলো সংরক্ষিত থাকে, যা ক্যারেক্টার নলেজ বাউন্ডারি, রিসোর্স কনজারভেশন, টাইম-প্লেস কনফ্লিক্ট, কন্টিনিউয়াস রিটার্ন মেকানিজম রিপিট এবং নরমাল চ্যাপ্টার ফলস পজিটিভ কন্ট্রোল কভার করে। কোয়ালিটি টেস্ট আলাদাভাবে প্রবলেম রিকল রেট, একুরেসি, সিভিয়ারিটি একুরেসি, এভিডেন্স একুরেসি এবং ফলস পজিটিভ কন্ট্রোল রেট গণনা করে এবং টোকেন খরচ আলাদাভাবে পরিমাপ করা হয়। ফল্ট ইনজেকশন শুধুমাত্র NODE_ENV=test-এ কার্যকর হয়, যা ডিস্ক ফুল, সাবমিশনের আগে পাওয়ার কাট এবং ক্রেডেনশিয়াল আনঅ্যাভেইলেবল সিমুলেট করতে পারে। প্রজেক্টের সাথে আর্কিটেকচার, ডোমেইন রুলস, নলেজ বেস এবং সিকিউরিটি মডেলের ডকুমেন্টেশন রয়েছে এবং এটি MIT License-এর অধীনে ওপেন সোর্স।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.