Devin for Terminal에서 반복되는 타임아웃과 ‘노드만 나쁘다’ 착시
2026년 5월 현재 Devin for Terminal은 Cognition이 밀어 올리는 터미널 CLI 중에서도 「에이전트가 리포지토리를 직접 다룬다」는 포지션이 뚜렷합니다. 웹 검색·GitHub MCP OAuth·Figma MCP·엔터프라이즈 팀 설정 같은 릴리스 노트가 잦아지면서, 사용자는 devin 한 줄로 설치했다가 devin auth login에서 멈추거나, 에이전트가 긴 작업 중 API 타임아웃만 남기고 조용해지는 사례를 자주 봅니다. 이때 대부분은 노드 지연부터 의심하지만, 실무 로그를 펼치면 cli.devin.ai 설치·문서 줄과 static.devin.ai 바이너리·인증·MCP용 서드파티가 서로 다른 Clash 정책 이름으로 찍히는 경우가 많습니다.
공식 트러블슈팅은 회사 프록시 뒤에서 export https_proxy=... 후 설치 스크립트를 다시 돌리라고 안내합니다. 이는 출구를 하나로 고정하는 데는 도움이 되지만, 런타임에 GitHub·npm·Figma IdP까지 섞이면 여전히 혼합 라우팅이 남을 수 있습니다. 그래서 본 글은 단일 환경 변수 대신 호스트 단위 도메인 분류와 라이브 연결 검증을 전제로 합니다. 공통 디버깅 틀은 연결 로그·TLS 타임아웃·규칙 매칭 모범을 옆에 두세요.
Windows에서는 PowerShell·Git Bash·WSL마다 프록시 상속이 달라 재현 경로가 갈라집니다. macOS·Linux도 IDE 통합 터미널과 iTerm·Warp 계열이 다르게 보일 수 있으니, 한 번 관측했다고 끝내지 말고 세션 종류별로 로그를 비교하는 편이 안전합니다.
devin auth login 또는 devin mcp login 직후 필터에 devin, cognition, github, figma(MCP 사용 시)를 넣어 보세요. 한 줄이라도 정책 문자열이 다르면 노드 교체보다 도메인 분류가 먼저입니다.
실제로 두드리는 이름 공간: cli.devin.ai·static·Cognition·CDN·MCP
아래는 출발점용 체크리스트입니다. 엔터프라이즈 SSO·팀 설정·MCP 구성에 따라 하위 호스트는 바뀔 수 있으므로, 팀은 실제 로그 문자열과 날짜를 YAML 주석에 남기는 습관을 들이세요.
- CLI·문서·설치 축:
cli.devin.ai— macOS/Linux/WSL 설치 스크립트(curl -fsSL https://cli.devin.ai/install.sh), 문서·devin update안내가 여기로 모입니다. 설치만 느리면 이 축과 CDN을 먼저 봅니다. - 정적 바이너리·업데이터:
static.devin.ai— Windows 설치 프로그램·업데이터가 이 이름 공간에 있습니다. 설치는 성공했는데 첫 실행이 멈추면 static 줄이DIRECT인지 확인합니다. - 제품·계정·Cognition:
devin.ai,cognition.ai계열 — 계정·엔터프라이즈 인증·지원([email protected])과 맞물리는 호스트가 런타임에 추가될 수 있습니다. Devin 코어 API와 같은 의도 그룹으로 묶는 편이 안전합니다. - OAuth·토큰 교환: 브라우저 탭은 열렸는데 터미널만 비는 전형 패턴입니다. SSH·원격 개발 환경에서는
devin auth login --force-manual-token-flow를 쓰지만, 교환 호스트가 다른 정책이면 수동 토큰도 실패합니다. - MCP·서드파티:
devin mcp login github등은 GitHub·Figma·기타 IdP로 리다이렉트됩니다. Devin 접미만 맞추고 MCP 공급자가DIRECT이면 「MCP만 안 됨」 증상이 납니다. GitHub·Microsoft 분류·Figma 분류 글을 교차 참고하세요. - 패키지·도구 체인: MCP stdio 서버가
npx를 띄우면 npm 레지스트리 줄이 함께 올라옵니다. 혼합 포트·환경 변수 절차와 함께 점검합니다.
같은 시리즈의 Claude Code CLI·Cline CLI 글은 공급자 접미만 다르고 패턴은 거의 같습니다. Codex·Gemini 규칙을 그대로 복사하지 말고, Devin 세션 로그를 정으로 다시 쓰세요.
DEVIN_TERMINAL_CLI 정책 그룹과 다른 CLI 규칙의 차이
한 덩어리로 묶는 설계
운영 난이도 대비 효과가 좋은 형태는 DEVIN_TERMINAL_CLI 그룹을 하나 두고, 라이브에서 관측한 devin.ai·cognition.ai·해당 세션의 CDN·인증 접미를 우선 같은 정책으로 보내는 것입니다. DOMAIN-SUFFIX,.ai처럼 지나치게 넓은 줄은 다른 AI 서비스까지 끌어와 역효과가 납니다.
API·static·MCP를 쪼개는 설계
DEVIN_API·DEVIN_STATIC·DEVIN_MCP처럼 나누면 원인 추적에는 유리하지만, 서로 다른 레이턴시 등급의 노드를 붙이면 장시간 에이전트 세션에서 경로가 교차하며 새 끊김이 생길 수 있습니다. 분리한다면 같은 리전·같은 채널 집합을 운영 문서로 고정하세요. 규칙 순서가 복잡해지면 GeoIP·우선순위 글과 diff를 함께 봅니다.
macOS에서 시스템 확장·레거시 프록시 잔상이 겹치면 증상만 보고는 한참 헤맬 수 있습니다. macOS TUN·프록시 충돌 문서를 병렬로 열어두세요. 팀에서 여러 터미널 CLI를 병행한다면 프로필 안 섹션 주석으로 공급자별 블록을 시각적으로 나누어 RULE-SET 자동 갱신 시 덮어쓰기 사고를 막습니다.
devin auth login·MCP OAuth가 터미널에서만 비는 경우
브라우저에서 성공 배너를 봤다고 devin 세션이 끝난 것은 아닙니다. 마지막 교환 패킷이 다른 출구로 나가면 터미널은 조용히 재시도 루프에 들어갑니다. 엔터프라이즈에서는 Windsurf·Devin Auth 문서에 따라 팀 설정을 먼저 확인해야 하며, 네트워크 측면에서는 인증·API·MCP IdP 줄의 정책 문자열을 맞춘 뒤 devin auth logout && devin auth login 순으로 재시도하는 편이 낫습니다.
devin mcp login <name>은 stdio·HTTP MCP마다 추가 호스트가 열립니다. GitHub MCP 예시는 공식 문서에 npx -y @modelcontextprotocol/server-github가 있으므로, npm·GitHub·Devin 코어가 한 화면에 섞여 보이는 것이 정상입니다. MCP 도구가 안 보이면 서버 기동 실패인지 라우팅 실패인지 터미널 출력과 Clash 로그를 동시에 봅니다.
설치·업데이트와 static.devin.ai 분류
설치 단계만 실패할 때는 사용자 공간 규칙 이전에 「설치·배포」 카테고리가 필요합니다. curl이 cli.devin.ai에는 붙는데 static.devin.ai 대용량 파일은 DIRECT로 가면 진행률 0%에서 멈춘 것처럼 보입니다. Windows PowerShell 스크립트(irm https://static.devin.ai/cli/setup.ps1)도 같은 이름 공간을 둡니다.
공식 문서가 제안하는 https_proxy는 설치 스크립트용 단기 해결책으로 유효합니다. 다만 Clash mixed-port와 중복되면 이중 프록시·루프가 생길 수 있으니, 한쪽만 켠 상태에서 검증하세요. 설치 후 devin update가 또 다른 호스트를 열면 업데이트 직후 로그를 한 번 더 캡처합니다.
예시 YAML 조각과 운영 시 수정 포인트
아래는 교육용 예시입니다. 프로덕션에 그대로 복사하지 마세요. MCP·엔터프라이즈 IdP로 관측된 접미는 주석으로 비워 두었다가 로그가 채워지면 붙입니다.
Illustrative YAML fragment
rules:
- DOMAIN-SUFFIX,devin.ai,DEVIN_TERMINAL_CLI
- DOMAIN-SUFFIX,cognition.ai,DEVIN_TERMINAL_CLI
# MCP / npm / GitHub — add from live logs after `devin mcp login`:
# - DOMAIN-SUFFIX,github.com,DEVIN_MCP
# - DOMAIN-SUFFIX,npmjs.org,DEVIN_MCP
- GEOIP,KR,DIRECT
- MATCH,DIRECT
GEOIP·MATCH는 조직·회선에 맞게 조정합니다. 구독 URL 자체가 병목이면 구독 유지 가이드와 함께 보세요.
TUN, Meta DNS, 터미널 환경 변수
터미널이 시스템 프록시를 건너뛰면 TUN으로 로컬 소켓 전체를 한 스택 아래 두는 경우가 많습니다. Windows에서 Git Bash로 재실행되는 Devin 프로세스도 캡처 대상에 포함되는지 TUN으로 확인하세요.
Meta DNS의 fallback·fake-ip 필터 순서는 nameserver·fallback·fake-ip 문서를 따릅니다. Clash 종료 후 시스템 프록시 잔상이 남으면 종료 후 네트워크 복구 절차를 함께 확인하세요.
검증 순서와 체크포인트
curl -fsSL https://cli.devin.ai/install.sh또는 Windows 설치 직전부터 연결 로그를 켭니다.devin auth login실패 직후 cli.devin.ai·static.devin.ai·Cognition·OAuth 줄의 정책명을 나란히 비교합니다.- MCP를 쓴다면
devin mcp login직후 GitHub·Figma 등 IdP 호스트를 DEVIN 블록 또는DEVIN_MCP에 편입합니다. - 에이전트가 멈추면
devin auth status·devin mcp list로 인증·서버 상태를 확인한 뒤Ctrl+C·/clear후 재시도합니다(공식 런타임 가이드). - RULE-SET 자동 갱신 직후에만 깨졌다면 새 접미가 차단 규칙에 삼켜졌는지 diff로 확인합니다.
- 노드 교체로 패턴이 같으면 TLS 로그부터 다시 읽습니다.
자주 묻는 질문
공식 문서에 https_proxy 예시가 있는데 Clash와 무엇이 다른가요?
환경 변수는 단일 HTTP 프록시 출구만 가리킵니다. 설치·런타임·MCP·npm이 서로 다른 호스트로 갈라지면 여전히 혼합 라우팅이 생깁니다. Clash는 호스트별 의도 그룹을 고정하고 라이브 로그로 교차 검증할 수 있습니다.
devin auth login은 되는데 devin mcp login만 실패합니다.
MCP OAuth는 서드파티 IdP로 리다이렉트됩니다. Devin 코어만 맞추고 GitHub·Figma 줄이 DIRECT이면 흔한 패턴입니다. mcp login 직후 로그 호스트를 별도 블록으로 보강하세요.
설치 스크립트 curl만 느린데 devin 명령은 괜찮습니다.
설치는 cli.devin.ai·static.devin.ai를, 런타임은 인증·API·MCP가 각각 다른 이름 공간을 둡니다. 단계별로 로그를 나누어 보세요.
준수와 한계
Zero Trust·팀 설정에서 Devin for Terminal 접근이 꺼져 있으면 네트워크 규칙만으로는 해결되지 않습니다. IT 승인 없이 우회하기보다 공식 경로를 밟으세요.
맺음말
Devin for Terminal의 API 타임아웃·로그인 정체는 단일 장애라기보다 cli.devin.ai·static.devin.ai·Cognition 인증·MCP OAuth·CDN 줄이 서로 다른 Clash 출구를 타거나 DNS·TCP만 엇나가며 생기는 경우가 많습니다. 이름 공간마다 명시적 도메인 분류와 짧은 주기의 규칙 점검이 필요합니다.
원클릭형 상용 VPN 일부는 호스트 단위 라이브 뷰가 부족해 증상만 길어집니다. 반면 RULE·TUN·연결 로그를 한 패널에서 다루는 Clash Meta 계열은 터미널 CLI 디버깅 루프를 짧게 만듭니다. Clash V.CORE는 멀티 공급자·멀티 스트림 시나리오를 전제로 프로필과 UI 신호를 정리해 두어, Devin처럼 설치·OAuth·MCP·에이전트 API가 한 세션에 겹칠 때도 확인 단계가 덜 헷갈립니다.
→ Clash를 무료로 다운로드해서 이번에 정리한 cli.devin.ai·Cognition·CDN·MCP 줄을 라이브 연결 숫자로 다시 교차 검증해 보세요.