본문으로 건너뛰기

세션

세션은 메시지, 도구 활동, 확인 질문, 역할, 모델, 분기 상태를 보존하며 선택 프로필에 속합니다. Dashboard·TUI를 닫아도 이력은 삭제되지 않습니다.

이력은 state.db와 참조 객체에 있습니다. 교차 세션 개인 메모리는 별도 memory/USER.md, memory/MEMORY.md입니다. 컨텍스트 요약은 새 메모리 항목이 아닙니다.

시작과 재개​

Dashboard에서 New session 또는 기존 채팅을 선택합니다. Chats는 일반, Background는 예약·위임·상주 백그라운드입니다. 오래된 세션·메시지는 페이지 단위입니다.

TUI는 anyy 후 /new·/sessions를 씁니다. 직접 열기:

anyy --resume SESSION_ID

새 대화 역할 선택:

anyy --role scribe
anyy chat --role scribe "Help me plan this article"

재개는 역할을 유지합니다. --role은 --resume·chat --session과 함께 불가입니다. ID는 선택 프로필 안에서만 결정됩니다.

CLI 턴 전송​

anyy chat "Summarize my priorities"
anyy chat --session SESSION_ID --json "Add the new constraint"

anyy chat은 실행 Gateway가 필요합니다. 후속 턴이 같은 세션을 써도 원래 수락 입력과 실제 실행을 기다립니다. --json에는 세션·제출·실행·런 ID, 결과, 기록 답이 있습니다. 후속 성공이 이전 실패를 대체하지 않습니다.

확인 질문 중단, 실패, 중단, 지운 입력, 대기 시간 초과는 0 아닌 종료입니다. 제한 시간·호출자 취소는 대기만 끝냅니다. 재제출 전 세션을 확인하세요. CLI 결과를 참조하세요.

대기 메시지​

세션마다 독립 입력 대기열 두 개가 있습니다.

  • 방향 조정은 다음 체크포인트에서 읽으며 실행 도구를 취소하지 않습니다.
  • 후속은 현재 응답 완료를 기다립니다.

Dashboard Send는 하나이며 바쁠 때 후속을 추가합니다. 각 항목의 Steer는 다음 체크포인트용 대기 대화로 이동합니다. Edit는 해당 항목만 바꾸고 제거하지 않은 첨부를 유지하며 취소하면 그대로입니다. Delete는 그 항목만 지웁니다. 이미 선택된 입력은 대기 항목으로 편집·삭제 불가입니다. 충돌은 대기열을 갱신하며 미전송 초안을 보존합니다. 입력창 제어를 참조하세요.

바쁜 TUI의 Enter는 방향 조정, Alt+Enter는 후속이며 순서대로 표시됩니다. Alt+Up은 작업 중지 없이 모든 대기 텍스트·첨부를 편집기로 반환합니다. 기존 초안 앞에 빈 줄로 구분합니다. Gateway 성공 확인 후에만 대기열 소속을 지우며 수정 초안 전송은 새 입력을 수용합니다.

중지와 편집기 반환 비교​

동작활성 작업대기 입력
Dashboard Escape키 입력 시 표시 응답 중지유지
바쁜 TUI Ctrl+C현재 세션 작업 중지유지
스트리밍 TUI Esc반환 후 캡처 턴 중지편집기로 반환
TUI Alt+Up계속편집기로 반환
재시도 백오프 TUI Esc해당 대기 취소그대로

로컬 선택기·오버레이가 Escape를 먼저 처리합니다. 지연 Dashboard 중지·TUI 반환 확인은 후속 턴을 중단하지 않습니다. 중단은 캡처 작업 안정화를 기다리고 확정 이력을 유지합니다. 새 호출을 자동 시작하지 않으며 후속 프롬프트나 명시 세션 계속으로 재개합니다.

API 대기열 제어​

클라이언트는 session.queue.peek/session.queue.list로 확인, session.queue.clear로 지운 입력 반환, session.queue.steer, .update, .cancel로 대기 항목 변경을 할 수 있습니다. 소속 지우기는 본문을 보존하며 기록 삭제가 아닙니다.

session.queue.modes는 steering, follow_up을 각각 all·one-at-a-time으로 읽고 설정합니다. 체크포인트에서 전부 또는 하나씩 받는지 정하며 종류를 바꾸지 않습니다. RPC 제어이며 /queue나 Dashboard 모드 설정이 아닙니다.

