
Alfa ogohlantirishi: useAgent faol ishlab chiqilmoqda. API va sxemalar relizlar orasida o‘zgarishi mumkin, shuning uchun barqarorlik muhim bo‘lsa, reliz tegini mahkamlang.
useAgent nima?
useAgent — Claude Code, Codex va OpenCode kabi agentlarni ishga tushirish uchun mo‘ljallangan ochiq kodli AI hamkasb platformasi. Agentlar faqat suhbat tarzidagi javoblarni qaytarish bilan cheklanmaydi: ular izolyatsiyalangan Linux muhitlarida ishlaydi va tayyor veb-saytlar, taqdimotlar, elektron jadvallar, tadqiqot hisobotlari hamda sinovdan o‘tgan pull requestlarni taqdim eta oladi.
Har bir mavzu terminal, repozitoriylar, brauzer va noVNC orqali ko‘rinadigan ish stoli mavjud bo‘lgan ish stansiyasini oladi. Ishga tushirishlar Postgres'dagi hodisalar manbasiga asoslangan vaqt jadvallari sifatida ifodalanadi, bu ularni barqaror, qayta ijro etiladigan va yakunlangandan keyin tekshiriladigan qiladi.

Asosiy imkoniyatlar
- Bir nechta agentlar uchun yagona interfeys: Provayderga xos mexanizmlar kanonik hodisalar shartnomasi orqali muloqot qiladi.
- Barqaror bajarilish: Ishga tushirishlar backend qayta ishga tushirilganda ham saqlanib qoladi, tiklash jarayoni esa faol sessiyalarni qayta tekshirishi va yakunlangan ishni qabul qilib olishi mumkin.
- Izolyatsiyalangan Linux sinov muhitlari: Har bir mavzu alohida ish stansiyasini oladi. Daytona va CubeSandbox umumiy sinov muhiti shartnomasini amalga oshiradi.
- Ishonchli vositalar shlyuzi: Hisob ma’lumotlari agent sinov muhitiga kiritilmaydi, balki boshqaruv tekisligida qoladi.
- Inson tasdig‘i: Buzuvchi vosita chaqiruvlari davom etishdan oldin veb-interfeys yoki Slack'da tasdiqlash uchun to‘xtatiladi va keyin argumentga bog‘langan, bir martalik imkoniyat bilan davom etadi.
- GitHub asosidagi ko‘nikmalar: Jamoalar versiyalangan
SKILL.mdfayllarini import qilishi, o‘zgarishlarni sinxronlashi va agent navbatlariga tegishli ko‘nikmalarni ustuvorlashtirishi mumkin. - Tashkiliy kontekst: Bilimlarni qidirish iqtiboslarni o‘z ichiga oladi, jamoa xotirasi esa inson tomonidan ko‘rib chiqiladigan o‘rganish yo‘lagidan foydalanadi.
- Mahalliy artefaktlar: Platforma mahalliy renderlar yordamida versiyalangan DOCX, XLSX, PPTX va PDF fayllarini qo‘llab-quvvatlaydi.
- Bir nechta kirish kanallari: Ish veb-ilova, Slack, REST API yoki rejalashtirilgan vazifalar orqali kelishi mumkin.
Arxitektura qanday ishlaydi
useAgent o‘z-o‘zini joylashtiriladigan boshqaruv tekisligini agent ishlaydigan muhitdan ajratadi. Kirish kanallari bir xil ishga tushirish yo‘li orqali ishga tushirishlarni yaratadi. Mexanizm adapterlari provayderga xos faoliyatni kanonik hodisalarga aylantiradi, har bir mavzuga esa izolyatsiyalangan sinov muhiti biriktiriladi.
Uchta arxitektura xususiyati ayniqsa muhim:
- Mexanizmlarni almashtirish mumkin: Mexanizmni o‘zgartirish mavzular, artefaktlar yoki xotiraning umumiy taqdimini almashtirishni talab qilmaydi.
- Postgres — asosiy ishonch manbai: Har bir ishga tushirish hodisalar jurnali sifatida saqlanadi, bu esa qayta ishga tushirilgandan keyin aniq qayta ijro va tekshirish imkonini beradi.
- Sirlar sinov muhitlaridan tashqarida qoladi: Integratsiyalar ishonchli shlyuz orqali tiplashtirilgan vositalar sifatida taqdim etiladi, hisob ma’lumotlari esa faqat boshqaruv tekisligida saqlanadi.

