Skip to content
dsh.fish
Bundle

dsh-power-awake

Prevent the computer from sleeping while Harness is running. Toggle at runtime through a model-facing tool.

Source
Bole1001
License
MIT
Updated
Updated 22 days ago

Readme

# dsh-power-awake

Prevent the computer from sleeping while Harness is running.

On load with `enabled: true` the plugin spawns a platform keep-awake helper
and holds it until the plugin unloads or the model toggles it off through the
`toggle_keep_awake` tool.

## Install

```sh
dsh plugin --profile web add dsh-power-awake
```

Or from a git host:

```sh
dsh plugin --profile web add github:your-org/dsh-power-awake
```

## Usage

Once installed, the computer stays awake while Harness runs. Say
"turn off keep-awake" or "enable keep-awake" in any conversation and the
agent toggles it through the `toggle_keep_awake` tool.

To disable by default, override in your profile's `cordis.patch.yml`:

```yaml
- id: power-awake
  config:
    enabled: false
```

## Platform support

| Platform | Mechanism | Notes |
| -------- | --------- | ----- |
| macOS | `caffeinate -dimsu` (system tool) | Blocks system sleep, idle sleep, and display sleep |
| Windows | `SetThreadExecutionState` via PowerShell | `ES_CONTINUOUS \| ES_SYSTEM_REQUIRED` |
| Linux | `systemd-inhibit` | Requires systemd; blocks sleep/idle/shutdown |

No native dependencies. On an unsupported platform the plugin loads but
keep-awake is a no-op.

## Development

```sh
npm install
npm run build
```

The repo-local symlinks `node_modules/@deepseek-ai/cordis` and
`node_modules/@deepseek-ai/dsh-tools` point into a deepseek-harness checkout
for development; remove them before publishing (npm fills published ranges).

Install

dsh plugin --profile web add github:Bole1001/dsh-power-awake

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source