nanobot: 초경량 셀프호스팅 개인 AI 에이전트 프레임워크, 브라우저·터미널·채팅 앱이 하나의 게이트웨이를 공유

Published · AI Daily — AI-assisted deep research, methodology & disclosure

HKUDS/nanobot은 Python으로 작성된 초경량 오픈소스 개인 AI 에이전트 프레임워크로, 브라우저, 터미널, 채팅 앱에서 파일을 다루고 선호를 기억하며 작업을 예약한다. WebUI와 네이티브 터미널 UI를 갖추고 Telegram, Discord, Slack, Feishu, WeChat 등에 연결되며 MCP, cron, 멀티 에이전트 위임, Python SDK, OpenAI 호환 API를 지원한다. MIT 라이선스에 별은 약 4만 9,000개다. 모델 계정은 제공하지 않으므로 제공자나 로컬 모델을 직접 연결해야 한다.

HKUDS/nanobot README의 첫 문장은 분명하다. Python으로 작성된 초경량 오픈소스 셀프호스팅 개인 AI 에이전트 프레임워크이며, 브라우저, 터미널, 채팅 앱에서 파일을 다루고 선호를 기억하며 작업을 예약하는 데 쓴다. 지원되는 모델 제공자나 로컬 모델 서버는 직접 연결해야 하며 nanobot은 모델을 제공하지 않는다. 2026년 10월 13일 기준 저장소는 별 약 48,978개, 포크 8,626개, MIT 라이선스, Python 코드이고 2026년 2월 1일에 만들어졌으며 마지막 푸시는 10월 12일이다. README가 드는 선택 이유는 다섯 가지다. 지속되는 워크플로, 채팅 네이티브 도달성, 모델의 자유, 작고 읽기 쉬운 핵심, 그리고 스택을 직접 소유하는 것이다. 기능 목록은 꽤 넓다. Telegram, Discord, Slack, WeChat, 이메일, Mattermost, Linear 등 채널에 연결하고, 내장 파일 도구로 PDF, Word(.docx), Excel(.xlsx), PowerPoint(.pptx)를 읽어 보고서 요약 같은 일을 하며, 셸, 웹 검색과 가져오기, MCP 연동, cron, 이미지 생성, 멀티 에이전트 위임을 쓴다. Dream이라는 메커니즘으로 세션 기록과 장기 기억을 유지하고, 장기 목표와 예약 자동화를 실행하며, Python SDK와 OpenAI 호환 API를 제공하고, 상시 실행되는 로컬 또는 서버 게이트웨이로 배포할 수 있다. 최신 릴리스는 v0.3.5로, 작업대를 터미널로 가져오고 브라우저, 터미널, 채팅 앱 사이에서 대화를 이어 가기 쉽게 했다. WebUI에서는 대화를 최대 네 개까지 나란히 배치하고 라운드별 컨텍스트 사용량과 압축 진행 상황도 볼 수 있다.

설치 경로는 명확하다. Python 3.11 이상이 필요하다. 권장 방법은 설치 스크립트로, 리눅스와 macOS에서는 curl로 install.sh를, 윈도우에서는 PowerShell의 install.ps1을 쓴다. 활성 가상 환경, uv, pipx, 또는 ~/.nanobot/venv 아래 관리형 venv에 nanobot-ai를 설치하거나 업그레이드하고, 로컬 데스크톱에서는 WebUI를 열며 SSH나 헤드리스 환경에서는 터미널 마법사로 들어간다. --dry-run으로 계획을 미리 볼 수 있다. 자신의 도구 체인을 쓰려면 uv tool install nanobot-ai나 pip를 쓰면 된다. 이어서 nanobot webui를 실행해 설정에서 모델을 고르고 자격 증명을 저장한 뒤 'Hello!'를 보내 연결을 확인한다. 연습용 폴더와 제한 접근 모드를 고르고 notes.txt를 읽어 summary.md를 쓰게 해 파일 권한이 의도대로 동작하는지 확인한다. 플랫폼별 휠에는 WebUI와 네이티브 터미널 UI가 모두 들어 있으며 macOS 13 이상, glibc 2.17 이상 Linux(ARM64, x64), Windows x64를 지원하고 x64에는 SSE4.2가 필요하다. 최신 기능이 필요하면 소스에서 설치하는데 Git과 Bun이 있어야 한다.

