flows 명령 그룹은 Flow 한살이의 주요 핸들입니다. 일상 CLI 작업 대부분이 이걸 거칩니다. nora flows use <slug>로 활성 Flow를 고정하면 이후 명령이 그 Flow를 기본으로 씁니다.
명령
flows list
--json을 붙입니다. Flow 당 한 줄입니다.
flows get
- 위험한 변경 전 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
<slug>가 없으면 생성됩니다. 업데이트하면 그 JSON이 새 Draft가 됩니다. 배포는 따로 합니다.
--name "..." 옵션이 생성 시 표시 이름을 정합니다.
전형적인 config-as-code 워크플로우:
flows delete
--yes를 안 넘기면 확인이 필요합니다. --yes는 스크립트용입니다. 인터랙티브에서는 치기 전에 생각하세요.
flows use와 flows current
agents create, tools list, flows publish 등)이 고정된 slug를 씁니다.
워크스페이스를 전환하면 고정이 따라옵니다. 워크스페이스마다 자기 고정 Flow를 기억합니다.
고정을 안 바꾸고 한 명령만 덮어쓰기:
배포
--note <text>릴리스 노트(꼭 권합니다. versions list와 감사 트레일에 뜹니다)--author-label <text>버전 카드에 표시. 기본은 계정 이름
롤백
버전에서 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 그래프로 실행.