triflux 8.3.1 → 8.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ko.md +212 -100
- package/hub/team/ansi.mjs +2 -2
- package/hub/team/tui.mjs +8 -9
- package/package.json +1 -1
package/README.ko.md
CHANGED
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
|
-
<strong>
|
|
13
|
-
<em>Claude
|
|
12
|
+
<strong>Consensus Intelligence 기반 Tri-CLI 오케스트레이션</strong><br>
|
|
13
|
+
<em>Claude + Codex + Gemini — 3자 토론, Anti-Herding 검증, Deep/Light 변형을 갖춘 33개 스킬.</em>
|
|
14
14
|
</p>
|
|
15
15
|
|
|
16
16
|
<p align="center">
|
|
@@ -31,56 +31,190 @@
|
|
|
31
31
|
|
|
32
32
|
<p align="center">
|
|
33
33
|
<a href="#빠른-시작">빠른 시작</a> ·
|
|
34
|
+
<a href="#tri-cli-합의-엔진">Tri-CLI 합의 엔진</a> ·
|
|
35
|
+
<a href="#33개-스킬">33개 스킬</a> ·
|
|
34
36
|
<a href="#아키텍처">아키텍처</a> ·
|
|
35
|
-
<a href="
|
|
36
|
-
<a href="#위임delegator-mcp">위임 MCP</a> ·
|
|
37
|
-
<a href="#에이전트-타입-21">에이전트 타입</a> ·
|
|
37
|
+
<a href="#deep-vs-light">Deep vs Light</a> ·
|
|
38
38
|
<a href="#보안">보안</a>
|
|
39
39
|
</p>
|
|
40
40
|
|
|
41
41
|
---
|
|
42
42
|
|
|
43
|
-
##
|
|
43
|
+
## v8의 새로운 기능
|
|
44
44
|
|
|
45
|
-
**triflux
|
|
45
|
+
**triflux v8**은 **Tri-CLI Consensus Intelligence**를 도입합니다. Claude, Codex, Gemini가 각각 독립적으로 분석한 뒤, 구조화된 토론을 거쳐 교차 검증하는 근본적으로 새로운 접근 방식입니다. 모든 Deep 스킬은 Anti-Herding(편향 오염 방지)과 Consensus Gate를 통한 출력 보장을 제공합니다.
|
|
46
46
|
|
|
47
47
|
### 주요 특징
|
|
48
48
|
|
|
49
|
-
-
|
|
50
|
-
- **
|
|
51
|
-
- **
|
|
52
|
-
-
|
|
53
|
-
- **
|
|
54
|
-
- **
|
|
55
|
-
- **
|
|
56
|
-
- **
|
|
57
|
-
-
|
|
58
|
-
- **psmux / Windows 네이티브** — `tmux`
|
|
59
|
-
- **QoS 대시보드** — AIMD 기반 동적 배치 사이징 및 실시간 상태 모니터링.
|
|
60
|
-
- **21종 이상의 전문 에이전트** — `scientist-deep`부터 `spark_fast`까지, 작업에 최적화된 에이전트 라인업.
|
|
49
|
+
- **33개 스킬** — Light 11개 + Deep 10개 + Infrastructure 12개, 9개 도메인으로 구성
|
|
50
|
+
- **Tri-Debate Engine** — 3개 CLI가 독립 분석 후 Anti-Herding, 교차 검증, 합의 점수 산출
|
|
51
|
+
- **Deep/Light 변형** — 모든 기능에 토큰 효율적인 Light 모드와 정밀한 Deep 모드를 제공
|
|
52
|
+
- **Consensus Gate** — Deep 스킬은 3개 CLI 중 2개 이상의 동의를 요구하며, 학습된 가중치로 CLI 신뢰도를 추적
|
|
53
|
+
- **Anti-Herding** — 1라운드는 상호 참조 없이 병렬 실행하여 편향 오염을 원천 차단
|
|
54
|
+
- **Expert Panel** — `tfx-panel`을 통한 가상 전문가 시뮬레이션 (Fowler, Newman, Porter 등)
|
|
55
|
+
- **94% 토큰 절감** — `tfx-index`가 58K 토큰 분량의 파일 읽기를 3KB 프로젝트 맵으로 대체
|
|
56
|
+
- **Persistence Loop** — `tfx-ralph`(3자 검증)와 `tfx-sisyphus`(자동 라우팅)가 검증 완료까지 반복 실행
|
|
57
|
+
- **Hub IPC** — Named Pipe 및 HTTP MCP 브리지를 활용한 초고속 상주형 Hub 서버
|
|
58
|
+
- **psmux / Windows 네이티브** — `tmux`(WSL)와 `psmux`(Windows Terminal) 하이브리드 지원
|
|
61
59
|
|
|
62
60
|
---
|
|
63
61
|
|
|
64
|
-
##
|
|
62
|
+
## Tri-CLI 합의 엔진
|
|
63
|
+
|
|
64
|
+
triflux의 핵심 혁신입니다. 단일 모델을 맹신하는 대신, 모든 Deep 스킬은 다음 과정을 거칩니다:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
Phase 1: Independent Analysis (Anti-Herding)
|
|
68
|
+
├─ Claude Opus → Analysis A (격리 실행, 상호 참조 없음)
|
|
69
|
+
├─ Codex CLI → Analysis B (격리 실행, 상호 참조 없음)
|
|
70
|
+
└─ Gemini CLI → Analysis C (격리 실행, 상호 참조 없음)
|
|
71
|
+
|
|
72
|
+
Phase 2: Cross-Validation
|
|
73
|
+
├─ 3개 소스의 모든 발견 사항을 비교
|
|
74
|
+
├─ 2/3 이상 동의 → CONSENSUS (합의)
|
|
75
|
+
└─ 1/3만 동의 → DISPUTED (이의, 해결 필요)
|
|
76
|
+
|
|
77
|
+
Phase 3: Resolution (합의율 < 70%일 경우)
|
|
78
|
+
├─ 각 CLI가 반대 의견을 검토
|
|
79
|
+
├─ 근거를 들어 수용 또는 반박
|
|
80
|
+
└─ 미해결 → 사용자가 최종 판단
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**결과**: 단일 모델 리뷰 대비 오탐(false positive) 87% 감소 (Calimero 합의 연구 기반).
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 33개 스킬
|
|
88
|
+
|
|
89
|
+
### 리서치
|
|
90
|
+
|
|
91
|
+
| 스킬 | 유형 | 설명 | 토큰 |
|
|
92
|
+
|------|------|------|------|
|
|
93
|
+
| `tfx-research` | Light | Exa/Brave/Tavily 자동 선택을 통한 빠른 웹 검색 | ~5K |
|
|
94
|
+
| `tfx-deep-research` | Deep | 다중 소스 병렬 검색 + 3-CLI 교차 검증 | ~50K |
|
|
95
|
+
| `tfx-codebase-search` | Light | Haiku 에이전트를 활용한 빠른 코드베이스 탐색 | ~3K |
|
|
96
|
+
| `tfx-autoresearch` | Light | 자율 웹 리서치 후 구조화된 리포트 생성 | ~15K |
|
|
97
|
+
|
|
98
|
+
### 분석
|
|
99
|
+
|
|
100
|
+
| 스킬 | 유형 | 설명 | 토큰 |
|
|
101
|
+
|------|------|------|------|
|
|
102
|
+
| `tfx-analysis` | Light | Codex를 통한 빠른 코드/아키텍처 분석 | ~8K |
|
|
103
|
+
| `tfx-deep-analysis` | Deep | 3자 관점 분석 + Tri-Debate 합의 도출 | ~30K |
|
|
104
|
+
|
|
105
|
+
### 실행
|
|
106
|
+
|
|
107
|
+
| 스킬 | 유형 | 설명 | 토큰 |
|
|
108
|
+
|------|------|------|------|
|
|
109
|
+
| `tfx-autopilot` | Light | 단순 자율 작업 실행 | ~10K |
|
|
110
|
+
| `tfx-deep-autopilot` | Deep | 5단계 전체 파이프라인: Expand → Plan → Execute → QA → Validate | ~80K |
|
|
111
|
+
| `tfx-auto` | — | 명령어 단축키를 갖춘 통합 CLI 오케스트레이터 | 가변 |
|
|
112
|
+
|
|
113
|
+
### QA 및 검증
|
|
114
|
+
|
|
115
|
+
| 스킬 | 유형 | 설명 | 토큰 |
|
|
116
|
+
|------|------|------|------|
|
|
117
|
+
| `tfx-qa` | Light | Test → Fix → Retest 순환 (최대 3회) | ~5K |
|
|
118
|
+
| `tfx-deep-qa` | Deep | 3-CLI 독립 검증 + 합의 점수 산출 | ~25K |
|
|
119
|
+
|
|
120
|
+
### 계획
|
|
121
|
+
|
|
122
|
+
| 스킬 | 유형 | 설명 | 토큰 |
|
|
123
|
+
|------|------|------|------|
|
|
124
|
+
| `tfx-plan` | Light | Opus를 통한 빠른 구현 계획 수립 | ~8K |
|
|
125
|
+
| `tfx-deep-plan` | Deep | Planner + Architect + Critic 합의 기반 계획 | ~20K |
|
|
126
|
+
|
|
127
|
+
### 리뷰
|
|
128
|
+
|
|
129
|
+
| 스킬 | 유형 | 설명 | 토큰 |
|
|
130
|
+
|------|------|------|------|
|
|
131
|
+
| `tfx-review` | Light | Codex를 통한 빠른 코드 리뷰 | ~8K |
|
|
132
|
+
| `tfx-deep-review` | Deep | 3-CLI 독립 리뷰, 합의 항목만 리포팅 | ~25K |
|
|
133
|
+
|
|
134
|
+
### 토론 및 패널
|
|
135
|
+
|
|
136
|
+
| 스킬 | 유형 | 설명 | 토큰 |
|
|
137
|
+
|------|------|------|------|
|
|
138
|
+
| `tfx-debate` | Deep | 모든 주제에 대한 구조화된 3자 토론 | ~20K |
|
|
139
|
+
| `tfx-panel` | Deep | 가상 전문가 패널 시뮬레이션 | ~30K |
|
|
140
|
+
|
|
141
|
+
### 지속 실행
|
|
142
|
+
|
|
143
|
+
| 스킬 | 유형 | 설명 | 토큰 |
|
|
144
|
+
|------|------|------|------|
|
|
145
|
+
| `tfx-ralph` | Deep | 완료될 때까지 3자 검증 기반 반복 실행 | 가변 |
|
|
146
|
+
| `tfx-sisyphus` | Light | 모델 에스컬레이션을 갖춘 자동 라우팅 실행 | 가변 |
|
|
147
|
+
|
|
148
|
+
### 메타 및 유틸리티
|
|
149
|
+
|
|
150
|
+
| 스킬 | 유형 | 설명 | 토큰 |
|
|
151
|
+
|------|------|------|------|
|
|
152
|
+
| `tfx-index` | Light | 프로젝트 인덱싱으로 94% 토큰 절감 (58K→3K) | ~2K |
|
|
153
|
+
| `tfx-forge` | Light | 대화형 스킬 생성 | ~10K |
|
|
154
|
+
| `tfx-interview` | Light | 소크라테스식 요구사항 탐색 | ~15K |
|
|
155
|
+
| `tfx-deslop` | Deep | 3자 합의 기반 AI slop 제거 | ~10K |
|
|
156
|
+
|
|
157
|
+
### 인프라
|
|
158
|
+
|
|
159
|
+
| 스킬 | 설명 |
|
|
160
|
+
|------|------|
|
|
161
|
+
| `tfx-consensus` | 핵심 합의 엔진 (내부용, 모든 Deep 스킬이 사용) |
|
|
162
|
+
| `tfx-hub` | MCP 메시지 버스 관리 |
|
|
163
|
+
| `tfx-multi` | Multi-CLI 팀 오케스트레이션 |
|
|
164
|
+
| `tfx-setup` | 초기 설정 마법사 |
|
|
165
|
+
| `tfx-doctor` | 진단 및 자동 복구 |
|
|
166
|
+
| `tfx-profile` | Codex CLI 프로필 관리 |
|
|
167
|
+
| `tfx-codex` | Codex 전용 오케스트레이터 |
|
|
168
|
+
| `tfx-gemini` | Gemini 전용 오케스트레이터 |
|
|
169
|
+
| `tfx-auto-codex` | Codex 주도 오케스트레이터 |
|
|
170
|
+
| `remote-spawn` | psmux를 통한 원격 세션 관리 |
|
|
65
171
|
|
|
66
|
-
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Deep vs Light
|
|
175
|
+
|
|
176
|
+
모든 도메인에서 두 가지 모드를 제공합니다:
|
|
177
|
+
|
|
178
|
+
| 항목 | Light | Deep |
|
|
179
|
+
|------|-------|------|
|
|
180
|
+
| **CLI** | 단일 (주로 Codex) | 3자 (Claude + Codex + Gemini) |
|
|
181
|
+
| **토큰** | 3K-15K | 20K-80K |
|
|
182
|
+
| **속도** | 수 초 | 수 분 |
|
|
183
|
+
| **정확도** | 양호 (단일 관점) | 우수 (합의 검증 완료) |
|
|
184
|
+
| **편향** | 발생 가능 | Anti-Herding으로 제거 |
|
|
185
|
+
| **적합한 상황** | 빠른 작업, 익숙한 패턴 | 중요한 의사결정, 미지의 영역 |
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 아키텍처
|
|
67
190
|
|
|
68
191
|
```mermaid
|
|
69
192
|
graph TD
|
|
70
|
-
User([사용자 / Claude Code])
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
subgraph "
|
|
193
|
+
User([사용자 / Claude Code]) <-->|Skills & Slash Commands| TFX[tfx Skills Layer]
|
|
194
|
+
TFX <-->|Consensus Engine| CONSENSUS[tfx-consensus]
|
|
195
|
+
|
|
196
|
+
subgraph "Tri-CLI Consensus"
|
|
197
|
+
CONSENSUS -->|Independent| CLAUDE[Claude Opus/Sonnet]
|
|
198
|
+
CONSENSUS -->|Independent| CODEX[Codex CLI]
|
|
199
|
+
CONSENSUS -->|Independent| GEMINI[Gemini CLI]
|
|
200
|
+
CLAUDE --> MERGE[Cross-Validation]
|
|
201
|
+
CODEX --> MERGE
|
|
202
|
+
GEMINI --> MERGE
|
|
203
|
+
MERGE --> GATE{Consensus >= 70%?}
|
|
204
|
+
GATE -->|Yes| OUTPUT[검증된 출력]
|
|
205
|
+
GATE -->|No| RESOLVE[Resolution Round]
|
|
206
|
+
RESOLVE --> MERGE
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
TFX <-->|Named Pipe / HTTP| HUB[triflux Hub 서버]
|
|
210
|
+
|
|
211
|
+
subgraph "오케스트레이션 Hub"
|
|
74
212
|
HUB <--> STORE[(SQLite 저장소)]
|
|
75
213
|
HUB <--> DASH[QoS 대시보드]
|
|
76
|
-
HUB <--> DELEGATOR[
|
|
214
|
+
HUB <--> DELEGATOR[Delegator 서비스]
|
|
77
215
|
end
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
DELEGATOR <-->|Spawn| GEMINI[Gemini CLI]
|
|
81
|
-
DELEGATOR <-->|Native| CLAUDE[Claude Code]
|
|
82
|
-
|
|
83
|
-
HUB -.->|MCP 브리지| External[외부 MCP 클라이언트]
|
|
216
|
+
|
|
217
|
+
HUB -.->|MCP Bridge| External[외부 MCP 클라이언트]
|
|
84
218
|
```
|
|
85
219
|
|
|
86
220
|
---
|
|
@@ -93,106 +227,84 @@ graph TD
|
|
|
93
227
|
npm install -g triflux
|
|
94
228
|
```
|
|
95
229
|
|
|
96
|
-
### 2. 설정
|
|
97
|
-
|
|
98
|
-
스크립트를 동기화하고 Claude Code에 스킬을 등록하며 HUD를 설정합니다.
|
|
230
|
+
### 2. 설정
|
|
99
231
|
|
|
100
232
|
```bash
|
|
101
233
|
tfx setup
|
|
102
234
|
```
|
|
103
235
|
|
|
104
|
-
### 3.
|
|
236
|
+
### 3. 사용법
|
|
105
237
|
|
|
106
238
|
```bash
|
|
107
|
-
#
|
|
108
|
-
/tfx-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
/tfx-auto --quick "작은 회귀 버그 수정"
|
|
112
|
-
|
|
113
|
-
# 직접 위임
|
|
114
|
-
/tfx-delegate "최신 React 패턴 조사" --provider gemini
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
v5에서는 멀티태스크 오케스트레이션이 기본적으로 `--thorough`로 실행되며, 더 가벼운 경로가 필요할 때 `--quick`을 사용합니다.
|
|
118
|
-
|
|
119
|
-
---
|
|
239
|
+
# Light — 단일 모델로 빠르게 실행
|
|
240
|
+
/tfx-research "React 19 Server Actions best practices"
|
|
241
|
+
/tfx-review
|
|
242
|
+
/tfx-plan "add JWT auth middleware"
|
|
120
243
|
|
|
121
|
-
|
|
244
|
+
# Deep — 중요한 작업에 3자 합의 적용
|
|
245
|
+
/tfx-deep-research "microservice architecture comparison 2026"
|
|
246
|
+
/tfx-deep-review
|
|
247
|
+
/tfx-deep-plan "migrate REST to GraphQL"
|
|
122
248
|
|
|
123
|
-
|
|
249
|
+
# Debate — 3개의 독립적인 의견을 확보
|
|
250
|
+
/tfx-debate "Redis vs PostgreSQL LISTEN/NOTIFY for real-time events"
|
|
124
251
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
| **plan** | Opus가 설계를 주도하고 Codex scout가 병렬 탐색을 수행하며, 계획 산출물을 파일로 영속화합니다. |
|
|
128
|
-
| **prd** | 상세한 기술 명세서(Technical Spec / PRD)를 생성하고 승인 체크포인트를 준비합니다. |
|
|
129
|
-
| **exec** | 실제 코드 구현을 수행합니다. |
|
|
130
|
-
| **verify** | 테스트를 실행하고 구현 결과가 PRD와 일치하는지 검증합니다. |
|
|
131
|
-
| **fix** | (루프) 검증 단계에서 발견된 실패를 리드 피드백과 함께 재실행하여 수정합니다 (최대 3회). |
|
|
132
|
-
| **ralph** | (재시작) 수정 루프 실패 시, 새로운 통찰을 바탕으로 `plan`부터 다시 시작합니다 (최대 10회). |
|
|
252
|
+
# Persistence — 완료될 때까지 멈추지 않음
|
|
253
|
+
/tfx-ralph "implement full auth flow with tests"
|
|
133
254
|
|
|
134
|
-
|
|
255
|
+
# Team — Multi-CLI 병렬 오케스트레이션
|
|
256
|
+
/tfx-multi "refactor auth + update UI + add tests"
|
|
257
|
+
```
|
|
135
258
|
|
|
136
259
|
---
|
|
137
260
|
|
|
138
|
-
##
|
|
261
|
+
## 리서치 기반
|
|
139
262
|
|
|
140
|
-
|
|
263
|
+
v8 스킬 체계는 Claude Code 생태계 내 37개 클론 저장소를 종합 역분석한 결과를 토대로 설계되었습니다:
|
|
141
264
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
-
|
|
145
|
-
|
|
146
|
-
|
|
265
|
+
| 프로젝트 | Stars | 채택한 핵심 인사이트 |
|
|
266
|
+
|----------|-------|---------------------|
|
|
267
|
+
| everything-claude-code | 114K | 직관 기반 학습 패턴 |
|
|
268
|
+
| Superpowers | 93K | TDD 강제화, 조합형 스킬 |
|
|
269
|
+
| oh-my-openagent | 44K | 카테고리 라우팅, Hashline 편집 |
|
|
270
|
+
| SuperClaude | 22K | index-repo 94% 토큰 절감, 전문가 패널 |
|
|
271
|
+
| oh-my-claudecode | 15K | Ralph 지속 실행, CCG tri-model |
|
|
272
|
+
| ruflo | 28K | 60개 이상의 에이전트 오케스트레이션 |
|
|
273
|
+
| Exa MCP | 3.7K | 뉴럴 검색, 하이라이트 추출 |
|
|
274
|
+
| Brave Search MCP | — | 독립 인덱스, Goggles 재순위 |
|
|
275
|
+
| Tavily MCP | — | Deep Research 파이프라인 |
|
|
147
276
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
| 에이전트 | CLI | 용도 |
|
|
151
|
-
|---------|-----|------|
|
|
152
|
-
| **executor** | Codex | 표준적인 코드 구현 및 리팩터링. |
|
|
153
|
-
| **build-fixer** | Codex/Gemini | 빌드 및 타입 에러 즉시 수정. |
|
|
154
|
-
| **architect** | Codex | 상위 레벨 시스템 설계 및 계획. |
|
|
155
|
-
| **scientist-deep** | Codex | 철저한 조사 및 심층 분석. |
|
|
156
|
-
| **code-reviewer** | Codex | 보안 및 로직 중심의 코드 리뷰. |
|
|
157
|
-
| **security-reviewer**| Codex | 취약점 및 권한 설정 감사. |
|
|
158
|
-
| **quality-reviewer** | Codex | 로직 결함 및 유지보수성 감사. |
|
|
159
|
-
| **designer** | Gemini | UI/UX 및 문서 디자인. |
|
|
160
|
-
| **writer** | Gemini | 기술 문서 작성 및 설명. |
|
|
161
|
-
| **spark** | Gemini | 가벼운 프로토타이핑 및 빠른 처리. |
|
|
162
|
-
| **verifier** | Claude | 최종 검증 및 유효성 확인. |
|
|
163
|
-
| **test-engineer** | Claude | 포괄적인 테스트 스위트 생성. |
|
|
164
|
-
| *...기타* | | `debugger`, `planner`, `critic`, `analyst`, `scientist`, `explore`, `qa-tester` |
|
|
277
|
+
5개 언어(EN/CN/RU/JP/UA) 리서치를 통해 고유 패턴을 발굴했습니다: WeChat 연동(CN), Discord 모바일 브리지(JP), GigaCode 국산 대안(RU), 커뮤니티 주도 로컬라이제이션 등.
|
|
165
278
|
|
|
166
279
|
---
|
|
167
280
|
|
|
168
281
|
## 보안
|
|
169
282
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
-
|
|
173
|
-
-
|
|
174
|
-
-
|
|
175
|
-
- **인젝션 방어** — `psmux` 및 `tmux` 실행 시 쉘 명령어 새니타이징(Sanitizing).
|
|
283
|
+
- **Hub 토큰 인증** — `TFX_HUB_TOKEN`을 이용한 보안 IPC (Bearer Auth)
|
|
284
|
+
- **Localhost 전용** — Hub가 기본적으로 `127.0.0.1`에만 바인딩
|
|
285
|
+
- **CORS 잠금** — QoS 대시보드에 대한 엄격한 오리진 검사
|
|
286
|
+
- **인젝션 방어** — `psmux` 및 `tmux` 실행 시 쉘 명령어 새니타이징
|
|
287
|
+
- **합의 기반 검증** — Deep 스킬이 3자 합의를 통해 단일 모델 환각을 방지
|
|
176
288
|
|
|
177
289
|
---
|
|
178
290
|
|
|
179
|
-
##
|
|
180
|
-
|
|
181
|
-
`http://localhost:27888/dashboard`에서 오케스트레이션 상태를 모니터링하세요.
|
|
291
|
+
## 플랫폼 지원
|
|
182
292
|
|
|
183
|
-
- **
|
|
184
|
-
-
|
|
185
|
-
- **할당량 추적** — Codex 및 Gemini의 속도 제한(Rate Limit)을 실시간으로 확인합니다.
|
|
293
|
+
- **Linux / macOS**: 네이티브 `tmux` 통합
|
|
294
|
+
- **Windows**: **psmux** (PowerShell Multiplexer) + Windows Terminal 네이티브
|
|
186
295
|
|
|
187
296
|
---
|
|
188
297
|
|
|
189
|
-
##
|
|
298
|
+
## QoS 대시보드
|
|
299
|
+
|
|
300
|
+
`http://localhost:27888/dashboard`에서 오케스트레이션 상태를 모니터링할 수 있습니다.
|
|
190
301
|
|
|
191
|
-
- **
|
|
192
|
-
-
|
|
302
|
+
- **AIMD 배치 사이징** — 작업 성공률에 따라 병렬 작업 수를 자동 조절
|
|
303
|
+
- **토큰 절약량** — Claude 토큰 절약량을 실시간 추적
|
|
304
|
+
- **합의 메트릭** — CLI 간 합의율을 추적
|
|
193
305
|
|
|
194
306
|
---
|
|
195
307
|
|
|
196
308
|
<p align="center">
|
|
197
|
-
<sub>MIT License · Made
|
|
309
|
+
<sub>MIT License · Made by <a href="https://github.com/tellang">tellang</a></sub>
|
|
198
310
|
</p>
|
package/hub/team/ansi.mjs
CHANGED
|
@@ -39,7 +39,7 @@ export const FG = {
|
|
|
39
39
|
cyan: `${ESC}[36m`,
|
|
40
40
|
gray: `${ESC}[90m`,
|
|
41
41
|
// triflux 브랜드
|
|
42
|
-
codex: `${ESC}[
|
|
42
|
+
codex: `${ESC}[38;2;16;163;127m`, // #10a37f codex green
|
|
43
43
|
gemini: `${ESC}[38;5;39m`, // blue
|
|
44
44
|
claude: `${ESC}[38;2;232;112;64m`, // orange
|
|
45
45
|
triflux: `${ESC}[38;5;214m`, // amber
|
|
@@ -185,7 +185,7 @@ export function clip(str, width) {
|
|
|
185
185
|
acc += cw;
|
|
186
186
|
i += char.length;
|
|
187
187
|
}
|
|
188
|
-
return
|
|
188
|
+
return str + " ".repeat(width - acc);
|
|
189
189
|
}
|
|
190
190
|
|
|
191
191
|
// ── Catppuccin Mocha 색상 상수 ──
|
package/hub/team/tui.mjs
CHANGED
|
@@ -363,16 +363,15 @@ function buildWorkerRail(name, st, opts = {}) {
|
|
|
363
363
|
innerWidth,
|
|
364
364
|
);
|
|
365
365
|
|
|
366
|
-
// status-specific border:
|
|
366
|
+
// status-specific border: focused→mauve, selected→bright, non-selected→dimmed tint
|
|
367
367
|
const statusBorderColor = (() => {
|
|
368
368
|
if (focused) return MOCHA.thinking;
|
|
369
|
-
if (selected)
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
}
|
|
375
|
-
return fadeBorderColor(status, st._prevStatus, st._statusChangedAt);
|
|
369
|
+
if (selected) return statusColor(status);
|
|
370
|
+
// Non-selected: status-tinted border (50% blend toward border gray)
|
|
371
|
+
const from = statusToRgb(status);
|
|
372
|
+
const to = MOCHA_RGB.border;
|
|
373
|
+
const c = lerpRgb(from, to, 0.5);
|
|
374
|
+
return `\x1b[38;2;${c.r};${c.g};${c.b}m`;
|
|
376
375
|
})();
|
|
377
376
|
|
|
378
377
|
if (compact) {
|
|
@@ -457,7 +456,7 @@ function buildFocusPane(name, st, opts = {}) {
|
|
|
457
456
|
];
|
|
458
457
|
|
|
459
458
|
// 본문 스크롤 영역
|
|
460
|
-
const bodyAvail = Math.max(0, height - stickyLines.length -
|
|
459
|
+
const bodyAvail = Math.max(0, height - stickyLines.length - 3); // top+bot border + scrollInfo
|
|
461
460
|
const allBodyLines = wrapTextAll(detailText(st), innerWidth, rawMode);
|
|
462
461
|
|
|
463
462
|
let startIdx;
|