TencentCloud/Octop: 스마트하고 자체 호스팅 가능한 AI 어시스턴트
요약
Octop은 오픈 소스 기반의 자체 호스팅 AI 어시스턴트로, 다중 에이전트 아키텍처를 통해 협업 가능한 지능형 환경을 구축합니다. 프라이버시 보호를 위해 모든 것이 로컬 장치에서 실행되며, 웹 콘솔, CLI 등 다양한 인터페이스를 지원합니다. 전문가 라이브러리, 커넥터 생태계 등을 통해 기능을 확장할 수 있습니다.
핵심 포인트
- 다중 에이전트 아키텍처로 팀/개인 맞춤형 지능 환경 구축 가능
- 완벽한 자체 호스팅 설계로 데이터 프라이버시 보장 (PII 마스킹 등)
- 전문가 라이브러리 및 커넥터 생태계로 기능 확장성 극대화
- RAG, 플러그인, IDE/터미널 AI 통합으로 활용 범위 넓음
더 스마트하고, 자체 호스팅이 가능한 AI 어시스턴트 — 다중 사용자, 다중 에이전트.
하이라이트 · 개요 · 핵심 기술 · 기능 · 로드맵 · 빠른 시작 · 목차
English · 中文
Octop은 오픈 소스 기반의 자체 호스팅 AI 어시스턴트입니다. 단순한 도구를 넘어, 병렬로 작동할 수 있는 디지털 생명체와 같습니다. 다중 에이전트 아키텍처를 통해 팀, 가족, 개인을 위한 독립적이면서도 협업 가능한 지능형 환경을 구축합니다. 가장 좋은 점은 모든 것이 사용자의 장치에서 실행된다는 것입니다. 완전히 자체 호스팅(self-hosted) 설계 덕분에 프라이버시가 절대 타협되지 않으며, 단일 프로세스 시작으로 강력한 웹 콘솔, CLI, IM 통합 기능을 손쉽게 사용할 수 있습니다.
웹 대시보드, Feishu, DingTalk, QQ, WeChat, Telegram, Discord, WeCom 또는 프로그래밍 방식의 HTTP/SSE/WebSocket을 통해 채팅할 수 있습니다. 전문가 라이브러리(expert library), 커넥터(Connectors) (OAuth + MCP), 그리고 IDE 워크플로우를 위한 ACP 통합으로 기능을 확장할 수 있습니다.
| 기능 | 설명 |
|---|---|
| 👥 | 다중 사용자 전문가 팀 |
| 🤝 | 전문가 공유 |
| 🎭 | MBTI 페르소나 |
| 🎯 | AgentTeams (베타) |
| 🔒 | 내장 보안 |
| 🔌 | 커넥터 에코시스템 |
| 💾 | 플러그어블 워크스페이스 백엔드 |
| 🧠 | 휴대용 메모리 |
| 📚 | 지식 기반 |
문서 기반의 RAG(Retrieval-Augmented Generation) 기능으로 자체 배포 환경에서 코퍼스(corpora)를 공유하고, 개인 데이터에 근거하여 답변을 생성할 수 있습니다. | 🧩 플러그인 (Plugins) Octop을 타사 플러그인으로 확장할 수 있으며, 기본 제공되는 플러그인은 시드되어 필요할 때마다 활성화/비활성화할 수 있습니다. ACP 양방향 지원 | octop acp를 사용하여 IDE/터미널 AI 기능을 구현하고, 권한 게이트(permission gates)를 통해 OpenCode 또는 Claude Code에 위임할 수 있습니다. | 💻 터미널 AI+ (Terminal AI+) 브라우저 내 인터랙티브 셸을 제공하여 AI 지원 명령어 실행 및 문제 해결이 가능합니다. | 🌐 브라우저 AI+ (Browser AI+) 웹 자동화, 스크린샷 촬영, 원격 브라우징을 위한 헤드리스 Chromium 세션을 제공합니다. | 🖥️ 원격 데스크톱 (Remote desktop) Linux, Windows, macOS에서 대시보드를 통해 실시간 화면 및 입력을 지원하여 원격 오피스 작업과 GUI 앱 사용이 가능하며, 헤드리스 Linux 환경에서는 클릭 한 번으로 격리된 데스크톱을 제공합니다. | 🪟 데스크톱 클라이언트 (Desktop client) 웹 대시보드와 함께 네이티브 Windows / macOS / Linux 애플리케이션(및 FnOS 패키지)을 지원합니다. | 🏠 자체 호스팅 (Self-hosted) 대시보드, CLI, IM 채널, cron 기능을 octop run 하나로 통합하여 모든 데이터를 ~/.octop/ 아래에 저장합니다.
Octop은 가정과 소규모 팀을 위한 자체 호스팅 AI 어시스턴트 플랫폼입니다. 이 플랫폼은 웹 대시보드, CLI, IM 채널(Feishu, DingTalk, QQ, WeChat, Telegram, Discord, WeCom 등), 그리고 cron 자동화 기능을 단일 프로세스로 구동하며, 모든 기능이 ~/.octop/ 아래의 하나의 제어 평면 데이터베이스를 공유합니다.
(기본값은 SQLite이며, PostgreSQL을 선택적으로 사용할 수 있습니다.)
Octop의 설계 목표는 모든 대화, 작업 공간, 자격 증명(credential)을 사용자의 자체 기기에 보관하는 동시에, 각 사용자에게 작업별로 전환할 수 있는 개인 전문 에이전트 팀을 제공하는 것입니다.
🐾 Octop으로 무엇을 할 수 있나요
🐾 Octop으로 무엇을 할 수 있나요
개인 비서(Personal assistant) — 전담 에이전트가 주간 보고서를 작성하고, 메모를 정리하며, 일정을 관리할 수 있습니다. 작업 공간과 함께 기억이 유지됩니다.
가족 공유(Family sharing) — 하나의 관리자 계정으로 온 가구가 사용할 수 있습니다. 구성원별로 다른 에이전트와 전문가를 할당할 수 있으며, 필요에 따라 전문가와 지식 기반을 공유할 수 있습니다.
팀 도우미(Team helper) — AgentTeams 또는 병렬 에이전트를 통해 Feishu / DingTalk / WeCom / WeChat과 연동하여 그룹 채팅으로 작업을 라우팅합니다.
개발자 부스트(Developer boost) — ACP를 통해 OpenCode / Claude Code에 코딩 작업을 위임하거나, AI 지원을 받아 터미널에서 문제 해결을 할 수 있습니다.
웹 자동화(Web automation) — Browser AI+와 원격 데스크톱을 사용하여 양식 작성, 스크린샷, GUI 앱 등을 처리합니다.
예약 작업(Scheduled tasks) — 자연어(natural language)로 cron을 구성하여 에이전트가 매일 정해진 시간에 작업을 푸시하거나 실행하도록 할 수 있습니다.
| 계층 (Layer) | 기술 (Technology) |
|---|---|
| Language | Python 3.12+ |
| Web framework | FastAPI + uvicorn |
| Agent runtime | Octop Harness |
| Gateway | Octop Gateway |
| Control plane DB | SQLite (WAL, 기본값) 또는 PostgreSQL (선택 사항) |
| Frontend | React 18 + TypeScript + Vite + Ant Design |
| Scheduling | APScheduler |
| ACP | agent-client-protocol |
| Build / quality | hatchling · ruff · mypy · pytest |
Octop은 Octop Harness 스택을 기반으로 구축되었습니다. 이는 Octop이 하나의 프로세스로 구성하는 일련의 집중적인 런타임(runtimes)입니다:
Octop Harness — 에이전트 런타임: 모델 라우팅, 도구(tools), 기술(skills), 대화 체크포인팅을 담당합니다.
Octop Gateway — 다중 플랫폼 IM 채널 브릿지로, 수신되는 메시지를 단일 처리 파이프라인으로 정규화합니다.
Octop Memory — 전체 텍스트 검색 기능을 갖춘 계층적 리콜(hierarchical recall)로, 에이전트의 기억은 작업 공간과 함께 이동합니다.
Octop Browser — 웹 작업을 위한 영구 프로필을 가진 CDP 기반 브라우저 자동화 기능입니다.
외부 큐나 메시지 브로커 대신, Octop은 모든 인터페이스(Web UI, IM, cron)를 하나의 인-프로세스 HarnessProcessor를 통해 라우팅합니다. 그 결과는 단일하고 재시작 안전한 프로세스가 되며, 이 프로세스의 전체 상태는 부팅 시 제어 평면 데이터베이스에서 다시 구축됩니다 (기본적으로 로컬 SQLite; PostgreSQL은 선택 사항).
- 관리자 역할을 가진 다중 사용자 JWT 인증
- 첫 실행 설정 마법사 (
octop init)/api/docs에서 대화형 API 문서 제공
(기본적으로 비활성화됨 —config.json에 `
다음은 우리의 중장기 계획입니다:
출시 완료 (Shipped)
- 공유 리소스 풀(Shared resource pool) — 모든 사용자가 새로운 전문가를 구축할 때 처음부터 다시 만들 필요 없이, 중앙 집중식의 기술 및 서브 에이전트 풀에 투입할 수 있습니다.
- 전문가 공유(Expert sharing) — 여러분의 전문가를 동일한 배포 내 다른 사용자들에게 게시하여, 좋은 구성을 재창조하는 대신 재사용할 수 있게 합니다.
- PC 클라이언트(PC client) — 웹 대시보드 및 IM 채널과 함께 Windows/macOS/Linux용 네이티브 데스크톱 앱을 제공합니다.
진행 중 (In progress)
- 에이전트 팀(AgentTeams)(베타) — 하나의 코디네이터가 여러 전문가를 자율적으로 스케줄링하고 오케스트레이션하여 다단계 작업을 처리할 수 있게 합니다.
- 모바일 클라이언트*(클로즈 베타)* — 현재 내부 테스트 중인 네이티브 모바일 앱입니다.
계획 (Planned)
- 브라우저 및 터미널 개선(Browser & terminal polishing) — 브라우저 스킬녹화(워크플로우를 캡처하여 스킬로 재생) 기능과 더 강력한 터미널 AI 어시스턴트.
- 자체 진화(Self-evolution) — 일상 대화를 자동으로 재사용 가능한 스킬로 추출하여, 어시스턴트가 사용자와 함께 성장하도록 합니다.
- 관리형 에이전트(Managed Agents) — 플랫폼 호스팅 에이전트 라이프사이클 (전체 자체 호스팅 스택을 직접 관리할 필요 없이 에이전트를 프로비저닝하고, 확장하며, 운영).
- 프로젝트(Project) — 공유 목표를 중심으로 에이전트, 파일, 대화를 그룹화하는 프로젝트 범위의 작업 공간.
- 클라우드–엣지 연속체(Cloud–edge continuum) — Octop을 로컬에서 실행하면서 선택된 작업을 클라우드로 오프로딩하여, 가벼운 작업은 기기 내에 유지하고 무거운 작업은 필요할 때 원격 용량을 사용합니다.
- 플러그인 마켓플레이스(Plugin marketplace) — Octop을 벗어나지 않고 서드파티 플러그인을 발견하고, 설치하고, 업데이트할 수 있는 큐레이션된 시장.
- 대화형 제어 평면(Conversational control plane) — 채팅이 전체 대시보드 표면을 커버하도록 Octop 자체 스킬을 심화하여, 전문가 생성, 채널 연결, 지식 기반 관리, 플러그인 엔드투엔드 구성 등을 처리할 수 있게 합니다.
이 로드맵은 커뮤니티가 성장함에 따라 변경될 수 있으므로 참고용으로만 간주해 주십시오.
macOS / Linux / Windows - 사전 설치된 Python이 필요하지 않습니다. 설치 프로그램은 uv를 사용하여 ~/.octop/ 경로 아래 격리된 venv에 Python 3.12를 프로비저닝합니다.
- 프로세스를 위한 몇 GB의 RAM과 모델/임베딩 캐시를 갖춘 최신 멀티 코어 CPU; 데이터베이스, 에이전트 작업 공간 및 문서 코퍼스에 충분한 디스크 용량
macOS / Linux — 한 줄 설치 프로그램 (권장):
curl -fsSL https://finnie-1258344699.cos.ap-guangzhou.myqcloud.com/octop/install.sh | bash
Windows (PowerShell):
irm https://finnie-1258344699.cos.ap-guangzhou.myqcloud.com/octop/install.ps1 | iex
Windows (cmd) — 다운로드 및 실행, 또는 클론된 리포지토리에서:
curl -fsSL https://finnie-1258344699.cos.ap-guangzhou.myqcloud.com/octop/install.bat -o install.bat
install.bat
설치 후, 새 터미널을 열거나 셸을 다시 로드하세요:
source ~/.zshrc # Zsh
# 또는
source ~/.bashrc # Bash
이 설치 프로그램은 octop을 다음 경로를 통해 PATH에 배치합니다: ~/.octop/bin
. 선택적 추가 기능:
# 브라우저 자동화를 위한 Playwright Chromium 다운로드 (시스템 Chrome/Chromium이 이미 있는 경우 건너뜀)
curl -fsSL https://finnie-1258344699.cos.ap-guangzhou.myqcloud.com/octop/install.sh | bash -s -- --extras browser
모든 설치 옵션(--version, --from-source, --mirror, Windows 플래그)은 scripts/README.md를 참조하세요.
데스크톱 앱 (GUI, 터미널 없음) — GitHub Releases에서 사용 플랫폼에 맞는 아티팩트를 가져오세요:
| 플랫폼 | 아티팩트 |
|---|---|
| Windows | Octop-desktop-windows-amd64-<version>.exe (64비트) / Octop-desktop-windows-arm64-<version>.exe (ARM64) — NSIS 설치 프로그램 |
| ... | |
| 참고: 데스크톱 셸은 desktop/README.md를, FnOS 패키징 가이드는 fnos/README.md를 참조하세요. |
대안 — PyPI (Python을 직접 관리하는 경우):
pip install octop
# 선택적 로컬 ONNX 임베딩 모델 캐시 (Models → Local): pip install
대화형 위자드(wizard)는 `~/.octop/` 경로 아래에 SQLite 데이터베이스, JWT 시크릿, 그리고 첫 번째 관리자 계정을 생성합니다.
...
**포그라운드 (API + 웹 대시보드)**
`octop run`
# 사용자 지정 호스트 / 포트
...
**http://127.0.0.1:8088**에서 접속합니다. Docker를 사용하는 경우, 첫 초기화(init) 시 무작위 관리자 비밀번호가 생성되어 (`/data/.octop/credential.txt`에 작성됨) `OCTOP_DEFAULT_PASSWORD` 환경 변수가 설정되지 않은 한 이 파일에 기록됩니다. 대화형 `octop init` 또는 설정 위자드는 사용자에게 비밀번호를 선택하도록 요청합니다 (최소 8자 이상, 영문자와 숫자가 포함되어야 함).
빌드 및 시작
docker compose -f docker/docker-compose.yml up -d
또는 수동으로 빌드
...
**http://localhost:8088**에서 접속합니다. 첫 부팅 시 관리자 계정이 생성되고 자격 증명은 컨테이너 내 `/data/.octop/credential.txt`에 기록됩니다. `OCTOP_DEFAULT_PASSWORD`가 설정되지 않은 경우 강력한 무작위 비밀번호가 생성되며, 사용자가 설정하는 비밀번호는 최소 8자 이상이고 영문자와 숫자를 포함해야 합니다 (약하거나 흔한 비밀번호는 앱 비밀번호 정책에 의해 거부되고 무작위 비밀번호로 대체됩니다). `OCTOP_ADMIN_USERNAME`을 통해 사용자 이름을 재정의할 수 있습니다.
비밀번호 정책: 최소 8자 이상이며 영문자와 숫자를 포함해야 합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Python (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기