BLUF
지시대로 Ollama 데몬 정지(사용자 프로세스 kill, 되돌리려면 'ollama serve') + AI 번역을 OpenRouter 외부 API로 전환. Go 서버 플러그인 'Translator'(/translate) 빌드·설치·검증 완료. 문서 전면 수정.
작동 검증 (dev)
- /translate en 안녕하세요…CCTV 설치… → 'Hello, please check the schedule for the CCTV installation today.' (수초)
- /translate ja 반갑습니다 → はじめまして
- /translate (무인자) → usage / 잘못된 키 → 'Translation unavailable'(메시징 무영향) / 복구 정상
- 노출 문구 전부 'Translator' 중립(코드네임·Mattermost 없음). 내부 id만 com.balerion.ai-translate
구현
- Go 서버 플러그인(슬래시명령만 → 경량, webapp 번들 불필요). go.mod replace로 핀 monorepo public 모듈 로컬빌드(sources.lock 정합)
- OpenAI 호환 /chat/completions, 기본 openai/gpt-4o-mini. 프로바이더 교체 가능 설계(자체호스팅 재도입 여지)
- 키는 config_vault global의 OPENROUTER_API_KEY 사용, client .env(600,gitignore)에만 저장. 설치 시점 config patch 주입 — 번들에 각인 안 됨. 빌드산출물도 gitignore
⚠️ 프라이버시 변경 (클라이언트 고지 필요)
번역 텍스트가 외부(OpenRouter→상위 제공자)로 전송됨. 초기 Ollama 설계의 '데이터 미유출' 셀링포인트가 바뀐 지점 → 온보딩/DPA 명시 필요. 민감 클라이언트는 프로바이더를 자체호스팅으로 되돌릴 수 있게 설계.
진행도
PREP~06 완료. 남은 것: 07(푸시) 08(리텐션/컴플라이언스) 09(백업/알림) 10(테넌트 프로비저닝) 11(최종검수). 커밋 대기 중(30파일 변경, 시크릿·env는 미추적 확인).