Cara Menjalankan Claude Code Gratis dengan NVIDIA NIM (Mac & Linux)

Posted on 22 views

Panduan Lengkap Menjalankan Claude Code Gratis Menggunakan NVIDIA NIM (Edisi Mac & Linux)

Mencari cara menggunakan Claude Code gratis? Claude Code adalah asisten AI berbasis terminal yang sangat powerful dari Anthropic. Namun, secara default asisten ini membutuhkan langganan API Anthropic yang berbayar. Jangan khawatir, proyek open-source free-claude-code memecahkan masalah ini dengan menjadikannya sebagai proxy lokal yang merutekan request API Claude Code melalui NVIDIA NIM. NVIDIA NIM menawarkan platform AI gratis dengan kuota hingga 40 request per menit secara cuma-cuma!

Pada panduan ini, kita akan membahas pengaturan lengkapnya khusus untuk sistem operasi Mac dan Linux: mulai dari melakukan clone repository, mengatur model, mengatasi konflik port, hingga membuat sebuah alias fcc-claude agar asisten AI ini bisa dijalankan secara instan di folder proyek manapun.


Prasyarat Sistem

Sebelum memulai, pastikan perangkat keras Anda sudah terinstal aplikasi berikut:

  • Node.js (Versi 22+): nodejs.org
  • Python (Versi 3.14+): Bawaan sistem atau unduh di python.org
  • Git: Sudah terinstal di Mac/Linux pada umumnya.

1. Instal Claude Code CLI:

curl -fsSL https://claude.ai/install.sh | bash

2. Instal uv (Python Package Manager):

curl -LsSf https://astral.sh/uv/install.sh | sh
uv self update
uv python install 3.14

Langkah 1 — Dapatkan API Key NVIDIA NIM

NVIDIA NIM menyediakan akses API gratis bagi program NVIDIA Developer dengan puluhan model open-source unggulan.

  1. Buka build.nvidia.com/settings/api-keys.
  2. Sign in atau buat akun NVIDIA Developer (gratis).
  3. Klik Generate API Key.
  4. Salin key tersebut. Formatnya diawali dengan nvapi- (jangan potong atau hapus teks apapun).

Langkah 2 — Clone Repository

Buka Terminal (Bisa menggunakan bash atau zsh), lalu jalankan:

git clone https://github.com/Alishahryar1/free-claude-code.git
cd free-claude-code

Langkah 3 — Konfigurasi File .env

Salin file template environment yang telah disediakan, kemudian buka menggunakan text editor (seperti Vi atau Vim):

cp .env.example .env
vi .env

Ubah isinya menggunakan konfigurasi yang direkomendasikan di bawah ini:

# NVIDIA NIM Config
NVIDIA_NIM_API_KEY="nvapi-your-key-is-here"

# OpenRouter Config
OPENROUTER_API_KEY=""

# DeepSeek Config (uses native Anthropic Messages at api.deepseek.com/anthropic)
DEEPSEEK_API_KEY=""

# LM Studio Config (local provider, no API key required)
LM_STUDIO_BASE_URL="http://localhost:1234/v1"

# Llama.cpp Config (local provider, no API key required)
LLAMACPP_BASE_URL="http://localhost:8080/v1"

# Ollama Config (local provider, no API key required)
OLLAMA_BASE_URL="http://localhost:11434"

# All Claude model requests are mapped to these models, plain model is fallback
# Format: provider_type/model/name
# Valid providers: "nvidia_nim" | "open_router" | "deepseek" | "lmstudio" | "llamacpp" | "ollama"
MODEL_OPUS=
MODEL_SONNET=
MODEL_HAIKU=
MODEL="nvidia_nim/stepfun-ai/step-3.5-flash"

# Optional live smoke model overrides. Provider smoke runs once per configured
# provider even when MODEL/MODEL_* route to a different provider.
FCC_SMOKE_MODEL_NVIDIA_NIM=
FCC_SMOKE_MODEL_OPEN_ROUTER=
FCC_SMOKE_MODEL_DEEPSEEK=
FCC_SMOKE_MODEL_LMSTUDIO=
FCC_SMOKE_MODEL_LLAMACPP=
FCC_SMOKE_MODEL_OLLAMA=

# Thinking output
# Per-Claude-model switches for provider reasoning requests and Claude thinking blocks.
# Blank per-model switches inherit ENABLE_MODEL_THINKING.
ENABLE_OPUS_THINKING=
ENABLE_SONNET_THINKING=
ENABLE_HAIKU_THINKING=
ENABLE_MODEL_THINKING=true

