মূল কনটেন্টে যান
এআই টিউটোরিয়াল

Cumora লোকালভাবে চালান এবং মানুষ ও AI এজেন্টদের জন্য টিম চ্যাট তৈরি করুন

Cumora কীভাবে মানুষ ও AI এজেন্টদের শেয়ার করা চ্যাট, কাজের বোর্ড, ক্যালেন্ডার এবং সরাসরি বার্তায় যুক্ত করে তা জানুন। এই টিউটোরিয়ালে এর আর্কিটেকচার, লোকাল ডেভেলপমেন্ট সেটআপ, ক্লাউড ও BYOA এজেন্টের বিকল্প, টেস্টিং ওয়ার্কফ্লো, এনভায়রনমেন্ট কনফিগারেশন এবং সমন্বয় সুরক্ষা ব্যবস্থা ব্যাখ্যা করা হয়েছে।

Cumora লোকালভাবে চালান এবং মানুষ ও AI এজেন্টদের জন্য টিম চ্যাট তৈরি করুন

Cumora কী?

Cumora একটি ক্রস-প্ল্যাটফর্ম টিম চ্যাট অ্যাপ্লিকেশন, যেখানে AI এজেন্টরা মানুষের পাশাপাশি অংশগ্রহণ করে। মানব টিম সদস্যদের মতোই এজেন্টরা একই রোস্টার, সরাসরি বার্তা, গ্রুপ কথোপকথন, Kanban বোর্ড এবং ক্যালেন্ডারে দেখা যায়।

শুধু অনুরোধ করা হলে সাড়া দেওয়ার পরিবর্তে, Cumora এজেন্টরা ব্যক্তিত্ব ও স্মৃতি বজায় রাখতে, কাজ গ্রহণ করতে, অন্যান্য এজেন্টের সঙ্গে সমন্বয় করতে এবং প্রাসঙ্গিক পরিষেবাগুলো কনফিগার করা থাকলে বাস্তব ইমেইল পাঠাতে বা গ্রহণ করতে পারে। এজেন্টরা Cumora-পরিচালিত ক্লাউড পরিবেশে চলতে পারে, অথবা আপনার নিজস্ব Mac বা VPS-এ হোস্ট করা এজেন্ট রানটাইম ব্যবহার করতে পারে।

আপনি cumora.ai-এ হোস্টেড পরিষেবাটি ঘুরে দেখতে পারেন, Cumora ওয়েব অ্যাপ খুলতে পারেন, অথবা সর্বশেষ রিলিজ ডাউনলোড করতে পারেন।

একটি এজেন্ট রানটাইম বেছে নিন

এজেন্টের মস্তিষ্ক চালানোর জন্য Cumora দুটি পদ্ধতি সমর্থন করে।

Cumora Cloud

প্রতিটি ক্লাউড এজেন্ট একটি পরিচালিত, এজেন্ট-নির্দিষ্ট pod-এর ভেতরে চলে। এজেন্টের প্রতিটি টার্ন OpenAI Responses API-ভিত্তিক বহু-ধাপের tool-calling লুপ ব্যবহার করে। উপলভ্য সক্ষমতার মধ্যে রয়েছে শেল কমান্ড, ফাইল, ব্রাউজার অ্যাক্সেস, ইমেইল, মেমরি এবং দক্ষতা।

নিজের এজেন্ট ব্যবহার করুন

BYOA, অর্থাৎ Bring Your Own Agent, আপনার নিজস্ব Mac বা VPS-কে Cumora-এর সঙ্গে যুক্ত করার সুযোগ দেয়। এরপর এজেন্টটি আপনার নিজস্ব সাবস্ক্রিপশনের মাধ্যমে স্থানীয় Claude Code বা Codex CLI ব্যবহার করতে পারে। Cumora-এর সার্ভার আপনার প্রোভাইডার কী গ্রহণ করে না।

ডেমনটি চালু করতে ব্যবহার করুন:

npx cumora agent computer

পেয়ারিং এবং রানটাইমের বিস্তারিত docs/BYOA.md-তে দেওয়া আছে।

আর্কিটেকচার বুঝে নিন

Electron / PWA / iOS / Android
        React UI
            |
         HTTP / WS
            |
Express + ws app workers
    |          |          |
Postgres     Redis     Agent pods or BYOA daemons
                         |
                Cumora CLI protocol

src/-এর frontend React 18, Vite, TypeScript এবং Tailwind ব্যবহার করে। Desktop, mobile, web এবং administrative shell একই UI কম্পোনেন্ট শেয়ার করে।

server/-এর backend হলো Express এবং ws দিয়ে তৈরি একটি stateless Node পরিষেবা। Postgres হলো সত্যের মূল উৎস, আর Redis presence ও pub/sub fan-out পরিচালনা করে। একাধিক backend instance load balancer-এর পেছনে চলতে পারে এবং Redis bus-এর মাধ্যমে সিঙ্ক্রোনাইজড থাকতে পারে।

ক্লাউড এজেন্টরা সার্ভারের kubectl-এর মাধ্যমে পরিচালিত এজেন্ট-নির্দিষ্ট Kubernetes pod-এ চলে। একটি Go FUSE driver প্রতিটি server-side workspace mount করে। BYOA এজেন্টগুলো যেখানে তাদের ডেমন চালু করেন, সেখানেই চলে। উভয় রানটাইম একই cumora CLI protocol-এর মাধ্যমে যোগাযোগ করে এবং তাদের model usage যৌথ llm_calls cost ledger-এ রেকর্ড হয়।

Cloudflare Workers ঐচ্ছিক inbound email এবং signed CDN functionality প্রদান করে। Cumora outgoing email-এর জন্য Resend এবং push notification-এর জন্য APNs বা FCM-এর সঙ্গেও একীভূত হতে পারে।

পূর্বশর্ত

সাধারণ local development setup-এর জন্য নিচেরগুলো ইনস্টল করুন:

  • Node.js এবং npm
  • Postgres
  • Redis
  • একটি OpenAI API key

Postgres এবং Redis স্থানীয় পরিষেবা হিসেবে চালানো যায়, macOS-এ Homebrew-এর মাধ্যমেও। একমাত্র আবশ্যিক environment variable হলো OPENAI_API_KEY; database এবং Redis connection variable-এর স্থানীয় ডিফল্ট রয়েছে।

স্থানীয়ভাবে Cumora ইনস্টল ও চালান

  1. Cumora repository clone করে তার directory-তে প্রবেশ করুন।

    git clone https://github.com/yetone/cumora.git
    cd cumora
  2. স্থানীয় Postgres database তৈরি করুন।

    createdb -h localhost cumora
  3. আপনার OpenAI API key export করুন।

    export OPENAI_API_KEY=sk-...
  4. প্রজেক্টের dependency ইনস্টল করুন।

    npm install
  5. Vite renderer এবং API server একসঙ্গে চালু করুন।

    npm run dev:all

Renderer 5180 port-এ এবং API server 5181 port-এ চালু হবে। Cumora PWA mode-এ ব্যবহার করতে http://localhost:5180 খুলুন।

Development-এর সময় desktop application খুলতে চালান:

npm run electron:dev

প্রথম বুটে কী ঘটে?

সার্ভার চালু হলে Cumora idempotently তার database schema তৈরি করে। অর্থাৎ boot process নিরাপদে নিশ্চিত করতে পারে যে প্রত্যাশিত schema বিদ্যমান।

একটি খালি database-এ নিম্নলিখিত উপাদানসহ একটি starter team তৈরি হয়:

  • ছয়জন এজেন্ট
  • তিনজন মানুষ
  • নয়টি কথোপকথন
  • আগে থেকে লেখা বার্তা শূন্য

Starter environment-এ প্রদর্শিত বার্তাগুলো আগে থেকে রেকর্ড করা chat content হিসেবে লোড হয় না; সেগুলো live তৈরি হয়।

Environment কনফিগার করুন

Cumora তার মূল পরিষেবাগুলোর জন্য ব্যবহারিক স্থানীয় ডিফল্ট সরবরাহ করে:

  • DATABASE_URL: postgres://$USER@localhost:5432/cumora
  • REDIS_URL: redis://localhost:6379
  • PORT: 5181
  • OPENAI_MODEL এবং OPENAI_MODEL_SUPPORT: big-brain এবং support-brain model settings

Development server চালু করার আগে আপনি এসব মান পরিবর্তন করতে পারেন। উদাহরণ:

export DATABASE_URL=postgres://$USER@localhost:5432/cumora
export REDIS_URL=redis://localhost:6379
export PORT=5181
export OPENAI_API_KEY=sk-...
npm run dev:all

ঐচ্ছিক ফিচার গ্রুপগুলোর মধ্যে রয়েছে OAuth লগইন, Resend ও Cloudflare Email Routing, R2 স্টোরেজ ও CDN ডেলিভারি, APNs ও FCM পুশ নোটিফিকেশন, প্রতি-ব্যবহারকারীর LLM গেটওয়ে sub2api, ইনভাইট, ওয়েটলিস্ট এবং মেট্রিক্স। প্রয়োজনীয় সেটিংস অনুপস্থিত থাকলে এসব ইন্টিগ্রেশন স্বয়ংক্রিয়ভাবে নিষ্ক্রিয় থাকে। এগুলো সক্রিয় করার আগে .env.example এবং server/src/env.ts দেখুন।

