Community라이팅 & 에디팅github.com

Amiyadesi/agent-session-bridge

Codex, Pi, DeepSeek Harness, OpenCode, Qwen Code, Claude Code, WorkBuddy, Antigravity CLI(agy) 및 데스크톱 IDE 간 대화 컨텍스트를 복사하거나 잘라냅니다. 로컬 agent-session-bridge CLI를 사용하며, 전사, 정확한 세션 ID 또는 프로젝트 배치를 지원하고 네이티브 데이터베이스 인덱스를 포함합니다. 자격 증명과 에이전트 구성은 제외됩니다.

agent-session-bridge란 무엇인가요?

이 스킬은 `asb`(agent-session-bridge) CLI 도구를 사용하여 다양한 AI 에이전트 플랫폼 간에 세션(대화 컨텍스트)을 마이그레이션하는 방법을 설명합니다. 지원되는 플랫폼으로는 Codex, Pi, DeepSeek Harness(DSH), OpenCode, Qwen Code, Claude Code, WorkBuddy, Antigravity CLI(agy) 및 Antigravity Desktop IDE가 있습니다. 이 CLI는 완전히 로컬에서 작동하여 모델 호출이나 전사 업로드 없이 JSON stdout을 통해 기계가 읽을 수 있는 인터페이스를 제공합니다. 이 스킬의 주요 이점은 개발자가 여러 AI 에이전트 도구 간에 중단 없이 작업 흐름을 이어갈 수 있다는 점입니다. 사용자는 단일 파일, 정확한 세션 ID, 프로젝트 디렉토리 또는 내보내기 디렉토리에서 세션을 선택할 수 있습니다. 마이그레이션은 사용자/어시스턴트 메시지, 압축 요약 및 지원되는 사용자 이미지만 복사하며, 도구 호출, 생각, 시스템/런타임 레코드는 자동으로 필터링됩니다. `--apply` 플래그는 복사(소스 유지)를 위한 것이고, `--move --apply`는 잘라내기(소스 삭제)를 위한 것입니다. CLI는 안전성을 위해 설계되어 소스 정리 전에 기록된 바이트를 확인하고 대상을 구문 분석하며 네이티브 DB 행을 등록합니다. 각 플랫폼에 대한 형식 제한사항을 자세히 다루며, 예를 들어 OpenCode는 DB 또는 JSON 내보내기를 지원하고, DSH는 v4 JSONL/zstd를 필요로 하며, Antigravity는 세션당 DB 및 공유 요약 파일 등을 관리합니다. 사용자는 마이그레이션 전에 `--apply` 없이 실행하여 개수, 오류 및 필터링된 이벤트를 검토하고, 확인 후에만 파괴적인 이동을 수행하는 것이 좋습니다.

지원 대상✓Claude Code✓Codex CLI~Cursor✓Antigravity✓Gemini CLI✓OpenCode
npx skills add https://github.com/Amiyadesi/agent-session-bridge/tree/HEAD/skills/migrate-agent-session

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

에이전트 세션 마이그레이션

asb / agent-session-bridge를 사용하세요. JSON stdout이 기계 인터페이스입니다. CLI는 로컬 파일을 사용하며, 모델 호출을 하지 않으며 전사를 업로드하지 않습니다. 복사 및 이동에는 대화 컨텍스트(사용자/어시스턴트 메시지, 압축 요약 및 지원되는 사용자 이미지)만 포함됩니다. 도구 호출/결과, 생각, 시스템/런타임 레코드는 자동으로 필터링됩니다. 개수는 매니페스트에 filtered:*로 표시되며, 추가 플래그가 필요하지 않습니다. 대상이 지원하는 경우 소스 제목을 유지합니다. 네이티브 Codex 제목은 일치하는 DB 행(name, 그 다음 title)에서 가져오며, 독립 실행형 내보내기에는 로그에 제목이 필요합니다. 소스 모델/제공자 및 생각 설정은 제외됩니다. 설치된 명령어 또는 체크아웃의 .venv/Scripts/asb.exe(Windows) / .venv/bin/asb(POSIX)를 사용하세요. 설치되지 않은 경우, 이 프로젝트는 Python 3.14+가 필요합니다. 프로젝트 venv를 만들고 그 안에서 python -m pip install -e .를 실행하세요.

세션 선택

  • 단일 파일: asb inspect <file> 그 다음 asb convert <file> --to pi.
  • 정확한 ID: asb convert --from codex --session <full-id> --to pi.
  • 프로젝트: asb list --from codex --project <absolute-directory>, 그 다음 asb convert --from codex --to pi --project <absolute-directory>.
  • 내보내기 디렉토리: asb convert <directory> --from codex --to pi.
  • 프로젝트 필터는 기록된 cwd와 그 하위 항목을 경계 기준으로 일치시킵니다. 메시지 텍스트를 검색하지 않습니다.
  • --source-root는 소스 저장소를 재정의하고, --target-home은 대상 에이전트 홈(세션 디렉토리가 아님)입니다.
  • 사용자가 작업 디렉토리를 재배치하려는 경우에만 --cwd를 사용하세요.
  • Pi는 대상 모델이 필요합니다. 과거 어시스턴트 메시지에서 모델 선택을 복원하기 때문입니다. CLI는 대상 홈 settings.json에서 기본값을 읽고, 그 다음 대상 cwd .pi/settings.json에서 읽습니다. --provider / --model이 이를 재정의합니다. 완전한 대상 기본값이 없으면 의도된 대상 쌍을 제공하세요. 소스 모델을 대체하지 마십시오. 설정 파일이 변경되지 않습니다.

지원되는 이름: codex, pi, dsh, opencode, qwen, claude, workbuddy, antigravity, antigravity-desktop. 사용 가능한 옵션은 asb formats / asb convert --help를 사용하세요.

실행

먼저 --apply 없이 실행하세요. count, errors, source, target, dropped_events 및 warnings를 읽으세요. 대화 본문을 출력하지 않고 선택된 세트와 물질적 손실을 보고합니다. 파괴적인 이동을 수행하기 전에 예상치 못한 일치 또는 지원되지 않는 콘텐츠를 해결하세요.

  • 사용자가 복사를 요청하거나 보존 기간을 명시하지 않은 경우: --apply를 추가하고 소스를 유지합니다.
  • 사용자가 명시적으로 해당 소스 세션을 이동/잘라내기/삭제하도록 요청한 경우: --move --apply를 추가합니다.
  • 이미 부여된 권한을 유지합니다. 삭제 의도 또는 선택된 세트가 명확하지 않은 경우에만 질문하세요.
  • 이동 전에 활성 소스 대화를 중지하세요. CLI는 변환 중에 변경된 소스를 거부하지만, 다른 클라이언트가 쓰는 것을 막을 수는 없습니다.
  • CLI의 검증된 이동을 수동 rm, del 또는 재귀적 삭제로 대체하지 마십시오.
  • 배치의 모든 결과/오류를 검사하세요. 0이 아닌 종료 코드는 부분적 성공을 의미할 수 있습니다. 성공한 항목(새 ID를 받음)을 맹목적으로 반복하지 마십시오.

CLI는 삭제 전에 기록된 바이트를 확인하고, 대상을 구문 분석하며 필요한 네이티브 DB 행을 등록합니다. 이 확인은 모델을 호출하지 않습니다. 반환된 resume argv를 명령어 제안으로 사용하세요. 네이티브 ID 조회는 일반적인 대상 홈을 가정합니다. 사용자 정의 대상 홈의 경우, 해당 홈 환경 재정의와 함께 클라이언트를 실행하세요.

형식 제한 사항

  • 네이티브 OpenCode 선택: asb convert --from opencode --session <id> --to pi --move --apply. 기본 선택은 DB를 읽습니다. --source-root는 opencode.db를 포함하는 디렉토리를 가리킬 수 있습니다. 수동으로 제공된 JSON 내보내기는 독립 실행형 파일이며, 해당 내보내기를 잘라내도 원래 DB 세션이 삭제되지 않습니다.
  • Codex / WorkBuddy / OpenCode / Antigravity 네이티브 대상 홈에는 이미 클라이언트가 초기화한 데이터베이스가 있어야 합니다. 알 수 없는 스키마나 필수 필드 누락은 명확하게 실패합니다. DB 등록 없이 휴대용 파일을 생성하려면 --output-dir을 사용하세요.
  • Git 프로젝트의 경우, 가져오기 전에 의도한 작업 디렉토리에서 OpenCode를 한 번 시작하여 프로젝트 인덱스를 초기화하세요.
  • WorkBuddy는 로컬 세션과 DB/캐시를 처리합니다. 여러 대상 계정에는 --workbuddy-user-id가 필요합니다. WorkBuddy의 세션 목록에서 다시 시작하세요. Blob 이미지는 생략되고 개수에 포함됩니다.
  • DSH는 v4 JSONL/zstd를 읽습니다. 이전 로그는 먼저 DSH에서 업그레이드해야 합니다. 여러 세대는 이동을 차단합니다.
  • DSH 이미지는 현재 생략되고 개수에 포함됩니다. 요약은 레이블이 지정된 사용자 컨텍스트가 됩니다.
  • Antigravity는 agy CLI SQLite 형식을 의미하며, 직접 데스크톱 .pb 또는 암호화된 저장소가 아닙니다. 홈은 ~/.gemini/antigravity-cli입니다. --source-root / --target-home을 사용하여 재정의하세요. 네이티브 쓰기 또는 잘라내기 전에 해당 홈을 사용하는 클라이언트를 닫으세요. 활성 프레즌스 잠금 및 WAL/SHM/저널 파일은 잘라내기를 차단합니다.
  • Antigravity는 세션당 DB, 공유 conversation_summaries.db, jetbox_summaries_proto.pb, annotations/<id>.pbtxt 및 마지막 대화 캐시를 사용합니다. CLI는 선택된 레코드를 함께 쓰고 제거합니다. 제목/cwd 메타데이터를 위해 휴대용 .db 및 .manifest.json 파일을 함께 보관하세요. 요약은 레이블이 지정된 사용자 컨텍스트가 되며, 이미지는 생략되고 개수에 포함됩니다.
  • antigravity-desktop는 IDE 2.5.5 SQLite .db 세션을 지원하며, 소스/타겟 홈은 ~/.gemini/antigravity-ide입니다(이전 SQLite 홈 ~/.gemini/antigravity). 예: asb convert --from codex --to antigravity-desktop --project <directory> --apply. 다른 형식과 마찬가지로 데스크톱 ID 또는 프로젝트를 선택하세요. 데스크톱과 agy CLI는 고유한 형식 이름을 사용하여 양방향으로 변환합니다.
  • 데스크톱 네이티브 쓰기/잘라내기는 알려진 state.vscdb 기록 인덱스, 기존 protobuf 캐시, 제목 주석 및 선택된 대화 DB를 업데이트합니다. 표준 프로필 경로가 추론됩니다. 사용자 정의 홈의 경우 --source-state-db 또는 --target-state-db와 해당 globalStorage/state.vscdb를 전달하세요. 먼저 데스크톱 클라이언트를 닫으세요. 실행 중인 언어 서비스 또는 SQLite 사이드카는 수정을 차단합니다. 동일한 ID의 레거시 .pb는 잘라내기를 차단합니다. 공유 상태 DB와 인접 세션은 유지됩니다.
  • 데스크톱에는 반환된 재개 명령어가 없습니다. 네이티브 기록 UI를 통해 여세요. 공식 언어 서비스 읽기 확인은 ID로 검증됩니다. GUI 기록 검색 및 모델 연속은 검증되지 않습니다. 파일 구문 분석이나 DB 등록만으로 GUI 확인을 주장하지 마십시오.
  • 레거시 데스크톱 .pb 또는 암호화된 기록은 먼저 공식 클라이언트에서 SQLite로 업그레이드/가져와야 합니다. 또는 agy /resume → Antigravity를 통해 복제하고 해당 CLI 복사본을 변환하세요. 복사본을 이동해도 데스크톱 원본은 삭제되지 않습니다.
  • 잘라내기는 선택된 전사/브리지 매니페스트, 네이티브 세션 DB 행 및 알려진 기록/목록 항목을 제거합니다. 공유 프로젝트, 첨부 파일, 백업, 인증 및 런타임 설정은 유지됩니다. 소스 정리 중 실패는 유효한 대상과 유지된 소스를 남길 수 있습니다. 재시도 전에 오류를 검사하세요.
  • 휴대용 --output / --output-dir 파일은 ID 기반 재개를 위해 네이티브 설치/가져오기가 필요합니다. Pi는 pi --session <file>을 통해 내보낸 Pi 파일을 열 수 있습니다.
  • 압축 경계는 유효합니다. Pi는 최신 요약과 이후 메시지에서 계속됩니다. 이전 메시지는 세션 기록에 남아 있습니다. 요약은 과거 작업을 설명할 수 있습니다. 원시 도구 실행 레코드는 제외됩니다.

관련 스킬