Branch of Thought – tiện ích mở rộng Chrome hiển thị các nhánh ẩn trong hội thoại Claude·ChatGPT dưới dạng đồ thị
(github.com/ijzereen)Khi bạn chỉnh sửa tin nhắn trong Claude hoặc ChatGPT, cuộc trò chuyện sẽ âm thầm tách ra thành một nhánh mới. Nhưng các cuộc trò chuyện trước đó lại bị ẩn sau mũi tên nhỏ ‹ 2/3 ›, nên rất dễ bỏ lỡ nhánh mà bạn muốn quay lại. Vì thấy bất tiện nên tôi đã tự làm một công cụ như vậy.
Cụ thể, nó vẽ toàn bộ cuộc trò chuyện dưới dạng đồ thị cây phân nhánh trong panel bên. Bạn có thể nhìn thấy ngay cuộc trò chuyện đã tách nhánh ở đâu, đường đi hiện tại được làm nổi bật, và khi nhấp vào một node, bạn có thể đọc đầy đủ nội dung tin nhắn của phiên bản đó cùng cả câu hỏi và câu trả lời. Bạn cũng có thể chuyển ngay sang các nhánh từng bị bỏ qua chỉ với một cú nhấp, kéo thả các node để đổi bố cục, hoặc xuất đồ thị ra HTML, PNG, SVG.
Phần khó nhất khi làm là cấu trúc lưu trữ hội thoại của Claude và ChatGPT hoàn toàn khác nhau. ChatGPT thì lộ ra cây mapping, còn Claude thì không, nên tôi đã tạo một bộ chuẩn hóa để gói cả hai vào cùng một dạng. Nhờ vậy, toàn bộ logic bên dưới đều hoạt động độc lập với nền tảng, và việc gắn thêm nền tảng thứ hai cũng dễ hơn nhiều.
Nó dựa trên MV3, và content script chạy trong MAIN world sẽ đọc dữ liệu hội thoại mà trình duyệt đã nhận sẵn. Vì vậy mọi thứ đều được xử lý cục bộ, không có máy chủ, phân tích hay telemetry. Có một tùy chọn tóm tắt tiêu đề node thành một dòng bằng Claude Haiku; tính năng này dùng API key của chính bạn và chỉ tóm tắt một lần cho mỗi tin nhắn rồi lưu cache.
Đây là tiện ích mở rộng trình duyệt đầu tiên của tôi nên vẫn còn khá thô. Tôi chưa đưa nó lên web store và cũng không định làm vậy trong tương lai; cách dùng là tự nạp ở trạng thái giải nén. Vì thế trước khi chạy, bạn có thể kiểm tra chính xác nó làm gì trong mã nguồn. Nó dùng giấy phép MIT và hỗ trợ cả Claude lẫn ChatGPT.
Tôi muốn nhận phản hồi về cách tiếp cận, UX, hoặc các edge case mà tôi đã bỏ sót. Cứ thoải mái hỏi bất cứ điều gì.
Chưa có bình luận nào.