Asosiy kontentga o‘tish
AI qo‘llanmalari

Claude Code harnessingizni harness-map bilan xaritalang va auditdan o'tkazing

Ushbu qo'llanma bir yoki bir nechta Claude Code ish joylarini skanerlash, ixtiyoriy agent tekshiruvlarini ishga tushirish, interaktiv harness xaritasini yaratish va maxfiy konfiguratsiya ma'lumotlarini himoya qilgan holda uning yetuklik bahosini talqin qilishni ko'rsatadi.

Claude Code harnessingizni harness-map bilan xaritalash va auditdan o'tkazish

harness-map nima qiladi

harness-map Claude Code atrofidagi konfiguratsiyani o‘qib, uni yagona vizual yig‘ilish xaritasiga aylantiradi. Harness deb ataladigan bu konfiguratsiya CLAUDE.md kabi ko‘rsatma fayllari, avtomatik xotira, MCP serverlari, ko‘nikmalar, ruxsatlar, hooklar, qoidalar va tegishli sozlamalarni o‘z ichiga oladi.

Amaldagi harness Claude Code ishga tushiriladigan jildga va yangi agent qanday ishga tushirilishiga qarab o‘zgarishi mumkin. Asosiy sessiya, fork, quyi agent, Explore yoki Plan agenti, jamoadosh yoxud claude -p chaqiruvi turli ma’lumotlarni olishi mumkin. harness-map tanlangan ishga tushirish jildi va usuli uchun bu farqlarni ko‘rsatadi.

Loyiha Python 3 dan foydalanadi va qo‘shimcha Python paketlarini talab qilmaydi. Uning skriptlari konfiguratsiyani o‘zgartirmasdan o‘qiydi, tuzilgan harness.json faylini yaratadi va brauzerda ko‘rish mumkin bo‘lgan harness-map.html hisobotini tuzadi.

Asosiy imkoniyatlar

  • Jildga xos tahlil: --cwd parametrini takrorlab, istalgancha boshlang‘ich jildni solishtiring.
  • Agentga topshirishni vizuallashtirish: Har bir komponent ota-sessiyadan meros olinganmi, fayldan qayta o‘qilganmi yoki yangi agentga uzatilmaganmi — ko‘ring.
  • Qoidalar o‘zaro ta’siri tahlili: Beshta ishlov berish usulini tekshiring: almashtirish, rad etish ustuvor bo‘lgan birlashtirish, barcha qoidalarni ishga tushirish, ustuvorliksiz biriktirish va faqat bitta qoidani tanlash.
  • Xavf va e’tibor talab qiladigan holatlar: Avtomatik xotiraning jildlar bo‘yicha bo‘linishi yoki jamoa funksiyasi ruxsat rejimini yangi agentga uzatishi kabi holatlarni aniqlang.
  • Yetuklikni baholash: Olti harness yo‘nalishi bo‘yicha 1 dan 5 gacha darajalarni olti burchakli diagrammada ko‘rib chiqing.
  • Maxfiylikni hisobga olgan chiqish: Ko‘rsatmalar mazmuni, muhit o‘zgaruvchilari qiymatlari, tokenlar, buyruq argumentlari va boshqa maxfiy tafsilotlarni kiritmasdan, tuzilmaviy metama’lumotlarni qayd eting.
  • Ko‘chma ko‘rsatish: Xaritasini qayta chizish uchun boshqa kishining harness.json faylini hisobot interfeysiga joylang.

Boshlashdan oldin

Sizga Python 3, Git va odatiy foydalanuvchi hisobingizga tegishli Claude Code konfiguratsiyasidan foydalanish huquqi kerak. pip orqali paket o‘rnatish talab qilinmaydi.

harness-map dasturini Claude Code dasturini ishga tushiradigan foydalanuvchi nomidan ishga tushiring. sudo dan foydalanmang. Administrator nomidan ishga tushirish amaldagi uy jildini o‘zgartirishi va boshqa foydalanuvchi konfiguratsiyasini oshkor qilishi mumkin, shu sababli skript bunday usulda ishga tushishni rad etadi.

