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

AgentPod হল AI এজেন্ট রানটাইমের জন্য একটি পোর্টেবল কমান্ড সেন্টার — এজেন্টরা যেখানেই চলে, সেখানেই তাদের পরিবেশ পরিচালনা করার জন্য একটি একক জায়গা। প্রতিটি রানটাইমের জন্য এটি ফাইলসিস্টেম, লগ, টার্মিনাল, কনফিগ, স্বাস্থ্য, লাইফসাইকেল, ক্লিনআপ এবং প্রভিশনিং পরিচালনা করে, মেশিন, হারনেস এবং নেটওয়ার্ক সীমানা জুড়ে। এটি অ্যাটাচ-ফার্স্ট: আপনি এটিকে ইতিমধ্যে চালানো রানটাইমগুলিতে নির্দেশ করেন, অথবা এটি নতুন তৈরি করতে দেন। স্থাপত্যটি তিন স্তরের। অপারেটর-মুখী কনসোলটি একটি SvelteKit স্ট্যাটিক SPA যা HTTPS এবং WSS-এর মাধ্যমে হাবের সাথে কথা বলে। হাবটি Bun, Hono এবং Postgres (Drizzle-এর মাধ্যমে) দিয়ে তৈরি এবং এটি নোড/স্টেশন রেজিস্ট্রি, সংযোগ ব্রোকার, এনরোলমেন্ট এবং অথ সার্ভিস (Better Auth), অডিট এবং অ্যাক্টিভিটি লগ এবং প্রভিশনিং ড্রাইভার হোস্ট হিসাবে কাজ করে। নোড-এজেন্ট হল একটি স্ট্যাটিক Go বাইনারি যা প্রতি হোস্টে ইনস্টল করা হয় এবং WSS-এর মাধ্যমে হাবের দিকে *বাইরে* ডায়াল করে, তাই এটি NAT এবং CGNAT-এর পিছনে কাজ করে ইনবাউন্ড পোর্ট খোলা ছাড়াই। প্রতিটি নোড-এজেন্ট হারনেস ডেসক্রিপ্টর চালায় এবং স্থানীয়ভাবে কন্ট্রাক্ট ভার্ব কার্যকর করে। AgentPod বেশ কয়েকটি এজেন্ট হারনেসের জন্য ডেসক্রিপ্টর সরবরাহ করে — Hermes, OpenClaw, Claude Code, Codex, OpenCode এবং Pi — যা `apps/node-agent/cmd/agentpod-node/registry.go`-তে নিবন্ধিত। প্রতিটি ডেসক্রিপ্টর হারনেসের নেটিভ CLI বা API-কে মোড়ানো করে রানটাইম গণনা, কনফিগ, লগ এবং ওয়ার্কস্পেস সনাক্ত করতে এবং প্রতিটি হারনেসের ইন্ট্রোস্পেকশন পুনরায় উদ্ভাবন না করেই লাইফসাইকেল অপারেশন বাস্তবায়ন করে। ডিপ্লয়মেন্ট সহজ: Postgres এবং Bun দিয়ে হাব চালান (প্রথম শুরুতে অটো-মাইগ্রেটিং), pnpm দিয়ে কনসোল তৈরি করুন এবং স্ট্যাটিক আউটপুট Cloudflare Pages বা হাবের রেজিস্ট্রেবল ডোমেইনের সাবডোমেনে যেকোনো স্ট্যাটিক হোস্টে ডিপ্লয় করুন (যাতে Better Auth সেশন কুকি একই-সাইট থাকে), তারপর curl-পাইপড ইনস্টল স্ক্রিপ্ট দিয়ে টার্গেট হোস্টে নোড-এজেন্ট এনরোল করুন যা একটি systemd সার্ভিস ড্রপ করে। linux/darwin × amd64/arm64-এর জন্য প্রি-বিল্ট বাইনারি প্রতিটি `v*` ট্যাগে GitHub Actions-এর মাধ্যমে প্রকাশিত হয়। স্ট্যাটাস হল একক-অপারেটর: একটি অ্যাডমিন অ্যাকাউন্ট, প্রথম ব্যবহারকারীর পরে সাইনআপ বন্ধ হয়, রিলিজ ট্যাগ `v0.1.x`। টেন্যান্ট-আইসোলেশন সীমানা এসেছে — একটি `tenants` টেবিল, প্রতিটি স্কোপড টেবিলে `tenant_id` এবং একটি `tenantScope()` হেল্পার যা একটি ছাড়া কোয়েরি তৈরি করতে অস্বীকার করে, ইউনিট টেস্ট দ্বারা পিন করা। আজ সবকিছু একক বুটস্ট্র্যাপ টেন্যান্ট `fleet_00000000000000000000`-এর অধীনে চলে; যা বাকি আছে তা হল সীমানা ব্যবহার করে: orgs, principals এবং billing। পূর্ববর্তী OpenCode-ভিত্তিক পণ্যটি ট্যাগ `v0.0.4-opencode`-এ হিমায়িত এবং `docs/archive/`-এর অধীনে সংরক্ষিত ডক্স রয়েছে। লাইসেন্স MIT।