Khi giao cho Claude Code một tác vụ dài, thời gian ngồi nhìn đờ đẫn dòng esc to interrupt cứ tích lại.
Khoảng thời gian ấy quá ngắn để làm việc khác nhưng lại quá dài để ngồi yên, nên tôi nghĩ: hay là đọc từng tiêu đề tin tức
ngay trên thanh trạng thái ở cuối phiên, mỗi lần một dòng — và thế là tôi làm ra nó.
Nó làm gì
- Các tiêu đề được tùy biến theo khu vực sẽ luân phiên hiển thị mỗi 6 giây ở dòng bên dưới thanh trạng thái (HUD) hiện có. Thanh trạng thái hiện tại
vẫn được giữ nguyên. - Không chỉ là dịch đơn thuần, tin được lấy từ các cơ quan truyền thông bản địa thực sự của khu vực đó. Nếu là Hàn Quốc thì Yonhap News,
Nhật Bản thì NHK, Pháp thì Le Monde, Đức thì Tagesschau/Spiegel, Tây Ban Nha thì El País,
Brazil thì G1, còn khu vực nói tiếng Anh thì theo kiểu BBC/NPR. Nếu nguồn tương ứng bị chết hoặc bị chặn, hệ thống tự động fallback sang feed theo locale của Google News. Hiện tại dựa trên các nguồn kể trên, và trong tương lai sẽ được làm phong phú dần bằng cách kết hợp thêm nhiều nền tảng và bài viết đa dạng hơn. - Tiêu đề là hyperlink OSC 8 nên có thể bấm trực tiếp trong hầu hết terminal để mở bài viết.
- Hỗ trợ 8 ngôn ngữ, bao gồm tiếng Hàn, và có thể chọn lĩnh vực (topic: công nghệ/kinh doanh/thể thao, v.v.).
- Màu tiêu đề và chu kỳ luân phiên (mặc định 6 giây) cũng có thể điều chỉnh tùy ý trong phần cài đặt.
Vì sao / Khác gì so với các công cụ hiện có
Có nhiều công cụ gắn thông tin vào thanh trạng thái, nhưng đa số thay thế thanh trạng thái hiện có. newsline không thay thế mà thêm một dòng bên dưới, nên có thể dùng cùng HUD/statusline bạn đang dùng.
Và thay vì gắn bừa tin tức nào đó vào mã ngôn ngữ, nó ưu tiên các cơ quan truyền thông nội địa đáng tin cậy theo từng locale (dịch vụ edge chọn nguồn mới phù hợp theo khu vực và lĩnh vực), chỉ dùng Google News làm fallback.
Ngoài ra, vì thanh trạng thái được Claude Code gọi rất thường xuyên, tuyệt đối không được chờ mạng. Vì vậy:
- RSS được lấy về cục bộ ở nền (chỉ dùng thư viện chuẩn của python3, không có dependency)
- Lưu N tiêu đề vào cache, rồi
- Khi thanh trạng thái được gọi, render ngay từ cache và luân phiên theo đồng hồ treo tường.
Việc cập nhật do một tiến trình nền có khóa single-flight đảm nhiệm, nên không có thực thi trùng lặp.
Dùng thử (không cần đăng ký hay email)
curl -fsSL https://raw.githubusercontent.com/itdar/newsline/master/install.sh | sh
Cũng có thể cài qua npm (npm i -g newsline-cli && newsline init), Homebrew, hoặc marketplace plugin Claude Code
(/plugin marketplace add itdar/newsline). Nó sẽ hiển thị từ thời điểm bạn gửi tin nhắn tiếp theo và không cần khởi động lại. newsline uninstall sẽ khôi phục hoàn toàn thanh trạng thái trước đó.
Quyền riêng tư
Việc thu thập và hiển thị đều diễn ra cục bộ. Thứ duy nhất gửi ra ngoài là ngữ cảnh sơ bộ để chọn nguồn theo khu vực
(ngôn ngữ, quốc gia, lĩnh vực, v.v.; không có tracking ID). Nếu thêm
"api": "off" và "endpoint": "off" vào ~/.config/newsline/config.json, hệ thống sẽ chuyển sang chế độ hoàn toàn cục bộ và không kết nối tới đâu ngoài các feed tin tức.
GitHub: https://github.com/itdar/newsline
Rất mong nhận được phản hồi, đặc biệt là về những nguồn tin hoặc lĩnh vực nào cần thêm.
Chưa có bình luận nào.