Claude Code dasturini odatda ishga tushiradigan haqiqiy jildlarni tanlang. Ota jildni skanerlash quyi loyiha ichidan ishga tushirilganda qo‘llanadigan barcha konfiguratsiyani ko‘rsatmaydi, chunki konfiguratsiya har bir boshlang‘ich jilddan yuqoriga qarab aniqlanadi.

O‘rnatish

Reponi klonlang va uning jildiga kiring:

git clone https://github.com/Dominic-DK/harness-map.git
cd harness-map

Loyihani github.com/Dominic-DK/harness-map manzilida ko‘rib chiqishingiz mumkin. Loyiha MIT litsenziyasi asosida tarqatiladi.

1-qadam: Claude Code harness’ini skanerlang

Solishtirmoqchi bo‘lgan har bir ish maydoni uchun bittadan --cwd argumenti bilan harness-map.py ni ishga tushiring. Quyidagi buyruq ikkita namunaviy jildni skanerlaydi va natijani harness.json fayliga yozadi:

python3 harness-map.py --cwd ~/work/a --cwd ~/work/b -o harness.json

--cwd parametrini zarur bo‘lganicha takrorlashingiz mumkin. Agar uni ko‘rsatmasangiz, harness-map faqat joriy jildni skanerlaydi:

python3 harness-map.py -o harness.json

Dastlabki skanerlash konfiguratsiya fayllarini o‘qiydi va shu fayllardan hamda suhbatlar tarixi bo‘yicha jamlangan hisoblagichlardan bajarish mumkin bo‘lgan tekshiruvlarni amalga oshiradi.

Suhbatlar tarixi davrini o‘zgartirish

Standart jamlash davri 30 kun. Boshqa kuzatuv oynasi kerak bo‘lganda --days parametridan foydalaning. Masalan, quyidagi buyruq 90 kundan foydalanadi:

python3 harness-map.py --cwd ~/work/a --days 90 -o harness.json

Suhbat tahlili faqat hodisalarni sanaydi. U suhbat matni, buyruq mazmuni yoki fayl mazmunini natijaga ko‘chirmaydi.

2-qadam: Agent tekshiruv rejasini chiqaring

Ba’zi tekshiruvlar statik konfiguratsiyani ko‘rib chiqishning o‘zi bilan cheklanmay, agent tomonidan nazorat qilinadigan sinovlarni bajarishni talab qiladi. Loyiha taqdim etgan tartiblar va xavfsizlik qoidalarini quyidagi buyruq bilan chiqaring:

python3 harness-map.py --probe-plan

Agentdan tekshiruvlarni bajarishni so‘rashdan oldin bu chiqishni o‘qing. Tekshiruv buyruqlarini o‘zingizcha tuzish o‘rniga yaratilgan ko‘rsatmalarga amal qiling. Tekshiruvlar konfiguratsiyani o‘qish, tegishli tarix hodisalarini sanash va vaqtinchalik jild ichidagi xatti-harakatni sinashni o‘z ichiga olishi mumkin.

3-qadam: Tekshiruvlarni bajaring yoki o‘tkazib yuboring

Agentga chiqarilgan tekshiruv rejasini bajartiring va kuzatuvlarini probes.json fayliga saqlang. Har bir tekshiruv dalil sifatida nima bajarilgani va nimalar kuzatilganini qayd etadi.

Bu qadam ixtiyoriy. Tekshiruvni bajarmasangiz, tegishli band tekshirilmagan deb ko‘rsatiladi va daraja hisob-kitoblariga kiritilmaydi. Haqiqatda kuzatilmagan muvaffaqiyatli xatti-harakatni, ayniqsa 5-daraja tekshiruvlari uchun, qo‘lda tasdiqlashdan saqlaning.

4-qadam: Tekshiruv natijalarini birlashtiring

Skanerlashni o‘sha boshlang‘ich jildlar bilan qayta bajaring va --probes probes.json parametrini qo‘shing:

