[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-2773":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":23,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":16,"starSnapshotCount":16,"syncStatus":15,"lastSyncTime":28,"discoverSource":29},2773,"OpenGuider","mo-tunn\u002FOpenGuider","mo-tunn","An AI companion that lives on your desktop - OpenGuider watches your screen, listens to your voice, and guides every step with clear actions.","https:\u002F\u002Fmo-tunn.github.io\u002FOpenGuider\u002F",null,"JavaScript",156,16,4,2,0,1,29,3.69,"Apache License 2.0",false,"main",true,[],"2026-06-12 02:00:43","# OpenGuider\r\n\r\nDownload [here](https:\u002F\u002Fmo-tunn.github.io\u002FOpenGuider\u002F)\r\n\r\n\r\n\r\n\u003Cp align=\"center\">\r\n  \u003Cimg src=\".\u002Frenderer\u002Fassets\u002Flogo.png\" alt=\"OpenGuider logo\" width=\"150\">\r\n\u003C\u002Fp>\r\n\r\n![Landing Deploy](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fmo-tunn\u002FOpenGuider\u002Fdeploy-landing.yml?branch=main&label=landing%20deploy)\r\n![Release Build](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fmo-tunn\u002FOpenGuider\u002Frelease-build.yml?label=release%20build)\r\n![Tests](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fmo-tunn\u002FOpenGuider\u002Fmulti-platform-test.yml?branch=main&label=tests)\r\n![Latest Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fmo-tunn\u002FOpenGuider?label=latest%20release)\r\n![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fmo-tunn\u002FOpenGuider)\r\n[![Buy Me a Coffe](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuy%20me%20a-coffe-ff813f?logo=buymeacoffee&logoColor=white)](https:\u002F\u002Fppr.ist\u002F2ndBJ4YRz)\r\n\r\nOpenGuider is an Electron desktop AI assistant designed to help you complete real UI tasks on your machine.\r\n\r\nIt combines chat, planning, screenshot context, pointer hints, optional voice features, and a growing plugin system in one desktop workflow.\n\r\n## Quick Configuration Guides (PDF)\r\n\r\n- Turkish guide: [OpenGuider - Configuration (TR)](https:\u002F\u002Fmo-tunn.github.io\u002FOpenGuider\u002Fdocs\u002FOpenGuider%20-%20Configuration%28TR%29.pdf)\r\n- English guide: [OpenGuider - Configuration (EN)](https:\u002F\u002Fmo-tunn.github.io\u002FOpenGuider\u002Fdocs\u002FOpenGuider%20-%20Configuration%20%28EN%29%20.pdf)\r\n\r\n## What OpenGuider Does\r\n\r\n- Converts your goal into a step-by-step execution plan.\n- Uses screenshot context to reason about what is currently on screen.\n- Gives coordinate-based pointer guidance for \"click here\" style help.\n- Routes compatible tasks into plugins when a specialized workspace is available.\n- Keeps session history so long tasks remain coherent across messages.\n- Supports multiple model providers so you can switch based on speed\u002Fcost\u002Fquality.\n- Adds optional speech-to-text and text-to-speech for hands-free usage.\n\r\n## Feature Breakdown\r\n\r\n### 1) Multi-Provider AI Layer\r\n\r\nOpenGuider supports:\r\n\r\n- Claude\r\n- OpenAI\r\n- Gemini\r\n- Groq\r\n- OpenRouter\r\n- Ollama (local)\r\n\r\nWhy this matters:\r\n\r\n- You can optimize for latency, pricing, or reasoning quality per task.\r\n- You can fail over to another provider if one API is unavailable.\r\n- You can use local models (Ollama) for privacy-sensitive workflows.\r\n\r\n### 2) Planning and Task Orchestration\r\n\r\nInstead of only returning plain text responses, OpenGuider can:\r\n\r\n- build a structured plan,\r\n- track current step,\r\n- replan when state changes,\r\n- and continue until completion.\r\n\r\nThis makes the app useful for real multi-step operations, not just simple Q\u002FA.\r\n\r\n### 3) Screen-Aware Guidance\r\n\r\nOpenGuider can reason with screenshot context to produce actionable guidance:\r\n\r\n- identify likely UI regions,\r\n- map instructions to on-screen targets,\r\n- emit pointer hints with coordinates.\r\n\r\nThis is the core of \"guide me while I use my apps\" behavior.\r\n\r\n### 4) Voice Input and Output\n\r\nSpeech-to-text options:\r\n\r\n- AssemblyAI\r\n- Whisper-compatible endpoints\r\n\r\nText-to-speech options:\r\n\r\n- Google TTS\r\n- OpenAI TTS\r\n- ElevenLabs\r\n\nYou can run chat-only, voice-only, or hybrid flows depending on your setup.\n\n### 5) Plugin System and Browser Automation\n\nOpenGuider now has a plugin layer so specialized workspaces can plug into the desktop assistant over time.\n\nToday, the first live plugin is the Browser plugin. It uses `browser-use` under the hood and can:\n\n- open and navigate websites,\n- fill forms and follow multi-step browser tasks,\n- show live execution progress in the panel and widget,\n- pause for approval on risky actions,\n- or continue in autopilot mode when you want it to run automatically.\n\nThis matters because browser automation is now a feature inside a broader plugin system, not a one-off hardcoded mode. More plugins can be added later without changing the overall OpenGuider workflow.\n\r\n## Live Preview\r\n\r\n\u003Cp align=\"center\">\r\n  \u003Cimg src=\".\u002Ftutorial.gif\" alt=\"OpenGuider tutorial\" width=\"360\">\r\n\u003C\u002Fp>\r\n\r\n## Downloads\r\n\r\n- Landing page: [https:\u002F\u002Fmo-tunn.github.io\u002FOpenGuider\u002F](https:\u002F\u002Fmo-tunn.github.io\u002FOpenGuider\u002F)\r\n- Latest release: [https:\u002F\u002Fgithub.com\u002Fmo-tunn\u002FOpenGuider\u002Freleases\u002Flatest](https:\u002F\u002Fgithub.com\u002Fmo-tunn\u002FOpenGuider\u002Freleases\u002Flatest)\r\n- Windows installer: [OpenGuider-windows-setup-latest.exe](https:\u002F\u002Fgithub.com\u002Fmo-tunn\u002FOpenGuider\u002Freleases\u002Flatest\u002Fdownload\u002FOpenGuider-windows-setup-latest.exe)\r\n- macOS installer (DMG): [OpenGuider-macos-installer-latest.dmg](https:\u002F\u002Fgithub.com\u002Fmo-tunn\u002FOpenGuider\u002Freleases\u002Flatest\u002Fdownload\u002FOpenGuider-macos-installer-latest.dmg)\r\n- Linux installer: [OpenGuider-linux-latest.zip](https:\u002F\u002Fgithub.com\u002Fmo-tunn\u002FOpenGuider\u002Freleases\u002Flatest\u002Fdownload\u002FOpenGuider-linux-latest.zip)\r\n\r\n## Installation\r\n\r\n### Option A: Download Prebuilt App (Recommended)\r\n\r\n1. Open the latest release page: [https:\u002F\u002Fgithub.com\u002Fmo-tunn\u002FOpenGuider\u002Freleases\u002Flatest](https:\u002F\u002Fgithub.com\u002Fmo-tunn\u002FOpenGuider\u002Freleases\u002Flatest)\r\n2. Download your platform artifact:\n   - Windows: `OpenGuider-windows-setup-latest.exe`\n   - macOS: `OpenGuider-macos-installer-latest.dmg`\n   - Linux: `OpenGuider-linux-latest.zip`\n3. Extract and run the app.\n4. If you want browser automation, open `Settings -> Plugins`.\n5. In the Browser plugin card, click `Download Runtime` once.\n6. Choose whether browser tasks should run with approval or in autopilot mode.\n\r\n### Option B: Run From Source\r\n\r\n1. Install dependencies: `npm install`\r\n2. Start the app: `npm run start`\r\n\r\n## Configuration Guide (Detailed)\r\n\r\nOpen Settings in the app and configure in this order.\r\n\r\n### Step 1: Choose Your Main LLM Provider\r\n\r\nPick one provider first (you can add others later):\r\n\r\n- Claude \u002F OpenAI \u002F Gemini \u002F Groq \u002F OpenRouter \u002F Ollama\r\n\r\nThen set:\r\n\r\n- provider API key (if required),\r\n- default model,\r\n- and any provider-specific endpoint fields.\r\n\r\nTip:\r\n\r\n- Start with a single stable provider before enabling all options.\r\n\r\n### Step 2: Select the Default Model\r\n\r\nChoose a model based on your use case:\r\n\r\n- Fast and cheap for short daily guidance.\r\n- Stronger reasoning model for complex multi-step planning.\r\n- Recommended default for daily usage: `google\u002Fgemini-3.1-flash-image-preview` (via OpenRouter).\r\n\r\nIf model output quality is inconsistent, switch to a more capable model.\r\n\r\n### Step 3: Configure Voice (Optional)\r\n\r\nIf you want microphone-driven workflows:\r\n\r\n1. Select your STT provider.\r\n2. Set language options.\r\n3. Verify system microphone permissions.\r\n4. Run a short recognition test.\r\n\r\nPractical low-cost default:\r\n\r\n- STT provider: Groq\r\n- STT model: `whisper-large-v3-turbo`\r\n\r\nFor spoken responses:\r\n\r\n1. Select TTS provider.\r\n2. Pick voice.\r\n3. Test output volume and speaking speed.\r\n\r\nSuggested ElevenLabs voice IDs:\r\n\r\n- `pNInz6obpgDQGcFmaJgB` (male)\r\n- `EXAVITQu4vr4xnSDxMaL` (female)\r\n\r\n### Step 4: Validate the Setup\r\n\r\nSend a simple prompt first, for example:\r\n\r\n- \"Open settings and guide me to configure notifications step by step.\"\r\n\r\nThen try a planning-style prompt:\n\n- \"Help me complete this task in 5 steps and wait for confirmation after each step.\"\n\nThen try a plugin-style prompt:\n\n- \"Search the web for the official OpenAI API docs and pause before opening any sign-in page.\"\n- \"Use the browser plugin to find a product page, but ask me before submitting or checking out.\"\n\r\n### Step 5: Add Secondary Providers (Optional)\r\n\r\nAfter your main provider works, add backups for reliability:\r\n\r\n- Primary provider for default usage.\r\n- Secondary provider for fallback.\r\n- Local Ollama profile for offline\u002Fprivate runs.\r\n\r\n## How To Use OpenGuider Effectively\r\n\r\nFor best results, write goals in this format:\r\n\r\n- Context: what app\u002Fpage you are in.\r\n- Objective: what you want to complete.\r\n- Constraints: things to avoid or mandatory requirements.\r\n\r\nGood example:\r\n\r\n- \"I am in Figma settings. Help me enable autosave and version history safely. Give one step at a time and wait.\"\r\n\r\n## Troubleshooting\r\n\r\n- If the AI response is generic:\r\n  - check selected model\u002Fprovider,\r\n  - include clearer UI context,\r\n  - provide a fresh screenshot context by retrying the step.\r\n- If voice does not work:\r\n  - verify OS microphone permission,\r\n  - verify API key for STT\u002FTTS provider,\r\n  - test with a shorter input phrase.\r\n- If pointer hints are off:\r\n  - capture a fresh screenshot and retry,\r\n  - avoid heavily zoomed\u002Fscaled UI when possible.\r\n\r\n## Security and Data Handling\r\n\r\nOpenGuider is designed as a local-first desktop app. This section explains what data is stored, what may be sent to external providers, and how to operate safely.\r\n\r\n### Data Stored Locally\r\n\r\n- App settings (provider choices, model selection, preferences) are stored in the Electron `userData` directory.\r\n- Session\u002Ftask history is stored locally to keep multi-step context coherent.\r\n- Logs are written locally for debugging and runtime diagnostics.\r\n- API keys are stored with secure storage (`keytar`) when available; otherwise encrypted fallback storage is used.\r\n\r\n### Data Sent to External Services\r\n\r\nDepending on your configuration, OpenGuider may send:\r\n\r\n- prompts and conversation context to your selected LLM provider,\r\n- voice audio\u002Ftext to selected STT\u002FTTS providers,\r\n- screenshot-derived context when screen-aware guidance is used.\r\n\r\nImportant:\r\n\r\n- data is sent only to providers you explicitly configure,\r\n- there is no hidden relay server by default between your app and providers.\r\n\r\n### Screenshot and UI Context Handling\r\n\r\n- Screenshots are used to improve on-screen guidance and step suggestions.\r\n- For privacy-sensitive tasks, avoid including confidential content on screen before capture.\r\n- If required by policy, disable screen-aware workflows and use text-only guidance.\r\n\r\n### Operational Security Best Practices\r\n\r\n- Use a dedicated provider API key for OpenGuider (do not reuse high-privilege keys).\r\n- Rotate API keys periodically.\r\n- Never commit `.env` or key files to Git.\r\n- Prefer local model usage (Ollama) for highly sensitive workflows.\r\n- Review logs before sharing them publicly in issues.\r\n\r\n### Privacy and Compliance Notes\r\n\r\n- OpenGuider is open-source, so security behavior is auditable.\r\n- Compliance posture depends on your selected providers and their data policies.\r\n- If your team has strict requirements, define an approved provider\u002Fmodel list and disable non-approved endpoints.\r\n\r\n## Support and Contribution\r\n\r\nIf you want to support OpenGuider by contributing code, docs, tests, or design updates, this section is for you.\r\n\r\n### Branching Strategy for Contributors\r\n\r\n- `main`: stable branch used for production-ready updates.\r\n- `feature\u002F\u003Cshort-name>`: new features.\r\n- `fix\u002F\u003Cshort-name>`: bug fixes.\r\n- `docs\u002F\u003Cshort-name>`: README\u002Fdocs-only changes.\r\n- `chore\u002F\u003Cshort-name>`: maintenance and tooling updates.\r\n\r\nExamples:\r\n\r\n- `feature\u002Fvoice-hotkeys`\r\n- `fix\u002Flinux-build-artifact`\r\n- `docs\u002Freadme-configuration-guide`\r\n\r\n### Recommended Contribution Flow\r\n\r\n1. Fork the repository (or create a branch if you are a direct collaborator).\r\n2. Create a new branch from `main`.\r\n3. Keep commits focused and descriptive.\r\n4. Run tests locally: `npm run test`.\r\n5. Push your branch and open a Pull Request.\r\n\r\n### Pull Request Checklist\r\n\r\n- Explain what changed and why.\r\n- Include test notes (what you ran and results).\r\n- Add screenshots\u002FGIF for UI changes.\r\n- Keep scope small and review-friendly.\r\n- Rebase\u002Fmerge latest `main` if needed before final review.\r\n\r\n### Ways to Help Beyond Code\r\n\r\n- Improve docs and onboarding examples.\r\n- Report reproducible bugs with logs\u002Fsteps.\r\n- Propose UX improvements for panel\u002Fwidget flows.\r\n- Help test releases on Windows\u002FmacOS\u002FLinux.\r\n\r\n## Development\r\n\r\n- Run with inspector: `npm run dev`\r\n- Run tests: `npm run test`\r\n\r\n## Build Installers (Windows\u002FmacOS\u002FLinux)\r\n\r\n- Build all platform targets on your current OS: `npm run dist`\r\n- Build only Windows NSIS installer (`.exe`): `npm run dist:win`\r\n- Build only macOS installer (`.dmg`): `npm run dist:mac`\r\n- Build only Linux packages (`.AppImage` + `.deb`): `npm run dist:linux`\r\n- Output artifacts are written to `release\u002F`\r\n\r\n## Architecture\r\n\r\n```mermaid\r\nflowchart LR\r\n  User[User]\r\n  UI[Renderer UI\\nPanel + Widget + Settings]\r\n  Preload[preload.js\\nSecure IPC Bridge]\r\n  Main[main.js\\nElectron Main Process]\n  Agent[src\u002Fagent\u002F*\\nPlanner + Orchestrator]\n  AI[src\u002Fai\u002F*\\nProvider Clients]\n  Plugins[src\u002Fplugins\u002F*\\nPlugin Registry + Browser Plugin]\n  Session[src\u002Fsession\u002F*\\nSession State + Persistence]\n  Screen[src\u002Fscreenshot.js\\nScreen Capture]\n  Voice[src\u002Ftts\u002F* + STT adapters]\n\r\n  User --> UI\r\n  UI --> Preload\r\n  Preload --> Main\n  Main --> Agent\n  Agent --> AI\n  Main --> Plugins\n  Agent --> Plugins\n  Agent \u003C--> Session\n  Main --> Screen\n  Main --> Voice\n  Agent --> UI\n```\r\n\r\n### Component Roles\r\n\r\n- `main.js`: app lifecycle, tray\u002Fshortcuts, IPC routing, orchestration entrypoint.\r\n- `preload.js`: secure boundary between renderer and main process APIs.\r\n- `renderer\u002F*`: user-facing UI surfaces (panel, widget, settings, cursor overlay).\n- `src\u002Fagent\u002F*`: planning, evaluation, replanning, and task progression logic.\n- `src\u002Fai\u002F*`: model-provider abstractions and structured response handling.\n- `src\u002Fplugins\u002F*`: plugin registry plus specialized execution surfaces such as the Browser plugin.\n- `src\u002Fsession\u002F*`: session model, history continuity, state persistence.\n\r\n## Security Notes\r\n\r\n- API keys are persisted via OS-protected secure storage (`keytar`) when available.\r\n- If keychain is unavailable, encrypted fallback storage is used through Electron safe storage.\r\n- Renderer runs with `contextIsolation: true` and `nodeIntegration: false`.\r\n- Application data is stored in Electron `userData` path under a stable app identity (`OpenGuider`) so updates keep local settings\u002Fhistory.\r\n\r\n## GitHub Release Automation\r\n\r\n1. Push a semantic version tag (example: `v0.2.0`).\r\n2. GitHub Actions runs `.github\u002Fworkflows\u002Frelease-build.yml`.\r\n3. Installers are attached to the release:\r\n   - `OpenGuider-windows-setup-latest.exe`\r\n   - `OpenGuider-macos-installer-latest.dmg`\r\n   - `OpenGuider-linux-latest.zip`\r\n\r\n## License\r\n\r\nThis project is licensed under the Apache License 2.0.  \r\nSee [`LICENSE`](.\u002FLICENSE) for full terms.\r\n\r\nCopyright (C) Metehan Kızılcık\r\n\r\nIf you create a derivative project, keep these Apache 2.0 basics:\r\n\r\n1. Include the full Apache 2.0 license text in a `LICENSE` file.\r\n2. Keep copyright notices (including `Metehan Kızılcık`).\r\n3. Mark significant modifications clearly in changed files.\r\n\r\n## Acknowledgement\r\n\r\nOpenGuider was originally inspired by Clicky.\r\n","OpenGuider 是一个基于桌面的AI助手，能够通过观察屏幕、听取语音来指导用户完成具体的操作任务。其核心功能包括将目标转化为逐步执行计划、利用屏幕截图上下文进行推理并提供坐标指针指导、支持多种AI模型提供商以优化延迟、成本和质量，并且具备可选的语音识别和合成功能实现免提操作。此外，OpenGuider还拥有插件系统，可以根据特定需求扩展功能。适用于需要在计算机上完成复杂多步骤任务的场景，如软件教学、技术支持等，尤其适合希望通过自然交互方式提高工作效率的用户。","2026-06-11 02:51:10","CREATED_QUERY"]