fix: align office dashboard subagent count

This commit is contained in:
2026-04-07 12:51:55 +09:00
parent a731ecee4b
commit f920318138
4 changed files with 6 additions and 5 deletions

View File

@@ -19,7 +19,7 @@
- **SPRINT-016**: 4자매 Isometric Office Dashboard 재기획
## 이번 Sprint 핵심 요구사항
1. 4자매와 17개 서브에이전트, 총 21개 에이전트를 오피스 은유로 재설계
1. 4자매와 16개 서브에이전트, 총 20개 에이전트를 오피스 은유로 재설계
2. 4자매 독립 Gateway WebSocket 기준 실시간 상태 모델 정리
3. 고정 좌석 4자매 + 동적 이동 서브에이전트 + 회의실/연결선 구조 정의
4. direct chat / workflow panel / server health를 오피스 화면과 통합

View File

@@ -1,7 +1,7 @@
# SPRINT-016: 4자매 Isometric Office Dashboard 재기획
## 목표
기존 하나랑 대시보드를 `운영 패널 중심 UI`에서 한 단계 확장해, 4자매 메인 에이전트와 17개 서브에이전트가 실제로 협업하는 흐름을 **2D 등축 투영 오피스**로 시각화하는 차세대 관제 화면으로 재기획한다.
기존 하나랑 대시보드를 `운영 패널 중심 UI`에서 한 단계 확장해, 4자매 메인 에이전트와 16개 서브에이전트가 실제로 협업하는 흐름을 **2D 등축 투영 오피스**로 시각화하는 차세대 관제 화면으로 재기획한다.
핵심은 이거야.
- 4자매의 고정 좌석과 역할이 한눈에 보여야 해
@@ -31,7 +31,7 @@
- 다랑이: `reviewer`, `qa-tester`, `security-auditor`, `ux-reviewer`
- 이랑이: `deploy-manager`, `db-manager`, `nginx-manager`, `monitoring`, `dns-manager`
총 21개 에이전트 (main 4 + sub 17)
총 20개 에이전트 (main 4 + sub 16)
## 파이프라인 모델
### 자매 내부

View File

@@ -17,7 +17,7 @@ OpenClaw 4자매와 서브에이전트 협업을 2D 등축 투영 오피스로
`오피스`라는 직관적인 은유로 읽는 화면이야.
## 제품 목표
1. 4자매 메인 에이전트와 17개 서브에이전트, 총 21개 에이전트를 하나의 세계관 안에서 시각화한다.
1. 4자매 메인 에이전트와 16개 서브에이전트, 총 20개 에이전트를 하나의 세계관 안에서 시각화한다.
2. 4자매 독립 Gateway WebSocket을 통해 실시간 상태를 반영한다.
3. Lobster 워크플로우와 Discord handoff를 자연스럽게 한 화면에 묶는다.
4. 직접 채팅, 파이프라인 현황, 서버 헬스까지 운영 도구를 통합한다.

View File

@@ -99,6 +99,7 @@ const SISTER_ROLES: Record<SisterName, string> = {
};
const SISTER_ORDER: SisterName[] = ['harang', 'narang', 'darang', 'erang'];
const SUBAGENT_COUNT = Object.values(SUBAGENT_DEFS).reduce((total, defs) => total + defs.length, 0);
const FALLBACK_SISTERS: SisterApiItem[] = [
{
@@ -421,7 +422,7 @@ export default function OfficePage() {
<Shell>
<PageHeader>
<PageTitle>🏢 </PageTitle>
<PageMeta>4 · 17 · </PageMeta>
<PageMeta>4 · {SUBAGENT_COUNT} · </PageMeta>
<FreshnessBar>
<FreshnessBadge $type={sisterDataMode}>
: {sisterDataMode === 'live' ? 'live · ws' : sisterDataMode === 'snapshot' ? 'snapshot · poll' : 'fallback · doc'}