2026-10-26 11:12:14 +00:00
# Ariweb Suite
고객이 회원가입·로그인 → 상품 선택 → 사이트 제작(Webmaker) → 배포 → 도메인·HTTPS → 메일(AriMail) → 백업 → 운영(재배포·복원·이전·소유권·해지)까지 **하나의 연결된 서비스**로 이용하는 통합 플랫폼이다.
운영자는 HAL(`hal.ariweb.net` )에서 릴리스·서버·모듈·작업·장애·복구를 관리하고, HAL 이 Node Agent 를 통해 나머지 모든 모듈을 배포·갱신·되돌리기·복구한다.
HAL 0.4.0: 통합 설정 관제 — Webmaker·AriMail·Agent 서버 단위 설정을 HAL 이 관리(설정 목록·범위 global/server·비밀값 Vault·유효값 hash, /ops/api/settings·재인증, settings.apply → settings.apply.target → Agent module.configure(HMAC 설정 받기·hash 확인·hal-managed.json 0600·재시작·모듈 적용 확인), /ops/settings 화면·운영 현황 "설정 적용 필요", AI 도구 hal_settings_get/set/apply(비밀값 거부)), 도입 모듈 Webmaker 1.9.0·AriMail 1.1.0(HAL 0.4.0 대응 halCompat, hal-managed 적용·관리 항목 409 managed_by_hal 잠금·"HAL 관리" 표시) 재도입(pin 8f8716c·f959b65, import-sources 미수정 파일 갱신), Agent heartbeat 관리, module-as-user write --mode 600, 개발 지시 v0.4.0(Oz)·docs/HAL-SETTINGS.md·VERSION_HISTORY 0.4.0 — test/hal-040.test.mjs RED → GREEN 5/5, agent 11/11, 전체 31파일 통과
2026-10-29 06:46:45 +00:00
- 버전: **0.4.0** — 변경 이력은 [VERSION_HISTORY.md ](VERSION_HISTORY.md )
HAL AI 채팅룸 도입(0.3.0): 운영자 콘솔 오른쪽 패널에 통합 방(첫 탭 고정) + 모델별 개별 방, 모델 연결(로그인·OAuth PKCE·API 키, 비밀은 Vault), 모델별 고유 정보(이름·역할·특성), HAL 제어·감시 스킬 문서·도구 29종(읽기 즉시 / 쓰기·고위험은 제안 → 운영자 승인(재인증·3단계 확인)), 통합 방 규칙(@이름 지정, 모델→모델 자동 1회 전달), MCP stdio 서버(읽기 전용), 개발 지시 v0.3.0(Oz), docs/HAL-AI.md, VERSION_HISTORY 0.3.0 — test/hal-ai.test.mjs RED 0/11 → GREEN 11/11, 전체 26파일 182건 통과
2026-10-28 17:41:50 +00:00
- HAL AI 채팅룸(연결·방·도구·MCP, 0.3.0): [docs/HAL-AI.md ](docs/HAL-AI.md )
2026-10-26 11:12:14 +00:00
- 설계·개발 규약: [docs/ARCHITECTURE.md ](docs/ARCHITECTURE.md ) · 포털↔HAL 작업 계약: [docs/HAL-JOBS.md ](docs/HAL-JOBS.md ) · HAL↔Agent 프로토콜: [docs/HAL-AGENT.md ](docs/HAL-AGENT.md )
HAL 0.4.0: 통합 설정 관제 — Webmaker·AriMail·Agent 서버 단위 설정을 HAL 이 관리(설정 목록·범위 global/server·비밀값 Vault·유효값 hash, /ops/api/settings·재인증, settings.apply → settings.apply.target → Agent module.configure(HMAC 설정 받기·hash 확인·hal-managed.json 0600·재시작·모듈 적용 확인), /ops/settings 화면·운영 현황 "설정 적용 필요", AI 도구 hal_settings_get/set/apply(비밀값 거부)), 도입 모듈 Webmaker 1.9.0·AriMail 1.1.0(HAL 0.4.0 대응 halCompat, hal-managed 적용·관리 항목 409 managed_by_hal 잠금·"HAL 관리" 표시) 재도입(pin 8f8716c·f959b65, import-sources 미수정 파일 갱신), Agent heartbeat 관리, module-as-user write --mode 600, 개발 지시 v0.4.0(Oz)·docs/HAL-SETTINGS.md·VERSION_HISTORY 0.4.0 — test/hal-040.test.mjs RED → GREEN 5/5, agent 11/11, 전체 31파일 통과
2026-10-29 06:46:45 +00:00
- HAL 통합 설정 관제(0.4.0 — Webmaker·AriMail·Agent 서버 단위 설정을 HAL 이 관리): [docs/HAL-SETTINGS.md ](docs/HAL-SETTINGS.md )
- 도입 소스(Webmaker 1.9.0 · AriMail 1.1.0, 모두 HAL 0.4.0 대응): [IMPORTED_SOURCES.md ](IMPORTED_SOURCES.md ) — `node scripts/import-sources.mjs` 로 갱신(참조 저장소와 나란히 개발 중이면 `--allow-dirty` )
- 개발 지시 원문: `Ariweb-Suitle_Dev-Order_v0.1.1.md` (기준) · `Ariweb-Suitle_Dev-Order_v0.1.4.md` · `Ariweb-Suitle_Dev-Order_v0.2.0.md` (Webmaker 직접 편집) · `Ariweb-Suitle_Dev-Order_v0.2.1.md` (HAL 고위험 재인증 안내 위치) · `Ariweb-Suitle_Dev-Order_v0.3.0.md` (HAL AI 채팅룸, Oz) · `Ariweb-Suitle_Dev-Order_v0.3.1.md` (서버 설치 CLI 자동 탐색, Oz) · `Ariweb-Suitle_Dev-Order_v0.3.2.md` (AI 연동 편의성·도구 기본 설정·승인 요청, Oz) · `Ariweb-Suitle_Dev-Order_v0.3.9.md` (로그인 터미널·텍스트 셸·모델 선택·슬래시 명령, Oz) · `Ariweb-Suitle_Dev-Order_v0.3.10.md` (텍스트 셸 복사·주소 추출, Oz) · `Ariweb-Suitle_Dev-Order_v0.3.17.md` (HawkEye·역할별 통합 배포·릴리스 화면·작업 진행 창·서버 선택, Oz) · `Ariweb-Suitle_Dev-Order_v0.4.0.md` (통합 설정 관제)
2026-10-26 11:12:14 +00:00
## 구성
| 프로세스 | 진입점 | 포트 | 공개 주소 |
|---|---|---|---|
| HAL(제어 평면·운영자 콘솔·공개 상태) | `hal/index.mjs` | 127.0.0.1:8900 | https://hal.ariweb.net |
| 고객 포털 | `portal/index.mjs` | 127.0.0.1:8910 | https://my.ariweb.net |
| Node Agent | `agent/index.mjs` | — | 각 관리 서버 |
| Webmaker(도입) | `modules/webmaker/server.js` | 127.0.0.1:3080 | https://webmaker.ariweb.net |
| AriMail(도입) | `modules/arimail/server/index.mjs` | 127.0.0.1:8790 + 메일 포트 | https://webmail.ariweb.net |
외부 npm 의존성 없음. Node 22.13 이상(`node:sqlite` ).
## 개발
```bash
node test/run.mjs # 전체 회귀 테스트 (test/*.test.mjs)
node test/run.mjs lib # 이름에 lib 가 들어간 테스트만
node scripts/import-sources.mjs # 참조 저장소 고정 커밋에서 모듈 소스 갱신 + manifest
node scripts/release.mjs # 릴리스 artifact(dist/<version>/) 생성·검사
ARIWEB_PORTAL_DATA = ./data/portal node portal/index.mjs
ARIWEB_HAL_DATA = ./data/hal node hal/index.mjs
```
## 배포 순서(§32)
1. `main` 에 병합된 승인 릴리스에서 `node scripts/release.mjs` 로 artifact 생성
2. 최초 설치에서만 `deploy/bootstrap-hal.sh` 로 HAL 설치(HAL 자체 건강·실행 버전 확인, 첫 Node Agent 등록)
3. 이후 모든 모듈(포털·Webmaker·AriMail·Agent·백업·관측)은 HAL 운영자 콘솔의 모듈 배포 작업으로만 설치·갱신·되돌리기