Better Manager

approved

by eondrcode

Make plugin management more intuitive and efficient.

78 stars17,073 downloadsUpdated 22d agoMIT

Better Add-on Manager

A more capable plugin manager for Obsidian.

Keep plugin-heavy Obsidian vaults fast and manageable with delayed startup, batch controls, groups and tags, GitHub installs, and guided conflict diagnosis.

简体中文 · 日本語 · 한국어 · Español · Français · Русский · Releases · Support

Latest Release GitHub Downloads Last Commit Issues Stars License

Obsidian Plugin Minimum Obsidian Version TypeScript Platform i18n GitHub Source Tracking Sponsor on Afdian

Screenshot


🎯 What is BPM?

Better Add-on Manager (BPM) is a control center for Obsidian community plugins, designed for vaults that rely on many plugins and need more than simple enable/disable toggles.

It helps you keep startup responsive, organize plugins by workflow, install plugins from GitHub releases, and isolate conflicts when something breaks.

🚀 Startup📦 Management🏷️ Organization📥 Installation🔍 Diagnosis
Delayed plugin startup and startup self-checksBatch enable/disable, quick search, and status filtersGroups, tags, notes, descriptions, and custom namesInstall from GitHub repositories and release versionsGuided conflict troubleshooting with report generation

✨ Core Features

BPM is organized around five focused tabs. Each tab owns one workflow, so related controls stay together and the manager remains easy to scan across desktop and mobile.

TabWorkflow
🧩 Plugin ViewManage installed plugins, metadata, filters, startup behavior, and per-plugin actions
📥 Install HubInstall plugins or themes from GitHub and manage tracked sources
📦 Transfer PackExport, import, and restore plugin/theme packs across vaults
🎛️ Ribbon OrderControl Obsidian ribbon icon order and visibility
🔍 Conflict DiagnosisLocate plugin problems and generate troubleshooting reports

🧩 Plugin View

The main tab for day-to-day plugin management.

Download function panel

AreaWhat it does
Plugin listBrowse installed community plugins in a compact, searchable management view
Batch actionsEnable or disable plugins in bulk, including grouped workflows
FiltersFilter by enabled state, group, tag, delay setting, and keyword
OrganizationAdd custom names, descriptions, notes, groups, and tags
Startup controlAssign delayed startup presets and keep startup behavior visible from the list
Plugin actionsCheck updates, download updates, restart a plugin, temporarily start a plugin, open settings, open folders, copy IDs, open repositories, clear config, hide, or delete
BPM tagsAutomatically marks BPM-installed plugins with bpm-install and supports ignored plugins with bpm-ignore

📥 Install Hub

The Install Hub handles GitHub-based installation and the sources BPM can track after installation.

Download function panel

AreaWhat it does
Install typeSwitch between plugin and theme installation
Repository inputAccepts user/repo or full GitHub repository URLs
Release selectionFetch available GitHub releases and install latest or a selected version
Release notesShows release information before installation when available
Recent installsKeeps recently used repositories for faster repeated installs
Source trackingOptionally tracks installed repositories for later checks, updates, and reinstalls
Source managementReview tracked plugin/theme sources, update targets, reinstall items, and keep source metadata current

📦 Transfer Pack

The Transfer Pack tab moves plugin setups between vaults without turning the README into a manual checklist.

Transfer Pack

AreaWhat it does
Export listSelect local plugins and themes to include in a JSON transfer pack
Plugin configsExport selected plugin configuration files when needed
TaxonomyExport BPM groups, tags, and delay presets
Layout dataExport manager order, hidden items, and ribbon layout
SourcesExport GitHub repository maps, source subscriptions, and install history
Workspace preferencesExport style, delay mode, tag display, and startup-check preferences
Import previewLoad a pack, review bundled plugins, themes, sources, configs, and layout data before applying
Restore optionsInstall missing plugins/themes, merge plugin config, restore enabled state, apply layout, merge sources, and import themes

🎛️ Ribbon Order

The Ribbon Order tab keeps Obsidian's left ribbon predictable, especially when delayed plugins register icons after startup.

Ribbon Sort Function Panel

AreaWhat it does
Icon orderingDrag ribbon items into a stable order
Visibility controlShow or hide individual ribbon icons
Native sync modeManages ribbon layout in BPM data without relying on Obsidian workspace config
Reset actionShow all ribbon items and sort them by name
Reload guidancePrompts for reload when hidden startup icons need Obsidian to refresh

🔍 Conflict Diagnosis

The Conflict Diagnosis tab guides plugin conflict testing step by step, keeping the tested state and result in one place.

Conflict Troubleshooter

AreaWhat it does
Pre-checkConfirms whether the issue still appears when other plugins are disabled
Binary narrowingUses guided split testing to reduce the suspect plugin set
Conflict pair searchHelps locate two-plugin conflicts, including cross-group cases
Manual feedback loopAsks you to test each step and mark whether the problem still exists
State controlsUndo the previous step, restart Obsidian, exit troubleshooting, restore the original state, or keep the current state
Result reportGenerates a Markdown conflict report with the detected plugins and suggested next actions

📦 Installation

Community Plugins

Recommended for most users.

  1. Open Obsidian Settings → Community Plugins.
  2. Search for Better Add-on Manager.
  3. Install and enable the plugin.

Manual Install

Use this when you want to install a GitHub release directly.

  1. Download the latest release.
  2. Copy main.js, manifest.json, and styles.css into .obsidian/plugins/better-plugins-manager/.
  3. Restart Obsidian.
  4. Enable Better Add-on Manager from Settings → Community Plugins.

🚦 Quick Start

Open BPM

