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

Agent Office 3D টিউটোরিয়াল: AI Coding Agent-কে 3D অফিসকর্মীতে রূপান্তর করুন

এই টিউটোরিয়ালে আপনি Agent Office 3D ইনস্টল করবেন, ডেমো অফিস চালু করবেন, কোম্পানি ও কর্মীদের তথ্য সেট করবেন এবং Herdr সংযুক্ত করা বা Minecraft বেছে নেওয়ার মাধ্যমে Agent-এর অবস্থা, টার্মিনাল আউটপুট ও নিরাপত্তা সেটিংস নিয়ন্ত্রণ করতে শিখবেন।

Agent Office 3D টিউটোরিয়াল: AI Coding Agent-কে 3D অফিসকর্মীতে রূপান্তর

Agent Office 3D কী?

Agent Office 3D হলো স্থানীয়ভাবে চলা একটি লো-পলিগন 3D অফিস, যা AI Coding Agent-দের অফিসের কর্মী হিসেবে দেখায়। প্রতিটি Agent কাজ করছে, নিষ্ক্রিয় আছে, কাজ শেষ করে অপেক্ষা করছে, নাকি নিশ্চিতকরণের প্রয়োজন এমন অনুমতির প্রম্পটে আটকে আছে, তা এক নজরেই দেখা যায়।

প্রকল্পটি ডিফল্টভাবে ডেমো ডেটা ব্যবহার করে, তাই শুরুতে কোনো Agent-এর সঙ্গে সংযোগ করার প্রয়োজন নেই। নিষ্ক্রিয় কর্মীরা কফি ঢালে, পানি পান করে, ট্রেডমিলে দৌড়ায়, শরীর টানটান করে, ঘুমিয়ে পড়ে বা বিল্ট-ইন ছোট গেম খেলে; Minecraft সক্রিয় করলে কর্মীরা Mineflayer বটের মাধ্যমে স্থানীয় জগতে প্রবেশ করতে পারে।

স্ক্রিনে দেখানো কর্মী, কাজ, প্রকল্প ও অর্থের পরিমাণ সবই ডেমো ডেটা, বাস্তব ব্যবসায়িক তথ্য নয়।

প্রধান বৈশিষ্ট্য

  • রিয়েল-টাইম কর্মী স্ট্যাটাস: প্রতিটি Agent-এর নিজস্ব আসন, স্ট্যাটাস লাইট ও নামফলক আছে; নিশ্চিতকরণের প্রয়োজন হলে লাল নামফলক ও বিস্ময়বোধক চিহ্ন দেখানো হয়।
  • শুধু-পাঠ্য টার্মিনাল স্ক্রিন: কর্মী নির্বাচন করে সাম্প্রতিক টার্মিনাল আউটপুট দেখা যায়, তবে অফিস ইন্টারফেস থেকে কোনো কমান্ড পাঠানো যায় না।
  • নোটিস বোর্ড: বার্ষিক লক্ষ্য, KPI, এই সপ্তাহের অগ্রাধিকার, নগদ প্রবাহ ও করণীয় তালিকা দেখায়; করণীয়গুলো সরাসরি টিক চিহ্ন দিয়ে সম্পন্ন করা যায়।
  • বুকশেলফ প্রকল্প ডেটাবেস: প্রতিটি বই একটি প্রকল্প ফোল্ডারের সঙ্গে যুক্ত; Markdown ডকুমেন্ট ও স্ক্রিনশট পড়া যায়।
  • কাজের তালিকা: ডান পাশ থেকে কাজের ফোল্ডারের ফাইল ও সম্পূর্ণ বিষয়বস্তু দেখা যায়।
  • Minecraft বিরতির কার্যক্রম: নিষ্ক্রিয় কর্মীরা নিজ নিজ Mineflayer বট দিয়ে খনন, গাছ কাটা ও বাড়ি তৈরি করতে পারে; ডেস্কের স্ক্রিনে প্রথম-ব্যক্তি দৃশ্য দেখানো হয়।

নোটিস বোর্ডের হোমপেজ: নগদ প্রবাহ ও বার্ষিক লক্ষ্য

নোটিস বোর্ডে ক্লিক করলে কোম্পানির তথ্য ও করণীয় দেখার জন্য পূর্ণস্ক্রিন ইন্টারফেস খোলে।

বুকশেলফ: প্রকল্প ডেটাবেস

বুকশেলফ শুধু-পাঠ্য প্রকল্প ব্রাউজিংয়ের সুবিধা দেয়, যা দ্রুত ডকুমেন্ট ও প্রকল্পের উপকরণ দেখার জন্য উপযোগী।

সিস্টেমের প্রয়োজনীয়তা

  • Node.js 20 বা পরবর্তী: অফিস চালানোর আবশ্যিক শর্ত।
  • Java 21 বা পরবর্তী: শুধু Minecraft বৈশিষ্ট্য সক্রিয় করলে প্রয়োজন।
  • WebGL-সমর্থিত ব্রাউজার: Chrome, Edge, Safari ও Firefox সমর্থিত।

macOS ও Linux প্রধানত সমর্থিত প্ল্যাটফর্ম। Windows বর্তমানে পরীক্ষামূলকভাবে সমর্থিত। CI-তে ইনস্টলেশন, সিনট্যাক্স পরীক্ষা ও ডেমো মোড পরীক্ষা চললেও লেখক বাস্তব Windows পরিবেশে যাচাই করেননি; Minecraft-ও Windows-এ এখনও পরীক্ষা করা হয়নি।

ডেমো অফিস ইনস্টল ও চালু করা

macOS ও Linux

git clone https://github.com/jefferysha0627/agent-office-3d.git agent-office-3d
cd agent-office-3d
npm ci
npm start

Windows PowerShell

git clone https://github.com/jefferysha0627/agent-office-3d.git agent-office-3d
cd agent-office-3d
npm ci
npm start

চালু হলে প্রোগ্রামটি http://127.0.0.1:4870/ খুলবে। ডিফল্টভাবে demo মোড ব্যবহৃত হয় এবং কর্মীদের স্ট্যাটাস স্বয়ংক্রিয়ভাবে পরিবর্তিত হয়, তাই আগে থেকে কোনো Agent প্রস্তুত বা সংযুক্ত করার দরকার নেই। অভিজ্ঞতা শেষ হলে টার্মিনালে Ctrl+C চাপলে বন্ধ হবে।

AI Coding Agent দিয়ে ইনস্টল করা

আপনি Claude Code, Codex বা Cursor-এর মতো AI Coding Agent ব্যবহার করলে প্রথমে প্রকল্প ফোল্ডারে সেটি খুলে নিচের কমান্ডটি পেস্ট করতে পারেন:

এই repo-এর AGENTS.md পড়ে Agent Office ইনস্টল করে Minecraft ডেমো চালু করে দাও।

Agent AGENTS.md অনুসারে npm run doctor চালাবে, ইনস্টল ও ডেমো চালু করতে সহায়তা করবে এবং Herdr-এর সঙ্গে সংযোগ করা হবে কি না ও কোম্পানি এবং কর্মীদের কীভাবে কাস্টমাইজ করা হবে তা জিজ্ঞাসা করবে। Node.js বা Java-এর মতো সিস্টেম সফটওয়্যার ইনস্টল করার আগে আপনার অনুমতি নেওয়া হবে; Minecraft EULA আপনাকেই পড়ে yes লিখে গ্রহণ করতে হবে, AI Agent আপনার হয়ে সম্মতি দেবে না। Claude Code ব্যবহারকারীরা /setup-office-ও লিখতে পারেন।

কোম্পানি, কর্মী ও ডেটার উৎস কনফিগার করা

প্রথমে উদাহরণ কনফিগারেশন ফাইলটি কপি করুন:

cp office.config.example.json office.config.json

Windows PowerShell-এ ব্যবহার করুন:

Copy-Item office.config.example.json office.config.json

office.config.json সংস্করণ নিয়ন্ত্রণে যোগ হবে না। ফাইলটি না থাকলে প্রোগ্রাম সরাসরি উদাহরণ কনফিগারেশন ব্যবহার করবে। সাধারণ ক্ষেত্রগুলো হলো:

  • port: সার্ভিসের পোর্ট, ডিফল্ট 4870।
  • openBrowser: চালু হওয়ার পর ব্রাউজার স্বয়ংক্রিয়ভাবে খোলা হবে কি না।
  • company.name: শিরোনাম বার ও কোম্পানির সাইনবোর্ডে ব্যবহৃত নাম।
  • company.currency: নোটিস বোর্ডে দেখানো মুদ্রার প্রতীক, যেমন $ বা NT$।
  • company.logo ও company.mark: কোম্পানির প্রশস্ত Logo ও ছোট আইকনের পাথ।
  • owner.name, owner.title: ম্যানেজারের ডেস্কে থাকা চরিত্রের নাম ও পদবি; ম্যানেজারের ডেস্কটি শুধু অলংকার, এটি Agent-এর স্ট্যাটাস গ্রহণ করে না।
  • cat.name: অফিসের বিড়ালের নাম।
  • staff[]: কর্মীদের তালিকা, যাতে id, title ও ইউনিফর্মের color থাকে; সর্বোচ্চ 8 জন।
  • source.type: স্ট্যাটাসের উৎস, demo বা herdr হতে পারে।
  • data.board, data.projects, data.tasks: নোটিস বোর্ড, প্রকল্প ও কাজের ডেটার অবস্থান।

