에이전트 실행과 배포하기

에이전트 실행과 배포하기

flue dev는 파일 변경을 감지해 재빌드·재로드하는 장시간 실행 dev 서버예요. 에이전트를 수정하면 다시 curl을 날려 바로 반영을 볼 수 있어요.

출처: https://github.com/Superintelligent-Group/superintelligent-flue

flue dev --target node          # Node.js dev server
flue dev --target cloudflare    # Cloudflare Workers (via wrangler) dev server

기본 포트는 3583('FLUE'를 폰트 키패드로 치면 나오는 숫자예요)이고 --port로 바꿀 수 있어요. Cloudflare 타깃은 wrangler가 피어 의존성으로 필요하니 npm install --save-dev wrangler를 먼저 해 줘야 해요.

환경 변수를 읽으려면 --env <path>.env 형식 파일을 넘겨요. 두 타깃 모두 동작하고, 반복해서 쓸 수 있으며 나중 파일이 키 충돌 시 앞선 값을 덮어요. 셸에서 직접 설정한 환경 변수가 파일 값보다 우선하고, 파일을 수정하면 리로드가 일어나요. 같은 플래그를 flue run에도 쓸 수 있어요.

CI나 원샷 스크립트 호출에는 flue run을 써요. 한 번 배포 가능한 아티팩트를 빌드하고 실행하니까 프로덕션 모양 그대로예요.

flue run hello --target node --id test-1 \
  --payload '{"text": "Hello world", "language": "French"}'

호스팅형 에이전트는 flue build로 웹 서버로 빌드해요. ./dist 디렉터리에 빌드되고, 그걸 배포하면 돼요. 현재 Cloudflare와 Node.js 호스트를 지원해요.

flue build --target node          # Node.js server (single bundled .mjs)
flue build --target cloudflare    # Cloudflare Workers + Durable Objects

Cloudflare는 flue build가 unbundled TypeScript 엔트리를 만들고 wrangler deploy가 직접 번들링해요. dev와 deploy가 같은 번들러를 쓰니까, dev에서 되던 게 프로덕션에서도 그대로 동작해요.

더 알아보기