Claude là thêm một chat nữa.
aipager đưa các phiên Claude Code của bạn vào Telegram, nằm giữa các chat với gia đình, bạn bè và đồng nghiệp của bạn. Nó chạy trên máy tính của bạn.
Một phiên Claude Code đang sẵn sàng trên laptop của bạn, ở Chế độ Auto, nơi mọi phiên mới bắt đầu.
curl -fsSL aipager.run/install | shLinux & macOS · MIT · khoảng một phút
Ba chế độ. Bạn bắt đầu ở Chế độ Auto.
Mỗi phiên ở một trong ba chế độ, đặt riêng cho từng phiên và đổi bất cứ lúc nào bằng /mode. Chế độ Hỏi dừng lại trước mỗi hành động. Chế độ Auto, nơi mọi phiên mới bắt đầu, để phần kiểm tra an toàn của chính Claude Code tự chạy những lần chạy an toàn và chặn những lần chạy rủi ro thay bạn. Chế độ Toàn quyền chạy mọi thứ, không kiểm tra gì cả. Chế độ chỉ tác động đến các yêu cầu cấp quyền của Claude Code, không gì khác: trong một nhóm, công cụ mà vai trò của thành viên không được dùng vẫn bị từ chối, dù đang ở chế độ nào.
- ✅ Cho phép · chỉ lần chạy này
- ❌ Từ chối · Claude chặn lần chạy này
- 🟢 Luôn cho phép · thêm quy tắc Claude đề xuất, khi nó có đề xuất
- ⏹ Dừng · cắt ngang việc đang làm thay vì trả lời
Hiện một nút cho mỗi chế độ còn lại; /mode ask, /mode auto và /mode full đổi ngay lập tức. Phiên mới bắt đầu ở Chế độ Auto, trừ khi chat đã chọn khác trong /settings → Phiên mới.
Không khởi động lại, kể cả khi Claude đang làm việc: aipager bấm Shift+Tab trong phiên, và thẻ báo đang chuyển chế độ cho tới khi Claude Code xác nhận chế độ mới.
Chuyển sang Chế độ Toàn quyền hoặc rời khỏi nó sẽ khởi động lại phiên và giữ nguyên cuộc trò chuyện. Chỉ quản trị viên mới được mở phiên ở chế độ này hoặc chuyển phiên sang đó (hoặc chính bạn, trong chat riêng của bạn với bot).
Chế độ chỉ áp dụng cho yêu cầu cấp quyền, không áp dụng cho các quyết định: khi Claude hỏi bạn điều gì, các nút vẫn đến chat của bạn, dù đang ở chế độ nào.
Ba chat. Còn lại là cuộc sống của bạn.
- aipagerbot⏳ api · Đang làm việc · 3:14 · Read ×2 · Bash ×2Chat của bạn với Claude
Một chat cho mọi phiên. Mỗi việc có một thẻ tự cập nhật liên tục, những yêu cầu bạn trả lời bằng một lần chạm, và một thanh được ghim cho biết việc gì đang chờ bạn. Tin nhắn thường đến đúng phiên mà thanh được ghim gọi tên; /web gửi tin nhắn tiếp theo sang phiên khác và tiếp tục nói chuyện ở đó.
/status/new/mode/stop/app/<session> <prompt> - BTbackend-teamnhóm · chế độ làm việc nhómSara: @aipagerbot /web chạy test e2e login trên stagingNhóm làm việc của bạn
Thêm bot vào một nhóm, rồi ai có trong danh sách cho phép cũng nhắc đến bot được. Mỗi tin nhắn chạy với vai trò của người gửi; công cụ mà vai trò đó không được dùng sẽ bị từ chối trước khi chạy, và mọi quyết định đều vào log kiểm tra kèm tên người đã chạm nút.
owneradminuserread_only - JJimchat riêng của họ với bot🔐 web · Cần bạn cấp quyềnNgười khác, trong chat của chính họ
Thêm chat riêng của một đồng nghiệp với bot, họ sẽ tự chạy các phiên của mình, với vai trò riêng và thư mục gốc riêng: mọi việc Claude của họ đều bắt đầu bên trong thư mục đó và không đọc gì trong thư mục home của bạn nằm ngoài thư mục đó. Ai chỉ nên ngồi xem thì nhận read_only trong nhóm của bạn.
thư mục gốc của thành viên~/aipager-users/<label>read_only/new
Bốn vai trò, mỗi vai trò một quy tắc công cụ.
Vai trò được tính là vai trò bạn có trong chính chat bạn đang dùng, và công cụ mà một vai trò không được dùng sẽ bị từ chối trước khi chạy, chứ không hỏi bạn. Không gì trong Telegram hay Mini App đổi được ai có trong danh sách: chỉ aipager config, chạy trên máy tính, mới đổi được.
| Được phép | owner | admin | user | read_only |
|---|---|---|---|---|
| Gửi tin nhắn cho một phiên | ✓ | ✓ | ✓ | ✕ |
| Cho phép, Từ chối, trả lời câu hỏi của Claude | ✓ | ✓ | ✓ | ✕ |
| Bash, và mọi thứ khác chạy code | ✓ | ✓ | ✕ | ✕ |
| Chế độ Toàn quyền, /settings của nhóm, /update | ✓ | ✓ | chat riêng | ✕ |
| Phiên của họ được làm việc ở đâu | bất cứ đâu | bất cứ đâu | thư mục gốc | thư mục gốc |
| Đọc file chứa thông tin đăng nhập (~/.ssh, …) | ✓ | ✓ | ✕ | ✕ |
Dùng nó như một chat bình thường.
Không phải một console khoác áo chat: mọi thứ bạn vẫn làm trong Telegram đều dùng được ở đây. Nói vào nó trên đường về nhà, quăng cho nó ảnh chụp màn hình, gửi ý tiếp theo trước khi ý trước xong.
- 🎙️Nói, thay vì gõ
Gửi một tin nhắn thoại: aipager chuyển nó thành chữ ngay trên máy tính của bạn (không bao giờ qua cloud của ai), gửi lại cho bạn xem nó nghe được gì, rồi gõ vào phiên như thể chính bạn viết.
0:07🎙️ Nghe được: sửa test e2e login hay chập chờn - 📎Ảnh chụp màn hình chỗ lỗi
Ảnh và file được lưu vào một thư mục trên máy tính của bạn, rồi Claude nhận đường dẫn tới đó, với chú thích của bạn làm tin nhắn, hoặc “check this: …” khi không có chú thích. Gửi nhiều cái một lúc thì chúng đi chung một tin nhắn.
- 📤Nó gửi cả file cho bạn
Cứ nhờ bằng lời của bạn, “gửi mình ảnh chụp màn hình”, là file sẽ tới chat của phiên đó ngay sau câu trả lời: ảnh thành ảnh, video và âm thanh giữ nguyên, còn lại thành file, nhiều cái một lúc thì gộp thành một album. Không bao giờ có cài đặt của aipager, thông tin đăng nhập của Claude hay khóa của bạn: những thứ đó bị từ chối trước khi gửi đi.
gửi mình ảnh chụp màn hình - 👀Gửi tin tiếp theo ngay
Tin nhắn của bạn đến Claude ngay lúc bạn gửi, kể cả giữa chừng một việc: 👀 khi hàng đợi của chính Claude còn giữ nó, 👍 khi Claude đã nhận. ⚡ Gửi ngay đưa nó cho Claude mà không chờ bước hiện tại kết thúc.
- ⏸Không bao giờ bị đọc nhầm thành câu trả lời
Tin nhắn bạn gửi khi một yêu cầu cấp quyền đang mở sẽ được giữ lại, không bị gộp vào yêu cầu đó, và đến phiên ngay khi bạn trả lời xong.
- 🤖Agent và lệnh chạy nền, đếm đủ
Mỗi agent chạy nền mà Claude mở đều có một dòng riêng trên thẻ kèm việc nó đang làm, và một lệnh chạy nền vẫn có đồng hồ riêng cho tới khi nó kết thúc.
- 🔔Nó báo cho bạn trước
Một cảnh báo ngữ cảnh, một lần thu gọn cuộc trò chuyện, một phiên đã kết thúc hoặc im lặng, một việc kéo dài quá lâu: chat tự nói ra, bạn không phải đi tìm.
- ⌨️Các nút đã có sẵn ở đó
Dưới ô nhập tin nhắn có một bàn phím: mỗi phiên đang chạy một nút, rồi “phiên”, “dừng” và “mới”, rồi “Mẫu” cho những tin nhắn bạn gõ đi gõ lại và “Lệnh” cho những lệnh Claude Code tự xử lý.
- 📋/status, cả chat trong một lần xem
Mọi phiên thành một danh sách bạn thao tác được: từng phiên đang làm gì, mô hình của nó, ngữ cảnh còn lại, đã tốn bao nhiêu, cái gì đang xếp hàng phía sau, kèm Dừng, Trả lời và phần còn lại của menu trên từng phiên.
Một bảng điều khiển, vẫn ở trong Telegram.
/app mở tất cả các phiên cùng lúc: mỗi phiên một ô, kèm vòng ngữ cảnh, thư mục, mô hình và số tiền đã tốn. Chat vẫn là nơi bạn trả lời, còn Mini App là để nhìn bao quát tất cả, và để làm những việc mà chat làm không tiện, như đọc một diff hay đổi một cài đặt.
Mỗi phiên một ô, kèm vòng ngữ cảnh, phiên của ai, mô hình và số tiền đã tốn, phía trên là một dòng cho biết tình hình chat: phiên nào đang làm việc, phiên nào sẵn sàng, hôm nay tốn bao nhiêu, bao nhiêu phiên đã kết thúc. Nút + mở thêm một phiên: một cái tên, một thư mục trong những thư mục bạn vẫn dùng, một mô hình.
Phiên đang chờ bạn trả lời một yêu cầu cấp quyền hay một câu hỏi thì nằm trên cùng, kèm điều nó đang hỏi. Nút “Trả lời trong chat” gửi lại yêu cầu đó xuống cuối chat, đủ cả nút bấm, và bạn trả lời ngay ở đó.
Dòng trạng thái, “Đang làm việc (3:12)” hay “Sẵn sàng, hoạt động lần cuối 5 phút trước”, và một lần chạm để Dừng hay Tiếp tục. Dưới đó là những công cụ vừa chạy, câu trả lời mới nhất, phần chọn mô hình, các file mà việc vừa rồi đã đổi dưới dạng diff, và cài đặt của riêng phiên đó.
Mặc định bật, mọi lượt truy cập đều được đối chiếu với chữ ký của chính Telegram, và trang không tải gì từ nơi khác: không font, không script. aipager miniapp disable tắt nó đi.
Bằng tiếng của bạn, đến từng chữ số.
Chỉ chữ của riêng aipager đổi: thẻ, yêu cầu cấp quyền, nút, thanh được ghim, /status, Mini App, tài liệu. Các phiên của bạn thì không: Claude trả lời bằng ngôn ngữ bạn viết cho nó, và những gì aipager gửi cho Claude vẫn giữ nguyên. Chọn một ngôn ngữ bằng /language, hoặc để nó theo ngôn ngữ Telegram của bạn.
Tiếng Ba Tư và tiếng Ả Rập đọc từ phải sang trái, với chữ số Ba Tư (۰-۹) hoặc Ả Rập-Ấn (٠-٩) và dấu phân cách của riêng chúng, cả trong Telegram lẫn trong Mini App. Tên phiên, đường dẫn, lệnh và code vẫn giữ hướng của mình.
Mỗi ngôn ngữ được viết đúng theo cách người dùng app bằng tiếng đó thật sự nói, kể cả từ mượn, với các dạng số nhiều của riêng ngôn ngữ đó (tiếng Ả Rập có sáu dạng).
Chat riêng có thể theo ngôn ngữ Telegram của bạn. Một nhóm dùng một ngôn ngữ, do quản trị viên đặt, còn thông báo hiện lên sau một lần chạm thì theo tiếng của chính người chạm.
README và mọi trang trong docs/ đều được dịch. Khi bản dịch và trang tiếng Anh khác nhau, trang tiếng Anh là đúng.
pnpm test e2e/login --trace onTerminal vẫn là nơi mọi thứ thật sự diễn ra.
Claude Code chạy trong một terminal thật, bên trong dtach, nên không ai phải để một cửa sổ mở. Mỗi bước kích hoạt một hook, hook gửi một gói tin tới aipager qua một socket cục bộ, rồi aipager cập nhật một tin nhắn trong chat của bạn. Câu trả lời của bạn đi ngược lại cùng đường đó: một quyết định cho hook đang giữ lần chạy đó, hoặc những phím gõ thẳng vào phiên.
- Claude Codebên trong dtach, không cần cửa sổ
- hookchạy ở mỗi bước
- aipagermột tiến trình, bằng tài khoản của bạn
- Telegramtoken bot của chính bạn
- các chat của bạnchat riêng của bạn, nhóm của team bạn
aipager session api kết nối vào phiên đang chạy từ bất kỳ shell nào. Gõ ở đó, gõ trong chat: vẫn là một phiên. Đóng cửa sổ thì nó chạy tiếp, và kết nối này theo phiên qua cả một lần khởi động lại.
aipager gõ vào phiên và lắng nghe các sự kiện của chính Claude Code. Những gì chat hiển thị đến từ các hook và cuộc trò chuyện đã lưu, không phải từ việc quét màn hình terminal.
Một hook gửi một gói tin rồi trả về, tốn khoảng 20 ms thời gian của Claude Code. Nếu aipager không lắng nghe, sự kiện đó đơn giản là bị bỏ và Claude làm tiếp; sau đó aipager bắt kịp từ chính các file của phiên.
Không có gì ở giữa.
aipager không bao giờ nói chuyện với Anthropic. Thứ duy nhất làm việc đó là chính Claude Code, bằng tài khoản đăng nhập của bạn, trên máy tính của bạn. aipager mở nó trong một terminal và lắng nghe các hook mà Claude Code cung cấp. Không endpoint nào bị dịch ngược, không proxy, không tài khoản nào ngoài tài khoản của bạn: phiên bạn điều khiển từ điện thoại chính là phiên bạn sẽ điều khiển từ bàn phím.
aipager nói chuyện với Telegram Bot API bằng token bot của chính bạn. Không có tài khoản aipager, không có dịch vụ aipager, và không có máy tính của ai khác nằm giữa điện thoại của bạn và máy của bạn.
aipager chỉ trả lời trong những chat có trong cấu hình của bạn. Người lạ tìm ra bot chỉ nhận được một dòng nói rằng bot không được cấu hình để nói chuyện với họ; không gì họ gửi đến được một phiên.
Nó chỉ lắng nghe trên loopback. Mini App đi ra ngoài qua một tunnel Cloudflare, nơi mọi lượt truy cập đều phải mang chữ ký của Telegram, và aipager miniapp disable tắt nó đi.
Token bot và id các chat nằm trong ~/.config/aipager/aipager.yaml với quyền 600. Chúng không được ghi vào log của aipager, và bị che ở mọi chỗ chúng có thể lọt vào đó.
Không sudo, không setuid. Mọi thứ nó ghi đều nằm trong thư mục home của bạn, /tmp hoặc thư mục socket của riêng nó, và mọi tiến trình nó mở (claude, dtach, các trình cài đặt) đều chạy bằng tài khoản của bạn.
settings.json của bạn nói cái gì cần hỏi. aipager chỉ chuyển câu hỏi đi; nó không bao giờ quyết định cái gì được chạy, và một nút còn sót lại từ một việc đã xong thì đã cũ: nó từ chối chứ không đụng vào việc đang chạy.
Thành viên và vai trò chỉ đổi được bằng aipager config, ngay trên máy tính. Không gì trong Telegram và không gì trong Mini App thêm được một người hay nới rộng được một vai trò.
Mỗi lần Cho phép, Từ chối và mỗi câu trả lời đều đi vào ~/.claude/aipager-audit.jsonl, chỉ ghi thêm, kèm tên người đã chạm nút khi ở trong nhóm.
Bốn dòng. Giữ chúng trong Tin nhắn đã lưu.
Chạm vào một dòng để sao chép. Cần hai thứ trước: một bot của riêng bạn từ @BotFather (bấm Start trong đó), và Claude Code đã đăng nhập trên máy này. Trình hướng dẫn ở dòng hai sẽ hỏi phần còn lại.
Đặt token bot vào một file mà nó không bao giờ phải đọc, rồi đưa cho Claude Code dòng này:
Install aipager for me by following https://aipager.run/agent.md. My Telegram bot token is in ~/.config/aipager/bot-token and my Telegram user id is <your id>.
Thích package manager của bạn hơn? uv, pipx, Homebrew, Docker, Nix, AUR và Snap. mọi cách cài đặt →
Cứ hỏi.
Thêm Claude vào các chat của bạn.
Rồi đóng terminal lại và tận hưởng buổi tối của bạn.