
AI agent của tôi viết file trên Mac Mini không màn hình. markserv giải quyết chuyện đọc chúng từ iPhone.
Hermes Agent tự chạy và viết ghi chép trên máy Mac ở góc nhà. Tôi muốn cập nhật tiến độ từ Safari điện thoại khi ra ngoài mà không phải động vào hệ thống đồng bộ hai chiều cồng kềnh. markserv mang lại một lăng kính chỉ đọc siêu nhỏ gọn.
bối cảnh & thiết lập
Tôi chạy Hermes Agent 24/7 trên một chiếc Mac Mini đặt ở góc làm việc. Hằng ngày, agent sẽ tự động chạy các tác vụ nghiên cứu, lập kế hoạch và viết báo cáo, sau đó lưu trực tiếp thành các file .md (markdown) nằm rải rác trong các thư mục dự án trên ổ cứng máy Mac.

Chuyện sẽ không có gì đáng nói nếu tôi luôn ngồi trước màn hình. Nhưng thực tế là tôi cần đọc, duyệt và kiểm tra những file ghi chép này ngay trên iPhone khi đang đi uống cà phê, di chuyển ngoài đường hoặc nằm trên giường trước khi ngủ.
Thiết lập này có hai điều kiện cứng:
- Chiếc Mac Mini chạy agent hoàn toàn tách biệt khỏi tài khoản Apple cá nhân và iCloud của tôi để đảm bảo tính riêng tư và tự động hóa.
- Tôi muốn giữ nguyên cấu trúc thư mục làm việc hiện tại, không muốn dồn tất cả dữ liệu vào một thư mục chung chỉ để chiều theo một ứng dụng di động nào đó.
hướng đi thất bại
Vì các file là markdown, tôi mặc định nghĩ ngay đến Obsidian trên iOS. Tôi bắt đầu tìm cách đồng bộ file giữa Mac Mini lên điện thoại.
Đầu tiên, tôi thử cài plugin Remotely Save kết hợp với một server WebDAV nội bộ trên Mac Mini, kết nối qua mạng ảo Tailscale. Kết quả là plugin liên tục báo “Never Synced” (Chưa từng đồng bộ). Sau khi mò mẫm, tôi phát hiện ra định dạng mã hóa file cấu hình data.json của plugin này ở phiên bản mới bị xung đột khiến trình lên lịch đồng bộ không thể kích hoạt trên iOS.
Sau đó, tôi chuyển sang giải pháp phức tạp hơn: Obsidian LiveSync kết hợp với cơ sở dữ liệu CouchDB. Hệ thống chạy được vài tiếng rồi bắt đầu lệch pha đồng bộ trên điện thoại, việc cấu hình lại các khóa bảo mật và cơ chế replicate từ màn hình iPhone nhỏ xíu trở thành một cực hình.
Tôi nhận ra mình đã phạm một sai lỗi kinh điển: Sử dụng một hệ thống đồng bộ và chỉnh sửa hai chiều cực kỳ phức tạp (Obsidian Sync) trong khi nhu cầu thực tế của tôi chỉ là đọc file.
Khi bỏ qua tên gọi của các ứng dụng nổi tiếng và viết lại đúng yêu cầu cốt lõi, bài toán trở nên đơn giản hơn nhiều:
- Đọc file markdown trên iPhone.
- Chạy qua mạng Tailscale sẵn có.
- File ở đâu trên Mac thì nằm nguyên ở đó, không xáo trộn cấu trúc dự án.
- Không cài thêm dịch vụ đồng bộ cồng kềnh để tránh bảo trì mệt mỏi.
sự thay đổi: lăng kính liên kết (symlink lens)
Tôi giao các điều kiện này cho Hermes Agent để tìm giải pháp gọn nhẹ nhất. Agent đề xuất markserv - một server xem trước markdown nhỏ viết bằng Python.
Thay vì đồng bộ file phức tạp, cách hoạt động mới cực kỳ đơn giản:
- Phần việc của Agent: Khi tạo ra một file ghi chép mới trong quá trình làm việc, một đoạn script chạy ngầm (
fswatch) sẽ tự động tạo một liên kết trỏ (symlink) từ file đó vào một thư mục tập trung duy nhất tên là~/.markserv-root/. - Lăng kính liên kết: Thư mục này giống như một “lăng kính” tập hợp lối tắt của tất cả các file markdown đang nằm rải rác trên máy Mac, mà không cần copy hay di chuyển file gốc.
- Phần việc của tôi (Con người): Trên iPhone, tôi chỉ cần kết nối Tailscale, mở Safari và truy cập vào IP của Mac Mini cùng cổng chạy của markserv. Toàn bộ sơ đồ thư mục hiện ra sạch sẽ, tôi bấm vào đâu là đọc được file markdown render đẹp đẽ ngay tại đó.

