CrewX 0.8.8 릴리즈 - 워크플로 시맨틱 실패 신호, 시각적 그래프, 자동 러너 & 실시간 SSE
CrewX 0.8.8은 워크플로를 대폭 강화했습니다. 구조화된 실패 신호, 인터랙티브 시각적 그래프, 경량 자동 러너 노드 타입, 그리고 폴링 폭풍 없이 UI를 실시간으로 동기화하는 SSE 이벤트 채널을 도입합니다.
🎯 주요 기능
워크플로 시맨틱 실패 채널
워크플로 내부에서 실행되는 에이전트가 이제 조용히 잘못된 상태를 전파하는 대신 구조화된 실패 신호를 보낼 수 있습니다. 어느 노드에서든 {"workflow_signal": "fail", "reason": "..."} 를 반환하면 엔진이 즉시 중단되고 실패 이유를 기록합니다.
워크플로 YAML에 error 종단 노드를 선언하거나, 태스크 노드에 fail_when 표현식을 사용해 선언적으로 실패 조건을 지정할 수도 있습니다 — 별도 에이전트 코드 없이도 가능합니다.
워크플로 시각적 그래프 뷰어
워크플로가 이제 UI에서 인터랙티브 시각적 그래프로 렌더링됩니다.
- ELK 라우팅 엣지 — 수직 레이아웃으로 깔끔하게 표현
- 백엣지 라우팅 — 재시도 루프도 올바르게 시각화
- 디테일 드로어 — 노드를 클릭하면 분기 조건과 전체 노드 입력값 확인 가능
- 편집기 없이도 워크플로를 한눈에 파악할 수 있는 읽기 전용 뷰 제공
skill_task / shell_task 노드 타입
워크플로에서 CrewX 스킬과 셸 명령을 직접 실행하는 두 가지 경량 노드 타입이 추가됩니다. 단순한 자동화 단계를 위해 풀 에이전트 태스크를 띄울 필요가 없습니다.
- id: run_linter
type: skill_task
skill: tsserver
args: check ./src
- id: build
type: shell_task
command: npm run build
UI에서 태스크 재시도 (Dreaming 컨텍스트 포함)
실패한 태스크를 UI에서 바로 재시도할 수 있습니다. dreaming 빌트인이 퍼스트클래스 패키지로 승격되어, 재시도 시 대화 이력·이전 출력·실패 상세 정보를 자동으로 주입합니다. 에이전트가 정확히 이전 지점부터 이어서 작업합니다.
실시간 워크스페이스 SSE 채널
스레드, 메시지, 태스크 출력 등 모든 워크스페이스 활동이 전용 SSE 채널로 스트리밍됩니다. 어댑티브 폴링 폴백을 지원하며, 싱글턴 커넥션으로 중복 SSE 연결을 방지해 서버 부하 없이 UI가 실시간으로 업데이트됩니다.
🔧 버그 수정
- 서버 재시작 후 실행 중인 워크플로 태스크를 잘못 종료하던 태스크 리퍼 수정
- 워크플로 그래프에서 노드 높이 불일치로 엣지가 분리되어 보이던 문제 수정
- 원격 HTTP 접근 시 CSRF 로그인 실패 수정 (#347)
- 파일 첨부 이슈 수정: 이미지 입력 지연, 이중 blob URL 접두어, 413 payload 오류; 서버 body 한도 200 MB로 상향
- BM25 검색 필드 정규화 수정으로 올바른 인덱싱 보장
- 문서 뷰어에서 Mermaid 렌더링이 줌 레벨에 영향받던 문제 수정
- 크론 366일
next_run엣지 케이스, DST 중복, 잘못된 타임존 문자열 거부 수정 - 활동 로그 접힌 미리보기에서
tool_result항목 제외
📦 빌트인 패키지 업데이트
| 패키지 | 주요 변경 |
|---|---|
| @crewx/workflow | 시맨틱 실패 채널, 시각적 그래프, skill_task/shell_task 노드, error 종단 노드, fail_when |
| @crewx/dreaming | 빌트인 패키지로 승격; 태스크 참조 포함 계속 모드 |
| @crewx/cron | DST 중복 제거, Intl API 기반 IANA 타임존 목록, 366일 버그 수정 |
🚀 업그레이드
npm install -g crewx@0.8.8
