TL;DR

OpenChronicle (repo: Screenata/open-chronicle) là một menubar app cho macOS biến Claude Code và Codex CLI thành agent có "trí nhớ quang học": nó chụp màn hình editor/terminal/browser mỗi ~10 giây, OCR bằng Apple Vision trên máy, tóm tắt 2 câu mỗi 60 giây bằng LLM, rồi expose qua Model Context Protocol. Hỗ trợ Anthropic / OpenAI / Fireworks API hoặc chạy 100% offline với Ollama / LM Studio. MIT license. v0.1.3 ra ngày 22/04/2026.

Open Chronicle GitHub repository banner

Vấn đề mà OpenChronicle giải quyết

AI assistant của bạn luôn khởi động từ con số 0 mỗi session. Bạn mở Claude Code, nó không biết bạn vừa sửa file gì, vừa chạy test nào fail, vừa đọc docs page nào. Bạn phải re-paste context — mỗi. lần. một.

OpenChronicle đóng vai một rolling screen-derived memory: agent không cần bạn nhắc lại, nó query vào memory log và biết 1 giờ qua bạn làm gì. Đây chính là cái Codex Chronicle của OpenAI cung cấp, nhưng closed-source + gửi ảnh về server OpenAI + chỉ cho ChatGPT Pro + không có ở EU/UK/CH. OpenChronicle là bản open, local-first, tự host.

Pipeline 4 bước

  1. Capture: Swift menubar app chụp cửa sổ foreground (editor, terminal, browser) mỗi ~10 giây.
  2. Extract: OCR trên máy bằng Apple Vision framework — không cloud, không upload.
  3. Summarize: Gom các capture vào cửa sổ 60 giây, gọi LLM sinh 2 câu tóm tắt hoạt động.
  4. Serve: Node.js MCP server expose API để Claude Code / Codex CLI truy vấn lúc cần.

Chỉ có bước 3 có thể cần network — và chỉ gửi text summary, không gửi ảnh. Nếu dùng Ollama hoặc LM Studio thì bước 3 cũng chạy local, zero outbound calls.

Technical facts

Thành phầnChi tiết
FrontendSwift menubar app (84.5% codebase)
BackendNode.js / TypeScript MCP server (15.5%)
StorageSQLite tại ~/.open-chronicle/open-chronicle.db
Screenshot retention30 phút mặc định (PNG tự xoá)
Capture interval10 giây (tuỳ chỉnh)
Memory window60 giây (tuỳ chỉnh)
Memory builder poll30 giây
OS yêu cầumacOS 14+ (Sonoma), Node 20+, Xcode CLI tools
LicenseMIT

LLM nào dùng được?

  • Cloud: Anthropic (Claude), OpenAI, Fireworks
  • Local (100% offline): Ollama, LM Studio
  • OpenAI-compatible endpoints: Groq, Together, DeepInfra, Baseten, Perplexity, self-hosted vLLM / TGI

Nếu bạn đã chạy Ollama với Llama 3.1 / Qwen / Mistral local, OpenChronicle không phát một packet nào ra Internet.

So sánh với memory layer khác

ToolInputLocal?License
OpenChronicleMàn hình (screenshot + OCR)✅ Full local optionMIT
Codex Chronicle (OpenAI)Màn hình❌ Upload OpenAIClosed
Mem0Conversation history⚠️ Cloud defaultApache 2.0
OpenMemoryAgent interactionsOpen

Điểm khác biệt lớn nhất: các memory layer khác nhớ cái bạn nói với model. OpenChronicle nhớ cái bạn làm trên màn hình — một signal giàu hơn rất nhiều cho coding agent.

Use cases thực tế

Khi OpenChronicle chạy nền, agent có thể trả lời chính xác những câu trước đây cần bạn paste context:

  • "Tôi vừa làm gì?" / "Continue where I left off"
  • "Tại sao cái này fail?" — agent tra ra error output bạn thấy 20 giây trước
  • "Docs page tôi vừa đọc là gì?"
  • "Tóm tắt 1 tiếng vừa rồi"
  • "File nào tôi vừa edit nhưng chưa save?"

Privacy model

Đây là chỗ OpenChronicle làm rất nghiêm:

  • OCR chạy on-device bằng Apple Vision — ảnh không rời máy.
  • Nếu dùng cloud LLM, chỉ text summary được gửi đi, không phải raw screenshot.
  • API keys lưu local ở mcp/.env.
  • Không sync, không telemetry, không phone-home.
  • Exclusion list mặc định bỏ qua: 1Password, Bitwarden, LastPass, Messages, Slack, Discord, Signal, Telegram, WhatsApp, Apple Mail, Outlook, Spark, Finder, System Settings, Wallet.
  • User có thể clear toàn bộ data từ Settings tab.

Limitations & pricing

Miễn phí (MIT). Chi phí = API token của provider bạn chọn, hoặc $0 nếu dùng Ollama/LM Studio.

Hiện tại out of scope:

  • Chỉ chạy macOS 14+. Linux/Windows không có trong roadmap (Swift + ScreenCaptureKit).
  • Chưa có binary code-signed — phải build từ source (swift run -c release).
  • Không có long-term memory consolidation qua tuần/tháng.
  • Không capture audio, không capture accessibility tree.
  • Không cloud sync, không vector search / semantic recall (chưa).

What's next

Theo roadmap trong repo:

  • Migrate sang ScreenCaptureKit (thay API CGWindowListCreateImage đã deprecated).
  • Per-project memory scoping (không lẫn context project A sang project B).
  • FTS5 keyword search trong SQLite.
  • Cải tiến Ollama integration.
  • Homebrew formula cho install 1 dòng.

Dự án còn rất mới — v0.1.3, 10 stars lúc bài này viết. Nhưng model nó đang pitch (local-first, privacy-first, MCP-native, bring-your-own-LLM) đúng chuẩn kit developer muốn: không phụ thuộc vendor, không trả tiền subscription cho feature memory, dùng được model local mình đã host sẵn.

Nguồn: GitHub — Screenata/open-chronicle, @dr_cintas announcement.