2026-04-01 개발일지
보안 (완료)
- SSH 비밀번호
<REDACTED>로 통일 (rotation 예정 —05-Reference/ROTATE-2026-04-23.md) - server-init.sh
ufw disable제거 - Gateway pairing 해결 (paired.json 수동 등록, full scopes)
시스템 (완료)
- deploy 파이프라인:
git pull→git fetch + reset --hard origin/master교체 (conflict 자동 해결) - Claude Code 토큰 자동 갱신 구현 (1시간 간격, CLI + API 2중 폴백)
- Smart Router: 에이전트 → OpenClaw(OpenRouter, 토큰 만료 없음) / 코드 → Claude Code
- Self-check 23항목 자동 검증 시스템 (배포 10초 후 자동 실행, 자동 복구)
- Cascade 트리거 4종 (revenue_drop, security_alert, site_down, new_inquiry)
- Agent trust scoring (0-100, 작업 성공/실패 시 자동 조정)
- Bridge proxy 엔드포인트 (/proxy/paljalab, /proxy/marketing)
홈페이지 — AI팀 파견 페이지 대규모 수정
- 가격표 전면 수정 (KR/EN/JA 3개 언어)
- KR: 600/500/450/350만원
- EN: $4,500/$3,800/$3,400/$2,600
- JA: ¥60万/¥50万/¥45万/¥35万
- "최소 1년 계약" → "월 단위 계약" (1개월부터 가능, 장기 할인)
- "상주" 문구 전체 삭제 → "100% 원격" 전환
- meta description, hero 텍스트, schema.org, FAQ 전부 변경
- FAQ 수정: "상주 필수?" → "운영 방식은?" / "중도 해약?" → "계약 기간은?"
- 수익 구조 확정: 1딜 600만원 (이사님 300 + 대표님 150 + 지수님 150)
사내 게시판 승인 시스템 — EXE 빌드
- 기술: Electron + React + Vite + TailwindCSS + SQLite + Telegram Bot
- 기능: 5W1H 게시글 → 텔레그램 승인/반려 → 이력 관리 + CSV 내보내기
- npm install → vite build → electron-builder
- 에러 수정:
call-bind-apply-helpers모듈 누락 → ASAR 비활성화로 해결 - EXE 위치:
Downloads/board-approval-system/release/win-unpacked/사내게시판.exe - 기본 계정: admin / admin123
발견된 이슈
- Nemotron Free 모델 죽음 → 11개 에이전트 타임아웃 (교체 대기)
- FTP 경로 이슈: Edit 도구의
/tmp/와 bash의/tmp/가 다름 (C:\tmp vs MSYS tmp) - WebFetch 15분 캐시 → 업로드 직후 검증 시 구버전 반환
옵시디언/메모리
- master-todo-20260401.md 전체 업데이트 (완료 16개 + 남은 작업 정리)
- project_wai_todo.md 동기화
- 수익 구조 확정 내용 추가
사내 게시판 승인 시스템 — 전체 업그레이드
- EXE 빌드: ASAR 비활성화로 모듈 누락 해결
- 6하원칙 → 제목+내용 간소화
- 카테고리 5개: 마케팅/개발/디자인/일반/수정요청 (각각 고유 템플릿)
- 마감일 필수, 긴급 아니면 최소 2일 뒤
- 첨부파일 권장 (강제 x)
- 진행상태: 대기→수정요청→승인→진행중→납품→완료
- 수정요청(코멘트): 관리자 보완요청 → 직원 재제출
- 에이전트 자동배정: 카테고리별 매핑
- 결과물 납품 루프: 에이전트 납품 → 직원 수락/재작업
- API 서버 (port 18791): 에이전트 연동용
- 대시보드 연동: watoneai.cafe24.com 게시판 탭 추가
- Bridge 동기화: 5분마다 보드 현황 자동 POST
- 프리미엄 UI: 글래스모피즘, 그라디언트, 애니메이션
- GitHub: 1or4/board-approval-system (Private)
- 텔레그램: "게시판 승인" 토픽 (ID: 278) 생성
Nexus 추가 작업 (4/1 오후)
- 브랜드: 사내게시판 → Nexus 리브랜딩 + [company] 로고 적용
- 중앙 DB: 로컬 SQLite → VPS MySQL 전환 (앱에 데이터 없음 = 보안)
- SSL: Let's Encrypt (watoneai.cafe24.com HTTPS)
- 텔레그램: VPS 서버측 봇 폴링 (3초 간격, 승인/반려/사유)
- Board API: VPS에 CRUD 엔드포인트 + 토큰 인증
- 대시보드: watoneai.cafe24.com에 게시판 탭 추가
- 카테고리: 한글 ENUM → 영어 키(marketing 등) + UI에서 번역 (인코딩 근본 해결)
- 일본어: i18n 전체 지원 (120+ 키, 로그인/사이드바 언어 토글)
- UI: Noto Sans KR + AI 티 완전 제거 + 네이비 다크모드
- 다크/라이트: 47개 텍스트 색상 전면 분리
- 먹통 버그: Promise.all 에러 핸들링 + 모든 async try-catch
- 관리자: 모든 게시글 삭제 가능
남은 작업
- Nemotron Free 모델 교체 (11개 에이전트)
- AI팀 페이지 UX/UI 개선 (톤 변경 + 디자인)
오후 세션 — 에이전트 시스템 전면 수정 + 코드 리뷰 (Claude Code)
에이전트 시스템
- 텔레그램 409 영구 해결: polling → Webhook 전환 (HTTPS SSL 발급)
- A2A 중계 대화 API (/a2a): Bridge가 에이전트 간 순차 호출 + 결과 전달
- auth-profiles.json: Bridge 시작 시 23개 에이전트 자동 배포
- OpenClaw 3.28 → 3.31 업데이트
- Nemotron :free → 유료 ($0.10/1M) — content:null 해결
- CEO-Vision 모델 ID 오타 수정 (4-6 → 4.6)
- 에이전트 timeout 120초로 증가
- AGENTS.md 22개 전부 OpenClaw 실제 API 형식으로 변환
대시보드 실시간 연동
- 에이전트 점수 (scores API 30초 폴링)
- 활동 로그 (events API, ISO→KST 변환)
- 서버 상태 (CPU/RAM/Disk/Uptime)
- 뇌 맵 SVG 시각화 (7영역 원형 노드 + 축삭 연결선)
- 뉴런 트리 인증 수정 (Bridge 토큰 fallback)
- Overview 숫자 동적화 (agents.length 등)
- 하드코딩 가짜 데이터 전부 제거 (logEntries, loginHistory, Fail2Ban)
- initDashboard 크래시 방지 (renderNeurons try-catch 격리)
- /dashboard/ 404 → 리다이렉트
- undefined 에러 해결 (var 호이스팅 setTimeout defer)
전체 코드 리뷰 (4개 병렬 에이전트)
- claude-bridge.js: CRITICAL 3 / HIGH 8 / MEDIUM 14 / LOW 10
- dashboard/index.html: HIGH 5 / MEDIUM 14 / LOW 20+
- api.php + 설정파일: CRITICAL 1 / HIGH 8 / MEDIUM 10+
- 에이전트 + 스킬: HIGH 1 / MEDIUM 5 / LOW 4
- 총 113건 이슈 → 전부 수정
보안 수정
- 비밀번호 SHA-256 → scrypt (자동 마이그레이션)
- CORS * → watoneai.cafe24.com
- XSS: escapeHTML single quote + 뉴런 path + innerHTML
- Path traversal 방어 (api.php 4개 핸들러)
- /board-sync 토큰 검증
- POST /auth/logout 추가
- runClaude/runAgent 이중 resolve 방지
인프라
- SSL 인증서 발급 (Let's Encrypt, watoneai.cafe24.com HTTPS)
- 텔레그램 Webhook 방식 전환 (409 영구 해결)
- 토큰 자동 동기화 (Windows 30분 스케줄러 + Stop hook)
- POST /token-sync 엔드포인트
- auto-evolution.json 런타임 로드
- brain 경로 환경변수화 (WAI_BRAIN_PATH)
NeuronFS
- 자동 뉴런 생성 시스템 (에이전트 활동 → 자동 禁/推/必 뉴런)
- 에러 3회 반복 → 자동 bomb 시그널
- 점수 +변동 → 推 뉴런, -변동 → 禁 뉴런
- POST /neuron Bridge API (add/signal/counter/compile/validate)
- 오늘 교훈 12개 뉴런 수동 추가
- 78 → 95뉴런 (자동 생성 포함)
스킬 정리
- competitor-monitor → competitor-spy 통합
- MCP 미등록 스킬 정리 (DART, Alpha Vantage 제거)
- 담당 에이전트 미지정 2개 수정
Webhook 구조 최종 정리 (심야)
- board-api.js: getUpdates polling 코드 완전 삭제 (startTelegramPolling/stopTelegramPolling 제거)
- board-api.js: handleTelegramUpdate + hasPendingRejection export 추가
- claude-bridge.js: /telegram-webhook에서 승인/반려 콜백(ba:/br:) → board-api로 위임
- claude-bridge.js: 반려 사유 텍스트도 hasPendingRejection 체크 후 board-api로 위임
- 결과: 단일 Webhook 엔드포인트로 전체 텔레그램 통신 통합 (polling 0개)
Nexus 에이전트 실제 연동 (심야 세션 2)
- board-api: onApproved 콜백 훅 — 승인 시 Bridge에 트리거
- board-api: 에이전트 매핑 수정 (ad-optimizer→ad-onboarder, code-architect→cto-tech, ui-designer→creative-spark)
- bridge: Nexus 에이전트 실행 루프 — 승인→in_progress→에이전트 실행→납품→delivered→알림
- 폴백: 지정 에이전트 실패 시 CEO-Vision 재시도
- 진행률 실시간 업데이트 (10→30→90→100%)
- 텔레그램 납품 완료/실패 알림
- TODO-마스터 구조논의 최종v4 기준으로 전면 재편 (제품화 8단계 로드맵)
VPS 접속 이슈
- 이 PC에 SSH 키 없음 + 서버 publickey only → 접속 불가
- Bridge 502 (서비스 다운) → /deploy API도 불가
- 해결: 내일 서버에서 비밀번호 인증 활성화 (sed PasswordAuthentication yes)
- DEPLOY-TODO.md에 절차 정리 → GitHub push 완료
GitHub 커밋 (w-ai-agents, 22건)
62d08b3, 0b28527, e143a6d, 3e14749, aebe58e, d5f34b3, ba5a612, 48b37e3, 44890ad, 8382b04, 0f60572, 165118a, ff99602, 891ab4f, e56a12d, ee52894, aced728, 957904e, 41fd9bc, 30ab97d, 315d3f7