# פרמטרים וקובצי קלט

> איך ה-CLI של Nodaro הופך זוגות key=value של ‎--param ושל ‎--input לגוף בקשה, איך כל ערך מקבל סוג ומתי לשלוח במקום זאת קובץ JSON.

Source: https://nodaro.ai/he/docs/developers/cli/params

**פרמטרים** הם הערכים שמעבירים להרצה בשורת הפקודה. הפקודה `nodaro nodes run` מקבלת אותם בצורה `--param key=value`, והפקודה `nodaro apps run` בצורה `--input key=value`. אפשר לחזור על כל אחד משני הדגלים, שניהם פועלים לפי אותם כללים, וקובץ JSON עם `--params-file` מכסה כל מה שלא נכנס בדגל.

## כתיבת זוגות key=value
חזרו על הדגל פעם אחת לכל ערך. הקיפו במירכאות ערך שיש בו רווחים, כדי שה-shell יעביר אותו כארגומנט אחד.

```bash
nodaro nodes run generate-video \
  --param prompt="a paper boat drifting down a rainy street" \
  --param provider=seedance-2-fast \
  --param duration=8
```

ה-CLI קובע לכל ערך סוג לפני שהוא שולח את הבקשה:

| מה מקלידים | מה נשלח בגוף הבקשה |
| --- | --- |
| `true` או `false` | ערך בוליאני |
| `null` | `null` |
| מספר שלם, כגון `8` | מספר |
| מספר עשרוני, כגון `0.5` | מספר |
| ערך שמתחיל ב-`[` או ב-`{` והוא JSON תקין | מערך JSON או אובייקט JSON |
| כל השאר | מחרוזת |

רק ה-`=` הראשון מפריד בין המפתח לערך. שאר הטקסט נשמר, ולכן עם `--param query=a=b=c` נשלחת המחרוזת `a=b=c`.

כך נראה מערך JSON שכתוב בתוך הפקודה. הקיפו את הזוג במירכאות בודדות, כדי שה-shell ישאיר את המירכאות הכפולות:

```bash
nodaro nodes run generate-image --param prompt="the same mug on a marble counter" --param 'referenceImageUrls=["https://example.com/mug-front.png","https://example.com/mug-side.png"]'
```

ב-`generate-image` וב-`text-to-video`, השדה `subject` מציין מי נמצא בשוט, לפי מזהים מהקטלוג. ערך שמתחיל ב-`{` מפוענח כ-JSON, ולכן המפה כולה נכנסת ב-`--param` אחד. שמות השדות והמזהים מגיעים מ-`nodaro pickers get person`, וגם מ-`styling`, מ-`held-prop`, מ-`material` ומ-`animal`. את הניסוח כותב Nodaro. ראו את דף ה-API [רכיבים](https://nodaro.ai/docs/developers/api/nodes).

```bash
nodaro nodes run generate-image --param prompt="on the seawall at dusk" \
  --param subject='{"type":"woman","age":"age-30s","heldProp":"smartphone"}' --watch
```

כדי לגלות אילו מפתחות רכיב מקבל, הריצו `nodaro nodes get <type>`. לאפליקציה, הריצו `nodaro apps get <slug>`.

## שליחת קובץ JSON
לאובייקטים מקוננים, למערכים ארוכים או לכל ערך שלא מתאים לצורה של דגל, כתבו את כל גוף הבקשה לקובץ JSON והעבירו אותו עם `--params-file`. הקובץ חייב להכיל אובייקט JSON אחד.

```bash
cat > body.json <<'EOF'
{
"prompt": "a lighthouse on a cliff at dawn, cinematic",
"provider": "flux",
"aspectRatio": "16:9"
}
EOF

nodaro nodes run generate-image --params-file body.json --param aspectRatio=9:16
```

הדגלים גוברים על הקובץ. בדוגמה הזו, ההרצה משתמשת ביחס הגובה־רוחב `9:16` מהדגל, ובשאר גוף הבקשה מהקובץ.

## קביעת קלטים של אפליקציה ושדות גולמיים של רכיבים
הפקודה `nodaro apps run` מקבלת את שמות הקלטים של האפליקציה כמפתחות:

```bash
nodaro apps run hair-styler-dd3erw --input prompt="curly red hair" --watch
```

הדגל `--override` מגיע לשדות של רכיבים שהאפליקציה לא חושפת, להרצה הזו בלבד. כתבו אותו בצורה `<nodeId>.<field>=<value>`:

```bash
nodaro apps run hair-styler-dd3erw --input prompt="curly red hair" \
  --override n1.promptPrefix="Studio portrait of" --override n1.promptSuffix=", 85mm, soft light"
```

הדוגמה הזו עוטפת את הפרומפט של המשתמש בטקסט נסתר, לפניו ואחריו. ראו את הדף [טקסט לפני ואחרי הפרומפט](https://nodaro.ai/docs/concepts/prompt-pre-post-text). דריסה אף פעם לא יכולה לשנות לאן רכיב שולח נתונים או מאיפה הוא מביא אותם, כגון הכתובת של רכיב [פלט Webhook](https://nodaro.ai/docs/nodes/publish/webhook-output); ההרצה נדחית עם `locked_field`.

## הרצה של רכיבי קלט ורכיבי מקור
רכיבי קלט ורכיבי מקור רצים באותה דרך. רכיב [גריפת אתר](https://nodaro.ai/docs/nodes/automate/web-scrape), `web-scrape`, מקבל את המקור שלו בשדה `actor`: `google-search`, `content-crawler`, `rss` או `tiktok`.

```bash
# Google Search results
nodaro nodes run web-scrape --param actor=google-search --param query="running shoes" --param maxResults=5

# The text of one web page, as Markdown
nodaro nodes run web-scrape --param actor=content-crawler --param url=https://example.com --param mode=page
```

בהתקנה באירוח עצמי, רכיב גריפת אתר צריך את `APIFY_API_TOKEN` בשרת, או [חיבור ל-Nodaro Cloud](https://nodaro.ai/docs/self-hosting/cloud-connect) שדרכו הגריפה רצה ומחויבת.

## שאלות נפוצות

### איך ה-CLI של Nodaro מחליט אם ערך הוא מספר או מחרוזת?

ב-CLI של Nodaro, המילים true ו-false הופכות לערכים בוליאניים, null נשאר null ומספרים שלמים ועשרוניים הופכים למספרים. ערך שמתחיל בסוגר מרובע או בסוגר מסולסל הופך למערך JSON או לאובייקט JSON, כשהוא JSON תקין. כל השאר נשאר מחרוזת.

### האם ערך של ‎--param יכול לכלול סימן שוויון?

כן. ב-CLI של Nodaro, רק סימן השוויון הראשון מפריד בין המפתח לערך, ולכן עם ‎--param query=a=b=c הערך שנשלח הוא a=b=c.

### מתי כדאי להשתמש בדגל ‎--params-file במקום בדגל ‎--param?

השתמשו בקובץ JSON עם ‎--params-file לאובייקטים מקוננים, למערכים ארוכים או לכל ערך שקשה להקליד כדגל. דגלים באותה פקודה גוברים על הקובץ במפתחות שמשותפים לשניהם.

### מה ההבדל בין הדגל ‎--param לדגל ‎--input?

השתמשו בדגל ‎--param עם הפקודה nodaro nodes run, שבה המפתחות הם שדות הקלט של הרכיב. השתמשו בדגל ‎--input עם הפקודה nodaro apps run, שבה המפתחות הם שמות הקלטים של האפליקציה. שני הדגלים פועלים לפי אותו תחביר.
