research

Naran 미결 사항 (Big Picture)

Naran 미결 사항 (Big Picture)

세부 미결사항은 각 관련 md에 저장. 여기는 전체 아키텍처에 영향을 주는 큰 결정만 모은다.


확정된 것들

✅ 1. Naran과 zeroclaw의 프로세스 관계

결정: 별도 MCP 서버로 분리
이유: zeroclaw upstream 업데이트를 그대로 받아먹기 위함

zeroclaw  → 건드리지 않음. git pull로 업데이트.
Naran     → 별도 MCP 서버로 독립 운영
naran.db  → MySQL
cron/jobs.db → zeroclaw SQLite (sequential 접근)

✅ 2. Local LLM 구동 프로그램

결정: llama.cpp
이유: 단일 사용자 에이전트 → 병렬 처리 불필요
     보유 모델이 GGUF 포맷
     zeroclaw 기본 설정과 일치 (api_url = "http://localhost:8080/v1")

✅ 3. Local LLM 모델 확정

결정: agent env 구축 후 직접 테스트 (스파이크)
후보: Qwen3.5-27B IQ3_XS (보유) / Qwen2.5-14B Q8 / Upstage Solar

✅ 5. LLM 권한 위임 단계

결정: ReadOnly로 시작 → 테스트 후 단계적 확대

단계:
  v1 초기: ReadOnly
    → LLM이 볼 수만 있음 (task_list, event_list 등)
    → 아무것도 건드리지 않음

  안정화 후: Supervised (기본값)
    → create/update 가능
    → medium/high risk는 confirmation card 필수

  신뢰 쌓인 후: Full
    → allowed_commands 범위 안에서 완전 자율
    → zeroclaw SecurityPolicy가 최후 방어선

zeroclaw config.toml:
  [autonomy]
  level = "readonly"  ← 초기값

✅ 6. 브라우저 자동화 구현 방식

결정: zeroclaw BrowserTool + Naran Skill 파일 조합
  zeroclaw BrowserTool → 원자 단위 action 그대로 사용
  Naran Skill          → 고수준 goal 순서 정의
  Context 관리         → Pipeline 패턴 (state는 명시적으로 전달)
  snapshot             → interactive_only=true, compact=true (context 최소화)

✅ 7. Privacy Boundary 구현 (v1 기준)

전제: 로컬 GPU 서버에서 로그인 수행
     cross-platform 2FA는 v2로 이관

credential 저장: age 암호화 파일 (서버 로컬)
로그인 방식: heuristic → local LLM fallback
2FA: TOTP secret key 저장 (자동 코드 생성)

sensitive_login Tool:
  1. age 파일 복호화 → credential 로드
  2. heuristic으로 로그인 폼 감지 (type="password" 기반)
  3. 실패 시 local LLM fallback (snapshot 분석)
  4. TOTP 코드 자동 생성 (해당 사이트)
  5. cookie 반환 → Claude API는 절대 못 봄

v2 이관:
  cross-platform 2FA (Mobile → Desktop)
  SMS/앱 기반 2FA 자동화

미결 목록

4. v1 기능 범위 (최종 정리 필요)

확실히 들어가는 것:
  대화 클라이언트 (zeroclaw /ws/chat 연결)
  Task/Event/Rule CRUD (Naran MCP Tool, ReadOnly 시작)
  Cron 관리 UI
  브라우저 자동화 (zeroclaw BrowserTool + Skill)
  Privacy Boundary v1 (age 암호화 + sensitive_login Tool)

v2 이관:
  데스크탑 자동화 (enigo + rdev)
  Android 알림 수신 (NotificationListenerService)
  cross-platform 2FA
  Generative UI (render_hint 기반)

8. 데스크탑 자동화

후보: enigo (입력 시뮬레이션) + rdev (입력 감지)
v2 이관 확정

9. Android 알림 수신

후보: NotificationListenerService
v2 이관 확정

연관 세부 미결사항 위치

| 주제 | 파일 | |------|------| | DB 스키마 세부 미결 | naran-data-model | | zeroclaw 구조 참고 | research/zeroclaw/overview |