모델과 도구 설정​

Dashboard 선택기와 TUI /provider, /model, /effort는 현재 세션을 제어합니다. 프로필 기본값은 새 세션을 초기화합니다. 재개·분기 탐색은 해당 선택을 복원하며 이전 가상 모델이 사라졌으면 최근 물리 응답 모델로 대체할 수 있습니다.

역할은 정체성과 Soul이며 도구 이름·Codemode 모드를 고르지 않습니다. CLI 도구 플래그나 session.tools.configure를 쓰세요. 명시 업데이트에는 대기/수용 작업·요약 없는 유휴 상태가 필요합니다. Tools/Codemode 설정은 프로필 소유입니다.

리소스 다시 로드​

session.reload RPC는 유휴 세션을 현재 프로필 설정·리소스로 갱신하며 이력, 선택 저장소, 로드 도구, 대기 입력을 유지합니다. 활성 작업을 멈추거나 새 턴을 시작하지 않습니다. 순서대로 로드하므로 오류가 모든 이전 변경 롤백을 뜻하지 않습니다. 대응 Dashboard 버튼·TUI 명령·셸 하위 명령은 없습니다.

목표 메타데이터 API​

session.goal은 선택 목표 텍스트와 active·paused를 메타데이터에 저장합니다. set, status, pause, resume, clear를 사용합니다. 실행 시작·중지, 예약 생성, 완료까지 자율 계속을 하지 않습니다. 개인 작업과 별개입니다. Dashboard·TUI /goal, 셸 goal 명령은 없습니다.

재시도와 컨텍스트 크기​

일시 모델 오류는 기본 자동 재시도하며 첫 요청 후 최대 세 번입니다. 2초에서 지수 증가해 1분 상한입니다. 프로필이 공유하며 공급자 전송 재시도는 별도입니다. 재시도 TUI Esc는 대기만 취소하고 Ctrl+C·Dashboard Escape는 작업을 중지합니다.

압축·분기 요약도 정책을 공유합니다. 작업은 예산을 유지하며 후속 모델 호출은 현재 전송 기본값을 읽습니다. 자동 재시도 비활성은 HTTP 제한 시간을 끄지 않습니다. 실패·취소·잘린 요약은 적용하지 않습니다. 컨텍스트 압축을 참조하세요.

유휴 TUI /tree에서 Up/Down, Enter, 떠나는 분기 요약 s, 취소 Esc를 씁니다. 사용자 메시지는 직전으로 이동해 빈 입력창에 수정용 텍스트를 반환합니다. 원하면 초안을 먼저 보존하세요. 같은 세션 안의 탐색이며 응답을 시작하지 않고 이전·형제 분기도 남습니다.

포크와 삭제 API​

session.fork는 선택 지점에서 별도 대화를 만들고 해당 경로 이력·라벨을 보존합니다. 사용자 메시지 직전 포크는 재전송 없이 수정 텍스트를 반환할 수 있습니다. 실행 작업·대기열·채널 발신 권한은 복사하지 않습니다.

원본에도 영향이 있습니다. 준비 전 현재 작업을 캡처하고 새 대화 영속 저장 후 캡처 작업을 중단·안정화합니다. 지연 중지는 후속 턴을 중단하지 않습니다. 안정화 실패에도 새 대화는 저장되어 있으며 오류가 포크 롤백은 아닙니다.

session.delete는 다른 포크 참조 이력을 유지하며 대화를 제거합니다. 비종료 작업이 있으면 충돌하며 자동 중지 후 삭제하지 않습니다.

포크·개별 삭제는 공개 RPC입니다. 현재 Dashboard·TUI·셸에는 작업이 없습니다. TUI /tree는 같은 대화 탐색이며 포크가 아닙니다.

문제 해결​

문제확인 사항
대화 누락선택 프로필과 Chats/Background
/sessions·/tree 열기 불가턴 완료·중지 후 사용
진행 작업 수정Dashboard 전송 후 Steer, TUI 바쁜 Enter
대기 편집 불가이미 선택됐을 수 있음. 갱신 이력 확인
CLI 연결 불가해당 프로필 anyy gateway start
재개 후 예전 역할·모델세션 소유 상태임. 모델 선택 또는 새 세션

프로필 백업은 영속 세션을 포함합니다. 지속 주제당 세션 하나를 쓰고 이전 컨텍스트가 무용해지면 새로 시작하세요.