DeepSeek Harness는 실제 브라우저를 제어할 수 있지만 로컬 DSH Web UI 자체가 컨트롤러는 아닙니다. 플러그인과 runtime이 필요합니다. Tabbit의 오픈 소스 bundle은 tabbit-browser Skill을 로드하고 tabbit-cli로 로컬 Tabbit Browser를 조작합니다.
수요는 커뮤니티에서도 보입니다. r/DeepSeek 개발자는 “I have created so many plugins, that's crazy”라고 쓰고 Git, 계획, worktree, 알림, UI 플러그인을 나열했습니다. 브라우저 제어도 agent loop를 다시 만들지 않고 환경 기능을 더하는 같은 모델입니다. 원문 댓글. 먼저 브라우저 자동화와 답변만 하는 assistant를 구분해야 합니다.
핵심 요약
DSH는 DeepSeek AI의 오픈 소스 developer preview agent harness이며 핵심은 “everything is a plugin”입니다.
Tabbit 플러그인은
tabbit-cli와 로컬 Browser-owned Runtime Service를 호출하는 Skill을 추가합니다.현재 DSH shell과 같은 호스트에 안정판 Tabbit Browser
1.9.0+가 필요합니다.이름 있는 task space가 page, state, receipt를 격리하고 비시크릿 profile의 로그인 상태를 재사용합니다.
권한 우회가 아닙니다. 읽기부터 시작하고, 되돌릴 수 없는 동작은 확인하며, CAPTCHA나 제한에서는 중지합니다.
연결 구조
| 구성 요소 | 역할 | 위치 | 경계 |
|---|---|---|---|
| DeepSeek Harness | model, tool, 권한, session, plugin 관리 | 로컬 DSH process | Web UI를 열었다고 브라우저를 제어하는 것은 아님 |
| Tabbit bundle | Skill 등록과 설치 확인 | plugin profile | 범용 native tabbit_browser_evaluate tool은 제공하지 않음 |
tabbit-browser Skill | 환경 확인과 안전한 사용 지침 | DSH agent | 접근 가능한 로컬 runtime이 필요 |
tabbit-cli | task space에서 Playwright 형태 작업 | host shell | 문서화된 launcher와 안정된 task name 필요 |
| Browser-owned Runtime Service | page, profile, 격리, receipt, 연결 관리 | Tabbit host | 없으면 보통 Tabbit을 한 번 재시작 |
DSH agent + Tabbit Skill + tabbit-cli + 로컬 runtime = 브라우저 동작이 다리는 harness와 환경을 연결하지만 원격 shell을 로컬 브라우저 에이전트로 만들지는 않습니다.
DeepSeek Harness란
공식 발표 페이지는 harness를 model이 환경을 이해하고 tool을 사용하며 실제 작업을 계속하게 하는 계층으로 설명합니다. Cordis에서는 model, tool, skill, session, sandbox, storage, loop, scheduling, UI도 plugin입니다.
npx @deepseek-ai/dsh web현재 문서는 http://127.0.0.1:3080의 로컬 UI를 안내합니다. 브라우저에서 보이는 UI, 공개 웹 검색, 실제 페이지를 이동·클릭·입력·검증하는 제어는 서로 다릅니다. Tabbit은 세 번째 기능을 브라우저 에이전트에 제공하고 DSH가 orchestration을 맡습니다.
DSH는 developer preview입니다. 공식 repository는 호환성을 깨는 변경을 예고합니다. 초기 사용자는 “DSH is still pretty rough in a lot of places”라고 평했습니다. 후자는 개인 의견이고 preview는 공식 사실입니다. 댓글 맥락.
Tabbit 플러그인 작동 방식
공개 repository에는 Cordis bundle, installer, 전체 Skill이 있으며 skill({ name: "tabbit-browser" }) 또는 /tabbit-browser로 로드합니다.
첫 작업에서 국제 안정판 Tabbit 또는 국내 안정판 Tabbit Browser의 1.9.0+를 찾고 개발판은 제외합니다. 없거나 오래되면 지역에 맞는 공식 installer를 Downloads로 백그라운드 다운로드하지만 .dmg나 .exe를 실행하지 않습니다.
runtime이 없으면 Tabbit을 한 번 재시작하도록 요청하고 Chrome, cloud browser, CDP 등으로 조용히 전환하지 않습니다. 준비 후 tabbit-cli가 이름 있는 task space에서 page, globals, receipt, login을 재사용합니다. 단순 fetch보다 지속적인 브라우저 자동화 에이전트에 가깝습니다.
제공된 source checkout에서 npm test 15개가 모두 통과했고 npm pack --dry-run도 예상 파일을 만들었습니다. 이는 해당 commit의 코드와 packaging 검증이지 모든 사이트와 DSH 버전의 E2E 보장은 아닙니다.
설치 방법
공식 문서대로 DSH를 준비한 뒤 실행합니다.
dsh --version
dsh plugin --profile web add github:Tabbit-Browser/dsh-plugin
dsh web이미 실행 중이면 DSH를 재시작합니다. 같은 컴퓨터에 안정판 Tabbit 1.9.0+를 두고 runtime이 없으면 Tabbit을 한 번 재시작합니다. Windows 제한 sandbox는 named pipe를 막을 수 있습니다. Full Permission은 browser, launcher, runtime process가 있는데도 BROWSER_RUNTIME_UNAVAILABLE인 경우에만 검토합니다.
tabbit-browser skill을 사용해 공개 repository의 README를 읽고 설치 명령,
최소 Tabbit 버전, 제한을 표로 반환하세요. 로그인, 폼 제출, 기존 탭 닫기는 하지 마세요.기능과 제한
Skill은 navigate, visible state 검사, click, fill, 여러 page, 구조화 추출, screenshot, download, 검증을 지원합니다. 권장 loop는 검사 → 일관된 동작 → 검증이며 공개 조사, dashboard, 감독되는 AI agent 브라우저 자동화에 적합합니다.
E2B나 remote container를 노트북에 자동 연결하지 않고, 개발판 감지, runtime 시작, installer 실행도 하지 않습니다. 실제 session에는 login 만료, UI 변경, 권한, CAPTCHA, 사이트 정책이 있습니다. 제품 설명은 Tabbit Browser란과 Tabbit AI Browser 전체 가이드를 참고하세요.
낮은 위험으로 시작하기
공개 프로젝트 페이지 세 개에서 release와 요구 사항을 찾아 출처가 있는 표를 만들게 하세요. DSH는 목표와 권한, Skill은 환경, CLI는 같은 task space의 source와 행별 검증을 맡습니다.

