본문으로 건너뛰기

설정

환경과 사용 사례에 맞게 Synapse SDK를 설정하세요.

사전 요구 사항

Synapse SDK를 설정하기 전에 설치 가이드를 완료하세요.

개요

Synapse SDK는 다양한 워크플로우에 맞는 여러 설정 방법을 제공합니다. 모든 설정 파일은 ~/.synapse/에 보안 권한(0o600)으로 저장됩니다.

한눈에 보기

방법적합한 용도명령/파일
CLI대화형 설정, 최초 설정synapse login, synapse agent select
환경 변수CI/CD 파이프라인, 컨테이너SYNAPSE_HOST, SYNAPSE_ACCESS_TOKEN
설정 파일영구 설정, 다중 환경~/.synapse/credentials, config.json, config.yaml

설정 파일

파일형식용도
~/.synapse/credentialsText백엔드 인증 (호스트, 액세스 토큰)
~/.synapse/config.jsonJSON에이전트 설정 (ID, URL, 토큰)
~/.synapse/config.yamlYAMLMCP 다중 환경 설정

설정 우선순위

SDK는 다음 순서(높은 우선순위에서 낮은 순서)로 설정 값을 결정합니다:

예시:

환경 변수와 ~/.synapse/credentials 모두에 SYNAPSE_HOST가 설정된 경우:

# 환경 변수
export SYNAPSE_HOST="https://env.synapse.sh"

# 자격 증명 파일: SYNAPSE_HOST=https://file.synapse.sh

# 결과: SDK는 https://env.synapse.sh를 사용 (환경 변수가 우선)

설정 방법

CLI 설정

CLI는 대화형 설정 명령을 제공합니다.

인증

synapse login을 실행하여 Synapse 백엔드에 인증하세요:

synapse login

