{"id":50735912,"url":"https://github.com/dushaobindoudou/ovo","last_synced_at":"2026-06-10T13:30:40.449Z","repository":{"id":358382414,"uuid":"1210664308","full_name":"dushaobindoudou/ovo","owner":"dushaobindoudou","description":"Open-source proactive AI desktop assistant for macOS. Watches your screen, suggests next steps, and runs actions for you — even on a schedule — 100% on your machine.","archived":false,"fork":false,"pushed_at":"2026-06-01T02:24:05.000Z","size":19729,"stargazers_count":6,"open_issues_count":21,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-01T04:15:19.327Z","etag":null,"topics":["ai-assistant","automation","claude","claude-code","desktop-app","electron","knowledge-graph","llm","local-first","macos","personal-ai","privacy-first","proactive-ai","productivity","react","screen-ocr","typescript"],"latest_commit_sha":null,"homepage":"https://github.com/dushaobindoudou/ovo#readme","language":"TypeScript","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/dushaobindoudou.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":["dushaobindoudou"],"custom":["https://ko-fi.com/dushaobin","https://afdian.com/a/dushaobin"]}},"created_at":"2026-04-14T16:29:04.000Z","updated_at":"2026-05-30T15:39:26.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dushaobindoudou/ovo","commit_stats":null,"previous_names":["dushaobindoudou/ovo"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/dushaobindoudou/ovo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dushaobindoudou%2Fovo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dushaobindoudou%2Fovo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dushaobindoudou%2Fovo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dushaobindoudou%2Fovo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dushaobindoudou","download_url":"https://codeload.github.com/dushaobindoudou/ovo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dushaobindoudou%2Fovo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34155422,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ai-assistant","automation","claude","claude-code","desktop-app","electron","knowledge-graph","llm","local-first","macos","personal-ai","privacy-first","proactive-ai","productivity","react","screen-ocr","typescript"],"created_at":"2026-06-10T13:30:39.604Z","updated_at":"2026-06-10T13:30:40.444Z","avatar_url":"https://github.com/dushaobindoudou.png","language":"TypeScript","funding_links":["https://github.com/sponsors/dushaobindoudou","https://ko-fi.com/dushaobin","https://afdian.com/a/dushaobin"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"build/icon-512.png\" width=\"120\" alt=\"Ovo Logo\" /\u003e\n\n# Ovo\n\n### Open-source proactive AI desktop assistant.\u003cbr/\u003eWatches your screen, suggests next steps, runs 100% on your machine.\n\n\u003cp\u003e\n  \u003ca href=\"https://github.com/dushaobindoudou/ovo/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/dushaobindoudou/ovo?label=release\u0026color=007aff\" alt=\"Latest Release\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/dushaobindoudou/ovo/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/downloads/dushaobindoudou/ovo/total?color=007aff\u0026label=downloads\" alt=\"Total Downloads\" /\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-007aff.svg\" alt=\"MIT License\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/dushaobindoudou/ovo/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/dushaobindoudou/ovo/actions/workflows/ci.yml/badge.svg\" alt=\"CI Status\" /\u003e\u003c/a\u003e\n  \u003ca href=\"CODE_OF_CONDUCT.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg\" alt=\"Code of Conduct\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n  \u003ca href=\"https://github.com/dushaobindoudou/ovo/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/dushaobindoudou/ovo?style=social\" alt=\"GitHub Stars\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/dushaobindoudou/ovo/network/members\"\u003e\u003cimg src=\"https://img.shields.io/github/forks/dushaobindoudou/ovo?style=social\" alt=\"GitHub Forks\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/dushaobindoudou/ovo/discussions\"\u003e\u003cimg src=\"https://img.shields.io/github/discussions/dushaobindoudou/ovo?label=Discussions\u0026logo=github\" alt=\"GitHub Discussions\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/dushaobindoudou/ovo/issues?q=label%3A%22good+first+issue%22\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/dushaobindoudou/ovo/good%20first%20issue?label=good%20first%20issues\" alt=\"Good First Issues\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n  \u003cb\u003eEnglish\u003c/b\u003e · \u003ca href=\"README_CN.md\"\u003e简体中文\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n  \u003ca href=\"https://github.com/dushaobindoudou/ovo/releases/latest\"\u003e⬇ Download for macOS\u003c/a\u003e ·\n  \u003ca href=\"docs/product/PRODUCT_PHILOSOPHY.md\"\u003e📖 Philosophy\u003c/a\u003e ·\n  \u003ca href=\"https://github.com/dushaobindoudou/ovo/discussions\"\u003e💬 Discussions\u003c/a\u003e ·\n  \u003ca href=\"CONTRIBUTING.md\"\u003e🤝 Contributing\u003c/a\u003e\n\u003c/p\u003e\n\n\u003c/div\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/assets/demo.gif\" alt=\"Ovo product tour — watch, prepare, remember, audit\" width=\"820\" /\u003e\n  \u003cbr/\u003e\n  \u003cem\u003eA quick tour: Ovo watches your screen, prepares the next steps, remembers what matters, and logs every action — all auditable. (\u003ca href=\"docs/assets/demo.mp4\"\u003ewatch MP4\u003c/a\u003e)\u003c/em\u003e\n\u003c/p\u003e\n\n---\n\n## 🪟 What is Ovo?\n\n**Ovo is a proactive AI desktop assistant that watches what you're doing — and helps before you have to ask.**\n\nMost AI tools today wait for you to type a prompt. Ovo flips that:\n\n- It **observes your screen** every few seconds (OCR + window context).\n- It **understands your intent** through a multi-pass reasoning pipeline with a long-term knowledge graph.\n- It **suggests the next step proactively** — drafting an email reply, copying a snippet, reminding you of a deadline.\n- It **shows you every step of its thinking** in a glass-box timeline — no magic, no black box.\n- And it **learns from your feedback** — accept, reject, or teach Ovo to never do that again.\n\nBuilt for people who want an AI that's actually present in their day — without giving up control, transparency, or privacy.\n\n---\n\n## ✨ Why Ovo? — The 5 things that make Ovo different\n\n### 🚀 Proactive, not reactive\nWhile ChatGPT waits for you to type, Ovo notices you're drafting an email to a customer and **silently prepares the reply** before you ask. You see the suggestion, decide whether to use it. Zero prompting overhead.\n\n### 🪟 Glass-box transparency\nEvery other AI is a black box. Ovo shows you:\n- 📸 What it saw (the OCR text from your screen)\n- 🧠 What it thought (the full prompt sent to the LLM)\n- 💡 What it decided (the structured suggestion + confidence)\n- ⚡ What it did (every action with output and duration)\n\nClick any suggestion → see its full reasoning chain. No more \"why did the AI say that?\"\n\n### 🎓 Teachable, not opinionated\nDon't like a suggestion? You can:\n- **Reject this one** — Ovo remembers and won't repeat the mistake\n- **\"Never do this again\"** — Ovo writes the rule into its knowledge graph\n- **Adjust trust level** — give Ovo more or less autonomy per action type\n\nOvo gets smarter from your feedback, not from cloud telemetry.\n\n### 🔒 Local-first, BYO LLM\n- Screenshots and OCR happen on **your machine** — they never leave\n- Bring your own Claude / OpenAI / local LLM key — no proxy server\n- Built-in sensitive data redaction (API keys, JWT, credit cards, ID numbers)\n- App-level blacklist (1Password, banking apps, etc. — never observed)\n- Hard pause (5/15/60 min) when you need privacy\n\n### 🧠 Long memory through a knowledge graph\nOvo builds a personal knowledge graph as you work:\n- **Entities** (people, projects, documents, concepts)\n- **Relationships** between them\n- **Memory events** with timeline + intent tagging\n- **Personality profile** that evolves with your patterns\n\nOpen the Memory panel to see exactly what Ovo knows about you. Edit it. Pin important entities. Delete anything you don't want remembered.\n\n---\n\n## 🆚 Ovo vs. Other AI Tools\n\n|                          | ChatGPT Desktop | Rewind  | Cursor       | Granola | **Ovo** |\n|--------------------------|:---------------:|:-------:|:------------:|:-------:|:-------:|\n| Proactive (no prompting) | ❌              | ❌      | Partial (IDE only) | Partial (meetings only) | ✅ |\n| Screen-aware             | ❌              | ✅ (record only) | ✅ (IDE only) | ✅ (audio only) | ✅ |\n| Transparent reasoning    | ❌              | N/A     | ❌           | ❌      | ✅ |\n| Teachable per-action     | ❌              | ❌      | Partial      | ❌      | ✅ |\n| Local-first / BYOK       | ❌              | Partial | ❌           | ❌      | ✅ |\n| Open source              | ❌              | ❌      | ❌           | ❌      | ✅ |\n| Knowledge graph memory   | ❌              | ❌      | ❌           | ❌      | ✅ |\n\n---\n\n## 📥 Install\n\n### Option 1: Download (recommended)\n\n\u003cp\u003e\n  \u003ca href=\"https://github.com/dushaobindoudou/ovo/releases/latest\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/⬇_Download_for_macOS-007aff?style=for-the-badge\" alt=\"Download for macOS\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003e **First launch on macOS**: until we ship a signed/notarized build, you'll see \"Ovo can't be opened because the developer cannot be verified\". Right-click the app → Open → Open. Only needed once.\n\n\u003e **Windows / Linux**: planned for v0.5+. Star the repo to get notified.\n\n### Option 2: Build from source\n\n```bash\ngit clone https://github.com/dushaobindoudou/ovo.git\ncd ovo\npnpm install\npnpm dev          # Dev mode (Vite + Electron live-reload)\n# or\npnpm pack:mac     # Build production DMG to out/\n```\n\n**Requirements**: Node 20+, pnpm 10+, macOS (Apple Silicon or Intel)\n\n### First-run setup\n\n1. **Grant screen recording permission** — Ovo will guide you to System Settings\n2. **Configure your AI backend** — choose Claude Code / OpenClaw / Hermes / direct API\n3. **Set your API key** (encrypted with macOS Keychain, never sent anywhere)\n4. **Tell Ovo about you** — optional 4-step onboarding to seed the knowledge graph\n\nThat's it. Within 1-2 minutes Ovo will start observing and suggesting.\n\n---\n\n## 🖼️ Screenshots\n\n| Console — \"Now\" view | Floating companion (always on top) | Teachable feedback |\n|---|---|---|\n| \u003cimg src=\"docs/assets/shot-now.png\" alt=\"Now view with prepared actions\" /\u003e | \u003cimg src=\"docs/assets/shot-float.png\" alt=\"Floating orb companion\" /\u003e | \u003cimg src=\"docs/assets/shot-toast.png\" alt=\"Accept / reject / teach feedback\" /\u003e |\n\n| Knowledge graph (Memory) | Action replay (transparent reasoning) | Settings — privacy panel |\n|---|---|---|\n| \u003cimg src=\"docs/assets/shot-memory.png\" alt=\"Knowledge graph memory timeline\" /\u003e | \u003cimg src=\"docs/assets/shot-replay.png\" alt=\"Auditable action replay\" /\u003e | \u003cimg src=\"docs/assets/shot-settings.png\" alt=\"Privacy-first settings\" /\u003e |\n\n---\n\n## 🏗 Architecture\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  Renderer (React + Zustand)                                 │\n│  ┌──────────────┐  ┌────────────────┐  ┌────────────────┐  │\n│  │ Main Console │  │ Floating Icon  │  │ Suggestion     │  │\n│  │ (#console)   │  │ (#float)       │  │ Panel/Toast    │  │\n│  └──────┬───────┘  └───────┬────────┘  └───────┬────────┘  │\n└─────────┼──────────────────┼───────────────────┼───────────┘\n          │   IPC (preload.cjs, context-isolated)\n┌─────────▼──────────────────▼───────────────────▼───────────┐\n│  Electron Main Process                                      │\n│  ┌──────────────┐  ┌────────────────┐  ┌────────────────┐  │\n│  │ AutoCapture  │→ │ OCR Engine     │→ │ Event Processor│  │\n│  │ (5s)         │  │ (Tesseract)    │  │ (intent infer) │  │\n│  └──────────────┘  └────────────────┘  └───────┬────────┘  │\n│                                                ▼            │\n│  ┌──────────────────────────────────────────────────────┐  │\n│  │ Multi-Pass Prompt Engine                             │  │\n│  │ Pass 1: Observe (intent + entities)                  │  │\n│  │ Pass 2: Synthesize (predictions + actions)           │  │\n│  └────────────┬─────────────────────────────────────────┘  │\n│               ▼                                              │\n│  ┌──────────────────────────────────────────────────────┐  │\n│  │ Agent Bridge (Claude Code / OpenClaw / Hermes / API) │  │\n│  └────────────┬─────────────────────────────────────────┘  │\n│               ▼                                              │\n│  ┌──────────────┐  ┌────────────────┐  ┌────────────────┐  │\n│  │ Knowledge    │  │ Action         │  │ Feedback       │  │\n│  │ Graph (SQL)  │  │ Executor       │  │ Engine         │  │\n│  └──────────────┘  └────────────────┘  └────────────────┘  │\n└─────────────────────────────────────────────────────────────┘\n```\n\n**Tech stack**: Electron 34 · React 19 · TypeScript · Vite · Tailwind · better-sqlite3 · Tesseract.js · Zustand\n\nSee [`docs/product/PRODUCT_PHILOSOPHY.md`](docs/product/PRODUCT_PHILOSOPHY.md) for the design philosophy and [`docs/engineering/ELECTRON_IPC_MAPPING.md`](docs/engineering/ELECTRON_IPC_MAPPING.md) for IPC contracts.\n\n---\n\n## 🗺 Roadmap\n\n**Shipped** ✅\n- Multi-pass prompt engine (observe → synthesize)\n- 4 AI backends (Claude Code / OpenClaw / Hermes / direct API)\n- Knowledge graph with entities / relationships / memory events\n- Pipeline transparency (every step logged + queryable)\n- Privacy controls (pause, blacklist, sensitive data redaction)\n- Prompt self-eval (Ovo reflects on its own pipeline quality)\n- First-run setup checklist + First Win onboarding\n- **Scheduled actions** — defer an action to a time / daily / weekly (sends still confirm at fire time)\n- **Teachable feedback** — reject with a reason; view \u0026 revoke every rule you've taught it\n- **Outputs acceptance station** — status per deliverable, retry/abandon failed ones\n- **Memory correction** — rename entities, \"delete \u0026 never record\" sensitive ones\n- **North-star metrics dashboard** (TTFV, hit rate, corrections, output completion) — 100% local\n- Full bilingual UI (简体中文 / English)\n\n**In Progress** 🚧\n- Trust ladder UI (per-action autonomy levels: show → draft → confirm → auto + 5s undo → full delegation)\n- Glass butler floating window (real-time \"Ovo is doing X because Y\" with [Let it] [Don't] [Never again] buttons)\n- AI behavior timeline as the main view (currently buried in a second-level panel)\n\n**Planned** 🔮\n- Windows + Linux support\n- Plugin/extension system\n- macOS Notarization + auto-updates\n\nSee [open milestones](https://github.com/dushaobindoudou/ovo/milestones) for what's coming next.\n\n---\n\n## 📚 Documentation\n\n### Start here\n\n| Doc | What it's for |\n|---|---|\n| [`AGENT_PHILOSOPHY.md`](docs/product/AGENT_PHILOSOPHY.md) | **The big idea.** Two kinds of agents (tool vs copilot) and why Ovo is the underbuilt kind |\n| [`PRODUCT_PHILOSOPHY.md`](docs/product/PRODUCT_PHILOSOPHY.md) | The project constitution — read before contributing to product direction |\n| [`PRODUCT_EXPERIENCE_BACKLOG.md`](docs/product/PRODUCT_EXPERIENCE_BACKLOG.md) | Current product execution backlog: activation, trust, feedback, outputs |\n| [`USE_CASES.md`](docs/product/USE_CASES.md) | 10 concrete moments where a copilot earns its keep |\n| [`PRIVACY.md`](docs/product/PRIVACY.md) | What Ovo collects (and doesn't) — full data flow audit |\n\n### Building / using\n\n| Doc | What it's for |\n|---|---|\n| [`ARCHITECTURE.md`](docs/engineering/ARCHITECTURE.md) | Deep technical architecture — process topology, data flow, KG schema, IPC contract |\n| [`AI_BACKENDS.md`](docs/engineering/AI_BACKENDS.md) | 4 backend choices (Claude Code / OpenClaw / Hermes / Direct API) — setup + trade-offs |\n| [`ELECTRON_IPC_MAPPING.md`](docs/engineering/ELECTRON_IPC_MAPPING.md) | IPC channels and payload contracts |\n| [`RELEASE_PROCESS.md`](docs/operations/RELEASE_PROCESS.md) | How we ship a release |\n\n### Project state\n\n| Doc | What it's for |\n|---|---|\n| [`UNRESOLVED_ISSUES.md`](docs/UNRESOLVED_ISSUES.md) | Current unresolved engineering/product issues |\n| [`GITHUB_GROWTH_PLAN.md`](docs/operations/GITHUB_GROWTH_PLAN.md) | 90-day path from 0 to 1k stars |\n| [`GOOD_FIRST_ISSUES.md`](docs/operations/GOOD_FIRST_ISSUES.md) | Ready-to-grab beginner tasks |\n| [`archive/`](docs/archive/README.md) | Historical audits, old specs, and outdated status snapshots |\n\n---\n\n## 💬 Community\n\nWe're building Ovo in the open. Come help us shape it:\n\n- 🐙 **[GitHub Discussions](https://github.com/dushaobindoudou/ovo/discussions)** — questions, ideas, show \u0026 tell\n- 🐛 **[Issue tracker](https://github.com/dushaobindoudou/ovo/issues)** — bugs and feature requests\n- 🐦 **[Twitter @dushaobin](https://twitter.com/dushaobin)** — build-in-public updates\n- 💚 **WeChat group** (中文社区) — see README_CN.md for QR code\n\n---\n\n## 🤝 Contributing\n\nContributions are warmly welcomed — from typo fixes to new features.\n\n- **First-time contributor?** Look for [`good first issue`](https://github.com/dushaobindoudou/ovo/labels/good%20first%20issue) — each one comes with full context, file pointers, and acceptance criteria.\n- **Got a bigger idea?** Open a [Discussion](https://github.com/dushaobindoudou/ovo/discussions) first so we can align on direction.\n- **Pull request?** See [`CONTRIBUTING.md`](CONTRIBUTING.md) for dev setup, code style, and PR workflow.\n\nEvery external PR gets a review within 24 hours and a Twitter thank-you. 🙏\n\n---\n\n## 🔐 Security\n\nFound a vulnerability? Please **do not** open a public issue. See [`SECURITY.md`](SECURITY.md) for our responsible disclosure process.\n\n---\n\n## 💖 Support\n\nIf Ovo saves you time, consider supporting development:\n\n- ⭐ [Star this repo](https://github.com/dushaobindoudou/ovo) — the cheapest way to help\n- 🐦 [Share on Twitter](https://twitter.com/intent/tweet?text=Check%20out%20Ovo%20%E2%80%94%20open-source%20proactive%20AI%20desktop%20assistant\u0026url=https://github.com/dushaobindoudou/ovo)\n- ☕ [Buy me a coffee](https://ko-fi.com/dushaobin) (international) or [爱发电](https://afdian.com/a/dushaobin) (China)\n- 🤝 [Contribute](CONTRIBUTING.md) code, docs, translations, or designs\n\n---\n\n## 📜 License\n\n[MIT](LICENSE) © 2026 dushaobin\n\nOvo is and will always be **open source and free for personal use**. Commercial fork friendly under MIT.\n\n---\n\n## 🙏 Acknowledgements\n\nOvo stands on the shoulders of giants:\n\n- [**Electron**](https://www.electronjs.org/) — desktop runtime\n- [**React**](https://react.dev/) — UI framework\n- [**Anthropic Claude**](https://www.anthropic.com/) — default AI backend\n- [**Tesseract.js**](https://tesseract.projectnaptha.com/) — OCR engine\n- [**better-sqlite3**](https://github.com/WiseLibs/better-sqlite3) — knowledge graph storage\n- [**Lucide**](https://lucide.dev/) — icon library\n- [**Tailwind CSS**](https://tailwindcss.com/) — styling\n- And every contributor whose name will appear here ❤️\n\n---\n\n## ⭐ Star History\n\n\u003ca href=\"https://star-history.com/#dushaobindoudou/ovo\u0026Date\"\u003e\n  \u003cimg src=\"https://api.star-history.com/svg?repos=dushaobindoudou/ovo\u0026type=Date\" alt=\"Star History Chart\" width=\"600\" /\u003e\n\u003c/a\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Built with care by [@dushaobindoudou](https://github.com/dushaobindoudou) and the Ovo community.**\n\nIf this project resonates with you — please star it. It really helps a lot. ⭐\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdushaobindoudou%2Fovo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdushaobindoudou%2Fovo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdushaobindoudou%2Fovo/lists"}