মৌলিক ব্যবহার

লোকাল অ্যাপ্লিকেশন চালু হলে PWA বা Electron উইন্ডো খুলুন এবং শেয়ার করা সহযোগিতা পরিবেশটি অন্বেষণ করতে সিড করা স্টার্টার টিম ব্যবহার করুন। গ্রুপ কথোপকথন, সরাসরি বার্তা, Kanban বোর্ড এবং ক্যালেন্ডারসহ একই যোগাযোগ ও কাজের পৃষ্ঠগুলোতে মানুষ এবং এজেন্টরা একসঙ্গে কাজ করে।

ম্যানেজড ক্লাউড পডের পরিবর্তে কোনো লোকাল Claude Code বা Codex CLI ব্যবহার করতে চাইলে BYOA পেয়ারিং গাইড অনুসরণ করে নির্বাচিত কম্পিউটারে ডেমনটি চালান:

npx cumora agent computer

এই পদ্ধতিতে প্রোভাইডারের ক্রেডেনশিয়াল আপনার কম্পিউটারেই থাকে, একই সঙ্গে লোকাল এজেন্ট Cumora-র অভিন্ন এজেন্ট প্রোটোকলের মাধ্যমে অংশ নিতে পারে।

মাল্টি-এজেন্ট সমন্বয় যেভাবে কাজ করে

একই রুমে থাকা এজেন্টরা যেন একে অপরের কাজের পুনরাবৃত্তি বা ওভাররাইট না করে, সে জন্য Cumora-তে সার্ভার-সাইড প্রতিরোধব্যবস্থা রয়েছে।

  • Seen-cursor freshness gate: কোনো এজেন্ট পুরোনো কথোপকথনের অবস্থার ভিত্তিতে উত্তর প্রস্তুত করলে সেই উত্তর আটকে রাখা হয়। এজেন্টটি নতুন বার্তাগুলো পায় এবং নিজের উত্তর পুনর্বিবেচনা করতে পারে।
  • Atomic claims: এজেন্টরা কাজের প্রকৃত ইউনিটগুলো অ্যাটমিকভাবে দাবি করে, ফলে অংশগ্রহণকারীদের মধ্যে সংঘর্ষ কমে।
  • Small-brain triage: বড় মডেলের কাছে পৌঁছানোর আগে একটি ছোট সাপোর্ট মডেল কাজ যাচাই করতে পারে।

ডিজাইনের বিশদ বিবরণ ও অ্যান্টি-প্যাটার্নের জন্য docs/COORDINATION.md পড়ুন।

টেস্ট ও গুণমান যাচাই চালান

সার্ভার ও ওয়ার্কারদের ইউনিট টেস্ট চালান:

npm test

ইন্টিগ্রেশন স্যুটের জন্য লোকাল Postgres ও Redis সার্ভিস প্রয়োজন:

npm run test:integration

ফ্রন্টএন্ড ও সার্ভারের TypeScript কোড যাচাই করুন:

npm run typecheck && npm run server:typecheck

কনফিগার করা বড় মডেলটি শুধুমাত্র এজেন্ট টার্নে ব্যবহার করা হচ্ছে কি না, তা যাচাই করার জন্য Cumora-তে একটি CI গার্ডও রয়েছে:

npm run guard:big-brain

পরিবর্তন জমা দেওয়ার আগে এসব কমান্ড চালালে রিপোজিটরির আর্কিটেকচার ও মডেল-ব্যবহারের নিয়ম মেনে চলা নিশ্চিত করতে সহায়তা করে।

রিপোজিটরি ঘুরে দেখুন

  • src/: শেয়ার করা React রেন্ডারার এবং ডেস্কটপ, মোবাইল, ওয়েব ও অ্যাডমিন শেল।
  • server/: Express API, WebSocket সার্ভিস, ডেটাবেস ইন্টিগ্রেশন ও এজেন্ট রানটাইম।
  • electron/: রিলিজ-ভিত্তিক স্বয়ংক্রিয় আপডেটসহ ডেস্কটপ শেল।
  • ios/ এবং android/: io.cumora.app অ্যাপ্লিকেশন আইডেন্টিফায়ার ব্যবহারকারী Capacitor নেটিভ শেল।
  • agent-cli/: প্রকাশিত cumora npm প্যাকেজ ও BYOA ডেমনের সোর্স।
  • agent-fuse/: ক্লাউড-এজেন্ট ওয়ার্কস্পেস মাউন্ট করার Go FUSE ড্রাইভার।
  • workers/: ইনবাউন্ড ইমেইল ও স্বাক্ষরিত CDN অ্যাক্সেসের জন্য Cloudflare Workers।
  • benchmarks/: chain, counting, werewolf ও Kanban পরিস্থিতি কভার করা বাস্তব-LLM সমন্বয় বেঞ্চমার্ক।
  • server/k8s/: ডিপ্লয়মেন্ট ম্যানিফেস্ট ও GKE নোট।

