Your modular, always-on-top desktop utility sidebar.
KoBar
Your modular, always-on-top desktop utility sidebar.
A multi-threaded creative assistant that lives on the edge of your screen.
๐ macOS support is currently under active development. Some features may be limited or unavailable on macOS.
๐ What is KoBar?
KoBar is a frameless, transparent, always-on-top desktop sidebar built with Electron and React. It docks to either edge of your screen and provides instant access to a rich set of productivity tools, all without leaving your current workflow.
Visit our website: KoBar.org
Think of it as a Swiss Army knife that floats on your desktop. With its new plugin-based architecture, you can customize KoBar with exactly the tools you needโclipboard managers, AI assistants, screenshot studios, media controllers, and moreโall in one sleek, customizable sidebar.
๐ก Click or tap the image above to watch the KoBar trailer on YouTube!
โจ Core Features & The Plugin Ecosystem
KoBar has evolved into a powerful Plugin-Based Architecture. Instead of a monolithic application, KoBar provides a lightweight, modular core, giving you complete freedom to install only the tools you need or even build your own!
๐ฒ Modular Core (Built-in)
- Always-on-top transparent overlay โ never leaves your sight.
- Edge docking โ snaps to the left or right screen edge with drag-and-drop repositioning.
- Mini Mode โ collapses into a small floating eye icon to save space.
- Free-floating mode โ drag the sidebar anywhere on the screen, across multiple monitors.
- Multi-monitor support โ seamless edge detection and snapping across all connected displays.
๐งฉ Official Plugins
Extend KoBar by installing plugins from the community or the core team. Here is the growing list of official plugins maintained by the KoBar Project:- ๐ค AI Hub: Multi-provider AI assistant supporting OpenAI, Gemini, Claude, and local LLMs.
- ๐ Clipboard Manager: Multi-slot sequential clipboard (FIFO queue) with image support.
- ๐ Snippet Vault (Notes): Save and organize text templates, code snippets, and AI prompts.
- ๐ธ Screenshot Studio: Region & full-screen capture with a built-in annotation editor.
- ๐ต KoPlayer: System media controller (Spotify, YouTube, etc.) with album art.
- ๐ KoCalendar: Google Calendar integration and event alerts.
- โฑ๏ธ Focus Mode: Customizable timer with ambient melodies.
- ๐ข Calculator: Floating scientific calculator with history.
- ๐จ Color Picker: Pick colors anywhere on your screen with HEX/RGB/HSL values.
- ๐ฆ KoBox: Drag-and-drop file staging area with auto-cleanup.
- ๐ PinWindowToTop: Pin any third-party window to "Always on Top".
- ๐ Shortcuts: Quick app launcher and shortcut manager.
- โ ToDo List: Minimal, draggable task list with priority ordering.
๐งฉ KoBar Plugins Registry
Welcome to the official Plugin Registry for KoBar!
This repository serves as the central database for all community-created plugins available in the KoBar marketplace. The registry is fully automated and powered by GitHub Actions.
โ๏ธ How It Works
- Source of Truth: Developers submit their GitHub repository names to the
plugins.jsonfile in this repository. - Automated Bot: A GitHub Action runs automatically every midnight (or when a new PR is merged).
- Data Fetching: The bot visits every registered repository, reads their
kobar.jsonmetadata file, and fetches the latest version and release notes from the GitHub Releases API. - Registry Generation: The bot compiles all this data and generates a single
registry.jsonfile. - Client App: The KoBar desktop application downloads this lightweight
registry.jsonfile to instantly display the most up-to-date plugins to users without hitting API rate limits.
๐ How to Submit Your Plugin
If you have developed a plugin for KoBar and want it to appear in the official Plugin Store, follow these simple steps:
Step 1: Add a Manifest to Your Repository
Ensure your plugin's repository has akobar.json (or manifest.json) file in its root directory. This file provides the store with your plugin's display information.
Example kobar.json:
{ "id": "my-awesome-plugin", "name": "Awesome Plugin", "description": "This plugin does amazing things for KoBar.", "version": "1.0.0", "versionNote": "Updated plugin images.", "author": "YourName", "entry": "index.js", "isBeta": false, "githubRepo": "your-name/your-plugin", "icon": "library_books", "image": "https://raw.githubusercontent.com/YourName/your-repo/main/banner.png", "storeImage": [ "https://raw.githubusercontent.com/YourName/your-repo/main/banner.png1", "https://raw.githubusercontent.com/YourName/your-repo/main/banner.png2", "https://raw.githubusercontent.com/YourName/your-repo/main/banner.png3" ], "categories": ["Utility", "Productivity"], "languages": ["en", "tr", "de"] } (Note: You do not need to specify the version here. The bot automatically fetches the version number and release notes from your latest GitHub Release!)
Step 2: Create a GitHub Release
Make sure you have created at least one Release on your GitHub repository (e.g.,v1.0.0) and attached your plugin's .zip file to it.
Step 3: Fork and Update plugins.json
- Fork the kobar-plugins-registry repository.
- Open the
plugins.jsonfile. - Add your repository path (
Username/RepositoryName) to the array.
Step 4: Open a Pull Request
Submit a Pull Request (PR) to the registry repository. Once the KoBar team reviews and merges your PR, the bot will automatically index your plugin, and it will appear in the KoBar app within a few minutes!๐ช Vibe Coding: Build Plugins with AI
You don't need to be an expert developer to build a KoBar plugin. KoBar officially supports Vibe Coding!
Inside the for-agents directory of this repository, you will find specialized Agent Skills (e.g., kobar-plugin-developer/SKILL.md). These files contain all the architectural rules, API constraints, and UI guidelines needed to build a plugin.
How to vibe code a plugin:
- Open the KoBar project in an AI-powered IDE (like Cursor, Windsurf) or use an agentic coding assistant (like Cline, Roo, or Antigravity).
- Tell the AI: "I want to create a new KoBar plugin that does [YOUR IDEA]. Please read the
for-agents/kobar-plugin-developer/SKILL.mdfile first to learn the rules." - The AI will read the guidelines and automatically write the code for you inside the local
pluginsPlaygroundfolder. - Open the KoBar app, and your new plugin will be running instantly for testing!
๐จ Theming & Design
KoBar ships with 11 built-in themes, a custom theme generator, and a built-in Color Picker that lets you choose any color to create your own personalized theme on the fly:
| Theme | Color | |-------|-------| | Ember (default) | ๐ Warm Amber | | Ocean | ๐ต Deep Blue | | Sakura | ๐ธ Cherry Blossom | | Emerald | ๐ข Forest Green | | Midnight | ๐ฎ Deep Indigo | | Amethyst | ๐ Rich Purple | | Crimson | ๐ด Vibrant Red | | Nord | ๐ง Arctic Blue-Grey | | Coffee | โ Warm Brown | | Lavender | ๐ Pastel Purple | | Custom | ๐จ Pick any color with the built-in Color Picker |
Design Modes:
- Style 1 (Solid) - opaque dark background
- Style 2 (Glass) - frosted glassmorphism with adjustable opacity
๐ Internationalization
Fully translated into 10 languages:
๐บ๐ธ English ยท ๐น๐ท Turkish ยท ๐ฉ๐ช German ยท ๐ซ๐ท French ยท ๐ช๐ธ Spanish ยท ๐ท๐บ Russian ยท ๐ฏ๐ต Japanese ยท ๐จ๐ณ Chinese ยท ๐ธ๐ฆ Arabic ยท ๐ฎ๐ณ Hindi
๐ Architecture
KoBar/
โโโ electron/ # Electron Main Process
โ โโโ main.cts # Window management, IPC handlers, OS integrations
โ โโโ preload.cts # Context bridge (IPC API exposed to renderer)
โ โโโ smtc-worker.cts # Windows SMTC media monitoring (Worker Thread)
โ โโโ licenseManager.cts # Hardware ID & license validation
โโโ src/ # React Frontend (Renderer Process)
โ โโโ App.tsx # Root component & layout orchestration
โ โโโ components/
โ โ โโโ core/ # Sidebar layout, Window Controls
โ โ โโโ plugins/ # Plugin Manager UI and rendering engine
โ โ โโโ license/ # LicenseActivationModal
โ โโโ store/ # Zustand state management
โ โ โโโ useAppStore.ts # Main application state (~58KB)
โ โ โโโ usePluginStore.ts # Plugin registry and management state
โ โโโ hooks/ # Custom React hooks
โ โ โโโ useSpeechToText.ts # Web Speech API integration
โ โ โโโ useUnifiedResize.ts # Cross-platform panel resizing
โ โโโ i18n/ # Translations (10 languages)
โ โโโ types/ # TypeScript definitions (global.d.ts)
โ โโโ config/ # Default state & clipboard configs
โโโ Assets/ # Static resources
โ โโโ Melody/ # Focus mode ambient audio files
โ โโโ DefaultNote/ # Default note templates
โ โโโ microsoftStore/ # Store listing assets (10 languages)
โโโ build/ # App icons & build resources
Key Architectural Decisions
- Ghost Window Pattern โ KoBar uses a large transparent window (6000ร4000px on Windows) to enable free-floating positioning while maintaining always-on-top behavior. Mouse events are dynamically forwarded or ignored based on hover detection.
- Strict Context Isolation โ
nodeIntegration: false,contextIsolation: true. All IPC is bridged through a typedwindow.apiinterface via the preload script. - Cross-Platform โ
process.platformchecks (darwin/win32) are used throughout for OS-specific behavior (NSPanel vs toolbar window type, PowerShell vs AppleScript, SMTC vs generic media). - Zustand State โ All global state is managed by Zustand stores. No Redux.
useStateis reserved for purely local UI toggles.
๐ Tech Stack
| Layer | Technology | |-------|-----------| | Runtime | Electron 40 | | Frontend | React 19 + TypeScript 5.9 | | Bundler | Vite 7 | | Styling | Tailwind CSS 4 | | State | Zustand 5 | | Rich Text | Tiptap 3 (ProseMirror) | | Canvas | Konva.js + react-konva | | AI Markdown | react-markdown + remark-gfm | | Persistence | electron-store | | Distribution | electron-builder (AppX, EXE) |
๐ Getting Started
Prerequisites
- Node.js โฅ 18
- npm โฅ 9
- Windows 10/11
Installation
# Clone the repository
git clone https://github.com/eedali/KoBar.git
cd KoBar
Install dependencies
npm install
Development
# Start in development mode (Vite + Electron concurrently)
npm run dev
This will:
- Start the Vite dev server on
http://localhost:5173 - Watch and compile Electron TypeScript files
- Launch the Electron app once all services are ready
Building
# Compile TypeScript & bundle for production
npm run build
Package distributable (AppX for Microsoft Store, EXE for Standalone)
npm run kobar-build
๐ Security
KoBar follows strict Electron security practices:
- โ
nodeIntegration: false - โ
contextIsolation: true - โ
No
@electron/remote - โ Typed IPC bridge โ only specific functions exposed to renderer
- โ
All frontendโbackend communication validated through
ipcMain.handle - โ No direct Node.js imports in React components
๐ฆ Distribution
| Platform | Format | Link / Store | |----------|--------|--------------| | Windows | AppX | Microsoft Store | | Windows (Standalone) | EXE | GitHub Releases | | macOS | DMG / ZIP | GitHub Releases |
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
๐ License
This project is licensed under the MIT License โ see the LICENSE.md file for details.
๐ Credits
Created by Ekrem EDALI
Contributors:
Special thanks to: Tolunay PARLAK & MJ.โ๏ธ Contact
For support or inquiries, you can contact us at hello@kobar.org.
๐ Sponsors & Backers
If you find KoBar useful and want to support its ongoing development, consider backing the project through any of the platforms below: