# Claude Code

> הרצת Claude Code על המודלים של NotHoly עם notholy run claude, או הגדרת המשתנים באופן ידני.


הפקודה `notholy run claude` צריכה את ה-CLI של NotHoly, מותקן ומחובר ([התקנת ה-CLI](/he/cli/install)), ואת Claude Code עצמו: `npm i -g @anthropic-ai/claude-code`. להגדרה הידנית שבהמשך מספיק מפתח API.

```bash
notholy run claude
```

הפקודה מפעילה את Claude Code עם המשתנים האלה, רק בתהליך שלו:

```bash
ANTHROPIC_BASE_URL=https://api.notholy.com
ANTHROPIC_AUTH_TOKEN=$NOTHOLY_API_KEY
ANTHROPIC_MODEL='notholy-specter[1m]'
ANTHROPIC_DEFAULT_OPUS_MODEL='notholy-specter[1m]'
ANTHROPIC_DEFAULT_SONNET_MODEL='notholy-specter[1m]'
ANTHROPIC_DEFAULT_HAIKU_MODEL=notholy-specter
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
CLAUDE_CODE_ATTRIBUTION_HEADER=0
```

הסיומת `[1m]` אומרת ל-Claude Code שההקשר הוא מיליון טוקנים. NotHoly מסירה אותה לפני הניתוב. המגבלה האמיתית של המודל הזה היא 1048576 טוקנים, כפי שמופיע בשדה `context_length` בתשובה של `GET /v1/models`.

להגדרה ידנית מגדירים את אותם משתנים, עם מפתח ה-API במשתנה `ANTHROPIC_AUTH_TOKEN`.

## כתיבת ההגדרות

הפקודה `notholy connect claude` כותבת את הערכים האלה לקובץ `.claude/settings.local.json` של הפרויקט. שום מפתח לא נכתב לקובץ: Claude Code מבקש אותו מהפקודה `notholy token` דרך `apiKeyHelper`. עם `--global` היא כותבת לקובץ `~/.claude/settings.json`. לביטול: `notholy connect claude --undo`.

הפקודה `connect` גם מוסיפה את שרת ה-MCP `notholy` לקובץ `.mcp.json` בפרויקט ומציינת אותו ב-`enabledMcpjsonServers`, כך ש-Claude Code לא מבקש אישור אחרי שסימנת את התיקייה כמהימנה. עם `--global` השרת נכתב לקובץ `~/.claude.json`. הנתיב ב-`.mcp.json` מוחלט ותקף רק במחשב שלך, לכן כדאי להשאיר את הקובץ מחוץ למאגר משותף. הפקודה `notholy run claude` מעבירה את אותו שרת עם `--mcp-config` לתהליך הזה בלבד.

```json
{
  "apiKeyHelper": "notholy token",
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.notholy.com",
    "ANTHROPIC_MODEL": "notholy-specter[1m]",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "notholy-specter[1m]",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "notholy-specter[1m]",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "notholy-specter",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
    "CLAUDE_CODE_ATTRIBUTION_HEADER": "0"
  }
}
```

## בדיקה

אפשר לבקש מ-Claude Code לקרוא קובץ בפרויקט. אם יש קריאה לכלי ותשובה, החיבור עובד. הפקודה `/status` מציגה את ה-base URL.

## מגבלות ידועות

- כלי שרת כמו החיפוש באינטרנט של Anthropic לא רצים, ולכן שרת ה-MCP `notholy` כולל את `web_search`. קריאת הדפים של Claude Code רצה מקומית וממשיכה לעבוד. בשביל `read_url` ו-`analyze_file` אפשר להוסיף את שרת ה-MCP המלא בשם אחר: `claude mcp add notholy-full -- notholy mcp`.
- מתעלמים מהשדה `cache_control` והמטמון אוטומטי, ולכן כתיבות המטמון בפקודה `/cost` נשארות אפס.

## הבא

- [שרת MCP מקומי](/he/mcp/local)
