# /AIWK_COMMON/action_ui/ai_read.md

## 역할
`aiwk://` URI의 `action` 값에 따라 실행창 UI를 구성하는 공용 action UI registry 폴더입니다.

## 현재 파일
- `aiwk_action_ui_basic.js`: `aiwk_ping`, `aiwk_route`, `_default` 실행창 UI를 등록합니다.

## 추가 규칙
- 신규 action UI는 `AIWK_ACTION_UI[action] = { title, render(ctx), onResult(ctx,msg,meta) }` 형식으로 등록합니다.
- 위험 action은 자동 실행하지 말고 실행창에서 사용자가 확인 후 실행하게 합니다.
- 실제 WSS 전송/결과 매칭은 `AIWK_EXT4/aiwk_uri_runner.js`가 담당합니다.

## v050 메모
- `aiwk://` 기본 action은 `aiwk_chat`입니다. action이 없으면 채팅 실행창을 띄웁니다.
- 실행창은 웹페이지가 만든 창이 아니라 EXT4 content script가 DOM 위에 삽입하는 `EXT4 · AIWK URI 실행창`입니다.
- `aiwk_chat`은 일반 텍스트를 `payload.text`로 보내고, 입력값이 JSON이면 `type/action/to/to_endpoint/payload`를 반영합니다.
- `aiwk_ping`, `aiwk_route`는 대상 client가 직접 `aiwk_pong`, `aiwk_route_result`로 회신해야 합니다.

## v051 메모
- 공통 beforeSend에서 일반 텍스트 처리 규칙을 수정했다.
- `aiwk_chat` 창에서는 텍스트가 채팅 본문이 된다.
- `aiwk_ping`, `aiwk_route` 같은 명령 창에서는 텍스트가 payload.text로 붙고 action은 유지된다.
