본문으로 건너뛰기
dopejs
전체 프로젝트

dsh-tui

출시됨

DeepSeek Harness를 위한 플러그인 네이티브 터미널 UI.

dsh-tui는 트리 외부 Harness 번들로 배포되며 에이전트 런타임과 같은 프로세스에서 실행됩니다. `ctx.agents`로 에이전트를 생성하고 재개하며, 웹 클라이언트 코드에 의존하지 않고 지속적인 session/event 로그를 렌더링하고, 승인·질문·명령을 위한 터미널 어댑터를 제공합니다. 0.1.0이 첫 공개 릴리스입니다.

개요

이것은 별도 클라이언트가 아니라 Harness 플러그인이며, 에이전트 런타임과 같은 프로세스에 존재합니다. 동일 프로세스 아키텍처는 의도적인 선택으로, 원격 전송은 첫 구현에 섞지 않고 이후의 별도 어댑터이자 제품 모드로 남겨 두었습니다.

0.1.0은 Harness 피어를 `0.1.0-rc.6`으로 정확히 고정하므로 Harness 릴리스 후보 간 호환성은 주장하지 않습니다. 세션이 동작하려면 `DEEPSEEK_API_KEY` 같은 프로바이더 자격 증명이 먼저 있어야 합니다. `dsh --profile tui --doctor`는 서비스, 모델 선택기, 세션 영속성, 터미널 기능을 읽기 전용으로 점검하며 세션이나 에이전트를 시작하지 않습니다.

터미널 사용성이 이 프로젝트의 본체입니다. 유니코드 커서 이동, 선택, 실행 취소/다시 실행, 제한된 히스토리, bracketed paste를 지원하는 여러 줄 컴포저. 탐색으로 분리하기 전까지 출력을 따라가며 제한된 검색을 제공하는 트랜스크립트. Ctrl-P의 퍼지 명령 팔레트는 해당 에이전트의 Harness 명령과 TUI 탐색을 합칩니다. Ctrl-O의 세션 센터는 에이전트가 유휴 상태이고 컴포저가 비어 있을 때만 전환을 허용하며, 이전 연결을 완전히 비우고 해제한 뒤 전환합니다.

무엇을 하나

  • 동일 프로세스 Harness 플러그인: `ctx.agents`로 에이전트를 생성·재개하고 웹 클라이언트 코드 없이 지속적인 session/event 로그를 렌더링합니다.
  • 터미널, diff, 검색, 읽기, 웹 결과에 대해 도구가 소유한 표현 의도를 사용합니다.
  • 유니코드 커서 이동, 선택, 실행 취소/다시 실행, 제한된 히스토리, bracketed paste를 지원하는 여러 줄 컴포저.
  • Ctrl-P 명령 팔레트가 Harness 명령과 TUI 탐색을 합치므로, 조합 키를 보낼 수 없는 터미널에서도 모든 패널에 접근할 수 있습니다.
  • 접근성이 기본 내장: `default`·`high-contrast`·`no-color` 테마, 색상 대신 의미적 톤으로 이름 붙인 패널, 상자 문자를 쓰지 않는 스크린 리더 모드, 모션 감소와 키 바인딩 재정의를 하나의 검증된 설정 객체에 담았습니다.
  • 획득한 모든 에이전트 핸들, 리스너, 프롬프트, 터미널 모드를 명시적으로 소유한 자원으로 다룹니다.

시작하기

요구 사항: Node.js ^22.19.0 || >=24.0.0, pnpm 11.7.0, 그리고 DEEPSEEK_API_KEY 같은 프로바이더 자격 증명. Harness 플러그인으로 설치하는 방법은 저장소 README에 있습니다.

TUI 실행

pnpm dlx --allow-build=node-pty @deepseek-ai/dsh@0.1.0-rc.6 --profile tui

읽기 전용 환경 점검

dsh --profile tui --doctor