← 목록
기타 2026-06-26 4KB 읽기 4분

msg ↔ make 협업브리지 — 각 컴퓨터 에이전트의 소통+협업 통합

개요

msg.crowny.org(:9939 크라우니메신저=소통 버스)와 make.crowny.org(:9947 서비스공장=원격 서비스 생성)을 잇는 자동 글루. 원격 에이전트(kpswin/kpsmaci)가 메신저에 자연어 작업요청을 보내면, kpsmacs의 상주 브리지가 4상 라우팅해 공장 API로 자동 수행하고 결과를 메신저 회신으로 돌려준다. 소통과 협업이 한 흐름으로 묶인다. 위치: /Users/ef/crowny-서비스공장/.

무엇을 했는지

1. 협업브리지.한선 — 라우터 코어 (한선씨)

  • 입력 REQ=자연어 → 출력 상\t액션\t이름\t인자.
  • 4상 판정(티옴타음): 티=명확한 공장명령(create/chat/list/publish) 즉시 실행 / 옴=명령은 있으나 이름 모호 → 목록+재질의 회신 / 타=공장명령 아님(일반대화·디버깅) 스킵 / 음=삭제 등 불가역 → @kps 이관.
  • 키워드 매칭 + ASCII 영숫자 토큰으로 서비스 이름 추출.
  • VM 함정 수정: 포함(s,sub)은 불리언이 아니라 매치 인덱스(없으면 -1)를 반환 → 맨앞 매치(0)가 거짓처럼 동작. 있나(s,sub)=포함(s,sub)>=0 헬퍼로 전면 교정(publish/list/이름추출 버그 해소).

2. 협업워커.sh — 통합 워커 (kpsmacs 상주)

  • msg feed 폴링 → 작업요청만 라우팅 → 공장 API 실행 → 회신/알림 sendnl.
  • update는 html 본문 필요 → 자동수행 대신 옴 강등 안내.
  • 회신은 코덱 친화 짧은 한국어(JSON 덤프 금지) — 의미어 코덱 라운드트립 보존.
  • 명령: poll | watch | 요청 "<자연어>" | route "<문장>" | install.

3. 영속화 — LaunchAgent org.crowny.collabbridge

  • 협업워커.sh watch(20초 폴링, KeepAlive, localhost 9939↔9947).
  • 커서를 현재 메시지수로 시드 필수 — 과거 시드 작업요청 재처리(정크 서비스 생성) 방지.

아키텍처

  • 브리지는 crownyc+공장이 둘 다 로컬인 kpsmacs에서만 상주.
  • 원격(kpswin/kpsmaci)은 빌드 불필요 — 메신저워커.sh로 자연어 요청만 보내면 됨. 기존 서비스공장 독트린("원격이 kpsmacs를 서버로")과 정확히 일치.

검증

  • 4상 전 분기 end-to-end(테스트룸 :9953 + 라이브 :9939).
  • 라이브 데몬 자동픽업(≤20s)→공장 chat 큐등록→회신 라운드트립 정상.
예) kpsmaci "autodemo 채팅방 만들어줘" → kpsmacs "autodemo 채팅방 만들었어 큐 등록됨".

함정/복구

  • 라이브 :9939 메신저 stale 런타임: status port:0, sendnl 전체 "unknown sender" 거부. 현재 소스 재컴파일 + launchctl kickstart org.crowny.kpsmsg로 복구(WAL 12메시지 보존, 참여자 하드코딩). 디스크 .toau가 소스보다 새것이어도 장기실행 런타임이 wedge될 수 있음.

관련 파일

  • /Users/ef/crowny-서비스공장/협업브리지.한선 (라우터 코어)
  • /Users/ef/crowny-서비스공장/협업워커.sh (통합 워커)
  • /Users/ef/Library/LaunchAgents/org.crowny.collabbridge.plist (영속화)
  • /Users/ef/CrownyOS/apps/메신저/kps/메신저서버.한선 (:9939, 재컴파일 복구)
  • /Users/ef/crowny-서비스공장/공장서버.한선 (:9947 make API)

잔여 이슈

  • update 작업요청은 html 본문 전달 경로 없음 → 현재 옴 안내. msg 첨부/이어보내기 도입 시 자동화 여지.
  • 라우터 키워드 사전 확장(현재 create/chat/update/list/publish/delete) — 의미어 사전 연동으로 커버율↑.
  • 테스트로 생성된 공장 서비스(bridgetest/cleanroom/demoroom/autodemo)는 미공개 로컬 큐 — 정리 시 공장 delete.
  • 원격 머신 실접속은 cowork tier3 동기화 후 메신저워커.sh 부트스트랩(기존 절차).