구성
구성
구성 파일 위치
구성은 프로젝트 디렉터리의 .spck-editor/config/spck-cli.config.json에 저장됩니다.
중요: .spck-editor/config는 ~/.spck-editor/projects/{project_id}/를 가리키는 심볼릭 링크로, 시크릿을 프로젝트 디렉터리 외부에 보관합니다.
기본 구성
{
"version": 1,
"root": "/path/to/your/project",
"name": "My Project",
"terminal": {
"enabled": true,
"maxBufferedLines": 10000,
"maxTerminals": 10
},
"security": {
"userAuthenticationEnabled": false
},
"filesystem": {
"maxFileSize": "10MB",
"watchIgnorePatterns": [
"**/.git/**",
"**/.spck-editor/**",
"**/node_modules/**",
"**/*.log",
"**/.DS_Store",
"**/dist/**",
"**/build/**"
]
},
"browserProxy": {
"enabled": true
},
"acp": {
"enabled": true
}
}
브라우저 프록시 설정
browserProxy.enabled(boolean): 브라우저 프록시 기능 활성화/비활성화- 기본값:
true false로 설정하면 모바일 앱이 CLI를 통해 브라우저 프록시 세션을 열지 못하도록 합니다.
- 기본값:
ACP 설정 (로컬 AI 에이전트)
acp.enabled(boolean): ACP(로컬 AI 코딩 에이전트) 통합 활성화/비활성화- 기본값:
true - Spck Editor가 Agent Client Protocol을 통해 이 호스트에 로컬로 설치된 AI 코딩 에이전트(Claude Code, Codex, Gemini CLI)를 구동할 수 있는지 여부를 제어합니다.
false인 경우acp.capabilities는{ available: false, agents: [] }로 응답하고, 에디터의 로컬 에이전트 전송 전환기는 숨겨지며, 대신 클라우드(SSE) 경로가 사용됩니다.- 에이전트는 셸과 파일시스템에 간접적으로 접근할 수 있으므로, 그 노출 영역을 원치 않는 경우 프로젝트별로 이 옵션을 비활성화하세요.
- 하위 호환성: 이 옵션이 추가되기 전에 만들어진 구성은
acp: { enabled: true }가 자동으로 채워진 채로 로드되고 다시 저장됩니다.
- 기본값:
💡 참고: 지원되는 에이전트(Claude Code, Codex, Gemini CLI), 인증, 결제에 대한 전체 가이드는 모바일에서 AI 코딩 에이전트 (ACP)를 참조하세요 — Spck Editor와 같은 타사 도구가 Claude Code를 구동할 때 Anthropic이 적용하는 별도의 속도 제한 버킷도 포함됩니다.
터미널 설정
-
terminal.enabled(boolean): 터미널 접근 활성화/비활성화- 기본값:
true - 터미널에 대한 무단 접근 위험을 줄이려면
false로 설정하세요.
- 기본값:
-
terminal.maxBufferedLines(number): 최대 스크롤백 버퍼- 기본값:
10000 - 메모리 사용량에 영향을 줍니다 (10,000줄당 약 1MB)
- 기본값:
-
terminal.maxTerminals(number): 최대 동시 터미널 세션 수- 기본값:
10 - 각 터미널은 약 5~10MB의 메모리를 사용합니다.
- 기본값:
파일시스템 설정
-
filesystem.maxFileSize(string): 읽기/쓰기 최대 파일 크기- 기본값:
"10MB" - 허용 값:
"5MB","50MB"등
- 기본값:
-
filesystem.watchIgnorePatterns(string[]): 파일 감시에서 제외할 패턴- 기본값: 빌드 출력 및 의존성 무시
- 수천 개의 생성된 파일을 피해 성능을 향상시킵니다.
보안 설정
security.userAuthenticationEnabled(boolean): Firebase 사용자 인증 활성화- 기본값:
false false인 경우: 낮은 지연 시간, Lite와 호환, 시크릿 서명으로 여전히 보호됨true인 경우: 추가 보안 레이어, 사용자 신원 확인, 첫 연결 시 2~20초의 초기 지연 추가- 이 설정에 관계없이 모든 요청은 항상 암호화 서명됩니다
- 기본값:
보안
암호화된 연결
모든 통신에 사용:
- WSS (WebSocket Secure): TLS/SSL 암호화
- HTTPS: 암호화된 초기 핸드셰이크
요청 서명
모든 요청은 암호화 서명됩니다:
- 시크릿 키는 로컬에서 생성되며 인터넷을 통해 전송되지 않습니다.
- 시크릿 키가 노출될 수 있는 서드파티 QR 스캐너 사용은 권장하지 않습니다.
모범 사례
-
자격 증명 보호:
# Add to .gitignore (automatic during setup) echo ".spck-editor/" >> .gitignore -
공유 기기에서 로그아웃:
spck --logout -
노출 디렉터리 제한:
# Instead of entire home directory spck --root /path/to/specific/project -
필요하지 않은 경우 터미널 비활성화:
{ "terminal": { "enabled": false } } -
필요하지 않은 경우 브라우저 프록시 비활성화:
{ "browserProxy": { "enabled": false } } -
필요하지 않은 경우 ACP(로컬 AI 에이전트) 비활성화:
{ "acp": { "enabled": false } }
사용자 인증
Spck CLI는 항상 활성화된 요청 서명 위에 두 번째 보안 레이어로 선택적 Firebase 사용자 인증을 지원합니다.
작동 방식
활성화되면 CLI는 Spck Editor 계정으로 로그인해야 합니다. 연결은 매 시간마다 만료되는 Firebase ID 토큰을 사용하여 인증되며, ~/.spck-editor/.credentials.json에 저장된 보안 갱신 토큰을 사용하여 자동으로 갱신됩니다.
사용자 인증 활성화
{
"security": {
"userAuthenticationEnabled": true
}
}
장단점
| 비활성화 (기본값) | 활성화 | |
|---|---|---|
| 보호 | 시크릿 서명 키 | + Firebase 신원 확인 |
| 초기 지연 | 인증 오버헤드 없음 | 첫 연결 시 2~20초 추가 |
| Spck Editor Lite | ✅ 지원됨 | ❌ 미지원 |
| 오프라인 사용 | 인터넷 없이 작동 | 토큰 갱신을 위해 인터넷 필요 |
활성화 시점
비활성화(기본값) 상태를 유지해야 하는 경우:
- Spck Editor Lite 사용 시 — Firebase 로그인은 Lite에서 지원되지 않으며,
true로 설정하면 Lite 사용자가 연결할 수 없게 됩니다. - 로컬 네트워크 또는 시크릿 서명 키로 충분한 신뢰할 수 있는 환경에서 작업 시
- 연결 지연 시간을 최소화하는 것이 우선순위인 경우
활성화해야 하는 경우:
- CLI가 인터넷에서 접근 가능한 서버에 노출되어 있는 경우
- 서명 키 외에 추가적인 접근 제어 레이어로 사용자 신원 확인이 필요한 경우
⚠️ Spck Editor Lite는 Firebase 인증을 지원하지 않습니다.
userAuthenticationEnabled가true로 설정되면 Spck Editor Lite가 연결할 수 없습니다. Lite를 사용할 때는 이 설정을false로 유지하세요.