OpenAI Dots 글에서 always-on coworker를 다뤘는데, 이번에는 직접 뜯어볼 수 있는 구현이 나왔습니다. CopilotKit OpenDots. 9월 29일 공개된 MIT 라이선스 템플릿으로, persistent AI coworker를 직접 만들 수 있습니다.
왜 중요할까요? 제품을 구경하는 수준을 넘어, persistent agent workspace가 실제로 어떻게 구성되는지 코드로 분석할 수 있기 때문입니다.
뭐가 들어있나: Dot마다 컴퓨터 1대
Dot 1개 = 역할 1개 + 권한 1세트 + 컴퓨터 1대
├─ isolated browser/workspace (중지·시작해도 유지)
├─ Web·voice·Slack 사이에서 conversation 유지
├─ background job + human approval 처리
└─ AG-UI, durable Threads, Channels SDK, tool permission 구조
GitHub 기준 별 2,600개 이상, MIT라 clone해서 self-host까지 됩니다. OpenBot의 container supervisor·computer service 위에 Dot별 브라우저 프로필·파일이 유지되고, Computer 패널에서 브라우저 제어·human takeover·파일·터미널·활동을 봅니다. 서비스 자격증명은 서버에 두고 Dot마다 다른 컴퓨터 자격증명을 파생합니다.
핵심 장면이 README에 있습니다. Ask → browse → draft → human approval → save. 살아있는 컴퓨터 화면과 사람 검토 카드가 채팅 안에 뜨고, 승인된 초안이 편집 가능한 Space 페이지가 됩니다.
어디부터 읽나: 3순위부터
브리프의 액션을 그대로 가져옵니다. 전체 clone보다 먼저 3부분입니다.
읽는 순서:
1. background work (밤새 도는 일의 단위)
- 작업이 어떻게 시작·유지·중단되는가
2. approval card (사람이 멈추는 지점)
- Ask→browse→draft→[여기서 멈춤]→save
- 승인·수정·거부의 분기가 코드에 있는가
3. resume (이어가기)
- durable Threads가 대화·UI·도구 상태를 어떻게 복원하는가
- 기기·세션을 옮겨도 이어지는가
이 3개가 Durable 글의 체크포인트·재개, 보안 글의 승인, 기억 글의 세션·영속과 정확히 맞물립니다. 그동안 글로만 읽던 구조가 코드로 보입니다.
CopilotKit 맥락: 채널과 스레드가 표준이 된다
OpenDots를 만든 CopilotKit은 AG-UI 프로토콜의 회사입니다. 같은 에이전트가 웹·모바일·Slack·Teams에서 돈다는 구조입니다.
OpenDots가 보여주는 표준 조각:
- AG-UI: 에이전트·UI 사이의 전달 규격
- durable Threads: reload·기기·세션을 넘어 살아남는 대화
- Channels SDK: Slack 등을 1급 채널로
- Human-in-the-Loop: 멈췄다가 이어가기 (승인 카드)
Dots 글의 제품 이야기와 짝으로 읽으면 좋습니다. 제품이 "무엇"이라면 OpenDots는 "어떻게"입니다.
CodeBridge Mini Lab: 승인 루프 1개 재현하기
① OpenDots를 clone한다 (MIT, self-host 가능)
② 승인 루프 1개를 따라가본다:
[ ] Ask가 어떻게 background job이 되는가
[ ] browse 결과가 draft가 되는 지점
[ ] approval card의 승인·수정·거부 분기
[ ] save 후 Space 페이지로 이어지는지
③ 우리 일 1개에 대입해본다:
- 예: "경쟁사 소식 조사 → 초안 → 승인 → 보관"
- 승인 없이 실행되는 action이 있는가 (있으면 막기)
④ 판정: 승인·재개·권한 3개가 보이면 구조 이해 완료
라우팅 글의 폴백 분기와 같은 모양입니다. 멈추는 지점이 설계의 전부입니다.
결론: 구경에서 해체로
한 줄로 정리합니다.
always-on의 비밀은 켜두는 게 아니라 멈췄다가 이어가는 데 있다.
OpenDots의 가치는 완성도가 아니라 투명도입니다. background·approval·resume이 코드로 보이니, 우리 에이전트에도 같은 3개를 물을 수 있습니다. 오늘 할 일은 하나입니다. clone보다 먼저 저 3부분의 코드를 읽는 것. 읽고 나면 다음에 만드는 persistent agent가 달라집니다.
함께 읽으면 좋은 글
참고 자료
이 주제를 직접 따라가며 배우고 싶다면
멈추고 이어가는 실행 구조와 승인 게이트를 설계해보고 싶다면, 하네스·루프·그래프를 순서대로 쌓는 과정이 이 글의 3부분 읽기와 바로 이어집니다.