diff --git a/README.md b/README.md index fdfbb73..ca4a749 100644 --- a/README.md +++ b/README.md @@ -4,34 +4,35 @@ IOP는 단일 서비스가 아닌 플랫폼이다. 여러 앱이 협력하여 AI ## 앱 구성 -| 앱 | 설명 | 상태 | -|---|---|---| -| `apps/node` | 노드 에이전트. 디바이스당 1개 실행. 실제 추론 어댑터 관리 | **1차 구현 대상** | -| `apps/edge` | 외부 OpenAI-compatible API 게이트웨이 | Placeholder | -| `apps/control-plane` | 노드 등록/정책/스케줄링 제어 | Placeholder | -| `apps/worker` | 비동기 작업 처리기 | Placeholder | +| 앱 | 책임 | +|---|---| +| `apps/node` | 디바이스별 node agent. 런타임 라우팅, 추론 어댑터 실행, edge 연결을 담당한다. | +| `apps/edge` | node 등록, 레지스트리, transport, 콘솔 기반 요청 전달을 담당하는 gateway이다. | +| `apps/control-plane` | 노드 등록, 정책, 스케줄링 제어 영역이다. | +| `apps/worker` | 비동기 작업 처리 영역이다. | ## 내부 통신 - **프로토콜**: TCP + Protobuf + mTLS -- **프레이밍**: 4-byte big-endian length prefix | JSON(Envelope) +- **메시지 계약**: `proto/iop/*.proto` +- **생성물**: `proto/gen/iop/*.pb.go` - gRPC **사용 금지** - WebSocket transport 기본화 **금지** ## 외부 API -외부 OpenAI-compatible API는 향후 `apps/edge`에서 담당한다. +외부 OpenAI-compatible API는 `apps/edge`의 책임 영역으로 둔다. -## 빌드 +## 기본 명령 예시 ```bash # 의존성 설치 go mod tidy -# node 빌드 +# node CLI 빌드 예시 go build -o bin/node ./apps/node/cmd/node -# 실행 +# node CLI 실행 예시 ./bin/node version ./bin/node config print ./bin/node serve @@ -42,20 +43,12 @@ go build -o bin/node ./apps/node/cmd/node ``` iop/ apps/ - node/ # Node Agent — 1차 구현 - edge/ # Edge API — placeholder + node/ + edge/ control-plane/ worker/ - packages/ - config/ # 설정 로딩 - protocol/ # 와이어 포맷 타입 - policy/ # 정책 엔진 인터페이스 - auth/ # mTLS 인증 - metadata/ # 메타데이터 타입 - jobs/ # 작업 큐 타입 - observability/ # 로깅/메트릭 - version/ # 버전 상수 - proto/iop/ # Protobuf 스펙 정의 - configs/ # 앱별 설정 파일 - docs/ # 문서 + packages/ # 공통 패키지 + proto/ # Protobuf 스펙과 생성물 + configs/ # 앱별 설정 파일 + docs/ # 아키텍처와 운영 문서 ```