코딩 도구 설정하기
npx uberllm init
이 명령은 컴퓨터에서 코딩 도구를 찾아 각각 UberLLM을 사용하도록 설정합니다. Node.js 18 이상이 필요합니다. 다른 것은 설치되지 않습니다.
실행하면 어떻게 되나요:
- 찾은 도구 목록을 보여줍니다.
- 브라우저가 열립니다. 로그인하거나 (계정을 생성하고) 연결을 누르세요. 이렇게 하면 이 컴퓨터를 위한 API key가 생성됩니다.
- key는
~/.uberllm/key에 저장되며, 이 파일은 사용자만 읽을 수 있습니다. - 각 도구의 config 파일은 UberLLM을 사용하도록 변경됩니다. 모든 파일의 사본이 먼저 저장됩니다.
- key가 작동하는지 확인하고 무엇을 다시 시작해야 하는지 알려줍니다.
모든 것이 이미 설정되어 있다면 다시 실행해도 아무것도 변경되지 않습니다.
변경 사항 미리 보기
npx uberllm init --dry-run
이것은 변경될 각 파일과 추가될 줄들을 출력합니다. 브라우저를 열거나 어떤 내용도 작성하지 않습니다.
각 도구가 얻는 것
| 도구 | 변경하는 파일 | 도구가 키를 읽는 방식 |
|---|---|---|
| Claude Code | ~/.claude/settings.json |
apiKeyHelper가 ~/.uberllm/key을(를) 읽습니다 |
| Codex CLI | ~/.codex/config.toml |
제공자의 auth 명령이 ~/.uberllm/key을(를) 읽습니다 |
| OpenCode | ~/.config/opencode/opencode.json |
{file:~/.uberllm/key} |
| Kilo Code | ~/.config/kilo/kilo.jsonc |
UBERLLM_API_KEY 변수 |
| Goose | ~/.config/goose/custom_providers/uberllm.json |
UBERLLM_API_KEY 변수 |
| Aider | ~/.aider.conf.yml, ~/.aider.model.settings.yml |
~/.uberllm에 있는 비공개 env 파일 |
| Continue | ~/.continue/config.yaml |
~/.continue/.env (Continue 자체의 비밀 파일) |
Kilo Code와 Goose는 환경에서만 키를 읽습니다. 이들을 위해 셸 프로필(~/.zshrc, ~/.bashrc 또는 fish)에 한 줄이 추가됩니다. 해당 줄은 키 파일을 읽으며, 키 자체는 프로필에 기록되지 않습니다. Windows에서는 대신 해당 명령이 수행해야 할 한 단계를 출력합니다.
Claude Code는 자체 Claude 모델을 계속 요청합니다. 다른 도구들은 기본 모델을 사용합니다: 명령을 실행할 때 요청을 받는 모델 목록의 첫 번째 코딩 모델입니다. 직접 선택하려면:
npx uberllm init --model deepseek/deepseek-v4.1-flash
앱 내부에 설정되는 도구
Cursor, Cline 및 Roo Code는 명령이 변경할 수 있는 파일이 아닌 편집기 내부에 이러한 설정을 유지합니다. 이들을 위해 명령은 주소와 모델 ID가 채워진 세 가지 단계를 출력합니다. Cursor, Cline 및 Roo Code를 참조하세요.
Gemini CLI는 Google의 Gemini API를 사용하는 서버하고만 통신하며, UberLLM은 이를 제공하지 않습니다. UberLLM을 통해 Gemini 모델을 사용하려면 OpenCode 또는 Codex를 Gemini 모델 ID npx uberllm init --tool opencode --model <id>으로 설정하세요.
옵션
| 옵션 | 기능 |
|---|---|
--tool <names> |
다음 도구만 사용 (쉼표로 구분): claude-code, codex, opencode, kilo-code, goose, aider, continue, cursor, cline, roo-code, gemini-cli. 찾을 수 없는 도구도 설정합니다. |
--project [dir] |
이 프로젝트만 (기본값: 현재 폴더). |
--model <id> |
설정할 기본 모델. |
--key <key> |
이 키를 사용하고 브라우저를 건너뜁니다. |
--relink |
브라우저에서 새 키를 가져옵니다 (저장되거나 설정된 키가 있더라도). |
--dry-run |
무엇이 변경될지 보여줍니다. 아무것도 변경하지 않습니다. |
--undo |
모든 것을 원래대로 되돌립니다. |
사용되는 키: 전달하는 경우 --key, 그 다음 ~/.uberllm에 이미 저장된 키, 그 다음 환경 변수의 UBERLLM_API_KEY, 그 다음 브라우저.
하나의 프로젝트만
cd my-project
npx uberllm init --project
해당 폴더만 UberLLM에서 실행되며, 다른 프로젝트는 변경되지 않습니다. 이는 프로젝트별 설정이 있는 도구에 적용됩니다: Claude Code (.claude/settings.local.json), OpenCode (opencode.json) 및 Aider (.aider.conf.yml). 프로젝트 폴더에 키가 기록되지 않습니다. Codex CLI, Kilo Code, Goose 및 Continue는 머신별로 설정되므로 여기서는 건너뜁니다.
Windows에서는 Claude Code가 프로젝트별로 설정되지 않습니다. 그렇게 하면 키가 프로젝트 폴더에 저장되기 때문입니다. 거기서 --project 없이 명령을 실행하세요.
실행 취소
npx uberllm init --undo
- 그 이후로 건드리지 않은 파일은 원래 상태로 정확히 되돌려집니다. 명령이 생성한 파일은 제거됩니다.
- 그 이후로 편집한 파일은 편집 내용을 유지합니다. 명령이 추가한 내용만 제거되고, 명령이 대체했던 설정은 다시 복원됩니다. 명령 실행 전의 사본은
~/.uberllm/backups/에 남아 있습니다. - 이 명령이 생성했고, 설정한 어떤 도구도 더 이상 사용하지 않는 경우 저장된 키 파일은 제거됩니다. Claude Code 설치 프로그램에서 온 키 파일은 그대로 유지됩니다. 키를 끄려면 키 페이지에서 삭제하세요.
--undo --tool codex로 하나의 도구를 실행 취소하거나, --undo --project으로 하나의 프로젝트를 실행 취소하세요. Kilo Code와 Goose는 셸 프로필의 줄을 공유하므로, 둘 다 실행 취소될 때까지 유지됩니다.
파일 보관 위치
| 경로 | 설명 |
|---|---|
~/.uberllm/key |
사용자 키입니다. 사용자만 읽을 수 있습니다 (모드 600). |
~/.uberllm/backups/ |
변경되기 전 각 파일의 사본입니다. |
~/.uberllm/init.json |
명령이 변경한 파일 목록이며, --undo에서 사용됩니다. |
이 키는 api.uberllm.dev로 전송되며 다른 곳으로는 전송되지 않습니다. 절대 인쇄되지 않습니다.
파일이 그대로 유지될 때
이 명령어는 손상시킬 수 있는 파일을 덮어쓰지 않습니다. 대신 수동으로 수행해야 할 단계를 알려주고 출력합니다. 다음의 경우에 발생합니다:
- JSON 설정에 주석이 있는 경우 (
opencode.jsonc,kilo.jsonc), 덮어쓰면 주석이 손실되기 때문입니다; - JSON 설정을 읽을 수 없는 경우;
- Continue의
models:가 한 줄로 작성된 경우; --project을(를) 사용하여, 설정 파일이 프로젝트 외부 파일에 대한 링크인 경우.
해당 도구는 실행이 끝날 때 "아직 설정되지 않음"으로 나열됩니다.
문제 해결
| 보이는 내용 | 해결 방법 |
|---|---|
No supported coding tool was found |
먼저 도구를 설치하거나 이름을 지정하세요: npx uberllm init --tool codex. |
The gateway did not accept the key |
새 키를 받으려면 npx uberllm init --relink을(를) 실행하세요. |
| 도구가 여전히 이전 공급자를 사용합니다 | 다시 시작하세요. Kilo Code와 Goose의 경우, 새 변수가 로드되도록 먼저 새 터미널을 여세요. |
ANTHROPIC_API_KEY is set in your shell |
Claude Code는 저장된 키보다 해당 변수를 먼저 사용합니다. 셸 프로필에서 제거하세요. |
도구가 요청을 보낼 때 402 |
크레딧 페이지에서 크레딧을 추가하세요. |