Thiết lập này chỉ mất đúng 60 giây để cài đặt và chạy thử. Từ đó đến nay, nó hoạt động hoàn toàn im lặng và không tốn một chút tài nguyên hệ thống nào.
bản thiết kế giao việc (prompt blueprint)
Nếu bạn cũng đang có một agent chạy nội bộ trên máy cá nhân hoặc server riêng và muốn đọc nhanh các ghi chép của nó từ điện thoại mà không phải tự gõ lệnh cài đặt cồng kềnh, hãy để agent tự làm việc đó cho bạn.
Copy toàn bộ đoạn lệnh dưới đây, quăng trực tiếp vào khung chat với agent của bạn (yêu cầu agent có quyền sử dụng terminal trong môi trường macOS hoặc Linux):
Hãy thiết lập một hệ thống đọc file markdown từ điện thoại bằng công cụ `markserv` theo các bước sau:
1. Kiểm tra và cài đặt `markserv` qua python/uv:
- Dùng lệnh: `uv tool install markserv` (hoặc `pip install markserv` nếu chưa có uv).
2. Tạo một thư mục tập trung làm "lăng kính liên kết" để gom lối tắt:
- Tạo thư mục: `~/.markserv-root`
- Tìm các thư mục chứa file markdown làm việc chính của tôi (như ~/projects, ~/notes, ~/research) và tạo liên kết symlink trỏ chúng vào thư mục `~/.markserv-root` vừa tạo. Ví dụ: `ln -s ~/projects ~/.markserv-root/projects`.
3. Thiết lập khởi động server tự động:
- Tạo một script chạy ngầm hoặc một service (LaunchAgent trên macOS hoặc systemd trên Linux) để chạy lệnh sau ở background:
`markserv ~/.markserv-root --host 0.0.0.0 --port 8765`
- Đảm bảo server này tự khởi động lại khi máy reset.
4. Sau khi hoàn thành, hãy trả về cho tôi:
- Địa chỉ IP nội bộ của máy kèm cổng chạy (ví dụ: http://192.168.1.15:8765) để tôi mở trên Safari điện thoại.
- Trạng thái chạy của dịch vụ để xác nhận mọi thứ đã hoạt động im lặng.
Bằng cách này, bạn giữ tay mình hoàn toàn sạch sẽ, không chịu chút “nợ kỹ thuật” nào và chỉ cần nhấn vào đường link cuối cùng agent gửi lại để thưởng thức kết quả.
cùng gỡ workflow của bạn
Mỗi người có một góc làm việc và thói quen quản lý thông tin khác nhau. Có thể bạn không dùng Mac Mini mà dùng Windows, không xài Tailscale mà muốn đồng bộ qua mạng khác, hoặc đang kẹt ở bước tạo lối tắt tự động cho file mới.
Nếu bạn muốn dựng một lối đọc file nhanh như thế này cho thiết lập hiện tại của mình nhưng chưa biết bắt đầu từ đâu, hãy nhắn cho tôi:
- Discord:
annguyen175(Hoặc chat trực tiếp với tôi qua link này) - Email:
[email protected] - Nhóm thảo luận Facebook: vnhermesagent
Cứ nhắn cho tôi biết bạn đang lưu file ghi chép thế nào, dùng thiết bị gì và chỗ nào làm bạn thấy mất thời gian nhất. Tôi sẽ tìm hiểu thử, tự thiết lập và chạy thử nghiệm trên máy của tôi trước, sau đó gửi lại cho bạn cách làm tối ưu nhất.