Seoro — Claude Code 데스크톱 GUI

**내가 만들었어요! 게시판 공지 사항**의 내용을 숙지하신 후, 글을 게시해주시기 바랍니다.

Anthropic의 Claude Code CLI를 터미널이 아닌 데스크톱 GUI에서 쓸 수 있게 만든 크로스플랫폼 앱입니다.

기술 스택

레이어 기술
런타임 .NET 10.0
UI Blazor + Photino.Blazor (네이티브 WebView 래퍼)
컴포넌트 MudBlazor v9
터미널 xterm.js (PTY 기반 완전한 터미널 에뮬레이션)
마크다운 Markdig
로깅 Serilog
자동 업데이트 Velopack (델타 업데이트)
CI/CD GitHub Actions — v* 태그 push로 Windows/macOS 동시 릴리스
테스트 xUnit

Electron 대신 Photino를 선택해서 앱 용량과 메모리를 크게 줄였고, Blazor 덕분에 C# 하나로 프론트·백엔드를 모두 처리합니다.

주요 기능

  • 멀티세션 스트리밍 채팅 — 여러 Claude 세션을 동시에 운영, 실시간 JSON 스트리밍 파싱, 리치 마크다운/코드 하이라이팅/이미지 라이트박스

  • 분석 대시보드 — 활동 히트맵, 비용 추정, 세션 모니터, 시간대별 활동 분포

  • 게이미피케이션 — 15단계 레벨 시스템(새내기 → 조물주), 7개 카테고리 업적, 연속 스트릭

  • 세션 리플레이 — 과거 세션을 타임라인으로 재생하며 작업 이력 탐색

  • 내장 PTY 터미널 — xterm.js 기반, 멀티셸 선택, 분할 뷰

  • Git 통합 — 실시간 브랜치 추적, AI 커밋 메시지 자동생성, 인라인 diff

  • 플러그인 시스템~/.claude/plugins 자동 탐색, 권한 기반 확장

  • Hooks · Rules · Instructions · Memory — Claude CLI의 모든 설정을 GUI에서 직접 관리

  • MCP 서버 통합 — SSE/커맨드 기반 MCP 서버를 GUI에서 설정

  • Velopack 자동 업데이트 — 델타 패치로 빠르고 가벼운 업데이트