설계상의 선택은 이른바 작은 핵심이다. Python 게이트웨이가 에이전트 실행, 세션, 도구, 기억, 보안 정책을 소유하고 WebUI, TUI, 채팅 앱이 같은 런타임을 공유한다. 핵심 에이전트 루프는 컨텍스트를 만들고 모델을 호출하고 요청된 도구를 실행해 결과를 돌려주며, 기억, 스킬, 채널, MCP 연동이 이 루프를 확장한다. Python SDK는 런타임을 자신의 애플리케이션 프로세스에 넣고, OpenAI 호환 API는 /v1/chat/completions를 위한 별도 HTTP 서비스를 띄운다. 각 요청에는 사용자 메시지가 하나 들어 있고 기록은 서버가 관리하며 모델은 설정에서 정해진다. WebUI는 작업별로 독립된 '토픽'을 유지하며 기록과 기억에 저장되지 않는 임시 채팅도 제공한다. 그러나 README는 토픽이 나누는 것은 대화 기록뿐이고 프로젝트 폴더는 파일 작업이 일어나는 위치만 고르며 둘 다 별도의 장기 기억을 만들지 않는다고 경고한다. 한 인스턴스는 에이전트 프로필, 기억, 스킬을 모든 프로젝트에서 공유하므로 고객 데이터나 선호를 분리해야 한다면 인스턴스를 따로 써야 한다.

셀프호스팅하는 사람에게는 보안 안내가 먼저다. README는 WebUI 접근이 같은 에이전트 인스턴스의 관리 권한을 준다며 신뢰할 수 있는 운영자에게만 공유하라고 한다. 채팅 앱을 연결하기 전에 플랫폼별 DM 페어링, 허용 목록, 그룹 접근 정책을 각각 확인해야 하는데, 개인 발신자를 승인해도 모든 플랫폼에서 그룹 접근이 제한되지는 않기 때문이다. 예약 작업에는 게이트웨이가 실행 중이고 호스트가 깨어 있어야 하며, 재시작 후 놓친 시각은 다시 실행되지 않는다. 또한 임시 채팅도 요청은 설정된 모델 제공자로 전송되고 도구가 만든 파일은 채팅을 닫은 뒤에도 남는다. '임시'가 '외부로 보내지 않음'은 아니다. 우리의 판단은 nanobot의 가치가 개인 에이전트를 특정 클라우드에 묶인 제품이 아니라 읽을 수 있는 작은 시스템으로 만든 데 있다는 것이다. 핵심 루프가 보이고, 어떤 모델을 연결할지, 데이터를 어디에 둘지 스스로 정할 수 있다. 유의점도 분명하다. 첫째, 별과 업데이트 빈도는 커뮤니티가 활발하다는 뜻이지 안정성을 뜻하지 않는다. README 스스로 안정 릴리스와 현재 소스를 구분하므로 일상 사용에는 안정판을 골라야 한다. 둘째, 에이전트는 파일, 셸, 채팅 채널 권한을 가지므로 설정 실수의 영향이 능력만큼 크다. 제한 접근 모드와 연습 폴더 하나로 시작하자. 셋째, 모델 비용이나 로컬 하드웨어 요건은 선택에 달려 있고 nanobot이 해결해 주지 않는다. 먼저 격리된 기기나 컨테이너에 배포하고, 자신의 채팅 계정 하나만 허용 목록과 함께 연결한 뒤, 일주일의 실제 작업으로 상시 운영할 가치가 있는지 판단하길 권한다.

Sources

FAQ

nanobot은 무엇이며 무엇을 할 수 있나?

Python으로 작성된 초경량 셀프호스팅 개인 AI 에이전트 프레임워크다. 브라우저, 터미널, 채팅 앱에서 파일(PDF, Word, Excel, PowerPoint 포함) 처리, 셸과 웹 검색, MCP 연결, 작업 예약, 여러 에이전트에 위임을 할 수 있고 Dream이라는 메커니즘으로 세션 기록과 장기 기억을 유지한다.

어떻게 설치하고 무엇이 필요한가?

Python 3.11 이상과 직접 준비한 모델 제공자 또는 로컬 모델 서버가 필요하며 nanobot은 모델 계정을 제공하지 않는다. 권장 방법은 설치 스크립트이며 uv tool install nanobot-ai나 pip로도 설치된다. 이후 nanobot webui로 브라우저 UI를 열거나 nanobot onboard --wizard로 터미널에서 설정한다.

서버에서 운영할 때 주의할 점은?

WebUI 접근 권한은 에이전트 인스턴스의 관리 권한과 같으므로 신뢰할 수 있는 운영자에게만 공유해야 한다. 채팅 앱을 연결하기 전에 플랫폼별 DM 페어링, 허용 목록, 그룹 접근 정책을 각각 확인해야 한다. 개인 발신자를 승인해도 그룹 접근이 항상 제한되는 것은 아니다. 예약 작업은 게이트웨이가 실행 중이고 호스트가 절전하지 않아야 하며, 재시작 후 놓친 시각은 다시 실행되지 않는다.