다음을 입력하라는 메시지가 표시됩니다:

  • Host: 백엔드 API URL (기본값: https://api.synapse.sh)
  • Access Token: Synapse API 토큰

자격 증명은 ~/.synapse/credentials에 저장됩니다.

에이전트 선택

대화형 인터페이스를 사용하여 에이전트를 선택하세요:

synapse agent select

이 명령은:

  1. 백엔드에서 사용 가능한 에이전트를 가져옵니다
  2. 에이전트를 테이블 형식으로 표시합니다
  3. ID로 에이전트를 선택하라는 메시지를 표시합니다
  4. 자동으로 연결을 테스트합니다
  5. ~/.synapse/config.json에 설정을 저장합니다

참고: 연결 테스트는 설정을 구성할 때만 실행되며 CLI 시작 시에는 실행되지 않습니다.

현재 설정 보기

현재 에이전트 설정을 표시합니다:

synapse agent show

설정 초기화

저장된 에이전트 설정을 제거합니다:

synapse agent clear

환경 변수

환경 변수는 설정 파일보다 우선합니다.

변수설명기본값
SYNAPSE_HOST백엔드 API URLhttps://api.synapse.sh
SYNAPSE_ACCESS_TOKENAPI 액세스 토큰None

쉘에서 환경 변수를 설정하세요:

export SYNAPSE_HOST="https://api.synapse.sh"
export SYNAPSE_ACCESS_TOKEN="your-token-here"

또는 인라인으로 사용하세요:

SYNAPSE_ACCESS_TOKEN="your-token" synapse agent select

: CI/CD 파이프라인에서는 파일에 자격 증명을 저장하지 않도록 환경 변수를 사용하세요.

설정 파일

설정 파일은 영구적인 설정 저장소를 제공합니다.

설정 파일 레퍼런스

자격 증명 파일

자격 증명 파일은 백엔드 인증 정보를 저장합니다.

위치: ~/.synapse/credentials

형식:

SYNAPSE_HOST=https://api.synapse.sh
SYNAPSE_ACCESS_TOKEN=your-access-token-here

경고: 이 파일에는 민감한 자격 증명이 포함되어 있습니다. 제한적인 권한을 설정하세요 (chmod 600 ~/.synapse/credentials).

에이전트 설정

에이전트 설정은 선택한 에이전트의 세부 정보를 저장합니다.

위치: ~/.synapse/config.json

스키마:

{
"agent": {
"id": 123,
"name": "My Development Agent",
"url": "https://agent.synapse.sh",
"token": "your-agent-token"
}
}

필드:

필드타입필수설명
agent.idintYes고유 에이전트 식별자
agent.namestringNo사람이 읽을 수 있는 에이전트 이름
agent.urlstringNo에이전트 API 엔드포인트 URL
agent.tokenstringNo에이전트 인증 토큰

MCP 설정

MCP(Model Context Protocol) 설정은 다중 환경을 지원합니다.

위치: ~/.synapse/config.yaml

스키마:

default_environment: development

environments:
development:
backend_url: https://api.synapse.sh
access_token: your-dev-token
tenant: dev-tenant
agent_id: 123
agent_name: Dev Agent
agent_url: https://dev-agent.synapse.sh
agent_token: dev-agent-token
plugin_paths:
- ./plugins
- ~/my-plugins

production:
backend_url: https://api.synapse.sh
access_token: your-prod-token
tenant: prod-tenant
agent_id: 456
agent_name: Prod Agent
agent_url: https://prod-agent.synapse.sh
agent_token: prod-agent-token
plugin_paths:
- /opt/synapse/plugins

환경 필드:

필드타입설명
backend_urlstring백엔드 API URL
access_tokenstring백엔드 액세스 토큰
tenantstring테넌트 식별자
agent_idint에이전트 ID
agent_namestring에이전트 표시 이름
agent_urlstring에이전트 엔드포인트 URL
agent_tokenstring에이전트 인증 토큰
plugin_pathslist[string]플러그인 검색 디렉토리

MCP 설정 초기화

예제 값으로 새 MCP 설정 파일을 생성합니다:

synapse mcp init

다중 환경 관리

프로그래밍 방식으로 환경을 전환하세요:

from synapse_sdk.mcp.config import ConfigManager

config = ConfigManager()

# 활성 환경 조회
env = config.get_active_environment()
print(f"Active: {env.backend_url}")

# 환경 전환
config.set_active_environment("production")

참고: 각 환경은 별도의 백엔드 및 에이전트 설정을 유지하여 개발 환경과 프로덕션 환경 간 원활한 전환이 가능합니다.

문제 해결

연결 테스트

SDK는 /health/ 엔드포인트를 사용하여 에이전트 연결을 테스트합니다.

에이전트를 설정하면 CLI가 자동으로 연결을 테스트합니다:

상태 코드결과
200연결 성공
401유효하지 않은 에이전트 토큰
403접근 거부
Timeout연결 타임아웃 (>5초)
Error연결 실패

수동 연결 테스트

프로그래밍 방식으로 에이전트 연결을 테스트하세요:

from synapse_sdk.cli.agent.select import check_agent_connection

result = check_agent_connection(
url="https://agent.synapse.sh",
token="your-agent-token",
timeout=5
)

if result.success:
print(f"Connected: {result.message}")
else:
print(f"Failed: {result.message}")

인증 실패 (401)

증상: "Invalid agent token" 오류

원인: 액세스 토큰 또는 에이전트 토큰이 올바르지 않거나 만료되었습니다.

해결 방법:

  1. 토큰이 올바른지 확인하세요
  2. synapse login으로 재인증하세요
  3. synapse agent select로 에이전트를 다시 선택하세요

접근 거부 (403)

증상: "Access forbidden" 오류

원인: 토큰은 유효하지만 권한이 부족합니다.

해결 방법:

  1. 테넌트 설정을 확인하세요
  2. 에이전트가 계정에서 접근 가능한지 확인하세요
  3. 관리자에게 권한을 요청하세요

연결 타임아웃

증상: "Connection timeout" 오류

원인: 에이전트에 접근할 수 없거나 응답이 느립니다.

해결 방법:

  1. 에이전트 URL이 올바른지 확인하세요
  2. 네트워크 연결 상태를 확인하세요
  3. 에이전트 서비스가 실행 중인지 확인하세요
  4. 방화벽 설정을 확인하세요

설정 파일 권한 거부

증상: 설정 파일을 읽거나 쓸 때 "Permission denied" 오류

원인: ~/.synapse/ 디렉토리 또는 파일의 권한이 잘못되었습니다.

해결 방법:

# 디렉토리 권한 수정
chmod 700 ~/.synapse

# 파일 권한 수정
chmod 600 ~/.synapse/credentials
chmod 600 ~/.synapse/config.json
chmod 600 ~/.synapse/config.yaml

환경 변수가 적용되지 않음

증상: 환경 변수 설정이 무시됨

원인: 변수 이름이 잘못되었거나 export되지 않았습니다.

해결 방법:

  1. 변수 이름이 정확히 일치하는지 확인하세요 (SYNAPSE_HOST, SYNAPSE_ACCESS_TOKEN)
  2. 변수가 export되었는지 확인하세요: export SYNAPSE_ACCESS_TOKEN="token"
  3. 변수 값에 오타가 없는지 확인하세요

관련 문서