규모

  • 소스 파일 318개, 약 50,000줄 (C# + Razor + CSS + JS)

  • 3월 26일 첫 릴리스(v1.2.3) 이후 6일 만에 v1.5.7까지 — 약 30회 릴리스

  • Windows x64 / macOS ARM64 크로스플랫폼 지원

왜 .NET + Blazor?

Claude Code CLI가 JSON 스트리밍으로 이벤트를 뿌리는 구조라, System.IO.PipelinesSystem.Text.Json의 고성능 스트림 파싱이 딱 맞았습니다. Blazor의 컴포넌트 모델 덕분에 채팅 버블, 대시보드 위젯, 설정 패널 등을 재사용 가능한 단위로 깔끔하게 분리할 수 있었고, C# 타입 시스템으로 Claude의 복잡한 스트리밍 이벤트 스키마를 안전하게 모델링했습니다.

링크

16 Likes

전 제미나이 CLI만 사용해봤었는데, “게이미피케이션” 보니까 당장 주말에 써보고싶네영 :star_struck:

1 Like

그런데 .NET 10 자체는 지금 GA로 나온지 좀 되었는데, 설명 상으로만 Preview를 쓰는 것으로 기재된 것인지 (잘못 기재된 것인지), 아니면 실제 빌드 환경을 Preview 버전으로 고정해서 빌드하고 계신 것인지 궁금합니다.!

1 Like

어라 ㅎㅎ…

AI에게 작성시켜줘했는데 그부분을 놓쳤네요 ㅎㅎ

1 Like

Seoro 1.5.10 릴리스

1.5.10을 배포했습니다. 맥북에서 테스트도해보고 제컴퓨터에서 테스트했지만 역시 다른 환경에서 문제가 발생하는군요… ㅜㅜ

변경사항

새 기능

  • AskUserQuestion에 multiSelect 지원 추가 — Claude가 여러 선택지를 제시할 때 복수 선택이 가능합니다

버그 수정

  • Windows에서 npm으로 설치한 Claude CLI가 실행되지 않던 문제 수정

  • Sonnet/Haiku 모델 사용 시 Max Thinking 버튼이 활성화되던 문제 수정 (해당 모델은 extended thinking 미지원)

  • 새 세션 생성 시 모델 설정이 반영되지 않던 버그 수정

다운로드

GitHub: https://github.com/JinoPay/seoro/releases/tag/v1.5.11

1 Like

Seoro 1.6.1 릴리스

워크트리 동기화 기능이 추가되었습니다. 세션이 워크트리에서 작업 중일 때, 변경사항을 로컬 디렉터리에 실시간으로 동기화할 수 있습니다.

변경사항

새 기능

  • 워크트리 → 로컬 디렉터리 동기화 토글 기능 추가 — 워크트리 세션의 변경사항을 원본 프로젝트 폴더에 실시간 반영

  • 서비스 전반 로깅 보강 — 문제 발생 시 원인 추적이 더 쉬워졌습니다

버그 수정

  • 동기화 해제 시 수정된 파일이 삭제되는 버그 수정

  • 동기화 엔진을 git diff 의존에서 실제 파일 비교 기반으로 전환

  • FSWatcher fallback 처리, HashSet 최적화, UI 블로킹 해소

다운로드

GitHub: https://github.com/JinoPay/seoro/releases/tag/v1.6.1

애플리케이션 출시를 축하드립니다. 다만 이제부터 본격적인 배포 상의 어려움에도 진입하시게 될 것입니다.

Windows의 경우 모든 데스크톱 애플리케이션은 충분한 사용 이력 (레퓨테이션)이 쌓이지 않은 모든 실행 파일에 대해 코드 서명 인증서 사용 여부와 관계없이 SmartScreen에서 실행을 한 번 가로막거나, 더 나아가서는 Smart App Control이 실행 자체를 거부하게 만드는 부분들이 문제가 됩니다. (macOS의 경우에도 크게 다르지 않습니다.)

물론 이러한 기능들을 사용자의 재량으로 끌 수는 있지만, 이것은 어디까지나 사용자 개개인의 판단이고 애플리케이션 개발자 입장에서는 가이드할 수 없는 부분이라고 생각합니다.

모든 경우의 수를 다 고려할 수는 없겠으나, 닷넷데브는 닷넷 개발자 커뮤니티이자 ‘이익 단체’로서 닷넷 기반의 오픈 소스 애플리케이션이 더 널리 사용될 수 있게 하기 위한 Sponsorship이나 재정 지원을 바탕으로 코드 서명 인증서 문제를 해결할 수 있도록 하는 것을 항상 고민하고 있지만 쉽지 않은 상황입니다.

이와 관련하여, 당장 취할 수 있는 현실적인 조치로는 ssl.com의 개인 자격 코드 서명 인증서 발급이나 Asseco의 OSS 전용 코드 서명 인증서 발급과 같은 대안을 적용하는 것 정도가 최선이 될 것 같습니다. (그러나 이 마저도 EV 인증서가 아닌 OV 인증서여서 배포 문제 해결에는 큰 도움이 되지 못할 수 있습니다.)

지속적으로 애플리케이션을 발전시켜 나가고 업그레이드 해 나가면서 이 주제와 관련하여 경험하시는 어려움이나 해결 과정도 같이 논의해보았으면 하여 스레드에 답글을 남깁니다. :flexed_biceps:

2 Likes

매인으로 사용합니다 적극 추천합니다. 프로그램 쓰면서 카톡으로 실시간 피드백 주고받으면서 하긴 처음입니다 ㅎ

2 Likes

저도 비슷한 생각입니다.

당연히 코드공유가 되지않는 상업용 프로그램의 경우 인증을 받아야한다고 생각합니다만..

오픈소스 기반으로 릴리즈되는 프로그램의 경우는 예외가 되어야하지 않을까 싶어요

1 Like

Seoro 근황 — v1.6.2 ~ v1.16.11

v1.6.1 이후 10번의 릴리스가 나왔습니다. 주요 변경 사항을 정리합니다.

토큰 사용량 & 모델 설정 (v1.6.6, v1.6.8)

입력 툴바에 토큰 사용량 도넛 링 인디케이터를 추가했습니다. 현재 컨텍스트 소비량을 시각적으로 바로 확인할 수 있습니다. Effort 토글도 모델별 최대 지원 레벨에 맞게 자동 조정되도록 개선했습니다.

AI 모델 선택기도 전면 개편해서 최신 가격 정보, Claude 4.5/4.6 등 신규 모델을 풍부한 UI로 표시합니다. 클립보드 붙여넣기 시 이미지와 텍스트를 동시에 처리하는 것도 이때 들어갔습니다.

게이미피케이션 업적 대폭 확장 (v1.6.7)

업적을 42개에서 105개로 대폭 늘렸습니다. 버그 수정도 여럿 포함된 릴리스인데, 특히 첨부파일이 세션 간 공유되는 문제, Changes diff 기준이 워크트리 생성 시점이 아닌 다른 커밋을 참조하던 문제 등을 잡았습니다.

계정 관리 & 머지 툴바 (v1.6.9)

멀티 계정 관리 UI가 추가되었습니다. 계정 전환, 등록, 삭제 및 계정별 사용량 표시를 지원합니다. 3-column 레이아웃으로 사용량을 한눈에 보여줍니다.

AI 위임 방식의 머지/스쿼시/PR 툴바도 새로 만들었습니다. 머지나 PR 생성 같은 Git 작업을 Claude에게 위임하는 방식인데, 직접 Git 명령을 조합하는 것보다 훨씬 편합니다.

MCP 서버 관리 전면 개선 (v1.16.11)

MCP 서버 설정·관리 시스템을 전면 개선했고, 텍스트 첨부파일 뷰어를 기존 탭 시스템으로 교체했습니다. 파일 클릭 시 Explorer와 동일하게 탭에서 열리도록 통일해서 UX 일관성을 높였습니다.

안정성 개선

macOS 쪽 안정성을 많이 잡았습니다:

  • 디버그 빌드에서 알림 크래시 및 무응답 수정 (v1.6.3)

  • 릴리스 번들에 NSUserNotificationAlertStyle 누락 수정 (v1.6.3)

  • Messages 리스트 동시 접근 레이스 컨디션 수정 (v1.6.3)

  • 터미널 PTY ERROR_DIRECTORY 크래시 수정 (v1.6.4)

그 외에도 로컬 워크스페이스 생성 시 비-git 디렉터리를 자동으로 git init 해주는 기능(v1.6.4), 동기화 토글 키보드 단축키(v1.6.2), 긴 텍스트 붙여넣기 시 파일 첨부 자동 변환(v1.6.10) 등이 들어갔습니다.


GitHub: https://github.com/JinoPay/seoro

피드백이나 궁금한 점 있으시면 편하게 남겨주세요!

5 Likes

Seoro 근황 — v1.16.12 ~ v1.17.1

v1.16.11 이후 7번의 릴리스가 나왔습니다. 가장 큰 변화는 Cominomi → Seoro 리브랜딩입니다.

Cominomi에서 Seoro로 (v1.16.17, v1.17.0)

이전에 Cominomi라는 이름에 대해 "어떻게 읽냐"는 피드백을 좀 받았는데요, 결국 이름을 바꾸기로 했습니다. AI와 사용자가 서로 코드를 만들어 나가는 플랫폼이라는 의미를 담아 Seoro로 정했습니다. 앱 아이콘도 그라디언트 채팅 버블 디자인으로 새로 만들었고, 기존 Cominomi 사용자를 위한 데이터 마이그레이션도 자동으로 처리됩니다.

설정 UI 현대화 (v1.16.12, 진행 중)

설정 UI를 손보기 시작했습니다. 기존 드롭다운을 세그먼트 컨트롤과 pill 셀렉터로 교체하고, 사이드바·토글행·단축키·확장 섹션 등 UX를 현대화했습니다. MCP 서버 관리도 독립 페이지로 분리했고, MergeToolbar는 GitHub 스타일 스플릿 버튼으로 리디자인했습니다. 아직 부족한 부분이 많아서 계속 개선해 나갈 예정입니다.

MCP Tool Discovery & Claude.ai 인테그레이션 (v1.16.14)

MCP 도구 사전 조회(Tool Discovery) 기능이 추가되었습니다. 토큰 갱신 시 refresh token 업데이트와 수동 갱신도 지원합니다. Claude.ai 내장 인테그레이션 UI도 새로 들어갔습니다.

채팅 & 세션 UX 개선 (v1.16.13 ~ v1.16.16)

진행 중인 세션 종료 시 확인 다이얼로그가 뜨도록 했고, 크래시가 나더라도 로그가 유실되지 않게 플러시를 보장합니다. 플랜 보기를 다이얼로그에서 탭 방식으로 바꿨고, 사이드바에서 타이틀과 브랜치가 스트리밍 중 실시간으로 반영됩니다. 마크다운 렌더링에 syntax highlighting도 개선했습니다.

macOS 알림 개선 (v1.17.1)

macOS 쪽 알림 처리를 개선하고 백엔드 감지를 통합했습니다.

GitHub: https://github.com/JinoPay/seoro

피드백이나 궁금한 점 있으시면 편하게 남겨주세요!

4 Likes

많은 도움이 되었습니다. 바로 제 메인 개발툴로 쓰고 있습니다. 감사합니다.

1 Like

Seoro 근황 — v1.17.2 ~ v1.17.11

포럼 글 이후에도 개발이 계속 진행되어 총 10개의 마이너 릴리스가 나왔습니다.

멀티 계정 & 자격 증명 관리 (v1.17.2)

계정 추가 마법사를 새로 만들어서 멀티 계정 관리 흐름을 한층 간소화했습니다. 자격 증명 및 백업 처리의 엣지 케이스도 함께 개선했습니다.

UI 스타일 & 레이아웃 정밀화 (v1.17.3 ~ v1.17.4)

사이드바 트리 레이아웃 스타일을 정리하고, macOS에서 뷰포트 높이 처리(100vh → 100%)를 수정해 크로스 플랫폼 일관성을 높였습니다.

실시간 세션 감지 & 네비게이션 (v1.17.5)

세션 제목이 스트리밍 중 실시간으로 반영되도록 개선하고, 브랜치 변경도 더 정확히 추적합니다. 스크롤 하단 이동 버튼의 위치를 우하단으로 옮기고, URL 클론 다이얼로그에 디렉터리 선택 기능을 추가했습니다. 또한 도시 이름 데이터셋을 지역별로 더 확장했고, 플랜 피드백 왕복 중 이전 내용이 잔류하지 않도록 수정했습니다.

CodeMirror 및 개발 환경 개선 (v1.17.6 ~ v1.17.7)

드래그 앤 드롭 처리를 개선하고 CodeMirror 구문 강조 테마와 폰트 스타일을 업데이트했습니다. 릴리스 노트에 localize, style, docs, chore 태그 타입도 추가했고, 릴리즈 빌드에서 CodeMirror JS 번들이 누락되던 문제를 수정했습니다. CI 워크플로우에도 Node.js 설정을 명시적으로 추가했습니다.

로컬라이제이션 & 코드 정리 (v1.17.8)

서비스와 컴포넌트의 로그 메시지, 주석, 상수를 포함한 전체 한글화 작업을 완료하고 미사용 파일들을 정리했습니다.

Codex CLI 통합 & 상호작용 (v1.17.9)

Codex CLI 지원을 실험적 기능으로 통합했습니다. 사이드바에서 워크스페이스 드래그 앤 드롭으로 순서를 변경할 수 있게 했고, 탭 바 우클릭 시 컨텍스트 메뉴가 나오도록 개선했습니다.

에러 처리 & MIME 타입 (v1.17.10)

Claude CLI에서 AskUserQuestion·ExitPlanMode 오류를 받았을 때 스트림 루프가 정상 종료되도록 처리했습니다. YAML 파일 첨부 시 MIME 타입 감지가 누락되던 문제도 수정했습니다.

최종 정리 (v1.17.11)

CodexArgumentBuilder에서 미사용 WorkingDir 인수 처리를 제거해 코드를 정리했습니다.


현재 버전: v1.17.11 (2026-04-10)

앞으로도 개선 사항이 있으면 계속 알려드리겠습니다!

8 Likes

Seoro 근황 — v1.17.12 ~ v1.17.21

이전 근황 이후에도 꾸준히 릴리스가 이어져 10개의 마이너 버전이 추가되었습니다.

MudBlazor v9 업그레이드 & UX 개선 (v1.17.12)
MudBlazor v9.3.0으로 업그레이드하고, 아이콘 버튼 전반에 툴팁을 적용해 직관성을 높였습니다.

Git 머지 인프라 구축 (v1.17.13)
머지/푸시 버튼을 AI 위임 방식으로 전환하여 PR 생성부터 커밋+푸시까지 통합했습니다. 머지 상태 실시간 추적, 충돌 감지, ref 정규화, GitHub URL 자동 생성 등 Git 머지 인프라를 본격적으로 갖췄고, diff 뱃지에 +/- 라인 수 색상 표시도 추가했습니다.

첨부파일 초안 저장 & Codex 안정화 (v1.17.14)
세션별로 첨부파일 초안 상태를 저장해서 채팅 중이던 파일이 유지되도록 했습니다. Codex 플랜 모드도 상태 저장과 재개 시 인수 전달을 보강해 안정화했습니다.

macOS 크래시 수정 (v1.17.15 ~ v1.17.17)
삭제한 세션이 앱 재시작 후 회색으로 다시 나타나는 버그를 수정하고, macOS에서 멀티스레드 환경의 fork() 호출과 Process.Start()가 AppKit 메인 스레드에서 실행되면서 발생하던 SIGSEGV 크래시를 두 차례에 걸쳐 근본적으로 해결했습니다.

GitHub PR 추적 & Merge 탭 리디자인 (v1.17.18)
GitHub PR 추적 및 앱 내 머지 기능을 통합하고 Merge 탭 UI를 전면 리디자인했습니다. 변경 없음 표시, 아카이브 시 세션 완전 삭제 등 머지 UX도 함께 개선했습니다.

플러그인 마켓플레이스 & 머지 커스터마이즈 (v1.17.19)
플러그인을 독립 설정 탭으로 승격하고 마켓플레이스 및 enable/disable/update GUI를 추가했습니다. MergePanel에서 AI 프롬프트를 커스터마이즈할 수 있게 하고 Git/머지 설정 섹션도 신설했습니다. 슬래시 명령어를 독립 탭으로 이동하면서 글로벌/프로젝트 스코프 UX를 정비했고, 스레딩 경쟁 조건으로 인한 SIGSEGV 크래시와 여러 플러그인 안정성 이슈도 수정했습니다.

i18n 수정 & MCP 서버 토글 (v1.17.20)
워크트리 세션 생성 시 **.claude/settings.local.json**을 자동 복사하도록 하고, 입력란에서 MCP 서버를 토글할 수 있는 ToolPicker를 추가했습니다. 플랜 승인 단축키(Ctrl/Cmd+Enter)도 도입했고, i18n 언어 전환 시 culture 스레드 전파 및 렌더링 타이밍 버그를 수정했습니다.

슬래시 명령어 칩 UI & PR 미푸시 경고 (v1.17.21)
슬래시 명령어를 칩 UI로 표시해 입력란 가독성을 개선하고, PR이 열린 상태에서 미푸시 변경사항이 있으면 경고 및 푸시를 요청하는 기능을 추가했습니다. 플랜뷰 코드블록 빈박스 제거, 워크스페이스 이름 변경이 사이드바에 즉시 반영되지 않던 문제도 수정했습니다.

현재 버전: v1.17.21 (2026-04-15)

앞으로도 개선 사항이 있으면 계속 알려드리겠습니다!

4 Likes