{"id":47622544,"url":"https://github.com/garnizeh/chronos","last_synced_at":"2026-04-01T22:23:42.966Z","repository":{"id":345857741,"uuid":"1187659923","full_name":"garnizeh/chronos","owner":"garnizeh","description":"A local-first OS context engine and RAG diary. Built in Rust with zero-cloud VLM inference and SQLite-backed vector search.","archived":false,"fork":false,"pushed_at":"2026-03-21T17:19:23.000Z","size":397,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-21T17:27:56.470Z","etag":null,"topics":["journal","ollama","rag","rust","sqlite","vlm"],"latest_commit_sha":null,"homepage":"https://github.com/garnizeh/chronos","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/garnizeh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/roadmap/0001-milestone-01-mvp-roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-21T01:46:01.000Z","updated_at":"2026-03-21T14:29:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/garnizeh/chronos","commit_stats":null,"previous_names":["garnizeh/chronos"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/garnizeh/chronos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garnizeh%2Fchronos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garnizeh%2Fchronos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garnizeh%2Fchronos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garnizeh%2Fchronos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/garnizeh","download_url":"https://codeload.github.com/garnizeh/chronos/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garnizeh%2Fchronos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31292639,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["journal","ollama","rag","rust","sqlite","vlm"],"created_at":"2026-04-01T22:23:42.341Z","updated_at":"2026-04-01T22:23:42.957Z","avatar_url":"https://github.com/garnizeh.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chronos\n\n**Your personal context engine — a local-first screen capture daemon that understands what you're doing.**\n\n\u003cdiv align=\"left\"\u003e\n\n[![GitHub Release](https://img.shields.io/github/v/release/garnizeh/chronos?display_name=tag\u0026logo=github)](https://github.com/garnizeh/chronos/releases)\n[![Rust Version](https://img.shields.io/badge/rust-1.94%2B-blue.svg?logo=rust)](https://www.rust-lang.org/)\n[![Ollama Version](https://img.shields.io/badge/ollama-0.17%2B-black.svg?logo=ollama)](https://ollama.com/)\n[![CI](https://github.com/garnizeh/chronos/actions/workflows/ci.yml/badge.svg)](https://github.com/garnizeh/chronos/actions/workflows/ci.yml)\n[![CodeRabbit Pull Request Reviews](https://img.shields.io/coderabbit/prs/github/garnizeh/chronos?utm_source=oss\u0026utm_medium=github\u0026utm_campaign=garnizeh%2Fchronos\u0026labelColor=171717\u0026color=FF570A\u0026label=CodeRabbit+Reviews)](https://coderabbit.ai)\n[![codecov](https://codecov.io/gh/garnizeh/chronos/graph/badge.svg?token=UG4S5JZMDI)](https://codecov.io/gh/garnizeh/chronos)\n[![Platform](https://img.shields.io/badge/platform-linux%20(X11)-lightgrey)](#prerequisites)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/garnizeh/chronos/pulls)\n\n\u003c/div\u003e\n\n\u003e 🚧 **Under active development** — Milestone 1 MVP in progress.\n\n---\n\n## 🧭 The Why\n\nWe've all been there: you step away from your PC for a meeting, a coffee, or the weekend, and when you return, the context is completely gone. What were you debugging? Which logs were you looking at? What was the name of that elusive command you ran an hour ago?\n\nChronos solves this. It acts as a **searchable photographic memory** for your workstation. By periodically capturing your screen and feeding it to a locally-hosted Vision Language Model (VLM), Chronos semanticizes your activity into a highly queryable, private SQLite database. \n\nYou no longer need to remember *what* you were doing—you just ask Chronos.\n\n## 🔒 Privacy-First by Design\n\nWhen dealing with screen captures, trust is not optional. Chronos guarantees absolute privacy at the architectural level:\n\n| Guarantee | How |\n|---|---|\n| **Zero Cloud APIs** | All AI inference runs locally via Ollama on `localhost`. Your screen never leaves your machine. |\n| **Zero Disk I/O** | Captured frames live entirely in a RAM-only ring buffer. Raw images (`.png`/`.jpg`) are never written to your SSD, saving wear and tear. |\n| **Zero Telemetry** | No analytics, no tracking, no outbound network calls beyond `localhost:11434`. |\n| **Local SQLite** | Semantic data, vectors, and embeddings are stored purely in a local SQLite database. |\n\n## 🛠️ The Pragmatic Stack\n\nBuilt for performance, safety, and operational simplicity:\n\n- **Rust 1.94+**: Memory-safe footprint, fearless concurrency, and zero-cost abstractions.\n- **Ollama 0.17+**: Frictionless local inference for modern Vision Language Models.\n- **SQLite / sqlx**: Battle-tested, serverless, and embedded data layer using direct, compile-time checked queries (no heavy ORMs).\n- **Just**: Pragmatic command runner to encapsulate all developer workflows seamlessly.\n\n## 📦 Prerequisites\n\n- **Rust** 1.94+ (`rustup` recommended)\n- **Ollama** 0.17.4+ running locally (`ollama serve`)\n- A Vision Language Model pulled locally (e.g. `ollama pull moondream` or `llava`)\n- **Just** command runner (`cargo install just`)\n- **Linux** with X11 display server (Wayland support planned)\n\n## 🏗️ Build \u0026 Development\n\nWe use `just` instead of bare `cargo` commands to streamline the development lifecycle.\n\n```bash\n# Install dependencies, setup local environment\njust setup\n\n# Reset and migrate the SQLite database\njust db-reset\n\n# Run the exact CI pipeline locally before committing to catch errors early\njust ci-local\n\n# Build the release binary\njust build-release\n```\n\n## 🚀 Quick Start\n\nGetting started is as simple as running the daemon:\n\n```bash\n# Start the capture daemon in the foreground\njust run chronos-daemon start\n\n# Query your activity logs from a specific date\njust run chronos-daemon query --from 2025-01-01\n\n# Check the system and daemon status\njust run chronos-daemon status\n```\n\n## 📉 Project Status\n\nThis is a **v0.1 MVP/POC** — currently supporting Linux X11, single-monitor setups, and basic VLM interactions. \n\nSee the [design document](docs/design/0001-chronos-personal-context-engine.md) for the full architecture, design choices, and future roadmap.\n\n## 🤝 Contributing\n\nContributions are welcome! Here's how to get up and running:\n\n```bash\n# 1. Clone and enter the repo\ngit clone https://github.com/garnizeh/chronos.git \u0026\u0026 cd chronos\n\n# 2. Install all dev tools (uses cargo-binstall for speed)\njust setup\n\n# 3. Setup the local SQLite database\njust db-setup\n\n# 4. Run the full CI pipeline locally before opening a PR\njust ci-local\n```\n\nAll commits must follow [Conventional Commits](https://www.conventionalcommits.org/). See the project's commit history for examples.\n\n## 📄 License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarnizeh%2Fchronos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgarnizeh%2Fchronos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarnizeh%2Fchronos/lists"}