웹과 ERP agent 토론에서는 API를 우선하고 browser automation을 tool로 쓰며 submit, pay, delete 전에 사람 승인을 두라는 조언이 나왔습니다. Reddit 토론. 연구는 read-only와 URL을 요구하고, form은 제출 전에 멈춰야 합니다. 연구자용 AI 브라우저에 맞는 방식입니다.
backend 선택
| 조건 | 시작점 | 장점 | 비용 |
|---|---|---|---|
| 같은 host의 기존 Tabbit profile | Tabbit DSH plugin | 전용 runtime, task space, 기존 session | 1.9.0+와 local runtime 필요 |
| Kimi WebBridge의 Chrome/Edge | dsh-better-browser | 로그인 브라우저용 13 tool 문서화 | daemon과 extension 별도 |
| 격리 scraping 또는 server job | remote/headless browser | 확장·reset·격리 용이 | login과 anti-bot이 어려움 |
| 안정 API/MCP 존재 | API/MCP | 구조적이고 감사 가능 | UI 전용 흐름은 못 다룰 수 있음 |
| 결제·삭제·게시·계정 변경 | 사람이 실행, agent가 준비 | 불가역 권한을 사람에게 유지 | 의도적으로 자율성 감소 |
dsh-better-browser는 Kimi WebBridge 기반의 다른 구조입니다. tool 수가 아니라 대상 환경으로 선택합니다. Reddit에서는 “a real machine with a real browser session”이 더 안정적이었다면서도 확장성과 하드웨어 부담을 지적했습니다. 원문. 우회 허가가 아니며 CAPTCHA나 거부 시 중지해야 합니다.
보안과 선택 기준
DSH 권한, plugin 범위, browser session, site action 네 층을 확인하세요. password, API key, 결제 정보, 무관한 private tab을 prompt에 넣지 말고 cookie를 추출하지 마세요. message 전송, 민감 upload, 권한 변경, 구매, 삭제 직전에 확인합니다. prompt, URL, action, result, confirmation을 기록하고 test account부터 사용하세요. 모든 에이전틱 AI 브라우저에 적용됩니다.
Tabbit과 DSH가 같은 컴퓨터에 있고 실제 session이 필요하며 감독할 수 있다면 설치할 만합니다. agent가 remote에서만 실행되거나 지금 production-stable API가 필요하거나 직접 integration이 있다면 다른 backend를 선택하세요.
공개 bundle, 낮은 위험의 profile, 공개 페이지 한 개 읽기와 출처 반환부터 시작하세요. 환경, 동작, 검증이 이해된 뒤 확장하는 것이 AI 브라우저의 실용적인 약속입니다.
자주 묻는 질문
DeepSeek Harness가 브라우저를 제어할 수 있나요?
호환 플러그인과 브라우저 runtime이 있으면 가능합니다. Tabbit 플러그인은 tabbit-cli로 DSH와 로컬 Tabbit Browser를 연결하며, DSH Web UI 자체는 브라우저 제어 기능이 아닙니다.
Tabbit DeepSeek Harness 플러그인은 어떻게 설치하나요?
DSH 설치 후 dsh plugin --profile web add github:Tabbit-Browser/dsh-plugin을 실행하고 dsh web을 재시작합니다. 지원되는 Tabbit Browser가 같은 호스트에서 실행되어야 합니다.
로그인된 브라우저 세션을 재사용하나요?
runtime이 선택한 비시크릿 Tabbit profile에서 작동하므로 기존 로그인 상태를 사용할 수 있습니다. 실제 계정 접근이므로 민감한 동작은 사람이 확인해야 합니다.
필요한 Tabbit 버전은 무엇인가요?
현재 문서는 국내 또는 국제 안정판 Tabbit Browser 1.9.0 이상을 요구합니다. 개발 빌드는 감지하지 않으며 요구 사항은 바뀔 수 있습니다.
E2B나 원격 컨테이너에서 사용할 수 있나요?
플러그인 설치만으로는 불가능합니다. DSH shell이 Tabbit의 Browser-owned Runtime Service에 닿아야 하며, 격리된 컨테이너가 로컬 GUI 브라우저에 자동 연결되지는 않습니다.
폼 제출이나 계정 변경을 맡겨도 안전한가요?
자동화는 활성 세션 권한을 이어받습니다. 읽기 전용으로 시작하고 되돌릴 수 없는 작업은 사람이 확인하며 API나 MCP가 있으면 우선 사용하세요. CAPTCHA나 사이트 정책을 우회하면 안 됩니다.