# Provider config
# Per-provider proxy support: http and socks5, example: "http://username:password@host:port"
NVIDIA_NIM_PROXY=""
OPENROUTER_PROXY=""
LMSTUDIO_PROXY=""
LLAMACPP_PROXY=""

# Provider config — free tier is 40 req/min
PROVIDER_RATE_LIMIT=40
PROVIDER_RATE_WINDOW=60
PROVIDER_MAX_CONCURRENCY=5

# Increase read timeout for thinking models (they take longer to start streaming)
HTTP_READ_TIMEOUT=180
HTTP_WRITE_TIMEOUT=10
HTTP_CONNECT_TIMEOUT=2
 
# Auth token — Claude Code will send this to identify itself to the proxy
ANTHROPIC_AUTH_TOKEN=ccnim

# Messaging Platform: "telegram" | "discord" | "none"
MESSAGING_PLATFORM="none"
MESSAGING_RATE_LIMIT=1
MESSAGING_RATE_WINDOW=1

# Voice Note Transcription
VOICE_NOTE_ENABLED=false
# WHISPER_DEVICE: "cpu" | "cuda" | "nvidia_nim"
# - "cpu"/"cuda": Hugging Face transformers Whisper (offline, free; install with: uv sync --extra voice_local)
# - "nvidia_nim": NVIDIA NIM Whisper via Riva gRPC (requires NVIDIA_NIM_API_KEY; install with: uv sync --extra voice)
# (Independent of MODEL=nvidia_nim/...: that selects the *chat* provider; this selects voice STT only.)
WHISPER_DEVICE="nvidia_nim"
# WHISPER_MODEL:
# - For cpu/cuda: Hugging Face ID or short name (tiny, base, small, medium, large-v2, large-v3, large-v3-turbo)
# - For nvidia_nim: NVIDIA NIM model (e.g., "nvidia/parakeet-ctc-1.1b-asr", "openai/whisper-large-v3")
# - For nvidia_nim, default to "openai/whisper-large-v3" for best performance
WHISPER_MODEL="openai/whisper-large-v3"
HF_TOKEN=""

# Telegram Config
TELEGRAM_BOT_TOKEN=""
ALLOWED_TELEGRAM_USER_ID=""

# Discord Config
DISCORD_BOT_TOKEN=""
ALLOWED_DISCORD_CHANNELS=""

# Agent Config
CLAUDE_WORKSPACE="./agent_workspace"
ALLOWED_DIR=""
CLAUDE_CLI_BIN="claude"
FAST_PREFIX_DETECTION=true
ENABLE_NETWORK_PROBE_MOCK=true
ENABLE_TITLE_GENERATION_SKIP=true
ENABLE_SUGGESTION_MODE_SKIP=true
ENABLE_FILEPATH_EXTRACTION_MOCK=true

# Local Anthropic web_search / web_fetch handling (performs outbound HTTP; on by default)
ENABLE_WEB_SERVER_TOOLS=true
WEB_FETCH_ALLOWED_SCHEMES=http,https
WEB_FETCH_ALLOW_PRIVATE_NETWORKS=false

# Verbose diagnostics (avoid logging raw prompts / SSE bodies in production)
DEBUG_PLATFORM_EDITS=false
DEBUG_SUBAGENT_STACK=false
# When true, also allows DEBUG-level httpx/httpcore/telegram log noise (not just payload logging).
LOG_RAW_API_PAYLOADS=false
LOG_RAW_SSE_EVENTS=false
# When true, log full exception text and tracebacks for unhandled errors (may leak request-derived data).
LOG_API_ERROR_TRACEBACKS=false
# When true, log message/transcription text previews in messaging adapters (may leak user content).
LOG_RAW_MESSAGING_CONTENT=false
# When true, log full Claude CLI stderr, non-JSON stdout lines, and parser error text.
LOG_RAW_CLI_DIAGNOSTICS=false
# When true, log full exception and CLI error message strings in messaging (may leak user content).
LOG_MESSAGING_ERROR_DETAILS=false

Langkah 4 — Mulai Proxy Lokal

Program proxy ini adalah aplikasi FastAPI Python yang dikelola oleh uv. Cukup jalankan perintah berikut (kita menggunakan port 8083 untuk menghindari bentrok dengan aplikasi lokal lain):

