Files
AriWeb-Suite/Ariweb-Suitle_Dev-Order_v0.3.9.md

5.5 KiB

Ariweb Suite 개발 지시 — 작성자: Oz · v0.3.9

작성자: Oz 작성일: 2026-10-29 이전 버전: v0.3.2(연동 편의성·도구 기본 설정·승인 요청, Oz) · v0.3.1 · v0.3.0 · v0.2.1 · v0.2.0 · v0.1.4 · v0.1.1 이번 개정: 로그인 터미널·텍스트 셸 개선, 모델 선택, 슬래시 명령, 미확인 버그 점검. HAL 0.3.2 → 0.3.9(지시된 버전). HAL 에만 적용하며 이전 지시의 모든 기준은 그대로다.

1. 사용자 요구(Oz 원문, 약화 금지)

  1. 로그인 터미널 기능 개선 — claude 로그인은 CLI 가 설치되어 있는 경우 바로 실행되고, 신뢰 여부를 입력하면 자동으로 연결된다. 따라서 무조건 claude --login 으로 실행 후 브라우저 인증을 시행하는 구조는 작동하지 않을 수 있다. 이런 상황을 종합적으로 고려하여 CLI 로그인 인증을 개선하라.
  2. TEXT Shell 기능 개선 — TEXT 입력이 가능한 Shell 은 단순히 화면을 보여 주는 수준으로는 여러 가지 텍스트 입력 상황에 대응할 수 없다. 이미 CLI 가 설치되고 로그인이 된 경우라면 shell 에서 Trust 를 선택해야 하는데, 지금의 텍스트 입력창은 사용자 입력을 받지 않고 코드를 받는 것만 가능하다. 보다 범용적으로 텍스트셸을 사용할 수 있게 만들어라. "Claude Code CLI(…)에 로그인되어 있지 않습니다 — 서버(HAL 실행 계정)에서 'claude login' 을 실행하세요" 메시지는 나오지만 이를 직접 수행할 text shell 이 작동하지 않는다.
  3. Text shell error 수정 — "열린 텍스트 셸이 2개입니다 — 먼저 닫으세요". "claude 상태" 를 누르면 위와 같이 나온다. 화면상 텍스트셸을 모두 닫았지만 시스템에서는 다르게 인식된다. 원인을 찾아 수정하라.
  4. LLM 모델 선택 기능 추가 — LLM 연동 후 모델을 사용자가 선택할 수 있게 수정하라.
  5. 컨텍스트창 기능 개선 — 컨텍스트 입력 창에서 LLM 모델에 명령을 할 수 있는 기본 명령어 셋을 지원하라. /order 형태로 명령을 전달하여 LLM 이 수행하게 하고, 필요한 / 명령어 셋은 /help 로 보여 주라.
  6. 기타 미확인 버그 수정 — 현재 AI 연동 기능에서 미처 파악하지 못한 버그나 오작동 요소를 점검해 수정·개선하라.

2. 점검(구현 전 실제 확인, bear Claude Code 2.1.312 · Codex 0.162.1)

  • claude login 은 로그인 명령이 아니다(대화형 세션에 "login" 입력). 실제 로그인: claude auth login(옵션 --claudeai 기본·--console·--sso), 화살표·Enter 로 고르는 TUI. bare claude 는 새 폴더에서 신뢰(trust) 질문. HOME(/home/master)은 이미 신뢰된 폴더.
  • 0.3.2 셸 모달의 "닫기"는 세션을 끝내지 않았고(유령 세션), 한도 계산이 상태 문자열만 보았다 → 3번 오류의 원인.

3. 필수 동작(계약)

  1. 셸 명령표: claude login=auth login, login_console, logout=auth logout, status=auth status, version, interactive(bare); codex login, logout, status=login status, version, interactive. 작업 폴더는 HAL 실행 계정 HOME. 그 밖의 명령·옵션 문자열은 거부. 로그인 안내 문구는 claude auth login 과 HAL 의 텍스트 셸을 가리킨다.
  2. 텍스트 셸은 원시 키(화살표·Enter·Esc·Tab·Ctrl+문자·단일 글자)를 바이트 그대로 전달하고 단말 크기(cols·rows)를 넘긴다. 브라우저는 순수 단말 에뮬레이터(term.mjs)로 TUI 를 그린다(커서 이동·지우기·대체 화면·스크롤). 키 단추·줄 입력란·붙여넣기 제공.
  3. 세션 한도는 살아 있는 프로세스만 세며 3개. 모달 닫기는 세션을 종료한다. 409 응답에 열린 세션 목록, "열린 셸 모두 종료", 세션 목록(열기·종료) 제공.
  4. 모델 선택: 연결 표·패널 상태 줄의 선택 상자(확인된 목록) → PATCH model(목록 밖 거부). /model <이름>(개별 방). 방 목록이 connection.models 를 준다.
  5. 슬래시 명령: /help(목록, 모델 호출 없음) · /tools · /model · /reset(즉시) / /status /health /servers /server /jobs /job /releases /incidents /audit /dr /emergency /order <지시> /deploy /rollback /isolate /incident(모델에게 확장 지시). 원문은 기록, 모델은 확장 지시. 모르는 명령·인자 누락은 400. 확장 지시는 승인 규칙을 바꾸지 않는다.
  6. 점검 수정: reauth_required 연결용 "로그인·재인증" 단추, window.open 인자, 안내 문구.

4. TDD·검증

  • test/hal-ai-039.test.mjs 를 먼저 쓰고 RED 확인 뒤 구현: 명령표·대화형·HOME·원시 키·크기 / 한도 3·끝난 세션 제외·kill-all / 단말 에뮬레이터(커서·지우기·CR·대체 화면·스크롤·SGR·OSC·줄 바꿈·이스케이프) / 모델 선택·/model / 슬래시 명령 전반 / 화면·버전·문서. 기존 hal-ai(12)·hal-ai-032(6) 유지. 전체 Suite. 배포 뒤 bear read-back.

5. 버전·배포

  • HAL 0.3.9: package.json·README·VERSION_HISTORY 0.3.9 절·docs/HAL-AI.md §8. 커밋 → push → main 병합 → 깨끗한 main 빌드·verify → bear HAL 만 배포 → read-back. 다른 모듈은 배포하지 않는다.

6. 완료 조건

점검 결과(원인), 변경 파일, RED/GREEN·전체 테스트, 커밋·병합 커밋, artifact sha256, 배포 read-back, 운영자 조치, 알려진 제한을 보고한다.