python3 harness-map.py --cwd ~/work/a --cwd ~/work/b --probes probes.json -o harness.json

Bir xil --cwd to‘plamidan foydalanish yakuniy hisob-kitobni birinchi skanerlash qamrab olgan ish maydonlariga mos holda saqlaydi.

5-qadam: Hisobotni yarating va oching

Tayyor JSON faylidan HTML hisobotini yarating:

python3 build.py harness.json

macOS’da uni quyidagicha oching:

open harness-map.html

Linux’da quyidagidan foydalaning:

xdg-open harness-map.html

Windows’da quyidagidan foydalaning:

start harness-map.html

Harness xaritasini o‘qish

Hisobotda har bir vaziyat uchun samarali harness’ni ko‘rish uchun boshlang‘ich papkalar va ishga tushirish usullari o‘rtasida almashing. Har bir komponent uchun hisobot uchta yetkazib berish holatini ajratib ko‘rsatadi:

  • Yangi agent uni bevosita asosiy sessiyadan oladi.
  • Yangi agent uni fayldan qayta o‘qiydi.
  • Komponent yangi agentga uzatilmaydi.

Bu taqqoslash bir xil repozitoriydan foydalanayotgan ikki agent nima uchun turlicha ishlashi mumkinligini tushuntirishga yordam beradi. Masalan, quyi agent asosiy sessiya uchun mavjud bo‘lgan barcha narsani olmasligi mumkin, muayyan boshlang‘ich papkaga bog‘langan sozlamalar esa boshqa joylarda qo‘llanmasligi mumkin.

Ustma-ust tushadigan qoidalarni tushunish

Hisobot ustma-ust tushadigan qoidalar qanday hal qilinishini ham ko‘rsatadi. Sozlama turiga qarab, keyingi qiymat boshqa qiymatni almashtirishi, qoidalar birlashib taqiqlash ustuvor bo‘lishi, mos keladigan har bir amal bajarilishi, matn ustuvorlik tartibisiz birlashtirilishi yoki faqat bitta parametr tanlanishi mumkin.

Ko‘rsatma, ruxsat yoki hook samarasiz ko‘ringanda, ushbu o‘zaro ta’sirlarni tekshiring. Muammo yetishmayotgan faylda emas, balki qoidalarni birlashtirish xatti-harakatida bo‘lishi mumkin.

Yetuklik bahosini tushunish

harness-map oltita yo‘nalishni 1-darajadan 5-darajagacha baholaydi:

  1. Ko‘rsatmalarni loyihalash
  2. Xotira va joylashuv
  3. Vositalar qamrovi
  4. Profilaktik bloklash
  5. Amaldan keyingi tekshiruv va kuzatuvchanlik
  6. Delegatsiyani loyihalash

Mavjud ma’lumotlar yetarli bo‘lsa, skript avtomatik ravishda 4-darajagacha hisoblay oladi. Natijada qaysi shartlar bajarilgani va baholash qayerda to‘xtagani qayd etiladi. Baholash ta’riflari harness-map.py ichidagi SCORECARD da saqlanadi.

5-daraja amalda kuzatilgan tekshiruvdan olingan dalillarni talab qiladi. Masalan, profilaktik bloklash 5-darajaga faqat taqiq haqiqatan ham buyruqni to‘xtatganini ko‘rsatuvchi yozuv mavjud bo‘lganda erishadi. Konfiguratsiyada taqiqning mavjudligi o‘zi yetarli emas.

Konfiguratsiya mavjud bo‘lsa-da, foydalanilmagandek ko‘rinsa, baholash balli pasaytirilishi mumkin. Masalan, tanlangan tarix davrida vosita ishlatilmagan yoki sessiyalar sozlangan ruxsat rejimidan farqli rejimda ishlagan bo‘lishi mumkin.

Bir nechta boshlang‘ich papka skanerlanganda, ko‘rsatilgan daraja papka darajasidagi ballarning medianasi bo‘ladi. Papkalar soni juft bo‘lsa, o‘rtadagi pastroq qiymat olinadi. Hisobotda minimaldan maksimalgacha bo‘lgan oraliq ham ko‘rsatiladi.

