Skip to main content
flows 명령 그룹은 Flow 한살이의 주요 핸들입니다. 일상 CLI 작업 대부분이 이걸 거칩니다. nora flows use <slug>로 활성 Flow를 고정하면 이후 명령이 그 Flow를 기본으로 씁니다.

명령

flows list

활성 워크스페이스의 모든 Flow를 slug, 이름, 마지막 배포 버전, 마지막 수정 시각과 함께 표시합니다. 기계용 출력은 --json을 붙입니다. Flow 당 한 줄입니다.

flows get

전체 Flow 페이로드를 출력합니다. 블록, 와이어, 설정, 배포 상태, 타임스탬프입니다. 늘 JSON입니다. 흔한 용도:
  • 위험한 변경 전 Flow 백업: nora flows get support > support-backup.json
  • 특정 블록 검사: nora flows get support | jq '.blocks[] | select(.id=="ag_1")'
  • 두 워크스페이스 비교: diff <(nora --workspace ws1 flows get x) <(nora --workspace ws2 flows get x)

flows snapshot

편집 가능한 페이로드(블록과 엣지. 설정이나 배포 상태는 빼고)만 덤프합니다. 이럴 때 좋습니다:
  • Nora 밖에서 Flow를 git으로 추적
  • jq나 yq로 한꺼번에 편집
  • 템플릿: Flow 하나를 스냅샷하고, JSON을 손보고, 새 Flow로 적용

flows apply

JSON 파일에서 Flow를 upsert 합니다. <slug>가 없으면 생성됩니다. 업데이트하면 그 JSON이 새 Draft가 됩니다. 배포는 따로 합니다. --name "..." 옵션이 생성 시 표시 이름을 정합니다. 전형적인 config-as-code 워크플로우:

flows delete

Flow를 삭제합니다. 배포된 버전은 유예 기간 동안 ID로 접근되지만 slug는 바로 풀립니다. --yes를 안 넘기면 확인이 필요합니다. --yes는 스크립트용입니다. 인터랙티브에서는 치기 전에 생각하세요.

flows use와 flows current

워크스페이스별로 Flow를 고정합니다. Flow를 기본으로 쓰는 모든 명령(agents create, tools list, flows publish 등)이 고정된 slug를 씁니다. 워크스페이스를 전환하면 고정이 따라옵니다. 워크스페이스마다 자기 고정 Flow를 기억합니다. 고정을 안 바꾸고 한 명령만 덮어쓰기:

배포

지금 Draft를 새 버전으로 스냅샷하고 라이브 포인터를 옮깁니다. Owner와 Manager만 배포할 수 있습니다. 옵션 플래그:
  • --note <text> 릴리스 노트(꼭 권합니다. versions list와 감사 트레일에 뜹니다)
  • --author-label <text> 버전 카드에 표시. 기본은 계정 이름
배포 전 서버가 이렇게 점검합니다. 사이클 없음, 모든 입력 배선, 빈 프롬프트 없음, Draft ≠ 현재 배포(아무것도 안 바꾸는 배포 없음)입니다. 흔한 CI 레시피:

롤백

라이브 포인터를 옛 버전으로 옮깁니다. Draft는 건드리지 않습니다. 즉시 적용됩니다. 다시 배포가 아니라 포인터를 넘기는 것입니다. 롤백은 안전합니다. 아무것도 잃지 않습니다. 언제든 새 버전으로 다시 앞으로 갈 수 있습니다.

버전에서 Draft 복원

옛 버전 페이로드를 Draft로 복사합니다. 프로덕션은 건드리지 않습니다. 옛 버전을 그대로 출시하지 않고 손보고 싶을 때 씁니다. 흔한 예를 들겠습니다. 출혈을 멈추려 v14로 롤백합니다. v16 변경을 오프라인에서 고치고 싶습니다. 스크래치 Flow에 v16을 Draft로 복원해 손보고, 다시 적용하고, 배포합니다.

버전 메타데이터

버전 이력은 배포, 롤백, 복원을 다룹니다. “누가 언제 뭘 배포했나”를 되짚기 좋습니다. 구조화 출력은 --json을 붙입니다.

워크스페이스를 넘나드는 작업

많은 명령이 호출마다 --workspace를 받아, 스크립트가 전환 없이 여러 워크스페이스에 동작합니다:
빈 캔버스나 똑같은 Flow를 다시 배포하는 건 서버가 거절합니다. 앱의 [Publish] 버튼과 같은 가드레일입니다.

flows run

nora pipelines invoke 의 flow 짝. PAT 로 인증하니 트리거 시크릿 불필요. traceId + status + outputs 를 돌려주고, 실행 결과 실패는 예외가 아니라 결과 봉투에 실립니다. 플래그:
  • [slug] flow slug. 고정된 활성 flow (nora flows use <slug>) 기본.
  • --input <text|@file|-> 진입 에이전트 텍스트 입력. @file 은 파일, - 은 stdin.
  • --variables <JSON|@file> 실행 단위 {{var}} 오버라이드 JSON 객체.
  • --model <JSON> 에이전트별 모델 오버라이드 — {"agent-id-or-name":"model-id"}. 맵에 있는 에이전트만 적용되고, 나머지는 설정된 모델 유지.
  • --thread-id <id> 멀티턴 flow 용 conversation · session id.
  • --user-id <id> 최종 사용자 id (메모리 스코핑 · 귀속).
  • --test 배포된 스냅샷 대신 DRAFT 그래프로 실행.