Workbay

by duo
5
4
3
2
1
Score: 50/100

Description

Reviews

No reviews yet.

Stats

0
stars
19
downloads
0
forks
19
days
19
days
19
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
2
commits

Latest Version

20 days ago

Changelog

Review fixes

  • Add the AGPL-3.0-or-later license and author metadata.
  • Improve required disclosures for local filesystem and command execution.
  • Resolve Obsidian lint findings for command naming and modal styling.
  • Add version compatibility metadata.

README file from

Github

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"
    }
  ]
}