Yuqori darajalar avtomatik ravishda yaxshiroq degani emas. harness-map har bir yo‘nalishga kerak bo‘ladigan darajani foydalanish tartiblariga qarab baholaydi. Bunda yolg‘iz ishlashingiz, quyi agentlarni qanchalik tez-tez ishga tushirishingiz va qaytarish qiyin bo‘lgan buyruqlarni qanchalik ko‘p bajarishingiz ham hisobga olinadi. U 5-darajadan past bo‘lgan har bir ball haqida ogohlantirish o‘rniga, taxmin qilingan ehtiyojdan past qolgan yo‘nalishlarni ko‘rsatadi.

Maxfiylik va chiqishni ko‘rib chiqish

Skaner fayllarni o‘qiydi, ammo konfiguratsiyani o‘zgartirmaydi. U chiqishga ko‘chiriladigan ma’lumotlarni ataylab cheklaydi:

  • CLAUDE.md va qoida fayllari uchun yo‘llar, satrlar soni va ular qachon o‘qilganini qayd etadi, ammo matnini qayd etmaydi.
  • Sozlamalar uchun ruxsat rejimlari, qoidalar soni va muhit o‘zgaruvchilari nomlarini qayd etadi, ammo muhit o‘zgaruvchilari qiymatlari yoki qoidalar mazmunini qayd etmaydi.
  • Hook’lar uchun hodisa, manba va bajariladigan fayl nomini qayd etadi, ammo buyruq argumentlari va yo‘llarni chiqarib tashlaydi.
  • MCP serverlari uchun nomlar va manbalarni qayd etadi, ammo buyruqlar, argumentlar, sarlavhalar va tokenlarni chiqarib tashlaydi.
  • Yo‘llar uchun haqiqiy uy katalogi prefiksini ~ bilan almashtiradi.

O‘qib bo‘lmaydigan fayllar unreadable ro‘yxatiga joylanadi. Loyihaga ko‘ra, Claude Code ham xuddi shu foydalanuvchi ruxsatlari ostida bu fayllarni o‘qiy olmaydi.

Chiqishda baribir papka nomlari va o‘rnatilgan plaginlar ro‘yxati bo‘ladi. Ularni ulashishdan oldin harness.json va harness-map.html fayllarini ochib tekshiring.

Repozitoriyning .gitignore fayli harness.json va harness-map.html fayllarini versiyalar nazoratidan tashqarida saqlash uchun sozlangan, ammo commit qilishdan oldin sahnalashtirilgan fayllarni baribir tekshirishingiz kerak.

Ish jarayonini kodlash agentiga topshirish

Claude Code yoki boshqa kodlash agentidan repozitoriy ko‘rsatmalariga amal qilishni so‘rashingiz mumkin. Misol sifatida berilgan papkalarni o‘zingiz tez-tez foydalanadigan boshlang‘ich kataloglar bilan almashtiring. Mos so‘rov quyidagicha:

Read the README at https://github.com/Dominic-DK/harness-map and follow the direct execution steps.
My usual starting folders are ~/work/a and ~/work/b.
Perform the step 3 agent checks according to the documented safety rules and record the results.
When finished, open harness-map.html in a browser and summarize the result in about five clear sentences.

Tekshiruv bosqichida inson nazoratini saqlang. Agent --probe-plan tomonidan ishlab chiqilgan aniq xavfsizlik rejasiga amal qilishi kerak.

Qo‘shimcha maslahatlar

Muhim kirish nuqtalarining barchasini skanerlang

Repozitoriy ildizini skanerlash ichki loyihalarni ham qamrab oladi deb o‘ylamang. Claude Code’ni amalda ishga tushiradigan har bir katalogni alohida --cwd sifatida qo‘shing. Bu meros qilib olingan ko‘rsatmalar, xotira chegaralari va vositalar mavjudligini yanada foydali taqqoslash imkonini beradi.