After enabling the plugin, open BPM in either way:

  • Click the BPM icon in the left ribbon.
  • Run Open the plugin manager from the command palette.

First Steps

  1. Start in Plugin View to review installed plugins, filters, groups, tags, and delay settings.
  2. Use Install Hub when installing plugins or themes from GitHub.
  3. Use Transfer Pack when moving a plugin setup between vaults.
  4. Use Conflict Diagnosis when a plugin issue needs guided isolation.

Interaction Tips

  • Left-click primary controls to toggle, edit, install, import, or run an action.
  • Right-click a plugin item to open its context menu.
  • Hover toolbar buttons to see tooltips; on touch devices, use long press where supported.

Security and Disclosure

BPM is a local Obsidian plugin manager, but some features intentionally use external services or browser APIs:

  • External network requests: BPM contacts GitHub only for user-visible plugin management features such as fetching community plugin metadata, resolving repositories, checking releases, and installing or updating plugins/themes from GitHub. These requests may use github.com, api.github.com, and raw.githubusercontent.com. BPM also opens github.com repository pages and the project tutorial link on www.bilibili.com only when the user clicks the related buttons.
  • Clipboard access: BPM writes to the system clipboard only when the user clicks Copy ID for a plugin.
  • Vault file access: BPM reads plugin/theme metadata, selected plugin configuration files, transfer packages, and legacy export folders for management, migration, backup, import/export, and troubleshooting features. It does not upload vault notes to a remote service.
  • Base64 encoding/decoding: BPM uses runtime btoa/atob only to pack and restore binary/text files inside local Transfer Pack JSON data. It is not used to hide API keys, URLs, remote code, or executable payloads.
  • Scanning limitations: If a plugin catalog or marketplace reports that malware, obfuscation, or network scanning is unavailable, review the source code in this repository and the release assets before installing. BPM does not intentionally obfuscate its source.

🔍 Conflict Diagnosis Tutorial

Use Conflict Diagnosis when a problem appears after enabling community plugins and you need a structured way to narrow down the cause.

Workflow

  1. Open the Conflict Diagnosis tab, or run Troubleshoot plugin conflicts from the command palette.
  2. Start a diagnosis session. BPM records the current plugin state before changing anything.
  3. Test your vault after each step, then choose Problem Still Exists or Problem Gone.
  4. Continue through the guided split tests until BPM narrows the result to a plugin or plugin pair.
  5. Review the result, restore the original plugin state or keep the current state, then generate a Markdown report if needed.

Notes

  • Diagnosis depends on your feedback at each step; use the same test action every time.
  • Intermittent bugs, load-order issues, configuration-specific bugs, or conflicts involving three or more plugins may still need manual verification.
  • You can undo the previous step, restart Obsidian during testing, exit the session, restore the original state, or keep the current state.

🛡️ Startup Takeover

When Delayed Startup is enabled, BPM checks .obsidian/community-plugins.json to make sure Obsidian and BPM are not trying to control the same plugins at startup.

CaseBPM behavior
No unmanaged pluginsStarts normally
Unmanaged plugins detectedShows a takeover prompt
Auto Takeover enabledMoves detected plugins under BPM management automatically
Plugin marked bpm-ignoreLeaves it in Obsidian's native startup list

Taking over keeps delayed startup, enabled state, and BPM's plugin records consistent. After a successful takeover, restart Obsidian so the startup list is applied cleanly.


📦 Transfer & Legacy Export

For current versions, use the Transfer Pack tab to move setups between vaults. It exports and imports plugin lists, themes, selected plugin configs, groups, tags, delay presets, layout data, ribbon order, source subscriptions, install history, and workspace preferences.

The older Markdown/frontmatter export for Obsidian Base is kept only for legacy data compatibility. New setups should use Transfer Pack instead of configuring a Base export folder.


⚙️ Settings

BPM settings are split into focused pages:

PageWhat you can configure
BasicLanguage, persistent filters, delayed startup, auto takeover, startup update checks, source update checks, source auto-update, BPM tag visibility, ribbon order, command registration, debug mode, and GitHub token
Main Page ActionsChoose which plugin actions appear directly on plugin cards and which stay in the right-click menu
StylePlugin list layout, item display style, group/tag styles, and disabled-plugin fading
GroupsCreate, rename, recolor, and delete plugin groups
TagsCreate, rename, recolor, and delete plugin tags
DelayCreate and maintain delayed-start profiles; shown only when delayed startup is enabled

⌨️ Commands

CommandAvailabilityDescription
Open the plugin managerAlways availableOpens the BPM main interface
Control a pluginAlways availableSearch a plugin, then enable, disable, single-start, restart, open settings, open folder, open repository, or copy ID
Save current plugin state as profileAlways availableSaves the current enabled/disabled state as a reusable command profile
Restore previous plugin stateAvailable after a BPM command changes plugin stateRestores the snapshot captured before the last command-driven state change
Troubleshoot plugin conflictsAlways availableStarts the conflict diagnosis workflow
Enable/Disable selected pluginOptional settingRegisters one command per plugin for direct toggling
One-click Enable/Disable selected groupOptional settingRegisters group-level commands for batch toggling
One-click Enable/Disable selected tagOptional settingRegisters tag-level commands for batch toggling
Apply selected profileOptional settingRegisters one command per saved plugin profile

📱 Compatibility

PlatformSupported
Windows / macOS / Linux
Android
iOS / iPadOS

The plugin automatically switches between desktop/mobile layouts based on the platform.


🤝 Contributing

Issues and PRs are welcome!

  • Bug Reports: Please include logs and reproduction steps
  • Feature Requests: Consider opening a discussion or issue first

🙏 Acknowledgments


📄 License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.