{"id":50659014,"url":"https://github.com/qainsights/achu","last_synced_at":"2026-06-30T05:00:27.504Z","repository":{"id":361331550,"uuid":"1253990807","full_name":"QAInsights/achu","owner":"QAInsights","description":"A lightweight desktop app for beautifying screenshots and more.","archived":false,"fork":false,"pushed_at":"2026-06-24T13:27:26.000Z","size":15709,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-24T15:14:11.488Z","etag":null,"topics":["ai","github-issue","ocr-recognition","productivity","screenshot-utility","tools"],"latest_commit_sha":null,"homepage":"https://achu.app","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/QAInsights.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":null,"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-05-30T02:44:20.000Z","updated_at":"2026-06-24T13:28:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/QAInsights/achu","commit_stats":null,"previous_names":["qainsights/achu"],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/QAInsights/achu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2Fachu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2Fachu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2Fachu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2Fachu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QAInsights","download_url":"https://codeload.github.com/QAInsights/achu/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2Fachu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34952850,"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-30T02:00:05.919Z","response_time":92,"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","github-issue","ocr-recognition","productivity","screenshot-utility","tools"],"created_at":"2026-06-08T01:07:00.709Z","updated_at":"2026-06-30T05:00:27.490Z","avatar_url":"https://github.com/QAInsights.png","language":"TypeScript","funding_links":["https://buymeacoffee.com/qainsights"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/logo.svg\" alt=\"achu Logo\" width=\"128\" height=\"128\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/title.svg\" alt=\"achu\" width=\"580\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eA lightweight, gorgeous desktop utility for Windows, macOS, and Linux that turns raw screenshots into polished visual assets.\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\" style=\"font-size: 1.1em; color: #64748b;\"\u003e\n  achu (அச்சு) means `print` in Tamil. 🖨️\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Built%20with-Electron-47848F?style=flat-square\u0026logo=electron\" alt=\"Electron\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/UI-React-61DAFB?style=flat-square\u0026logo=react\u0026logoColor=black\" alt=\"React\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Language-TypeScript-3178C6?style=flat-square\u0026logo=typescript\" alt=\"TypeScript\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Platform-Windows%20%7C%20macOS%20%7C%20Linux-mediumseagreen?style=flat-square\" alt=\"Platform Support\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/License-MIT-blue?style=flat-square\" alt=\"License\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Tests-Vitest-729B1B?style=flat-square\u0026logo=vitest\" alt=\"Vitest Tests\" /\u003e\n  \u003cbr /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Ollama-black?style=flat-square\u0026logo=ollama\" alt=\"Ollama\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/OpenAI-412991?style=flat-square\u0026logo=openai\" alt=\"OpenAI\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Gemini-8E75B2?style=flat-square\u0026logo=googlegemini\" alt=\"Gemini\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Claude-D97706?style=flat-square\u0026logo=anthropic\" alt=\"Claude\" /\u003e\n\u003c/p\u003e\n\n---\n\n## 📸 Screenshots \u0026 Showcase\n\n| 🎨 Canvas Beautification \u0026 Presets | 🛡️ Privacy Guard \u0026 Redaction |\n| :---: | :---: |\n| ![Presets](./assets/presets.png) | ![Privacy](./assets/privacy.png) |\n| **🤖 AI Issue Agent Integration** | **🔍 OCR Text Extraction** |\n| ![AI Issue Agent](./assets/issue-agent.png) | ![OCR](./assets/ocr.png) |\n| **🖥️ Code Studio** | **🖼️ Screenshot Gallery** |\n| ![Code Studio](./assets/code-studio.png) | ![Gallery](./assets/gallery.png) |\n\n---\n\n## ✨ Features\n\n### 🎨 Canvas \u0026 Framing Aesthetics\n* **Beautification Layouts:** Frame screenshots with custom padding, background blur, rounded corners, adjustable shadows, scale, and custom aspect ratios.\n* **Fluid Mesh Gradients:** Generate premium multi-point mesh gradients for background wrappers, along with linear/radial gradients and solid colors.\n* **Browser Chrome Overlays:** Instantly add polished browser mockups (macOS-style or Windows-style window controls) around your screenshots.\n* **Aspect Ratio Presets:** Quickly format your graphics for popular social platforms like Twitter/X, LinkedIn, and Product Hunt.\n\n### 🛡️ Smart Privacy Guard\n* **Auto-Scanning:** Scans screenshots locally using Tesseract WASM to automatically detect credentials, API keys, passwords, credit card numbers, email addresses, IP addresses, phone numbers, and physical locations.\n* **Pixel-Perfect Redaction:** Toggle visibility for individual detected items or redact all with one click.\n* **Gaussian Blur \u0026 Solid Masks:** Choose between soft Gaussian Blur or clean 100% Solid Color masks.\n* **PNG Integrity:** Suggests exporting to PNG format for redacted captures to ensure deleted/masked pixel values are completely scrubbed and unrecoverable.\n\n### 🤖 AI-Powered Issue Agent\n* **Automated Bug Reporting:** Uses vision models to analyze your screenshot and generate full GitHub issue templates (titles, tags, reproduction steps, and system context).\n* **Multi-Provider AI support:** \n  * **Ollama (Fully Offline):** Run models locally (e.g., `llava-phi3`) with no external data leaks.\n  * **Google Gemini:** `gemini-2.5-flash`\n  * **OpenAI:** `gpt-4o-mini`\n  * **Anthropic Claude:** `claude-3-5-sonnet-latest`\n* **Direct GitHub Integration:** Connect your repository and push the generated issue reports directly to GitHub.\n\n### 🔍 OCR Canvas Text Grabber\n* **Right-Click OCR:** Right-click anywhere on the canvas screenshot to extract text content instantly.\n* **Grab Text Modal:** Edit, trim, format, and copy the extracted text to your clipboard.\n* **100% Private:** Runs Tesseract OCR in-browser via WebAssembly, performing text extraction locally on your machine.\n\n### 🖼️ Screenshot Gallery\n* **Save to Gallery:** Export beautified screenshots directly to a local gallery folder with your chosen format (PNG, JPEG, or WebP) and compression settings.\n* **Visual Grid Browser:** Browse saved captures with thumbnail previews, file sizes, and timestamps in a polished grid layout.\n* **Quick Actions:** Re-open any image in the editor, copy it to the clipboard, reveal it in your file explorer, or delete it, all from the gallery card overlay.\n* **Configurable Storage:** Choose a custom gallery folder in Settings, or use the default location under your user data directory.\n* **Soft Delete \u0026 Auto-Purge:** Deleted images move to a `.achu-trash` folder and are automatically removed after 30 days.\n\n### 🖥️ Code Studio\n* **Paste \u0026 Beautify:** Paste JavaScript, Python, Java, or any code and instantly convert it into beautiful, shareable screenshots.\n* **Line Numbers:** Toggle line numbers on or off to match your preferred style.\n* **Color Themes:** Switch between multiple syntax-highlighting color themes to suit your brand or mood.\n* **Language Pill:** Display a language badge on the screenshot so viewers immediately know which language they're looking at.\n* **Debug Points:** Add or remove debug point markers to highlight specific lines for tutorials, bug reports, or reviews.\n\n### 🖊️ Rich Vector Annotations\n* **Drawing Tools:** Annotate screenshots using rectangles (filled/outline), ovals (filled/outline), straight lines, arrows, freehand pen, custom text fields, and emojis.\n* **Full Object Control:** Move, resize, delete, and re-order drawn annotation layers.\n* **Deep Edit History:** Full support for multi-step Undo (`Ctrl+Z`) and Redo (`Ctrl+Y`) operations.\n\n---\n\n## ⌨️ Keyboard Shortcuts\n\n| Shortcut | Description |\n| :--- | :--- |\n| **`Ctrl` + `V`** / **`Ctrl` + `Alt` + `V`** | Paste image from Clipboard |\n| **`Ctrl` + `Z`** | Undo last action |\n| **`Ctrl` + `Y`** | Redo last action |\n| **`Ctrl` + `Shift` + `S`** | Copy beautified snap to clipboard |\n| **`Delete`** / **`Backspace`** | Delete selected annotation object |\n| **`V`** or **`1`** | Select / Move Tool |\n| **`R`** / **`Shift` + `R`** / **`2`** / **`3`** | Rectangle Tool (Outline / Filled) |\n| **`C`** / **`O`** / **`Shift` + `C`** / **`4`** / **`5`** | Circle / Oval Tool (Outline / Filled) |\n| **`L`** / **`A`** / **`6`** / **`7`** | Line / Arrow Tool |\n| **`T`** / **`P`** / **`8`** / **`9`** | Text / Freehand Pen Tool |\n| **`E`** / **`0`** | Add Emoji Tool |\n\n---\n\n## 🚀 Getting Started\n\n### Prerequisites\n* **Node.js** 18 or higher\n* **npm**\n\n### Installation\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/QAInsights/achu.git\n   cd achu\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Launch development mode with Hot Reload:\n   ```bash\n   npm run dev\n   ```\n\n---\n\n## 🛠️ Build \u0026 Package\n\nachu uses `electron-builder` to package lightweight native binaries for Windows, macOS, and Linux.\n\n| Script | Action | Output / Description |\n| :--- | :--- | :--- |\n| `npm run build` | Compile code | Generates optimized production bundles in `app-bundle/` |\n| `npm run test` | Run tests | Runs unit and rendering tests using `Vitest` |\n| `npm run test:coverage` | Coverage | Generates a coverage report via `v8` |\n| `npm run package` | Pack App | Builds production bundles and packages portable packages in `release/` |\n\n* **Windows Target:** Standalone portable `.exe` executable (x64 / arm64).\n* **Linux Target:** Standalone AppImage and `.deb` packages.\n* **macOS Target:** Standalone `.dmg` disk image and `.zip` archives.\n\n---\n\n## 🔒 Security \u0026 Privacy\n\n* **Local OCR \u0026 Secrets Scanning:** Tesseract WASM scans and extracts your screenshot text strictly locally inside the Electron sandbox. No images or text are sent to third parties during OCR or Privacy Guard runs.\n* **Secure Token Storage:** All external AI keys and GitHub API tokens are stored using Electron's native [safeStorage API](https://www.electronjs.org/docs/latest/api/safe-storage), which encrypts credentials on disk using operating-system-level cryptography (Keychain on macOS, DPAPI on Windows, and Secret Service/KWallet on Linux).\n\n---\n\n## ☕ Support \u0026 Community\n\nIf you find achu useful, consider supporting development or checking out QAInsights resources:\n\n* **Sponsor \u0026 Donate:** [Buy Me a Coffee](https://buymeacoffee.com/qainsights)\n* **License:** MIT License. See [LICENSE](./LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqainsights%2Fachu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqainsights%2Fachu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqainsights%2Fachu/lists"}