Open Science Desktop: 결과 그림에서 생성 코드까지 되짚을 수 있는, 내 컴퓨터용 AI 연구 작업도구 (≠ OpenScience)

Open Science Desktop 소개

연구에 AI 에이전트를 쓰다 보면 결과물은 나오는데 그 결과물의 내력이 남지 않는 문제를 만나게 됩니다. 대화 중간에 만들어진 그림 한 장이 어떤 코드로, 어떤 입력 파일로, 어떤 환경에서 그려졌는지가 대화 로그 어딘가에 흩어져 있고, 몇 주 뒤에 그 수치를 다시 확인하려면 세션을 처음부터 훑어야 합니다. 논문 심사에서 그림의 근거를 요구받을 때 특히 문제가 되며, 실험을 재현하려는 동료에게 넘겨줄 것이 스크린샷과 채팅 기록뿐인 상황도 생깁니다.

Open Science Desktop은 이 문제를 겨냥해 만들어진 데스크톱 연구 워크벤치입니다. 에이전트가 만들어 낸 그림, 표, 보고서, 노트북, 실행 결과가 그것을 만든 코드와 입력, 실행 환경, 모델 출력, 대화까지 연결된 채로 로컬 폴더에 남습니다. 세션과 데이터, 출처 기록(Provenance), 노트북, 실행 기록이 모두 사용자의 컴퓨터 안에 저장되며 기본 설정에서는 아무것도 밖으로 나가지 않습니다.

Open Science Desktop은 Tauri 2와 React로 만든 데스크톱 앱이며 macOS, Windows, Linux용 빌드를 제공합니다. 모델 실행은 앱에 함께 묶인 런타임(Runtime)인 OpenCode (:pytorch::kr: Opencode: 다양한 LLM을 사용할 수 있는, 터미널 기반의 오픈소스 AI 코딩 에이전트) 사이드카가 담당하므로 특정 모델 제공자에 묶이지 않고, MCP 서버와 에이전트 스킬로 기능을 확장합니다. 인터페이스 언어에 한국어가 포함되어 있고 저장소에도 한국어 README가 함께 들어 있습니다.

Open Science Desktop과 이름이 비슷한 OpenScience는 다른 프로젝트입니다

이 저장소의 이름은 open-science이고 프로젝트가 자기를 부르는 이름은 Open Science Desktop입니다(이전 이름은 Open Science였습니다). 그런데 이름이 거의 같은 Synthetic Sciences의 OpenScience라는 별개의 오픈소스 프로젝트가 있고, 이쪽도 AI 연구 워크벤치를 표방합니다. 둘은 서로 다른 조직이 만든 독립적인 프로젝트입니다.

두 프로젝트를 혼동하는 사례가 많았는지, Open Science Desktop 저장소는 docs/open-science-desktop-vs-openscience.md에 직접 비교 문서를 두고 있습니다. 저자들은 이 문서를 "a neutral comparison, not an endorsement or criticism of either project"라고 밝히면서, 실질적인 차이는 제품 표면(product surface)에 있다고 정리하고 있습니다. 아래 표는 그 문서의 항목과 순서를 그대로 옮긴 것입니다:

항목 Open Science Desktop Synthetic Sciences OpenScience
포지셔닝 로컬 우선 데스크톱 연구 워크벤치 브라우저 작업 공간과 연구 에이전트 워크플로우
주 사용 환경 macOS, Windows, Linux 데스크톱 앱 브라우저 작업 공간과 openscience CLI
기술 스택 Tauri 2, React, MCP, OpenCode 사이드카, 에이전트 스킬, 로컬 출처 기록 TypeScript 작업 공간, 에이전트, 스킬, MCP/플러그인, TypeScript SDK
데이터와 작업 공간 모델 로컬 작업 공간 폴더, 로컬 노트북, 파일, 미리보기, 출처 기록, 실행 기록 파일 트리, 에디터, 터미널, 세션 기록, 과학용 렌더러를 갖춘 브라우저 작업 공간
재현성의 초점 산출물 출처 기록, 덧붙이기만 하는 실행 로그, SQLite 실행 색인, 로컬과 원격 실행 기록 문헌, 가설, 코드, 실험, 분석, 작성으로 이어지는 연구 루프 전체
라이선스 MIT Apache-2.0

위 표를 통해 두 프로젝트가 겹치는 부분과 다른 부분을 함께 알아볼 수 있습니다. 연구 루프를 자동으로 도는 기능은 양쪽 다 갖추고 있고, 차이는 그 루프를 어디에서 돌리며 무엇을 남기느냐입니다. 데스크톱과 로컬 파일, 출처 추적이 필요하면 이 글에서 다루는 Open Science Desktop이고, 브라우저 작업 공간과 CLI 중심의 확장성이 필요하면 Synthetic Sciences의 OpenScience입니다.