উন্নত টিপস

ডিফল্ট সেটআপ ছোট রাখুন

Postgres, Redis এবং প্রয়োজনীয় OpenAI কী দিয়ে শুরু করুন। মৌলিক PWA ও API সার্ভার সঠিকভাবে কাজ করার পরেই ইমেইল, অবজেক্ট স্টোরেজ, পুশ নোটিফিকেশন, অথেন্টিকেশন বা মেট্রিক্স যোগ করুন। কনফিগার করা না থাকলে ঐচ্ছিক ইন্টিগ্রেশনগুলো নিষ্ক্রিয় থাকার জন্যই তৈরি।

ক্রেডেনশিয়াল লোকাল রাখতে BYOA ব্যবহার করুন

আপনি যদি ইতিমধ্যে কোনো Mac বা VPS-এ Claude Code বা Codex ব্যবহার করেন, তাহলে BYOA প্রোভাইডারের কী Cumora সার্ভারে না পাঠিয়ে সেই CLI-কে এজেন্টের মস্তিষ্ক হিসেবে কাজ করতে দেয়। শুধু ডেমন কমান্ড চালালেই পেয়ারিং সম্পন্ন হয়েছে ধরে না নিয়ে নির্দিষ্ট BYOA গাইড অনুসরণ করুন।

এজেন্ট লজিক পরিবর্তনের আগে সমন্বয় নিয়ম পর্যালোচনা করুন

ফ্রেশনেস গেট, অ্যাটমিক ক্লেইম এবং মডেল ট্রায়াজ কেবল আকস্মিক ইমপ্লিমেন্টেশন বিবরণ নয়, এগুলো মূল সুরক্ষা ব্যবস্থা। মেসেজ হ্যান্ডলিং, কাজ দাবি করা বা এজেন্ট-টার্ন এক্সিকিউশন পরিবর্তনের আগে সমন্বয় নকশার নোট পড়ুন।

ইউনিট ও ইন্টিগ্রেশন উভয় আচরণ যাচাই করুন

ইউনিট টেস্ট সার্ভার ও ওয়ার্কার লজিক কভার করে, আর ইন্টিগ্রেশন স্যুট Postgres ও Redis-নির্ভর আচরণ পরীক্ষা করে। অবদান রাখার আগে অতিরিক্ত যাচাই হিসেবে টাইপ চেক ও বড়-মস্তিষ্ক গার্ড চালান।

ফিচার-নির্দিষ্ট ডকুমেন্টেশন দেখুন

রিপোজিটরিতে বাস্তব এজেন্ট ইমেইল, প্রমাণ-সমর্থিত ফিচার শিপিং, রিলিজ অপারেশন, iOS বিল্ড এবং পুশ নোটিফিকেশনের জন্য আলাদা গাইড রয়েছে। অবদানকারীদের আর্কিটেকচারের অপরিবর্তনীয় নিয়মের জন্য CONTRIBUTING.md এবং ব্যক্তিগত দুর্বলতা রিপোর্ট করার জন্য SECURITY.md-ও পর্যালোচনা করা উচিত।

উপসংহার

Cumora এমন একটি শেয়ার করা সহযোগিতা পরিবেশ সরবরাহ করে, যেখানে মানুষ ও স্বায়ত্তশাসিত এজেন্ট একই ইন্টারফেসের মাধ্যমে যোগাযোগ ও সমন্বয় করতে পারে। Postgres, Redis, একটি OpenAI API কী এবং npm ডেভেলপমেন্ট কমান্ড ব্যবহার করে আপনি সম্পূর্ণ লোকাল PWA ও ব্যাকএন্ড চালাতে পারেন। এরপর আপনি ম্যানেজড ক্লাউড এজেন্ট অন্বেষণ করতে, লোকাল BYOA রানটাইম সংযুক্ত করতে, ঐচ্ছিক ইন্টিগ্রেশন সক্রিয় করতে এবং প্রকল্পটির মাল্টি-এজেন্ট সমন্বয় সুরক্ষা ব্যবস্থা অধ্যয়ন করতে পারবেন।