Watch / 值更
HƯỚNG DẪN KỸ THUẬT WATCH / CHUYỂN PHIÊN

Hướng dẫn bàn giao phiên hai chiều OpenCode, Claude và Codex

OpenCode giữ phiên trong ~/.local/share/opencode/opencode.db. WATCH_OPENCODE_DB trỏ Watch tới tệp khác. Watch ghi sessions, messages và parts trong một giao dịch SQLite và hoàn tác nếu thất bại. Trường công cụ không hỗ trợ trở thành văn bản. Các trả lời sau phụ thuộc mô hình bạn cấu hình.

Khi chuyển từ agent đám mây thương mại sang mô hình nguồn mở cục bộ trong OpenCode (hoặc bàn giao ngược lại agent đám mây), hướng dẫn này giải thích cách dùng Watch để bàn giao hai chiều với cô lập dữ liệu giao dịch SQLite.

Xuất bản: 2026-09-21 Cập nhật: 2026-09-23 Áp dụng cho: Watch v0.1.1
Ranh giới vận hành chính

OpenCode dùng một cơ sở dữ liệu quan hệ SQLite duy nhất (mặc định ~/.local/share/opencode/opencode.db) để lưu phiên, cung cấp toàn vẹn giao dịch ACID và truy vấn có cấu trúc. Khi bạn muốn chuyển tác vụ nhạy cảm sang mô hình nguồn mở tự lưu trữ (qua Ollama hoặc vLLM trong OpenCode) hoặc bàn giao ngược lại mô hình đám mây biên (Claude/Codex), Watch cung cấp cầu nối hai chiều đã được kiểm chứng.

Khác với công cụ chỉ dựa vào tệp JSONL chỉ nối thêm, OpenCode sắp xếp phiên trên các bảng quan hệ chuẩn hóa gồm sessions, messages và parts. Can thiệp trực tiếp từ bên ngoài có thể làm hỏng ràng buộc khóa ngoại. Watch ánh xạ trừu tượng UnifiedTurn gọn vào lược đồ quan hệ của OpenCode trong khi giữ đúng ngữ cảnh thư mục (cwd) và mốc thời gian.

  1. Bước 1: Xác định ID phiên nguồn và thư mục làm việc

    Định vị ID phiên đang hoạt động. Claude Code lưu tệp trong ~/.claude/projects/; Codex trong ~/.codex/sessions/; OpenCode lập chỉ mục phiên bằng ID duy nhất toàn cục. Xác minh thư mục làm việc là đường dẫn tuyệt đối để giữ thẳng ranh giới dự án.

  2. Bước 2: Kiểm tra trước trạng thái cơ sở dữ liệu đích (Check)

    Chạy Watch CLI với --check để thăm dò cơ sở dữ liệu OpenCode đích. Watch xác thực quyền ghi và khóa trên ~/.local/share/opencode/opencode.db (hoặc đường dẫn tùy chỉnh do WATCH_OPENCODE_DB chỉ định) để tránh tranh chấp ghi đồng thời.

  3. Bước 3: Thực hiện bàn giao hai chiều (Handoff)

    Chọn phiên nguồn trong Watch Desktop và đích OpenCode, hoặc chạy lệnh CLI open. Watch trích các lượt tăng thêm, thực thi giao dịch SQLite nguyên tử trên sessions, messages và parts, rồi cấp ID phiên đích.

  4. Bước 4: Tiếp tục phiên gốc trong OpenCode (Resume)

    Sau khi chuyển đổi, chạy opencode -s <session-id> trong thư mục làm việc hoặc bấm nút khởi chạy trong Watch Desktop. OpenCode tải cuộc hội thoại đã ghi trong thư mục đó.

# 1. Preflight: Verify target OpenCode database writability npm run watch -- open <claude-session-id> --to opencode --check --json # 2. Handoff: Transfer session into OpenCode SQLite database npm run watch -- open <claude-session-id> --to opencode --json # 3. Reverse handoff: Transfer from OpenCode back to Claude or Codex npm run watch -- open <opencode-session-id> --to claude --json
Ràng buộc an toàn và tuyên bố miễn trừ

1. Cô lập cơ sở dữ liệu và bản sao lưu: Watch mặc định thao tác trên ~/.local/share/opencode/opencode.db và dùng WATCH_OPENCODE_DB cho môi trường kiểm thử. Lần ghi là một giao dịch SQLite và sẽ hoàn tác nếu thất bại. 2. Biểu diễn lệnh gọi công cụ: bản ghi được ánh xạ giữa các lược đồ; tham số độc quyền không hỗ trợ trở thành văn bản có cấu trúc. 3. Việc mô hình tiếp tục: Watch ghi bản ghi phiên đã lưu và thư mục làm việc. Nó không đảm bảo mọi sự kiện công cụ đều được giữ. Câu trả lời sau đó phụ thuộc vào mô hình bạn cấu hình.

Câu hỏi thường gặp

Lợi thế của kho SQLite của OpenCode so với JSONL là gì?

SQLite cung cấp giao dịch ACID và lập chỉ mục vững, loại bỏ rủi ro cắt dòng hoặc hỏng tệp khi kết thúc bất ngờ. Việc ghi đè WATCH_OPENCODE_DB cũng tạo thuận lợi cho môi trường kiểm thử cô lập.

Suy luận của mô hình tùy chỉnh có được giữ khi bàn giao ra khỏi OpenCode không?

Watch sao chép lời nhắc, văn bản trợ lý, dấu vết suy nghĩ và đầu ra công cụ mà nó ánh xạ được. Trường công cụ không hỗ trợ trở thành văn bản, nên bản sao không phải là bản sao đầy đủ của hàng OpenCode.

Watch ngăn lệch thư mục làm việc thế nào?

Watch ràng buộc chặt cwd tuyệt đối của phiên nguồn với mục phiên OpenCode. Khi tiếp tục qua opencode -s <session-id>, OpenCode khóa vào workspace đó, tránh sửa nhầm thư mục.

Nguồn chính thức và biên bản nghiệm thu

Về trang chủ Watch Tải Watch Desktop