uv run uvicorn server:app --host 0.0.0.0 --port 8083

Anda akan melihat output yang menandakan Uvicorn running on http://0.0.0.0:8083.

 

Baca Juga  Buku Excellent : Virtualisasi Modern Berbasis Docker

💡 Pro Tip: Menjalankan Proxy di Background (Sangat Direkomendasikan)

Agar terminal Anda tidak tertahan oleh proses proxy, sebaiknya jalankan proxy ini di background menggunakan tmux atau screen. Berikut contohnya menggunakan tmux:

# 1. Buat sesi tmux baru bernama "fcc-proxy"
tmux new -s fcc-proxy

# 2. Di dalam tmux, jalankan proxy-nya
uv run uvicorn server:app --host 0.0.0.0 --port 8083

# 3. Keluar dari sesi tmux tanpa mematikannya (Detach) dengan cara:
# Tekan Ctrl+b, lepaskan, lalu tekan d

Proxy Anda sekarang berjalan aman di background! Jika suatu saat Anda ingin melihat log-nya lagi, cukup jalankan perintah tmux attach -t fcc-proxy di terminal Anda. (Jika Anda lebih suka menggunakan screen, Anda bisa menggunakan perintah screen -S fcc-proxy).

Baca Juga  Repository Lokal (Indonesia) Ubuntu 21.04 (Hirsute Hippo)

Langkah 5 — Menjalankan Claude Code Gratis

Buka jendela/tab Terminal baru, arahkan ke folder proyek apa saja (misalnya cd ~/Projects/aplikasi-saya), lalu atur environment variable sesinya:

export ANTHROPIC_AUTH_TOKEN="ccnim"
export ANTHROPIC_BASE_URL="http://localhost:8083"

claude

Sukses! Anda akan melihat banner Claude Code muncul tanpa ada permintaan login atau redirect API berbayar.


Langkah 6 — Smart Alias fcc-claude (Lebih Praktis!)

Daripada harus mengetik perintah export panjang-panjang setiap hari, Anda bisa menyederhanakannya dengan membuat sebuah alias di dalam konfigurasi *shell* sistem Anda (.bashrc atau .zshrc).

Buka file konfigurasi shell Anda. Jika Anda menggunakan Zsh (bawaan macOS terbaru):

vi ~/.zshrc

Jika Anda menggunakan Bash (umumnya di Linux):

vi ~/.bashrc

Tekan tombol i untuk masuk ke mode Insert, lalu tambahkan kode alias berikut ini di bagian paling bawah file:

alias fcc-claude='ANTHROPIC_AUTH_TOKEN="ccnim" \
ANTHROPIC_BASE_URL="http://localhost:8083" \
claude'

Simpan perubahan dengan cara menekan tombol Esc, ketik :wq lalu tekan Enter. Terapkan konfigurasi baru dengan cara reload file tersebut:

source ~/.zshrc

*(Jangan lupa ganti ~/.zshrc menjadi ~/.bashrc jika Anda menggunakan Bash).*

Mulai sekarang, Anda hanya perlu menjalankan perintah fcc-claude di folder proyek manapun untuk memanggil Claude Code gratis secara instan dan langsung terhubung dengan NIM Proxy!


Troubleshooting / Masalah Umum di Mac & Linux

  • Masalah 403 Forbidden: Pastikan token sudah dikirim.
  • Port 8083 Sudah Digunakan (Errno 48 / Errno 98): Cek PID aplikasi yang menggunakan port tersebut dengan lsof -i :8083, kemudian hentikan paksa menggunakan kill -9 <PID>.
  • API Error 401: Key NVIDIA kamu salah atau kadaluarsa. Coba tes pakai curl lokal:
    curl -H "Authorization: Bearer nvapi-xxx..." https://integrate.api.nvidia.com/v1/models. Jika merespons error, buat token baru di situs NVIDIA.
  • Garbled Text / Error ketika pakai model devstral: Ingat, matikan fitur thinking jika tidak menggunakan model Kimi. Pastikan ENABLE_MODEL_THINKING=false di dalam .env jika kamu mengganti model Opus ke model non-thinking.

Referensi:

Gravatar Image
Seorang warga negara Indonesia biasa. Pengguna MAC dan develop server Ubuntu & CentOS. Contact : admin [at] nugi.biz

3 comments

Leave a Reply

Your email address will not be published. Required fields are marked *