Skip to content

1.0.6 — gỡ cài đặt dừng được bridge

Choose a tag to compare

@TranHuyQn TranHuyQn released this 14 Aug 06:48
· 93 commits to claude/claude-code-chrome-extension-q9a5sg since this release

Bản phát hành đầu tiên. Mọi số hiệu 2.x/3.x trước đây chỉ tồn tại trong lịch sử git nội bộ, chưa từng phát hành ra ngoài.

Cài đặt

macOS / Linux

curl -fsSL https://github.com/TranHuyQn/cc-chrome-extension/releases/latest/download/install.sh | bash

Windows (PowerShell thường, không cần quyền admin)

irm https://github.com/TranHuyQn/cc-chrome-extension/releases/latest/download/install.ps1 -OutFile "$env:TEMP\install.ps1"
powershell -ExecutionPolicy Bypass -File "$env:TEMP\install.ps1"

Hai dòng, không phải irm … | iex: script bắt đầu bằng BOM UTF-8 (Windows PowerShell 5.1 cần nó để đọc đúng tiếng Việt), mà | iex lại đưa BOM vào parser như ký tự thường và chết ngay với The term '#' is not recognized.

Sau khi script chạy xong còn hai việc phải tự làm trong Chrome — script in ra đúng đường dẫn và URL cần dán: Load unpacked thư mục ~/.cc-chrome-bridge/extension, rồi dán ws://127.0.0.1:8787/ws?token=… vào popup của extension.

Có gì trong bản này

Chạy hoàn toàn trên máy bạn. Bridge nghe ở 127.0.0.1, chạy như một dịch vụ nền của riêng tài khoản bạn và tự lên khi đăng nhập — LaunchAgent (macOS), systemd --user (Linux), scheduled task (Windows). Không có server dùng chung, không tên miền, không pairing secret — mô hình VPS cũ đã được gỡ hẳn khỏi code chứ không phải để lại như tuỳ chọn. Không dữ liệu nào rời khỏi máy bạn.

Không tool nào cướp focus của bạn. Không handler nào activate tab hay kéo cửa sổ Chrome lên trước ứng dụng bạn đang dùng — kể cả switch_tab, giờ chỉ đổi tab bên trong cửa sổ của nó. Đây là khác biệt có chủ đích so với extension Claude in Chrome chính chủ, vốn kéo cửa sổ lên ở gần như mọi lời gọi tool (#39696, #39707). Một bài test quét toàn bộ handler canh điều này, và nó đọc danh sách handler trực tiếp từ code nên thêm handler mới mà quên là fail ngay.

Cách ly theo tab group. Claude chỉ thao tác được trên tab nằm trong nhóm của phiên đó. Kéo một tab vào nhóm chính là cách bạn cấp quyền cho nó.

Khung chat ngay trong Chrome (side panel), spawn claude trên máy bạn, tách biệt hoàn toàn khỏi plugin/hook/memory ở cấu hình cá nhân.

Sửa trong 1.0.6 (Windows)

Gỡ cài đặt không thật sự dừng bridge. Scheduled task chạy wscript.exebridge.cmdnode.exe, nên nodecháuStop-ScheduledTask không đụng tới nó. Task biến mất, script tưởng đã sạch, rồi xoá thư mục trong khi server vẫn sống — hỏng giữa chừng ở logs\bridge.err.log ("The process cannot access the file because it is being used by another process"), để lại đúng cái "bridge zombie" mà thứ tự các bước vốn được thiết kế để ngăn.

Giờ Stop-CcTask tìm bridge theo command line (Task Scheduler không cho biết PID của bất kỳ tiến trình nào trong chuỗi đó), diệt cả cây bằng taskkill /T /F, và chờ nó biến mất thật rồi mới trả về. uninstall.ps1 kiểm cả tiến trình lẫn task, và từ chối xoá bất cứ thứ gì nếu bridge còn sống.

Điều này cũng ảnh hưởng nâng cấp: bản cũ còn sống nghĩa là code bị thay dưới chân một tiến trình vẫn đang phục vụ phiên bản cũ trên cùng cổng.

Lưu ý

⚠️ Đường Windows chưa được nghiệm thu trên máy thật. CI chạy trọn install.ps1/uninstall.ps1 trên windows-latest mỗi lần push và đang xanh, nhưng với CC_CHROME_SKIP_SERVICE=1 — nên chưa ai kiểm ba thứ: đăng ký scheduled task có cần nâng quyền không, có hiện cửa sổ console đen không, và task có thật sự ở trạng thái Running không. Side panel chat trên Windows cũng chưa chạy thật lần nào. macOS và Linux thì đã dùng thật.

⚠️ Nâng cấp thì phải Reload extension. Script ghi đè ~/.cc-chrome-bridge/extension trên đĩa, nhưng Chrome vẫn chạy code cũ cho tới khi bạn vào chrome://extensions bấm Reload. Bỏ qua bước này nghĩa là âm thầm chạy extension bản cũ, kể cả khi server đã lên bản mới.

🔒 Bridge chỉ nghe trên 127.0.0.1. Không dữ liệu nào rời khỏi máy bạn, không cần đăng nhập claude.ai trong trình duyệt. Đọc mục "Lưu ý bảo mật" trong README để biết chính xác Origin check bảo vệ được gì và không bảo vệ được gì.