কর্মীর staff[].id অবশ্যই স্ট্যাটাসের উৎসে থাকা Agent-এর নামের সঙ্গে মিলতে হবে। নোটিস বোর্ড ও বুকশেলফের ডেটা ফরম্যাটের জন্য docs/board-format.md দেখুন।

বাস্তব Agent সংযুক্ত করা: Herdr মোড

Herdr হলো Coding Agent-এর জন্য একটি টার্মিনাল মাল্টিপ্লেক্সার। Herdr সংযুক্ত করতে প্রথমে Herdr দিয়ে আপনার Agent চালু করুন, তারপর কনফিগারেশন পরিবর্তন করুন:

{
  "source": {
    "type": "herdr"
  },
  "staff": [
    {
      "id": "আপনার Herdr Agent-এর নাম",
      "title": "পদবি",
      "color": "#4f8cff"
    }
  ]
}

এরপর চালান:

npm start

অফিস শুধু Herdr-এর শুধুমাত্র-পাঠ্য কমান্ড herdr agent list ও herdr agent read ব্যবহার করবে। বিল্ট-ইন সাদাতালিকা অন্য কমান্ডগুলো আটকায়, তাই অফিস আপনার হয়ে কী চাপবে না বা অনুমতি নিশ্চিত করবে না।

অন্য কোনো স্ট্যাটাস টুল সংযুক্ত করতে চাইলে lib/sources.js-এ একটি adapter যোগ করুন, যাতে নাম, স্ট্যাটাস ও টার্মিনাল আউটপুটের শেষ কয়েকটি লাইনসহ একই ফরম্যাটের কর্মী তালিকা ফেরত দেয়।

Minecraft ডেমো সক্রিয় করা

শুধু ডেমো কর্মীদের Minecraft খেলতে দেখতে চাইলে চালান:

npm run demo:minecraft

এই বৈশিষ্ট্যের জন্য Node.js 20 বা পরবর্তী এবং Java 21 বা পরবর্তী প্রয়োজন। প্রথমবার চালালে Java পরীক্ষা করা হবে, Minecraft EULA পড়ে গ্রহণ করতে বলা হবে, Mojang-এর অফিসিয়াল সংস্করণ তালিকা থেকে 1.21.4 সার্ভার ফাইল ডাউনলোড করা হবে এবং SHA-1 যাচাই করা হবে। বিশ্ব তৈরি হতে সাধারণত প্রায় 1~2 মিনিট লাগে।

eula=true লেখার জন্য আপনাকেই yes লিখতে হবে। অন্য কিছু লিখলে প্রক্রিয়া বাতিল হবে এবং কোনো Mojang ফাইল ডাউনলোড হবে না। কারণ Minecraft সার্ভার সফটওয়্যারের EULA বাস্তবে এটি চালানো ব্যক্তিকেই গ্রহণ করতে হবে।

সাধারণ অফিস মোডে Minecraft সক্রিয় করতে প্রথমে চালান:

npm run minecraft:setup

শেষ হলে কনফিগারেশন ফাইলে minecraft.enabled-এর মান true করুন, তারপর npm start চালান। Minecraft সার্ভারটি 127.0.0.1-এ আবদ্ধ থাকবে এবং সংযোগ সীমিত করতে সাদাতালিকা ব্যবহার করবে। কর্মী কাজে ফিরে এলে সংশ্লিষ্ট বটটি কার্যক্রম বন্ধ করবে; কোনো কর্মী নিষ্ক্রিয় থাকা এবং কেউ অফিসের স্ক্রিন খোলা রাখার সময়ই শুধু বটটি চলবে।

নোটিস বোর্ডের হোমপেজ: নগদ প্রবাহ ও বার্ষিক লক্ষ্য

Minecraft গেমের ভেতর থেকে কর্মীদের দেখা

আপনার Minecraft Java সংস্করণ থাকলে minecraft.guests-এ নিজের খেলোয়াড়ের নাম যোগ করতে পারেন:

{
  "minecraft": {
    "guests": ["YourName"]
  }
}

পরিবেশ ভেরিয়েবলও ব্যবহার করা যায়:

MC_GUESTS=YourName npm run demo:minecraft

Windows PowerShell-এ ব্যবহার করুন:

$env:MC_GUESTS="YourName"; npm run demo:minecraft
  1. একই কম্পিউটারে Minecraft Java সংস্করণ 1.21.4 খুলুন।
  2. মাল্টিপ্লেয়ারে প্রবেশ করে সরাসরি সংযোগ নির্বাচন করুন এবং localhost:25570 লিখুন।
  3. প্রবেশের পর স্বয়ংক্রিয়ভাবে পর্যবেক্ষক মোডে যাওয়া হবে; বিশ্ব পরিবর্তন না করেই উড়তে ও দেয়ালের ভেতর দিয়ে যেতে পারবেন।
  4. পর্যবেক্ষক মেনু খুলতে সংখ্যা কী 1 চাপুন বা মাউসের মধ্যম বোতাম ব্যবহার করুন, তারপর দেখার জন্য একজন কর্মী নির্বাচন করুন।

