תיעוד 85
המלצה על תוספים לארגון שלך
הוסיפו בלוק
relevanceלרשומות התוספים במרקטפלייס כדי ש-Claude Code יציע אותם כשהעבודה של המשתמש תואמת, והוסיפו את המרקטפלייס לרשימת ההיתר בהגדרות המנוהלות.
Claude Code יכול להציע התקנה של תוסף מהמרקטפלייס של הארגון כשהסשן של המשתמש תואם לאותות שאתם מגדירים לתוסף הזה. האותות כוללים את תיקיית העבודה, קבצים ש-Claude קרא, ופקודות ש-Claude הריץ. מגדירים אותם על ידי הוספת בלוק relevance לרשומת התוסף ב-marketplace.json.
מפעיל מרקטפלייס כותב את רשומות ה-relevance. מנהל מערכת מוסיף אחר כך את המרקטפלייס לרשימת ההיתר בהגדרות המנוהלות. בטרמינל, משתמשים לא רואים הצעות ממרקטפלייס עד שהוא ברשימת ההיתר.
[!NOTE]
המקרים האלה מכוסים בעמודים אחרים:
- אתם רוצים להתקין תוספים: ראו התקנה וניהול של תוספים
- אתם רוצים לכבות הצעות: ראו הבנה איך רלוונטיות של תוספים עובדת, או, להצעות ש-Claude נותן בשיחה של סשן בענן, כיבוי הצעות תוספים
התחילו בסעיפים לפי התפקיד שלכם:
- מפעילי מרקטפלייס: קראו איך ההצעות עובדות, ואז הוספת relevance לרשומת תוסף ואימות המרקטפלייס שלכם
- מנהלי מערכת: הפעלת הצעות בהגדרות מנוהלות
#הבנה איך רלוונטיות של תוספים עובדת
כל רשומת תוסף ב-marketplace.json יכולה לכלול אובייקט relevance. האובייקט נותן שם לנושא ולאות אחד או יותר. אות הוא תבנית ש-Claude Code בודק מול הסשן הנוכחי, כמו תיקיית העבודה או קבצים ש-Claude קרא.
התאמת האותות מתרחשת מקומית במחשב של המשתמש, והיא לא מוסיפה תעבורת רשת. Claude Code לא מדווח אילו אותות תאמו, או מה הערכים שלהם, ל-Anthropic או למפעיל המרקטפלייס.
כשאות תואם והתוסף לא מותקן כבר, Claude Code מציע את התוסף במקומות האלה:
- טיפ בספינר: הודעה עם הפקודה
/plugin installמופיעה מתחת לספינר בזמן ש-Claude מגיב. - התראה בתחילת סשן: אם אות
cwdתואם לתיקיית העבודה, התראה של שורה אחת מופיעה לפני שהמשתמש שולח הודעה ראשונה. - לשונית Discover ב-
/plugin: התוסף נעוץ בראש רשימת Discover.
תצוגה מקדימה של מה שהמשתמש רואה מציגה את הטקסט המדויק של כל אחד ואת התדירות שבה הם חוזרים.
Claude Code אף פעם לא מתקין את התוסף אוטומטית. המשתמש תמיד מאשר.
טיפ הספינר וההתראה בתחילת הסשן מפסיקים להופיע כשהמשתמש או הפרויקט מגדירים את spinnerTipsEnabled ל-false, או כש-spinnerTipsOverride עם excludeDefault מחליף את הטיפים המובנים. הנעיצה בלשונית Discover לא מושפעת משתי ההגדרות.
#הוספת relevance לרשומת תוסף
הוסיפו אובייקט relevance לרשומת התוסף ב-marketplace.json. הדוגמה הבאה מצהירה שהתוסף terraform-helpers רלוונטי כש-Claude קורא קובץ .tf או מריץ terraform:
{
"name": "your-marketplace",
"owner": { "name": "Your Org" },
"plugins": [
{
"name": "terraform-helpers",
"source": "./plugins/terraform-helpers",
"description": "Your organization's Terraform conventions and helpers",
"relevance": {
"topic": "Terraform",
"signals": {
"cli": ["terraform"],
"filesRead": ["**/*.tf"]
}
}
}
]
}כל עוד אף אחד מהאותות שלו לא תואם, התוסף שומר על המיקום הרגיל שלו ברשימת Discover ולא מופיע כטיפ בספינר.
כדי לבדוק את הבלוק לפני פרסום, אמתו את המרקטפלייס.
#הפניה לשדות
אובייקט relevance ואובייקט signals המקונן בתוכו מקבלים את השדות שבטבלאות הבאות.
לקוחות ישנים עדיין טוענים מרקטפלייס שמשתמש בשדות relevance שהם לא מזהים, כי שדות לא מוכרים תחת relevance ותחת relevance.signals מתעלמים מהם בזמן הטעינה. שדה מוכר שהערך שלו חורג מהמגבלה שלו בהפניה לשדות פוסל את כל רשומת התוסף, ומשתמשים לא יכולים להתקין את התוסף הזה מהמרקטפלייס עד שתתקנו אותו. claude plugin validate מדווח על אותן מגבלות.
#relevance
| שדה | סוג | תיאור |
|---|---|---|
topic | string | אופציונלי. הביטוי שממלא את "Working with topic?" בטיפ הספינר. ברירת המחדל היא שם התוסף, כשכל מקטע שמופרד במקף מתחיל באות גדולה. לכל היותר 64 תווים. |
signals | object | רכיבי התאמה שקובעים מתי התוסף רלוונטי. Claude Code מציע את התוסף רק אם לפחות אות אחד מוגדר. ראו relevance.signals. |
ה-topic הוא לעתים קרובות שם המוצר, לדוגמה Terraform. השתמשו בתחום כמו design כששם התוסף לא נשמע טבעי כנושא.
#relevance.signals
אובייקט signals מקבל את השדות הבאים.
| שדה | סוג | תיאור | מגבלה |
|---|---|---|---|
cwd | array of strings | תבניות glob שמותאמות מול תיקיית העבודה של הסשן. ראו התאמה של תיקיית העבודה. | 10 תבניות של 256 תווים כל אחת |
cli | array of strings | שמות פקודות מפקודות מעטפת ש-Claude הריץ בסשן הזה, לדוגמה ["terraform"]. התאמה מדויקת. ראו התאמה של שם פקודה. | 10 רשומות של 64 תווים כל אחת |
hosts | array of strings | שמות מארח שנראו בכתובות http:// או https:// בפקודות Bash בסשן הזה, לדוגמה ["registry.terraform.io"]. רק שם מארח חשוף באותיות קטנות: בלי סכמה, פורט או נתיב. התאמה מדויקת בלי תלות ברישיות. | 20 רשומות של 128 תווים כל אחת |
filesRead | array of strings | תבניות glob שמותאמות מול נתיבי הקבצים ש-Claude קרא בסשן הזה, לדוגמה ["**/*.tf"]. מנורמלות ללוכסן קדמי ובלי תלות ברישיות. | 10 תבניות של 256 תווים כל אחת |
manifestDeps | array of objects | תלויות שמוצהרות במניפסטים של חבילות ש-Claude קרא בסשן הזה. כל רשומה היא { "file": "...", "pattern": "..." }, ושני הערכים הם ביטויים רגולריים. ראו התאמה של תלות במניפסט. | 10 רשומות, וכל ערך לכל היותר 256 תווים. קובצי מניפסט גדולים מ-512 KB מדולגים |
אותות filesRead ו-manifestDeps תואמים גם לקבצים ש-Claude כתב או ערך בסשן הזה, וגם לקובצי הזיכרון CLAUDE.md של הפרויקט שנטענים אוטומטית.
#התאמה של תיקיית העבודה
cwd הוא האות היחיד שיכול להתאים בתחילת סשן, לפני שהמשתמש שולח הודעה ראשונה.
Claude Code מתאים כל תבנית cwd כך:
- התבנית מותאמת מול תיקיית העבודה כנתיב מוחלט. כשהסשן נמצא בתוך מאגר git, היא מותאמת גם מול הנתיב של תיקיית העבודה ביחס לשורש המאגר.
- ההתאמה מנורמלת ללוכסן קדמי ובלי תלות ברישיות.
- כל תבנית תואמת את התיקייה עצמה ואת כל מה שמתחתיה, כך ש-
infra,infra/ו-infra/**מתנהגים באופן זהה.
#התאמה של שם פקודה
Claude Code רושם שם פקודה אחד לכל פקודת מעטפת ש-Claude מריץ: הטוקן הראשון אחרי כל השמות מובילים של משתני סביבה ואחרי sudo. פקודות מורכבות תורמות רק את הפקודה המובילה שלהן, כך ש-cd infra && terraform plan רושם cd, ולא את terraform.
#התאמה של תלות במניפסט
כל רשומת manifestDeps מצמידה שתי מחרוזות מקור של RegExp ב-JavaScript:
file: מותאמת בלי תלות ברישיות מול הנתיב של קובץ המניפסט. הנתיב בדרך כלל מוחלט, לכן עגנו את התבנית בסוף ולא בהתחלה. הנתיבים לא עוברים נרמול של המפריד לאות הזה, לכן נתיבי Windows משתמשים בלוכסנים הפוכים.pattern: מותאמת עם תלות ברישיות מול התוכן של הקובץ.
הדוגמה הבאה משתמשת ב-manifestDeps כדי להציע את התוסף שלכם ברגע ש-Claude קרא package.json שתלוי בחבילת ה-npm של ה-SDK שלכם, ושמה כאן your-sdk.
{
"name": "your-plugin",
"source": "./plugins/your-plugin",
"relevance": {
"signals": {
"manifestDeps": [
{
"file": "[/\\\\]package\\.json$",
"pattern": "\"your-sdk\"\\s*:"
}
]
}
}
}בדוגמה הזו, תבנית file משתמשת ב-[/\\\\] כדי להתאים גם למפריד נתיב של לוכסן קדמי וגם ללוכסן הפוך, וב-\\. כדי שהנקודה תהיה מילולית. ב-JSON, כל לוכסן הפוך בביטוי הרגולרי נכתב פעמיים.
#אימות המרקטפלייס
במעטפת, הריצו את claude plugin validate מול תיקיית המרקטפלייס כדי לבדוק את בלוק relevance לפני פרסום:
claude plugin validate ./my-marketplaceהוולידטור מדווח על שגיאות ועל אזהרות בבלוק relevance, ובהן:
- מדווח על מפתחות לא מוכרים תחת
relevanceותחתrelevance.signalsכאזהרות - מסמן ערך
relevanceשאינו אובייקט - דוחה רשומת
signals.hostsשכוללת סכמה, פורט או נתיב
כל ממצא מודפס עם הנתיב של השדה שהוא נוגע בו, והפלט מסתיים ב-Validation passed, ב-Validation passed with warnings או ב-Validation failed.
#הפעלת הצעות בהגדרות מנוהלות
בטרמינל, משתמשים לא רואים הצעות ממרקטפלייס עד שמנהל מערכת מוסיף אותו לרשימת ההיתר בהגדרות מנוהלות, גם כש-marketplace.json שלו מצהיר על relevance.
כדי להוסיף מרקטפלייס לרשימת ההיתר, ערכו את ההגדרות המנוהלות כך:
- הוסיפו את שם המרקטפלייס ל-
pluginSuggestionMarketplaces. - לכל מרקטפלייס שאינו המרקטפלייס הרשמי של Anthropic, הכריזו גם על מקור המרקטפלייס, או כרשומה של השם הזה ב-
extraKnownMarketplacesאו כרשומה ב-strictKnownMarketplaces.
במחשב שבו המרקטפלייס אינו רשום, או רשום תחת השם שברשימת ההיתר ממקור אחר, לא מופיעות ממנו הצעות. בדיקת המקור מונעת ממקור לא קשור להירשם תחת שם שברשימת ההיתר כדי שהתוספים שלו יוצעו בכל הארגון.
קובץ managed-settings.json הבא רושם מרקטפלייס של ארגון ממאגר GitHub ומפעיל את ההצעות שלו:
{
"extraKnownMarketplaces": {
"your-marketplace": {
"source": {
"source": "github",
"repo": "your-org/your-marketplace"
}
}
},
"pluginSuggestionMarketplaces": ["your-marketplace"]
}השם של המרקטפלייס הרשמי יכול להירשם רק מהמקור הרשמי של Anthropic, לכן אין צורך בהכרזה על מקור. למרקטפלייס הרשמי, הוסיפו לרשימת ההיתר את השם בלבד:
{
"pluginSuggestionMarketplaces": ["claude-plugins-official"]
}#תצוגה מקדימה של מה שהמשתמש רואה
כשאות relevance של תוסף תואם במהלך סשן, הטיפ מתחת לספינר הוא:
Working with Terraform? Install the terraform-helpers plugin:
/plugin install terraform-helpers@your-marketplaceכשאות cwd תואם בתחילת סשן, ההתראה של שורה אחת היא:
plugin suggestion: terraform-helpers@your-marketplace · /pluginבלשונית Discover של /plugin, התוסף נעוץ מעל שאר התוצאות עם הערה שנותנת שם לאות התואם, כמו suggested for this directory או suggested for terraform commands.
Claude Code מגביל את התדירות שבה הוא מציע תוסף מסוים:
- ההצעה מופיעה לכל היותר פעם אחת בכל שלושה סשנים, כשמדובר בטיפ הספינר ובהתראה בתחילת הסשן יחד.
- ההתראה בתחילת הסשן מפסיקה להופיע אחרי שטיפ הספינר וההתראה הציגו את התוסף יחד סך הכול פעמיים.
- טיפ הספינר וההתראה בתחילת הסשן לא חוזרים אחרי שהתוסף מותקן.
- לשונית Discover נועצת את התוסף בפעם הראשונה שהמשתמש פותח את הלשונית בזמן שהאותות של התוסף תואמים. Claude Code רושם זאת ב-
~/.claude.json, כך שבכל פעם מאוחרת יותר שהמשתמש פותח את/pluginבאותו מחשב, התוסף מופיע בסדר הרגיל.
#ראו גם
- אירוח מרקטפלייס: הריצו את המרקטפלייס שמארח את התוספים שלכם
- הפניה למרקטפלייס: כל שדה שרשומת תוסף מקבלת
- המלצה על התוסף שלכם מתוך ה-CLI: הנחו משתמשים מה-CLI שלכם במקום מאותות הסשן של Claude Code
- ניהול תוספים לארגון שלכם:
extraKnownMarketplaces,strictKnownMarketplaces, ושאר מפתחות מדיניות התוספים