UStackUStack
Linchpin icon

Linchpin

Linchpin은 AI 에이전트를 위한 셀프호스팅 런타임으로 OpenRouter(클라우드)·Ollama(로컬) 모델을 선택해 벤더 락인 없이 실행하고 도구·자격증명 관리, 샌드박스 세션 제공

Linchpin

Linchpin이란?

Linchpin은 AI 에이전트를 위한 셀프호스팅 런타임으로, 다양한 모델 제공자와 로컬 모델을 지원합니다. 요청을 서로 다른 LLM으로 라우팅하고, 각 에이전트 세션을 격리된 환경에서 실행하며, 내장 및 외부 도구를 제어된 세트로 제공하도록 설계되었습니다.

핵심 목적은 모델/제공자 락인을 줄이면서 에이전트에게 샌드박스 실행 컨텍스트와 도구, 자격증명, 이벤트 스트림에 대한 관리된 액세스를 제공하는 것입니다.

주요 기능

  • 모든 모델, 하나의 어댑터: Linchpin은 OpenRouter를 통해 약 200개의 클라우드 모델(Claude, GPT, Gemini, Llama, DeepSeek, Mistral, Qwen 포함)로 라우팅할 수 있으며, Ollama를 사용해 로컬로 끌어온 모델을 실행 가능; 에이전트별로 제공자 전환 가능.
  • 세션별 Docker 컨테이너 샌드박스 세션: 각 세션은 Python, Node, git, ripgrep이 사전 설치된 독립 Docker 컨테이너에서 실행되어 일관된 도구 환경 제공.
  • 환경별 구성 가능 네트워킹: 네트워킹을 none으로 엄격 제한하거나 open egress로 덜 제한적인 설정 가능.
  • 8개의 내장 컨테이너 도구: 에이전트는 컨테이너 내 실행이 제한된 bash, read, write, edit, glob, grep, web_fetch, web_search 도구 사용 가능.
  • MCP 및 HTTP 도구 통합: Linchpin은 stdio를 통해 Model Context Protocol(MCP) 서버를 연결하거나 임의 HTTP 엔드포인트 연결; 커넥터가 프로세스 수명 주기와 자격증명 주입 관리.
  • 암호화된 자격증명 볼트: Fernet 암호화로 자격증명 저장; 에이전트 설정에서 이름으로 시크릿 참조, 세션 시작 시 디스크에 평문 저장 없이 복호화.
  • 세션별 추가 전용 이벤트 스트리밍: 세션당 추가 전용 이벤트 로그 기록 및 커서 페이징 지원; 클라이언트는 SSE로 커서 이후 이벤트 재생 후 실시간 업데이트 구독 가능.

Linchpin 사용법

  1. 모델 경로 선택: OpenRouter(제공자 선택용)로 클라우드 모델 및/또는 Ollama로 로컬 모델을 에이전트에 구성.
  2. 샌드박스에서 에이전트 세션 실행: 사전 설치된 런타임 도구가 포함된 독립 Docker 컨테이너를 각 세션에 사용; 환경 요구에 맞게 네트워킹 설정(none vs open egress).
  3. 에이전트 도구 선택: Linchpin 내장 도구(bash, 파일 작업, 검색/가져오기) 사용 및 선택적으로 stdio를 통한 MCP 서버나 HTTP 엔드포인트를 외부 도구로 추가.
  4. 자격증명 안전 제공: Linchpin의 Fernet 암호화 볼트에 자격증명 저장하고 에이전트 설정에서 이름으로 시크릿 참조.
  5. UI 또는 서비스로 이벤트 스트림: SSE로 구독하고 커서 페이징으로 이전 이벤트 재생 후 업데이트 수신.

사용 사례

  • 다중 제공자 에이전트 배포: 동일 에이전트 워크플로를 다른 LLM에 실행(예: 한 작업에 Claude, 다른 작업에 GPT)하면서 도구 및 샌드박스 설정 일관성 유지.
  • 로컬 모델 에이전트 실행: 로컬로 끌어온 모델을 Ollama로 실행 선호, 모델 위치와 무관하게 동일 컨테이너화 도구 및 세션 격리 사용.
  • 샌드박스 코드 및 파일 워크플로: 프로젝트 파일 편집/검색이나 셸 명령 실행이 필요한 에이전트가 자체 Docker 컨테이너 내에서 필요 시 제한된 네트워킹으로 작업.
  • MCP 서버를 통한 도구: 기존 MCP 서버가 에이전트에 기능 노출; Linchpin이 stdio로 연결해 커넥터 수명 주기 및 자격증명 주입 관리.
  • 실시간 UI 이벤트 피드: 히스토리와 실시간 업데이트가 필요한 인터페이스 구축; 커서부터 이벤트 로그 재생 후 SSE로 실시간 이벤트 스트리밍.

자주 묻는 질문

  • Linchpin은 특정 모델 제공자를 요구하나요?
    아니요. Linchpin은 OpenRouter를 통해 다양한 클라우드 모델로 라우팅하며 Ollama를 통해 로컬 모델도 실행 가능하며, 에이전트별 제공자 선택을 구성할 수 있습니다.

  • 에이전트 세션은 어떻게 격리되나요?
    각 세션은 Python과 Node가 사전 설치된 독립 Docker 컨테이너에서 실행됩니다. 네트워킹은 환경에 따라 제한(없음) 또는 허용(오픈 이그레스)할 수 있습니다.

  • 에이전트가 사용할 수 있는 도구는 무엇인가요?
    Linchpin은 8개의 내장 도구(bash, read, write, edit, glob, grep, web_fetch, web_search)를 포함하며 MCP 서버(stdio) 또는 HTTP 엔드포인트를 통해 외부 도구 통합이 가능합니다.

  • Linchpin은 자격증명을 어떻게 처리하나요?
    자격증명은 Fernet 암호화 볼트에 저장되며 에이전트 구성에서 이름으로 참조됩니다. 세션 시작 시 복호화되며 평문으로 디스크에 쓰이지 않습니다.

  • 에이전트 활동을 프론트엔드로 스트리밍할 수 있나요?
    네. Linchpin은 세션당 추가 전용 이벤트 로그를 유지하며 커서 이후 이벤트를 재생한 후 새 이벤트를 실시간 스트리밍하는 SSE 구독을 지원합니다.

대안

  • 샌드박싱이 있는 셀프호스팅 에이전트 런타임: 격리 컨테이너에서 에이전트를 실행하는 대안 플랫폼도 제어된 도구 실행을 제공할 수 있습니다. 차이점은 모델·도구 통합 방식(제공자 라우팅, MCP/HTTP 지원, 이벤트 스트리밍 모델)입니다.
  • 로컬 전용 에이전트 프레임워크: 로컬 모델(예: 로컬 추론 중심)에 초점을 맞춘 프레임워크는 외부 제공자 라우팅을 피할 수 있지만, 제공자 전환 및 도구·자격증명 관리 수준이 다를 수 있습니다.
  • MCP 중심 도구 커넥터: 주요 요구가 MCP 연결이라면 MCP 도구 통합을 강조한 대안을 찾을 수 있습니다. Linchpin과 비교해 세션 격리, 자격증명 저장, 스트리밍 처리 방식을 평가해야 합니다.
  • 커스텀 SSE/이벤트 로그 구현: 일부 팀은 에이전트 시스템 주위에 자체 이벤트 로깅과 SSE 스트리밍을 구축합니다. 트레이드오프는 커서 기반 재생, 추가 전용 세션 로그, 일관된 에이전트 도구링 동작을 재현하기 위한 추가 엔지니어링 노력입니다.