কনফিগারেশনের খেলোয়াড়ের নাম বটের সঙ্গে সাদাতালিকায় যোগ হবে, তাই অন্য খেলোয়াড়রা সংযোগ করতে পারবে না। সার্ভারটি অফলাইন মোডে চলে এবং শুধু স্থানীয় কম্পিউটারে শুনবে; আবদ্ধ ঠিকানা পরিবর্তন করা বা বাইরের জন্য উন্মুক্ত করা উচিত নয়।

ডেভেলপমেন্ট ও ডায়াগনস্টিক কমান্ড

পরিবেশ পরীক্ষা ও পরিবর্তন যাচাইয়ের জন্য প্রকল্পে কয়েকটি কমান্ড রয়েছে:

npm run doctor  # শুধুমাত্র-পাঠ্য পরিবেশ পরীক্ষা
npm run check   # JavaScript সিনট্যাক্স ও JSON ফরম্যাট পরীক্ষা
npm run smoke   # ডেমো মোড স্মোক টেস্ট

সব উপাদান প্রস্তুত থাকলে npm run doctor এক্সিট কোড 0 ফেরত দেয়; Minecraft প্রস্তুত না থাকলে 2 এবং অফিস চালানো না গেলে 1 ফেরত দেয়। -- --json যোগ করলে JSON ফরম্যাটে ফলাফল দেখানো যায়।

ডেভেলপমেন্টের সময় URL প্যারামিটারও ব্যবহার করা যায়, যেমন ?fast অ্যাকশন দ্রুততর করতে, ?idle=coffee নিষ্ক্রিয় কর্মীদের নির্দিষ্ট অ্যাকশন সম্পাদন করাতে, এবং ?cat=nap বিড়ালের সময়সূচি সামঞ্জস্য করতে। ব্যবহারযোগ্য অ্যাকশনের নামের জন্য public/behavior.js দেখুন।

নিরাপত্তা সতর্কতা

  • অফিস Agent-এর টার্মিনাল আউটপুট পড়বে, যাতে কোড, পাথ বা সংবেদনশীল তথ্য থাকতে পারে।
  • সার্ভারটি শুধু 127.0.0.1-এ আবদ্ধ থাকে এবং Host হেডার পরীক্ষা করে; রিভার্স প্রক্সি, টানেল বা পাবলিক নেটওয়ার্কের মাধ্যমে পরিষেবাটি প্রকাশ করবেন না।
  • অফিসের একমাত্র লেখার সুবিধা হলো বুলেটিন বোর্ডের করণীয় বিষয় টিক চিহ্নিত করা; অন্যান্য Agent স্ট্যাটাস ও টার্মিনাল ডেটা কেবল পঠনযোগ্য।
  • বুকশেলফ শুধু কনফিগার করা ফোল্ডার পড়বে এবং পাথ ট্রাভার্সাল ও ডিরেক্টরির বাইরে যাওয়া সিম্বলিক লিংক প্রতিরোধ করবে; তবুও প্রকল্প ফোল্ডারে পাসওয়ার্ড বা টোকেন রাখা সুপারিশ করা হয় না।
  • Minecraft সার্ভারটি শুধু স্থানীয় মেশিনে শুনবে এবং হোয়াইটলিস্ট সক্রিয় থাকবে; এটিকে বাহ্যিক সংযোগের জন্য পরিবর্তন করবেন না।

উপসংহার

Agent Office 3D টার্মিনালে ছড়িয়ে থাকা Agent-এর স্ট্যাটাসকে সহজে বোঝা যায় এমন একটি 3D অফিসে রূপান্তর করে। আপনি প্রথমে npm start ব্যবহার করে ডেমো মোড উপভোগ করতে পারেন, এরপর office.config.json-এর মাধ্যমে কোম্পানি ও কর্মীদের কাস্টমাইজ করতে পারেন, এবং শেষে Herdr সংযুক্ত করে প্রকৃত Agent স্ট্যাটাস দেখতে পারেন। আরও ইন্টারঅ্যাকশন চাইলে npm run demo:minecraft ব্যবহার করে স্থানীয় Minecraft জগতে নিষ্ক্রিয় কর্মীদের কার্যকলাপ দেখতে পারেন।

মনে রাখবেন, এই প্রকল্পটি MIT License-এর অধীনে লাইসেন্সপ্রাপ্ত এবং Mojang বা Microsoft-এর সঙ্গে সম্পর্কিত নয়; Minecraft ব্যবহার করার সময় আপনাকেই এর EULA পড়ে গ্রহণ করতে হবে।