본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 05. 09:52

내가 OpenWorkspace를 만든 이유: 당신의 앱을 조작하는 AI 에이전트

요약

OpenWorkspace는 단일 Node 프로세스로 실행되는 셀프 호스팅 AI 워크스페이스입니다. 복잡한 스택 없이 SQLite와 JSON만으로 RAG, 캘린더, 작업 관리 등을 통합하며, 앱이 제공하는 도구를 통해 AI 에이전트가 실제 행동을 수행할 수 있도록 설계되었습니다.

핵심 포인트

  • 단일 Node 프로세스로 실행되는 경량 셀프 호스팅 환경
  • tools.json을 통한 앱 조작형 에이전트 구현
  • MCP(Model Context Protocol) 내장 및 에이전트별 모델 선택 가능
  • 외부 DB 없이 SQLite 기반의 내장 RAG 기능 제공

우리 소규모 팀에게 내부 도구(공유 작업 추적기, 문서 저장소, 캘린더, 우리 파일을 실제로 알고 있는 어시스턴트 등)를 제공하고 싶을 때마다, 저는 결국 5개의 SaaS 구독을 연결하거나 Postgres, Redis, 벡터 데이터베이스(vector database), 프론트엔드 빌드 파이프라인, 리버스 프록시(reverse proxy)와 같이 방대한 셀프 호스팅 스택을 구축해야만 했습니다. 그저 시작하기 위해서 말이죠.

그래서 저는 그 반대의 것을 만들었습니다.

OpenWorkspace

OpenWorkspace단 하나의 Node 프로세스로 실행되는 셀프 호스팅 AI 워크스페이스입니다. 프로비저닝할 데이터베이스가 없으며(상태는 서버 옆의 SQLite/JSON 파일로 관리됨), 빌드 단계도 없습니다(webpack이나 트랜스파일(transpile)이 필요 없습니다 - 파일을 열고, 수정하고, 다시 로드하면 됩니다). git clone && npm start만 하면 작업 목록, 실제 RAG가 적용된 문서, 캘린더, 스케줄러, 시간 추적, 자격 증명 금고(credential vault), 그리고 하나의 로그인 뒤에 있는 AI 에이전트 팀을 갖게 됩니다.

내가 실제로 신경 쓰는 부분: 앱을 조작하는 에이전트

대부분의 셀프 호스팅 AI 도구들은 문서 위에 채팅창을 띄워놓은 형태입니다. OpenWorkspace는 다른 아이디어를 중심으로 구축되었습니다:

모든 앱은 자체적인 도구(tools)를 제공합니다. 따라서 AI 에이전트는 단순히 대화만 하는 것이 아니라, 당신의 앱 내부에서 실제 행동을 취합니다.

앱을 추가할 때, 해당 앱의 자체 HTTP 엔드포인트(endpoints)에 매핑되는 작은 tools.json을 함께 선언합니다. 이 파일이 존재하는 순간, 에이전트는 이를 호출할 수 있습니다. 에이전트에게 작업 목록에 항목을 추가하라고 하거나, 문서에서 계약서를 찾아 요약하라고 명령하면, 앱이 도구를 노출했기 때문에 에이전트는 실제로 그 일을 수행합니다. 하나의 LLM 설정이 모든 앱에 걸쳐 어시스턴트와 이러한 에이전트적 작업(agentic tasks) 모두를 구동합니다.

몇 분 만에 자신만의 앱 구축하기

기본 제공되는 20개 이상의 앱은 사실상 예시일 뿐입니다. 핵심은 당신만의 앱을 얼마나 빠르게 구축할 수 있느냐에 있습니다:

  • 모든 앱은 두 개의 파일로 구성됩니다: API 핸들러 + 상태(state), 그리고 라우트(routes)를 위한 마운트(mount) 파일.
  • 템플릿을 복사하고, 로직을 넣고, 레지스트리 항목을 추가하세요. 재시작도, 빌드도 필요 없습니다.
  • tools.json을 추가하면 당신의 새로운 앱은 즉시 에이전트가 조작할 수 있는 상태가 됩니다.

에이전트 프레임워크

  • 약 1분 만에 새로운 에이전트 구축 (프롬프트 + 도구 목록).
  • 도구는 조합 가능한 팩(composable packs)에서 제공되며, 에이전트별로 기능을 부여합니다.
  • MCP 내장 - 팩을 어떤 Model Context Protocol (MCP) 서버로든 지정하면 해당 서버의 도구들이 자동으로 나타납니다.
  • 에이전트별로 모델 선택 가능 - 백그라운드 작업에는 저렴한 로컬 모델을, 어시스턴트에는 프런티어 모델 (frontier model)을 사용합니다.

OpenAI 호환 엔드포인트(OpenAI, Ollama, vLLM, LM Studio)를 지정하거나, 모델 없이 비(non)-AI 앱을 실행할 수 있습니다.

외부 벡터 DB가 필요 없는 내장 RAG

PDF / Word / Excel 파일을 Documents에 넣으면 청킹(chunking), 임베딩(embedding) 과정을 거쳐 하이브리드 검색(hybrid retrieval)이 가능해집니다. 이는 BM25 키워드 검색(SQLite FTS5)과 시맨틱 벡터 검색(semantic vector search, sqlite-vec)을 상호 순위 결합(reciprocal-rank fusion) 방식으로 융합한 것입니다. 에이전트는 사용자의 파일에 근거하여 답변합니다.

아직 초기 단계이며, 여러분의 피드백을 기다립니다

이 프로젝트는 1인 개발된 버전 0.1 단계이지만, 실제로 작동하며 저와 제 팀은 매일 사용하고 있습니다. 아키텍처에 대한 진심 어린 피드백을 듣고 싶으며, 무엇이 여러분의 팀에 유용하게 쓰일 수 있을지 알고 싶습니다.

Repo (MIT): https://github.com/avaldesbosch/openworkspace

여러분의 워크스페이스에서 AI 에이전트가 실제로 무엇을 하기를 원하시나요?

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0