Workbay

approvedunreviewed

by duo

Discover, run, and monitor local services and tools.

↓ 46 downloadsUpdated 1mo agoAGPL-3.0

Workbay

Workbay is a Windows desktop plugin for Obsidian that discovers, runs, and observes local services and tools from one workspace.

Prototype status

Workbay is an early prototype. Use it with caution and only with services and commands you trust. It reads and writes the configured service root outside your Obsidian vault to discover and edit service manifests, status files, and run locks. It also starts only the local commands explicitly configured in those manifests; no commands are sent to a remote service.

License

Workbay is licensed under the GNU Affero General Public License v3.0 or later. See LICENSE.

Current capabilities

  • Scan a configured service root directory for manifest.json files.
  • Display services and their configured actions.
  • Run local executable, Python, batch, and other explicitly configured commands.
  • Read service status.json files and recent command output.
  • Display Windows Task Scheduler status and related warning or error events.
  • Create and edit service manifests from Obsidian.

Development

npm install
npm run build

Copy main.js, manifest.json, and styles.css to:

<vault>/.obsidian/plugins/workbay/

Enable Workbay under Settings > Community plugins, then configure a service root directory in the plugin settings.

Service manifest

Each service provides its own manifest.json:

{
  "schemaVersion": 1,
  "id": "daily-report",
  "name": "Daily report",
  "kind": "cli",
  "enabled": true,
  "actions": [
    {
      "id": "run",
      "name": "Run",
      "command": {
        "program": "C:\\Python312\\python.exe",
        "args": ["run.py"],
        "workingDirectory": "."
      },
      "statusFile": "status.json"
    }
  ]
}

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.