پروفایل حرفهای: مهارت، مخازن، توصیه
این صفحه سه ماژول اصلی نمایشی را پوشش میدهد: شاخص مهارت و نقشهٔ مشارکت (گرمنقشهٔ سال شمسی)، نمایش مخزنها و سنجاقهای «پرکاربرد»، و توصیهٔ حرفهای بین افرادی که واقعاً با هم کار کردهاند. هر بخش زیر هم توضیح میدهد «چه چیزی نمایش داده میشود» و هم «برای کار کردنش چه قدمهایی لازم است».
پیشنیازهای عمومی
- حساب کاربری و ورود؛ برای پوشش مهارت و تاریخچه باید کامیت واقعی با grb push ثبت کنید.
- آدرس پروفایل عمومی به شکل /<username>؛ اگر کاربر پرچم «خصوصی» گذاشته باشد مهمانها پروفایل را نمیبینند.
- فعالیت روی مخازن عمومی برای دیگران قابل حساب است؛ مهمانها نقشهٔ مشارکت و بخشی از مهارتها را تنها از دادهٔ عمومی میبینند تا حریم مخازن خصوصی حفظ شود.
۱. مهارتها و نقشهٔ مشارکت (گرمنقشه)
کجا در رابط وب؟
- تب «مهارت» (/?tab=skills): شاخص کلی مهارت (۰ تا ۱۰۰)، برچسب سطح فارسی، تنوّع نوع مشارکت، میانگین ریسک per کامیت، و سهم خودکار دستههایی مثل ویژگی، باگفیکس، ریفکتور، مستند، تست.
- تب «نمای کلی»: بلوک گراف مشارکت «ستارهشبیه» (خانههای سبز تا تیره) بر اساس سال هجریشمسی ایران؛ مجموع عددی مشارکت و امکانت تعویض سال (
sy در نشانی). - تب «ستارهها» (
stars): در حال حاضر نمایندهٔ «ستارهدادن به مخزن مثل GitHub» نیست و بهصورت پیشفرض پیام «بهزودی» دارد؛ گراف مشارکت همان شبکهٔ بصری سالانه است که در «نمای کلی» آمده است.
چطور کار میکند؟
هر بار که شما روی یک مخزن کامیت و push میکنید، سیستم از روی پیام کامیت و مسیر فایلها نوع کار را دسته میکند، حجم تقریبی و سیگنالهای ریسک (مثل مسیرهای حساس یا حجم زیاد) را تجمیع میکند این داده در مدل تجمیعی مهارت برای پروفایل شما بهروز میشود. این شاخص جایگزین کدریویو انسانی نیست؛ برای شفافیت، در خود تب مهارت هم به این موضوع اشاره شده است.
کارهایی که باید انجام دهید
- مخزن بسازید،
grb init و دست کم چند بار grb commit و grb push بزنید. - برای دیده شدن مهارت نزد مهمانها، مخزنهایی که این فعالیت روی آن است باید عمومی باشند؛ اگر مخزن خصوصی باشد فقط خودتان خلاصهٔ کاملتری با فعالیت خصوصی میبینید و مهمان نقشه و مهارت عمومی کمتر دارند.
- اگر تاریخچهٔ قبل از ورود سیستم تجمیعی دارید، از سرپرستان سرور بخواهید اسکریپت مهاجرت تاریخچه را اجرا کنند:npm run skill-backfill -- <username>
- برای نقشهٔ سال دیگر، از سوئیچ
sy در نشانی یا منوی انتخاب سال در گراف استفاده کنید.
۲. پروژهها، مخازن روی پروفایل و سنجاقها
کجا در رابط وب؟
- بخش «پرکاربرد» در نمای کلی: کارتهایی که نشاندادهٔ انتخابی شما برای معرفی مخزن است («سنجاق»). مخازن خصوصی برای مهمانها در این بخش فیلتر میشوند و دیده نمیشوند؛ فقط خودتان همهٔ سنجاقهایتان را میبینید.
- تب «مخزنها» (/?tab=repositories): شبکهٔ کارت برای همهٔ مخازن عمومی قابل نمایش (نام، توضیح کوتاه، زبان).
- در منوی تبها، آیتمهای «پروژهها» و «بستهها» (
projects / packages) الان صفحهٔ جداگانهٔ محصول مانند Portfolio یا رجیstry بسته NPM نیستند و متن «بهزودی» نشان میدهند؛ منظور از «بخش پروژه و بسته» در پلتفرم فعلی، همان نمایش مخزنهای شما و سنجاقها است.
کارهایی که باید انجام دهید
- حداقل یک مخزن بسازید (/repos/new) و در صورت تمایل توضیح و زبان را در تنظیمات مخزن پر کنید تا کارت پروفایل خواناتر شود.
- برای پر کردن سنجاقها: به تنظیمات → بخش مخزنهای سنجاقشده بروید و تا شش مخزن را انتخاب کنید (اگر خالی بماند، در نمای کلی به مالک یادآوری نمایش داده میشود).
- اگر میخواهید دیگران لیست کامل مخزنهایتان را ببینند، مخزن را عمومی کنید؛ مخازن خصوصی در تب «مخزنها» به مهمان لیست نمیشوند.
- روی هر کارت میتوانید به صفحهٔ مخزن (/repos/<id>) بروید تا شاخه، کامیت و Issues را ببینید.
۳. توصیههای حرفهای (Endorsement)
ایدهٔ کلی
توصیه جایگزین «لایک» نیست: فقط وقتی فعال میشود که بین شما و گیرنده همکاری واقعی داخل Gitrabbit ثبت شده باشد (مثلاً هر دو روی یک issue، یا هر دو کامیت در یک مخزن، یا هر دو همکار همان مخزن). متن باید معنادار باشد (حداقل طول از پیکربندی)، برچسب مهارت اختیاری دارید، حالت عمومی یا خصوصی، و سقف ماهانه و قوانین ضد تبادل دوطرفهٔ سریع اعمال میشود.
کجا در رابط وب؟
- تب «توصیهها» (/?tab=recommendations) روی پروفایل فرد.
- در نوار کناری پروفایل، اگر توصیهٔ عمومی فعال وجود داشته باشد برای دیگران شمارش/نشان دیده میشود.
- فرم نوشتن توصیه، فیلتر برچسب مهارت، «برجستهترین توصیه»، گزارش سوءاستفاده، و برداشت توسط نویسنده یا پنهانسازی توسط صاحب پروفایل در همین تب پیاده شدهاند.
شرایط فنی (سرور)
- بدون برقراری همکاری مشترک و رسیدن به حداقل امتیاز تعامل، API اجازهٔ ایجاد نمیدهد؛ پیامهای خطا به فارسی برمیگردند.
- نمیتوان برای خود نوشت؛ نمیتوان دو توصیهٔ فعال همزمان از یک نفر به همان شخص داشت؛ اگر طرف مقابل اخیراً برای شما توصیه داده باشد تا پایان «پنجرهٔ بلوک متقابل» نمیتوانید برگردانید؛ سقف ماهانهٔ تعداد نوشتهٔ جدید از طرف هر کاربر اعمال میشود.
- وزن Maintainer روی مخزنهای مشترک در امتیاز نمایشی دخیل است؛ پارامتر «اعتماد نمایشی» و هشدار تبانی سبک قبل از تأیید نهایی ترکیب میشوند.
- برای مهمانها تعداد مشخصی توصیهٔ عمومی روی یک پروفایل نمایش داده میشود (Freemium نمایشی)؛ مالک همه را (شامل خصوصی، در صورت پیکربندی) میبیند.
کارهایی که باید انجام دهید
- وارد حساب خود شوید و با فرد مقابل روی همان مخزن کار کنید:issue مشترک، یا commit در یک repo، یا نقش collaborator.
- پس از کافی بودن تعامل، پروفایل او را باز کنید، تب توصیهها را باز کنید و متنی دقیق (حداقل طول از سرور، معمولاً حدود ۴۸ کاراکتر به بالا) همراه برچسبهای مهارت بنویسید؛ عمومی/خصوصی را انتخاب کنید و ارسال کنید.
- پیش از ارسال میتوانید وضعیت را با API بررسی کنید: GET /api/recommendations/eligibility?to=<username>
- در صورت توصیهٔ زائد یا اشتباه، نویسنده میتواند بردارد؛ گیرنده میتواند از نمای عمومی حذف کند؛ کاربران سوم میتوانند گزارش دهند و پس از تعداد گزارش بالا لیست عمومی مخفی میشود تا بررسی شود.
پیکربندی محیط (مدیر سرور)
همهٔ موارد با پیشفرض معقول کار میکنند؛ تنها در صورت نیاز تنظیم کنید:
# مثالها (اختیاری؛ در غیر این صورت مقادیر پیشفرض اعمال میشود)
# حداقل طول متن توصیه (پیشفرض ۴۸)
GRB_REC_BODY_MIN=48
# حداکثر طول متن
GRB_REC_BODY_MAX=2000
# حداقل «امتیاز تعامل» قبل از مجاز بودن توصیه (پیشفرض ۴)
GRB_REC_MIN_SCORE=4
# نیاز به واحد کاری مشترک واقعی (۰ = غیرفعال کردن الزام)
GRB_REC_REQUIRE_UNIT=1
# سقف تعداد توصیهٔ هر فرد در ماه (پیشفرض ۶)
GRB_REC_MONTHLY_CAP=6
# ساعات بلوک متقابل بعد از توصیهٔ طرف مقابل (پیشفرض ۱۶۸ = یک هفته)
GRB_REC_RECIP_BLOCK_H=168
# حداکثر تعداد توصیهٔ عمومی نمایشدادهشده به مهمان روی یک پروفایل (پیشفرض ۸ — Freemium نمایشی)
GRB_REC_PUBLIC_CAP=8
# مالک میبیند؟ برای اسلات خصوصی معمولاً روشن میماند
GRB_REC_OWNER_PRIV=1
# در صورت ست کردن، GET داخلی با هدر x-grb-internal-key نیاز به این کلید دارد
# GRB_INTERNAL_REC_API_KEY=...API داخلی ابزارها
اگر GRB_INTERNAL_REC_API_KEY در محیط ست شده باشد، مسیر GET /api/internal/recommendations/<userId> با هدر x-grb-internal-key همان کلید، خروجی JSON برای یکپارچهسازی با ابزار داخلی میدهد؛ بدون کلید این مسیر در عمل قفل است.