Open Science Desktop이 맞는 연구자와 맞지 않는 연구자

결과물을 남에게 넘겨야 하고 그때 근거까지 함께 넘겨야 하는 연구자에게 Open Science Desktop은 잘 맞습니다. 그림과 표가 생성 코드, 입력 파일, 실행 환경과 묶여 저장되고 실행 기록이 별도 색인으로 쌓이므로, 심사나 재현 요청에 답할 재료가 작업하는 동안 저절로 만들어집니다. 데이터를 밖으로 내보낼 수 없는 환경에서도 작업 공간과 자격 증명이 로컬에 머무르므로 적용 여지가 있습니다.

반대로 자동 업데이트와 서명된 설치본을 전제로 하는 조직에는 아직 이른 선택지입니다. 저장소의 Status 섹션은 이 프로젝트를 활발히 개발 중인 최소 기능 제품(MVP, Minimum Viable Product)이라는 뜻의 "a working desktop MVP in active development"로 소개하면서, Windows 코드 서명과 자동 업데이트, Windows/Linux 검증 확대를 가까운 과제로 올려 두고 있습니다. macOS 패키지는 서명과 공증(Notarization)을 마쳤지만 Windows와 Linux 빌드는 아직 서명되지 않은 상태입니다. 저장소 스스로도 산출물을 초안으로 다루고 수치를 검증하라고 권고하고 있습니다.

Open Science Desktop의 출처 추적

Open Science Desktop의 중심 기능은 산출물에서 그것을 만든 것들로 거슬러 올라가는 경로입니다. 파일 버전과 산출물의 생성 이력은 작업 공간 안의 .openscience/provenance.jsonl에 기록되며, 각 산출물은 그것을 만든 실행이나 편집으로 연결됩니다.

위 화면의 오른쪽 패널이 산출물 검사기(artifact inspector)로, 그림 파일 하나를 열면 그것을 그린 스크립트 코드와 입력으로 쓰인 CSV 파일들이 함께 나열됩니다. Execution Log, Messages, Environment, Review 탭에서 실행 로그와 대화, 실행 환경, 검토 결과까지 이어서 확인할 수 있습니다.

실행 자체도 흘러가는 터미널 출력으로 남기지 않습니다. 로컬 실행뿐 아니라 SSH와 Slurm, Modal, 노트북 일괄 실행이 모두 재현 가능한 실행 기록으로 저장되고, 전역 SQLite 실행 색인을 통해 검색과 필터링이 가능합니다.

Open Science Desktop의 연구 스킬 구성

연구 루프의 각 단계는 스킬(Skill) 단위로 나뉘어 있고, 각 스킬은 채점 가능한 산출물을 만들어 냅니다. ai4s-agent 메타 스킬이 아래 스킬들을 순서대로 실행합니다:

스킬 역할 주요 산출물
ai4s-agent 아래 네 스킬을 순서대로 실행 연구 패키지 전체
research-explorer 넓은 방향을 구체적인 주제로 좁힘 research_exploration.md, topic_matrix.md, literature_pre_survey.md
literature-survey 문헌 조사 작성 6~20쪽 PDF, 60건 이상의 실제 인용, LaTeX 원본, 분류체계(Taxonomy) 그림
experiment-suite 실험 패키지 구성 설계 문서, 실행 가능한 코드, 출처가 붙은 results.json, 그림, 보고서
paper-writer 논문 작성 8~14쪽 PDF, 200건 이상의 인용, 그림 4~8개, 표
mindmap-render 마인드맵 렌더링 topic_matrix.md로부터 생성한 이미지
integrity-auditor 논문 무결성 감사 이미지, 수치, 논리 관련 지적 사항과 4단계 증거 등급, audit_report.md

위 화면은 문헌 조사에서 원고까지 이어진 결과를 보여줍니다. 저장소는 원고를 내보내기 전에 인용 검토를 통과하도록 두었다고 설명하며, 이 단계에서 DOI가 실제로 해석되는지, 출처 없는 수치나 그림과 코드의 불일치가 있는지를 표시합니다.

이 밖에 문서 작업용으로 Apache-2.0 라이선스의 anthropics/skills 저장소에서 가져온 docx, pdf, pptx, xlsx 스킬이 함께 묶여 있고, 추적성 검토와 통계 무결성, 대용량 파일, 출판용 그림 관련 자체 스킬이 runtime/skills/core/에 들어 있습니다.