Ishingizga mos kuzatuv davrini tanlang

Standart 30 kunlik davr yaqindagi faollik uchun mos, ammo kam ishlatiladigan vositalar uzoqroq davrni talab qilishi mumkin. --days parametridan ongli ravishda foydalaning, chunki foydalanilmaganlik haqidagi dalillar yetuklik bahosiga ta’sir qilishi mumkin.

Konfiguratsiyani tasdiqlangan xatti-harakatdan ajrating

Faylga asoslangan topilmalarni mo‘ljallangan konfiguratsiyaning dalili sifatida ko‘ring, boshqaruv elementi ish vaqtida ishlashining isboti sifatida emas. Hooklar, cheklovlar yoki boshqa xatti-harakatlar amalda kuchga kirayotganiga ishonch hosil qilish kerak bo‘lsa, ixtiyoriy tekshiruvlardan foydalaning.

Hisobotlarni xom konfiguratsiyani oshkor qilmasdan taqqoslang

Kimdir sizga ko‘rib chiqilgan harness.json faylini yuborsa, uni hisobotning joylashtirish maydoni yordamida qayta chizing. Maxfiy qiymatlar olib tashlangan bo‘lsa-da, ikkala tomon ham avval JSONni tekshirishi kerak, chunki loyiha nomlari, papka nomlari va plagin nomlari saqlanib qoladi.

Python mavjud bo‘lmaganda zaxira usuldan foydalaning

Agar Python 3 mavjud bo‘lmasa, PROMPT.md tarkibini agentga ko‘chiring. Agent konfiguratsiyani bevosita o‘qishi, xuddi shu formatda JSON yaratishi va ekranni qurishi mumkin. README bu usul skriptga qaraganda elementlarni tushirib qoldirishi yoki ularni noto‘g‘ri sanashi ehtimoli yuqoriroq ekanidan ogohlantiradi.

Ma’lum cheklovlar

  • Topshirish qoidalari harness-map.py ichidagi SPAWN_RULESda qat’iy belgilangan; ular jonli sessiyalaringizni kuzatish asosida hosil qilinmaydi.
  • README ushbu qoidalar 2026-yil 2-oktabrda tekshirilgan Claude Code 2.1.287 hujjatlariga asoslanganini aytadi. Keyingi versiyalarda xatti-harakat boshqacha bo‘lishi mumkin.
  • Keltirilgan manbalar rasmiy sub-agentlar, agentlar jamoalari va xotira hujjatlaridir.
  • Loyiha bitta nomuvofiqlikni qayd etadi: hujjatlarda sub-agentlar avtomatik xotirani o‘qimasligi aytilgan, muallif muhitida esa xotira ro‘yxati sub-agentga uzatilgani xabar qilingan. Hisobot buni hujjatlar va kuzatuv o‘rtasidagi farq sifatida belgilaydi.
  • --agents va --permission-mode kabi faqat buyruq satrida beriladigan sozlamalar fayllarda saqlanmaydi va shu sababli skaner tomonidan aniqlanmaydi.
  • O‘rnatilgan plaginlar uchun skaner plaginlarni o‘rnatish katalogidan topilgan eng yangi versiyani o‘qiydi.

Xulosa

harness-map turli loyihalar va agentni ishga tushirish rejimlarida Claude Code amalda qabul qiladigan konfiguratsiyani tushunishning amaliy usulini taqdim etadi. Avval barcha muhim ish kataloglarini skanerlang, zarur bo‘lsa hujjatlashtirilgan tekshiruvlarni ishga tushiring, ularning dalillari bilan ma’lumotlarni qayta yarating va HTML hisobotini hosil qiling. Konfiguratsiyadagi bo‘shliqlarni topish uchun vizualizatsiya va yetuklik bahosidan foydalaning, biroq ulashishdan oldin yaratilgan fayllarni tekshiring va hujjatlashtirilgan topshirish qoidalarini versiyaga bog‘liq deb hisoblang.