TL;DR: ScreenEnv 는 Docker 컨테이너에서 테스트 및 GUI 에이전트 (컴퓨터 사용 에이전트) 를 위한 격리된 Ubuntu 데스크톱 환경을 생성할 수 있는 강력한 Python 라이브러리입니다. Model Context Protocol (MCP) 을 내장 지원하므로, 실제 애플리케이션을 볼 수 있고 클릭하고 상호작용할 수 있는 데스크톱 에이전트를 배포하는 것은 이제 더 이상 어렵지 않습니다.
데스크톱 작업을 자동화하거나 GUI 애플리케이션을 테스트하거나 소프트웨어와 상호작용할 수 있는 AI 에이전트를 구축해야 한다면, 이는 과거에는 복잡한 VM 설정과 취약한 자동화 프레임워크를 필요로 했습니다.
ScreenEnv 는 샌드박스 데스크톱 환경을 제공하여 Docker 컨테이너에서 실행되도록 변경했습니다. 코드가 완전히 제어할 수 있는 완전한 가상 데스크톱 세션을 생각해보세요 - 버튼 클릭과 텍스트 입력뿐만 아니라 애플리케이션 시작, 창 정리, 파일 처리, 터미널 명령어 실행 및 전체 세션 기록을 포함한 전체 데스크톱 경험을 관리합니다.
🖥️ Full Desktop Control: 마우스 및 키보드 자동화, 창 관리, 애플리케이션 시작, 파일 작업, 터미널 액세스 및 화면 녹화 🤖 Dual Integration Modes: AI 시스템용 Model Context Protocol (MCP) 과 직접 Sandbox API 를 지원하여 에이전트 또는 백엔드 로직에 맞게 적응 🐳 Docker Native: 복잡한 VM 설정 없음 - 단지 Docker 만. 환경은 격리되어 재현 가능하고 10 초 이내에 어디든 쉽게 배포됩니다. AMD64 와 ARM64 아키텍처 지원.
from screenenv import Sandbox
sandbox = Sandbox()
ScreenEnv 는 에이전트 및 백엔드 시스템과 통합할 수 있는 두 가지 보완적인 방법을 제공하여, 가장 적합한 접근 방식을 선택할 수 있는 유연성을 제공합니다:
커스텀 에이전트 프레임워크, 기존 백엔드 또는 세밀한 제어 필요 시 적합합니다:
from screenenv import Sandbox
sandbox = Sandbox(headless=False)
...
Model Context Protocol 을 지원하는 AI 시스템에 이상적입니다:
from screenenv import MCPRemoteServer
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
...
이 두 가지 접근 방식은 ScreenEnv 가 기존 인프라에 적응하도록 하며, 에이전트 아키텍처를 변경하도록 강요하지 않습니다.
screenenv 는 smolagents 를 네이티브로 지원하여 자동화를 위한 커스텀 데스크톱 에이전트를 구축하는 것이 쉬워집니다. 몇 단계 만에 AI 기반 데스크톱 에이전트를 만드는 방법을 확인해보세요:
원하는 백엔드 VLM 을 선택하세요.
import os
from smolagents import OpenAIServerModel
model = OpenAIServerModel(
...
DesktopAgentBase 를 상속하고 _setup_desktop_tools 방법을 구현하여 자체 동작 공간을 구축하세요!
from screenenv import DesktopAgentBase, Sandbox
from smolagents import Model, Tool, tool
from smolagents.monitoring import LogLevel
...
from screenenv import Sandbox
sandbox = Sandbox(headless=False, resolution=(1920, 1080))
...
access denied docker 오류를 만났다면 sudo -E python -m test.py 로 에이전트를 실행하거나 사용자를 docker 그룹에 추가할 수 있습니다.
💡 종합적인 구현을 확인하려면 GitHub 의 CustomDesktopAgent 소스 코드를 참조하세요.
pip install screenenv
...
ScreenEnv 는 Linux 를 넘어 Android, macOS, Windows를 지원하여 진정한 크로스 플랫폼 GUI 자동화를 가능하게 합니다. 이를 통해 개발자와 연구자는 최소한의 설정으로 환경 간 일반화가 가능한 에이전트를 구축할 수 있습니다.
이러한 발전은 벤치마킹 및 평가에 이상적인 재현 가능한 샌드박스 환경을 만드는 길을 여깁니다.
저장소: https://github.com/huggingface/screenenv