CLI 사용 가이드
Synapse SDK는 설정부터 플러그인 개발 및 코드 편집까지, 개발 워크플로우를 관리하기 위한 강력한 대화형 CLI를 제공합니다.
CLI 명령을 사용하기 전에, 설치 가이드를 완료하고 환경이 설정되어 있는지 확인하세요 (uv run synapse 또는 가상 환경 활성화).
시작하기
사용 가능한 명령과 옵션 표시:
synapse --help
설치된 버전 확인:
synapse --version
사용 가능한 명령
CLI는 다음과 같은 주요 명령 그룹을 제공합니다:
synapse login- Synapse 백엔드 인증synapse plugin- 플러그인 개발 및 관리synapse agent- 에이전트 설정synapse mcp- AI 어시스턴트 통합을 위한 MCP 서버synapse doctor- 설정 진단 실행
인증
login 명령으로 Synapse 백엔드에 인증합니다:
# 대화형 로그인
synapse login
# 토큰을 직접 지정
synapse login --token YOUR_ACCESS_TOKEN
# 사용자 지정 호스트로 로그인
synapse login --host https://api.synapse.example.com --token YOUR_TOKEN
설정 파일
Synapse는 다음 위치에 설정을 저장합니다:
- 자격 증명:
~/.synapse/config.json- 백엔드 호스트와 액세스 토큰
플러그인 관리
종합적인 플러그인 개발 및 관리 도구:
플러그인 라이프사이클
synapse plugin CLI는 플러그인을 스캐폴딩부터 배포까지 일곱 단계로 안내합니다:
Create → Develop → Configure → Validate → Publish → Archive → Distribute
라이프사이클의 "Archive" 와 "Distribute" 단계 — 변형(variant) 및 매니페스트 기반 일괄 작업 포함 — 에 대해서는 GitHub 아카이빙 가이드를 참조하세요.
새 플러그인 생성
# 대화형 위저드
synapse plugin create
# 옵션과 함께
synapse plugin create --name "My Plugin" --category neural_net
위저드는 다음을 생성합니다:
- 플러그인 디렉토리 구조
- 설정 파일 (
config.yaml) - 예제 플러그인 코드
- 요구사항 및 의존성
플러그인 실행
다양한 실행 모드로 플러그인을 테스트할 수 있습니다:
# 로컬 실행 (디버깅에 가장 적합)
synapse plugin run test --mode local
# Ray Actor 실행
synapse plugin run test --mode task --gpus 1
# Ray Jobs API와 로그 스트리밍
synapse plugin run train --mode job --params '{"epochs": 10}'
# Synapse 백엔드를 통한 원격 실행
synapse plugin run deploy --mode remote
실행 모드
| 모드 | 설명 |
|---|---|
local | 인-프로세스 실행, 디버깅에 가장 적합 |
task | Ray Actor 실행 (로그 스트리밍 없음) |
job | Ray Jobs API와 로그 스트리밍 (원격 실행 권장) |
remote | Synapse 백엔드 API를 통한 실행 (인증 필요) |
플러그인 배포
Synapse 백엔드에 플러그인을 배포합니다:
# 업로드 없이 미리보기
synapse plugin publish --dry-run
# Debug 모드로 배포 (백엔드만, GitHub 없음)
synapse plugin publish --debug
# 확인 프롬프트 건너뛰기
synapse plugin publish --yes
# 매니페스트 기반 일괄 배포 (GitHub로부터)
synapse plugin publish -m plugin.yaml
알아두면 좋은 점: 정식 배포 (
--debug없이) 는 설정이 되어 있을 때 자동으로 GitHub에 아카이빙합니다. 설정과 자세한 내용은 GitHub 아카이빙 가이드를 참조하세요.
GitHub 연동
플러그인 소스 코드의 GitHub 자동 아카이빙을 구성합니다:
# GitHub 토큰과 조직 설정
synapse plugin github-setup
# GitHub 설정 제거
synapse plugin github-clear
GitHub 아카이빙, 변형(variant) 브랜치, 매니페스트 기반 일괄 작업에 대한 전체 가이드는 GitHub 아카이빙 가이드를 참조하세요.
명령 레퍼런스
메인 명령
synapse --help # 도움말 표시
synapse --version # 버전 표시
synapse login # Synapse 인증
synapse plugin # 플러그인 관리 명령
synapse agent # 에이전트 설정 명령
synapse mcp # MCP 서버 명령
synapse doctor # 설정 진단 실행
Login 명령
synapse login [OPTIONS]
Options:
--host TEXT Synapse API host
--token, -t TEXT Access token (will prompt if not provided)
--help Show this message and exit
Plugin 명령
# 템플릿으로부터 새 플러그인 생성
synapse plugin create [OPTIONS]
--path, -p PATH Output directory (default: current)
--name, -n TEXT Plugin name
--code TEXT Plugin code (slug)
--category, -c TEXT Plugin category
--yes, -y Skip confirmation
# 플러그인 액션 실행
synapse plugin run ACTION [OPTIONS]
--plugin, -p TEXT Plugin code (auto-detects from config.yaml)
--path PATH Plugin directory (default: current)
--params TEXT JSON parameters
--mode, -m TEXT Executor mode: local, task, job, or remote
--ray-address TEXT Ray cluster address (for task/job modes)
--gpus INTEGER Number of GPUs to request
--cpus INTEGER Number of CPUs to request
--input, -i TEXT JSON input for inference (for infer action)
--infer-path TEXT Inference endpoint path (for infer action)
--host TEXT Synapse API host (for remote mode)
--token, -t TEXT Access token (for remote mode)
--debug/--no-debug Debug mode (default: enabled)
--debug-sdk Bundle local SDK with upload (for SDK development)
# 플러그인 릴리스 배포
synapse plugin publish [OPTIONS]
--path, -p PATH Plugin directory (default: current)
--config, -c PATH Config file path
--manifest, -m PATH Manifest file for batch publish
--host TEXT Synapse API host
--token, -t TEXT Access token
--dry-run Preview without uploading
--debug Debug mode (bypasses backend validation)
--yes, -y Skip confirmation
# GitHub 연동 구성
synapse plugin github-setup [OPTIONS]
--token, -t TEXT GitHub personal access token (repo scope)
--org, -o TEXT GitHub organization name
# GitHub 설정 제거
synapse plugin github-clear [OPTIONS]
--yes, -y Skip confirmation
# 액션 자동 발견 및 설정 동기화
synapse plugin update-config [OPTIONS]
--path, -p PATH Plugin directory (default: current)
--config, -c PATH Config file path
# 잡(Job) 관리
synapse plugin job get JOB_ID [OPTIONS]
--host TEXT Synapse API host
--token, -t TEXT Access token
synapse plugin job logs JOB_ID [OPTIONS]
--follow, -f Follow log output (stream)
--host TEXT Synapse API host
--token, -t TEXT Access token
Agent 명령
# 대화형으로 에이전트 선택
synapse agent select [OPTIONS]
--host TEXT Synapse API host
--token, -t TEXT Access token
# 현재 에이전트 설정 표시
synapse agent show
# 에이전트 설정 제거
synapse agent clear [OPTIONS]
--yes, -y Skip confirmation
MCP 명령
# AI 어시스턴트 통합을 위한 MCP 서버 시작
synapse mcp serve [OPTIONS]
--config, -c PATH Path to config file (default: ~/.synapse/config.json)
# MCP 설정 파일 초기화
synapse mcp init [OPTIONS]
--config, -c PATH Path to config file (default: ~/.synapse/config.json)
--force, -f Overwrite existing config file
Doctor 명령
# Synapse 설정에 대한 진단 실행
synapse doctor
Doctor 명령
synapse doctor 명령은 Synapse SDK 설정에 대한 종합적인 진단을 실행합니다.
사용법
synapse doctor
검사 항목
doctor 명령은 다음을 검증합니다:
- 설정 파일 존재 여부:
~/.synapse/config.json이 존재하는지 확인 - 유효한 JSON 형식: 설정 파일이 올바른 JSON 형식인지 검증
- CLI 인증: 인증 자격 증명이 있는지 확인
- MCP 설정: MCP 서버 설정 확인
- 에이전트 설정: 에이전트 설정 검증
- 토큰 유효성: 인증 토큰이 유효한지 테스트
- 파일 권한: 설정 파일이 적절한 권한(600)을 가졌는지 확인
출력 예시
✓ Configuration file exists
✓ Valid JSON format
✓ CLI authentication configured
⚠ MCP configuration has warnings
✓ Agent configuration valid
✓ Token is valid
✓ File permissions are secure
종료 코드
0: 모든 검사 통과1: 오류 발견 (반드시 수정 필요)
팁 & 모범 사례
설정 관리
- 토큰 보안: API 토큰을 안전하게 보관하고 정기적으로 교체하세요.
- 에이전트 선택: 에이전트의 용도를 식별할 수 있도록 설명적인 이름을 사용하세요.
- 백엔드 URL: 백엔드 URL이 개발 환경에서 접근 가능한지 확인하세요.
플러그인 개발
- 로컬 테스트: 배포 전에 항상
--mode local로 플러그인을 로컬에서 테스트하세요. - Debug 모드: 초기 배포에서 문제를 조기에 잡기 위해 debug 모드를 사용하세요.
- 버전 관리: git을 사용해 플러그인 변경 사항을 추적하고 버전을 관리하세요.
- 설정 동기화: 새 액션을 추가한 후에는
synapse plugin update-config를 실행하세요.
문제 해결
인증 문제
문제: "Not authenticated"
- 해결책:
synapse login을 실행하여 백엔드 연결을 설정하세요.
문제: "Invalid token (401)"
- 해결책: 새 API 토큰을 생성하고 다시
synapse login을 실행하세요.
문제: "Connection timeout"
- 해결책: 네트워크 연결과 백엔드 URL 접근 가능 여부를 확인하세요.
플러그인 문제
문제: 워크스페이스에서 플러그인이 감지되지 않음
- 해결책: 디렉토리에 유효한
config.yaml파일이 있는지 확인하세요.
문제: 플러그인 실행 실패
- 해결책: 플러그인 의존성과 문법을 확인하고, 먼저
--mode local로 로컬에서 테스트하세요.
문제: 원격 모드 사용 시 "No agent configured"
- 해결책:
synapse agent select를 실행하여 에이전트를 구성하세요.
추가 문제 해결 도움말은 문제 해결 가이드를 참조하세요.