2 điểm bởi esc5221 1 ngày trước | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

sessionhub là công cụ gom và tìm kiếm các phiên Claude Code · Codex nằm rải rác trên nhiều máy tại một nơi.

Tôi thường chuyển qua lại giữa desktop và laptop, thỉnh thoảng còn phát triển trên cả server, nên rất hay bị lẫn không nhớ tác vụ kiểu "cái này mình đã làm trước đây rồi mà" nằm trên máy nào. Các phiên Claude Code và Codex đúng là được tích lũy dưới dạng JSONL ở ~/.claude/projects, ~/.codex/sessions trên từng máy, nhưng dù file đều có đủ thì vẫn không tìm kiếm được, thành ra cuối cùng lại phải SSH vào nhiều máy và lục từng cái một.

Khi cần tìm, chỉ việc tìm bằng từ khóa. Tìm bằng sessionhub search "connection pool", rồi xem lại cuộc trò chuyện lúc đó bằng sessionhub raw <id>.

Dạo này thứ tôi dùng tiện nhất là tích hợp agent. Cài xong thì skill cũng được cài cùng vào Claude Code và Codex, nên khi đang làm việc mà đến lúc cần kiểu "trước đây mình đã xử lý cái này thế nào nhỉ", agent sẽ tìm phiên liên quan và mang nó vào làm context.

# Claude Code  
/sessionhub 저번에 커넥션 풀 터지던거 어떻게 고쳤더라  
  
# Codex  
$sessionhub 저번에 커넥션 풀 터지던거 어떻게 고쳤더라  

Cách hoạt động rất đơn giản. Chỉ cần chọn một máy làm hub, các phiên từ những máy còn lại sẽ được gom về qua SSH mỗi 15 phút; còn nếu tìm kiếm từ một máy không phải hub thì hub sẽ tìm thay. Không cần sao chép các log nặng đi khắp nơi.

Dung lượng cũng khá nhẹ. Khi tôi mổ xẻ log của mình, hóa ra 99,7% là dữ liệu dành cho máy như gọi tool, streaming frame, tính token; còn phần hội thoại thực sự cần tra cứu lại chỉ khoảng 0,3%. Vì vậy tôi chỉ trích xuất phần hội thoại, nén lại rồi đưa vào chỉ mục. Trong trường hợp của tôi, khoảng ~10GB dữ liệu gốc giảm xuống còn vài trăm MB. Toàn bộ bản gốc vẫn được giữ nguyên trên máy ban đầu, nên khi cần thì chỉ mở ra lúc đó là được.

Sau khi cài, setup sẽ hướng dẫn luôn cả cấu hình hub lẫn cài skill.

uv tool install git+https://github.com/esc5221/sessionhub  
sessionhub setup  

Gần đây có nhiều thử nghiệm gắn bộ nhớ dài hạn cho agent. Cách làm là tóm tắt hoặc trích xuất các cuộc trò chuyện trước đó, lưu vào một vùng nhớ riêng để phiên sau tham chiếu lại. Tôi cũng thích hướng tiếp cận này, nhưng luôn vướng hai điểm: ngay khi tóm tắt thì ngữ cảnh gốc bắt đầu bị bào mòn đi từng chút một, còn phần bộ nhớ tích lũy theo thời gian lại trở nên stale nên phải liên tục chỉnh sửa, khá phiền.

Vì thế tôi không tạo phần tóm tắt riêng, mà giữ nguyên bản gốc và khi cần thì mở lại đúng cuộc trò chuyện đó. Cách này gần với compute-centric hơn là memory-centric.

Tôi cũng rất muốn biết có ai đang giải bài toán này theo cách khác không (làm sao để cung cấp context quá khứ cho agent mà không bị cũ đi, không mất mát thông tin), hay có phương pháp nào tốt hơn. Rất mong nhận được thêm nhiều ý kiến trong phần bình luận.

Chưa có bình luận nào.

Chưa có bình luận nào.