Repozitoriy tuzilishi
frontend/sessiyalar, ko‘nikmalar, playbooklar, wiki, artefaktlar, avtomatlashtirishlar va sozlamalar uchun mahsulot interfeysini o‘z ichiga oladi.backend/autentifikatsiya, ishga tushirishlarni boshqarish, mexanizm adapterlari, sinov muhitlari, bilimlar, xotira, artefaktlar va ulagichlarni o‘z ichiga oladi.packages/umumiy hodisalar shartnomalari, ish qismlari, artefakt formatlari, renderlar va tegishli paketlarni o‘z ichiga oladi.docs-site/hujjatlar veb-saytini o‘z ichiga oladi.infra/self-host/provayderdan mustaqil joylashtirish vositalari va Hetzner Terraform ma’lumotnoma konfiguratsiyasini o‘z ichiga oladi.memory/ixtiyoriy jamoa xotirasi xizmatini o‘z ichiga oladi.
Talablar
Mahalliy ishlab chiqish o‘rnatmasi uchun Bun va pgvector kengaytmasi o‘rnatilgan Postgres 16 yoki undan yangi versiyasi talab qilinadi. Standart Postgres konteyner tasvirlarida pgvector mavjud emas, shuning uchun pgvector yoqilgan mos tasvirdan foydalaning.
Yetkazib berilgan ma’lumotlar bazasi konteyneri buyrug‘ini ishga tushirmoqchi bo‘lsangiz, Docker ham mavjud bo‘lishi kerak. Quyidagi qadamlarni useAgent repozitoriyining ildiz katalogidan bajaring.
1-qadam: Postgres'ni pgvector bilan ishga tushirish
Agar sizda mos ma’lumotlar bazasi hali bo‘lmasa, Docker'da uni ishga tushiring:
docker run -d --name useagent-pg -p 5432:5432 \
-e POSTGRES_HOST_AUTH_METHOD=trust pgvector/pgvector:pg16
export DATABASE_URL=postgres://postgres@localhost:5432/postgresBirinchi buyruq Postgres'ni 5432 portida ochadi. Ikkinchisi ilova foydalanadigan ulanish satrini o‘rnatadi. Ishonch konfiguratsiyasi mahalliy ishlab chiqish uchun qulay; ishlab chiqarish muhitlarida tegishli himoyalangan ma’lumotlar bazasi hisob ma’lumotlaridan foydalanish kerak.
2-qadam: Ish maydoni bog‘liqliklarini o‘rnatish
Bog‘liqliklar umumiy paketlar, backend va frontend ish maydonlarida mustaqil ravishda o‘rnatiladi:
for workspace in \
packages/agent-harness packages/artifact-workspace \
packages/agent-client packages/artifact-formats packages/conformance \
backend frontend; do
(cd "$workspace" && bun install)
done3-qadam: Backend va frontend'ni ishga tushirish
Alohida terminal sessiyalarini oching va ikkita ishlab chiqish jarayonini ishga tushiring:
bun run dev:backendbun run dev:frontendBackend 3201 portida API va orkestratsiya xizmatini taqdim etadi. Frontend 3400 portida ishlaydi va /api/* ostidagi so‘rovlarni backend'ga yo‘naltiradi.
Interfeysga kirish uchun brauzerda http://localhost:3400 manzilini oching. Provayder va sandbox konfiguratsiyasi farq qilishi mumkin, shuning uchun agent dvigatelini ulash yoki uning bajarilish muhitini ta’minlashda amaldagi useAgent hujjatlariga amal qiling.
4-qadam: Kod bazasini tekshirish
O‘rnatishdan keyin yoki o‘zgartirishni yuborishdan oldin butun repository bo‘yicha tur tekshiruvchisini ishga tushiring:
bun run typecheckBu buyruq repositorydagi barcha paketlarni qamrab oladi va umumiy shartnomalar, backend hamda frontend o‘rtasidagi mos kelmaydigan o‘zgarishlarni aniqlashga yordam beradi.
Asosiy foydalanish
Agent ishga tushirilishini yaratish
3400-portdagi veb-interfeysni oching.- Kerakli yakuniy natijani agent kompozitorida tasvirlang.
- Ishga tushirishni boshlang va jonli voqealar vaqt jadvalini kuzating.
- Agent ishlashi davomida terminal, brauzer, ish stoli yoki workspace faoliyatini tekshiring.
- Vayronkor vosita amaliga ruxsat berishdan oldin tasdiqlash kartasini ko‘rib chiqing.
- Seans qaytargan tayyor artefakt yoki repositorydagi ishni oling.
Vazifani aniq natija atrofida shakllantirish mumkin, masalan:
Mavzuni o‘rganing, tegishli manbalarga havola bering va natijani strukturaviy hisobot ko‘rinishida qaytaring.Dasturiy ta’minot bilan ishlashda kutilayotgan amalga oshirish va tekshiruvni belgilang:
Repositoryda so‘ralgan o‘zgartirishni amalga oshiring, tegishli testlarni ishga tushiring va tayyor ishni ko‘rib chiqish uchun tayyorlang.Bular maxsus buyruq sintaksisi emas, balki tabiiy tildagi vazifa misollaridir. Ishga tushirish uchun mavjud aniq vositalar sozlangan dvigatel, sandbox, bilim manbalari, ko‘nikmalar va integratsiyalarga bog‘liq.
Slack orqali ishlash
Mahalliy Slack integratsiyasi sozlanganida, foydalanuvchilar ishni boshlash uchun agentni tilga olishlari mumkin. Javoblar, biriktirmalar, artefaktlar va tasdiqlash so‘rovlari Slack tarmog‘ida qoladi. Bu hamkorlikni dastlabki kanalda saqlagan holda veb-interfeysdagi kabi ishga tushirish yo‘lini taqdim etadi.
Tashkilot bilimlari va ko‘nikmalaridan foydalanish
Bilimlar, wiki mazmuni va jamoa xotirasi havolalar bilan tashkilot doirasidagi kontekstni taqdim etishi mumkin. Qayta foydalaniladigan ko‘rsatmalarni GitHub’dan versiyalanadigan SKILL.md ko‘nikmalari sifatida import qilish ham mumkin. useAgent bu ko‘nikmalarni avtomatik ravishda qayta sinxronlashi va har bir navbat uchun tegishlilarini saralashi mumkin.
useAgent’ni o‘zingiz joylashtirish
useAgent istalgan Linux hostida, jumladan AWS, Google Cloud, Azure, Hetzner yoki bare metal’da ishlashi mumkin. Repository provayderga bog‘liq bo‘lmagan joylashtirish skriptlarini, shuningdek Terraform yordamida yaratiladigan bir buyruqli Hetzner namunaviy hostini o‘z ichiga oladi.
Linux hostini va kerakli qiymatlarni tayyorlaganingizdan so‘ng, joylashtirish skriptini repositorydan ishga tushiring:
SERVER_IP=<host-ip> PG_PASSWORD=... OPENROUTER_API_KEY=... \
infra/self-host/deploy-app.sh /path/to/this/repoTa’minlash jarayoni SSH orqali maqsadli mashinaga ulanadi. Qisqartirilgan misolni to‘liq xavfsizlik konfiguratsiyasi deb qabul qilmasdan, ishlab chiqarish muhiti bo‘yicha to‘liq qo‘llanma va zarur muhit tafsilotlari uchun infra/self-host/README.md fayliga murojaat qiling.
Sandbox ishga tushirish muhitini tanlash
- Daytona: Istalgan bulutdagi control-plane host bilan juftlashishi mumkin bo‘lgan boshqariladigan sandbox xizmati. README’da u boshlash uchun eng oson variant sifatida tasvirlangan.
- CubeSandbox: Sandboxlarni o‘z uskunasida ishlatishni va ma’lumotlarning to‘liq mahalliy saqlanishini istagan tashkilotlar uchun o‘z serverida joylashtiriladigan ishga tushirish muhiti.
Ikkala muhit ham bir xil sandbox shartnomasi ortida ishlaydi, bu control plane’ga agent ishini boshqarish imkonini beradi va uning asosiy ishga tushirish modelini muayyan sandbox provayderiga bog‘lamaydi.
Ilg‘or operatsion maslahatlar
- Reliz tegini mahkamlang: Loyiha alpha bosqichida bo‘lgani uchun ma’lum tegni mahkamlash o‘zgaruvchan API yoki sxemalar sababli kutilmagan buzilishlarni kamaytiradi.
- Postgres’ni saqlang: Voqealar jurnali ishga tushirilishlar uchun asosiy haqiqat manbaidir. Ma’lumotlar bazasini shunga muvofiq zaxiralang va boshqaring.
- Hisob ma’lumotlarini gateway’da saqlang: Uzoq muddatli integratsiya maxfiy kalitlarini sandboxlarga ko‘chirish orqali arxitekturani chetlab o‘tmang.
- Tasdiqlashlardan ongli foydalaning: Vayronkor amallar uchun, ayniqsa ishga tushirishlar Slack yoki jadval asosida boshlanganda, inson nazoratidagi boshqaruvlarni yoqilgan holda saqlang.
- Sandboxlarni operatsiyalarga mos tanlang: Daytona boshqariladigan yo‘lni, CubeSandbox esa o‘z serverida bajarish va ma’lumotlarning mahalliy saqlanishini ta’minlaydi.
- Tur tekshiruvlarini izchil bajaring: Umumiy shartnomalar bir nechta workspace’ni qamrab oladi, shuning uchun paketlararo o‘zgarishlardan keyin
bun run typecheckbuyrug‘idan foydalaning. - Ishlab chiqarish yo‘llarini ko‘rib chiqing: To‘liq joylashtirish bo‘yicha ko‘rsatmalar
infra/self-host/ostida joylashgan, qo‘shimcha o‘zgarmas konteyner reliz yo‘li esadocs/operations/immutable-releases.mdfaylida hujjatlashtirilgan. - So‘rov oqimini tekshiring: Repositoryda arxitekturani chuqurroq o‘rganish uchun
docs/architecture/request-flow.htmlmanzilida interaktiv diagramma mavjud.
Integratsiyalar va yetkazib berish interfeyslari
Mahalliy Slack va GitHub qo‘llab-quvvatlashidan tashqari, platforma connectorlar orqali Gmail, Linear, Notion va HubSpot’ni ham ro‘yxatga oladi. OAuth broker tomonidan boshqariladi, tokenlar esa server tomonida muhrlanadi. Workspace interfeyslariga bilimlar bazasi, jamoa xotirasi, ko‘nikmalar, playbooklar va rejalashtirilgan avtomatlashtirishlar kiradi.
GitHub integratsiyasi App autentifikatsiyasi, repository klonlash va pull request ish jarayonlarini qo‘llab-quvvatlaydi. Integratsiyadan qat’i nazar, vosita chaqiruvlari ishonchli gateway orqali o‘tadi va hisob ma’lumotlarini agent ish stansiyasiga bevosita oshkor qilmaydi.
Litsenziyalash masalalari
useAgent GNU AGPL v3.0-only litsenziyasi asosida tarqatiladi. Undan ushbu shartlar asosida foydalanish, uni o‘zgartirish va o‘zingiz joylashtirishingiz mumkin. Xususiy mahsulotlarga integratsiya qilish, OEM yoki white-label mahsulotlar, AGPL majburiyatlarisiz tarqatish yoki boshqa litsenziyalash talablari uchun tijoriy litsenziya mavjud.
Xulosa
useAgent bir nechta agent dvigatellarini, Postgres asosidagi barqaror ishga tushirish jarayonlarini, ajratilgan Linux sandboxlarini, tashkilot kontekstini, xavfsiz integratsiyalarni, tasdiqlash jarayonlarini va tahrirlanadigan artefaktlarni o‘zingiz joylashtirishingiz mumkin bo‘lgan yagona platformada birlashtiradi. Bun va pgvector yordamida ishni mahalliy muhitda boshlang, monoreponi uning turlar tekshiruvi orqali tekshiring, so‘ng Linux ishlab chiqarish xostiga o‘tishda hujjatlashtirilgan o‘zingiz joylashtirish yo‘nalishidan foydalaning.