한 번의 클릭으로 붙일 수 있는 과학용 MCP 커넥터로는 arXiv, PubMed, Crossref, Semantic Scholar, bioRxiv/medRxiv 같은 문헌 검색과 ClinicalTrials.gov, MyVariant/ClinVar 같은 생의학 데이터베이스, Materials Project, FRED(Federal Reserve Economic Data) 경제 데이터, 우주 기상, Open-Meteo 기상 및 기후, USGS(미국 지질조사국) 수문 데이터가 제공됩니다.

Open Science Desktop의 브라우저 제어

에이전트가 웹을 읽는 방식도 조금 다릅니다. Open Science Desktop은 사용자의 실제 Chrome을 프로필과 로그인 상태를 유지한 채 제어할 수 있고, 접근성 트리(Accessibility Tree)를 통해 페이지를 읽습니다. 로그인이 필요한 사이트를 사람이 보는 그대로 읽을 수 있다는 뜻이며, 그렇게 하고 싶지 않을 때는 격리된 사설 브라우저를 대신 쓸 수 있습니다.

Open Science Desktop 설치 및 사용법

설치본은 저장소의 Releases 페이지에서 내려받습니다. macOS는 Apple Silicon과 Intel용 .dmg를 제공하며 macOS 13 Ventura 이상이 필요하고, Windows는 관리자 권한 없이 사용자 단위로 설치되는 NSIS .exe와 IT 배포용 .msi를, Linux는 x86_64용 .deb.rpm을 제공합니다. Linux에서는 다음과 같이 설치합니다:

sudo apt install ./Open.Science_*.deb
# 또는
sudo rpm -i Open.Science-*.rpm

화면이 없는 연구용 서버를 위해서는 osd 명령이 준비되어 있습니다. osd server는 창 없이 같은 작업 공간과 런타임, 같은 웹 UI를 HTTP로 제공하고, Releases의 osd-<version>-<target> 아카이브는 아무것도 설치하지 않은 상태에서 압축을 풀어 바로 실행할 수 있습니다. 서버에서는 다음 순서로 설정하고 띄웁니다:

# 서버 설정 (서버가 뜨기 전에도 동작합니다)
./osd auth set anthropic --key sk-…
./osd model set anthropic/claude-opus-4-5
./osd server --lan                        # URL과 접근 토큰을 출력합니다

키를 파일에 남기고 싶지 않다면 에이전트 런타임이 프로세스 환경을 물려받으므로 ANTHROPIC_API_KEY=sk-… ./osd server처럼 환경 변수로 넘겨도 됩니다. 서버가 뜨면 터미널에서 세션을 만들고 결과 파일을 가져올 수 있습니다:

osd project new "Reef survey"
id=$(osd session new --project "Reef survey")
osd session send "$id" "Fit the 2015–2024 bleaching trend and write report.md" \
    --model anthropic/claude-sonnet-4-5 --wait
osd fs ls figures/
osd fs get report.md --output ./report.md

--wait는 요청이 접수된 시점이 아니라 해당 턴이 끝난 시점에 반환되며, 응답이 없으면 실패로 처리합니다. 승인 절차는 창이 없어도 그대로 적용되어 명령 실행과 파일 삭제, 의존성 설치, 네트워크 접근에서 확인을 요청하고, osd permission lsosd permission allow <id>로 터미널에서 응답하거나 출력된 게이트웨이 주소를 브라우저에서 열어 승인합니다. 지켜보는 사람이 없는 기계에서는 osd approval set full로 명시적으로 승인을 끄고, osd approval set approve로 되돌립니다.

데스크톱 앱에는 osd가 함께 들어 있으며 앱을 처음 실행할 때 ~/.local/bin/osd에 래퍼(Wrapper)를 만들어 PATH에 올립니다. 다만 화면이 없는 서버에서는 로컬 Jupyter 커널과 네이티브 파일 대화상자를 쓸 수 없고, 출처 기록과 실행 기록은 데스크톱 클라이언트가 작성하므로 헤드리스(Headless) 서버에서는 Git 스냅샷을 통한 파일 이력만 남고 provenance.jsonl과 실행 색인에는 추가되지 않습니다.

Open Science Desktop의 라이선스

Open Science Desktop은 MIT 라이선스로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다.

단, 함께 묶여 배포되는 서드파티 스킬과 커넥터는 각자의 라이선스를 따르므로, 상업적으로 활용하기 전에는 해당 구성 요소의 조건을 따로 확인해야 합니다.

:house: Open Science Desktop 공식 홈페이지

:github: Open Science Desktop 프로젝트 GitHub 저장소

더 읽어보기




이 글은 GPT 모델로 정리한 초안을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 댓글로 알려주시기를 부탁드립니다. :hugs:

이 도구를 직접 설치해 사용해보셨다면, :pytorch:파이토치 한국 사용자 모임:south_korea: 회원들을 위해 경험이나 팁을 댓글로 남겨주세요! :folded_hands: