跳到主要内容
    ↑↓ 选择↵ 打开esc 关闭
    seaweeduk

    Sleep Inhibit

    opencode-sleep-inhibit·v2.0.1·其他

    Prevent Linux sleep while OpenCode agents are working.

    GitHub 星标

    0

    月装机量

    426

    近 7 天 68

    综合评分

    36.1

    生态多维模型

    最近提交

    11 小时前

    2026-10-04

    快速安装与配置

    opencode.json

    写入当前项目的 opencode.json,只对这个仓库生效。

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["opencode-sleep-inhibit@2.0.1"]
    }

    OpenCode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。

    Prevent suspend and hibernation while OpenCode agents are working on Linux.

    Long-running agents should not be interrupted because your laptop suspends. This plugin prevents sleep while OpenCode is busy, then restores normal power management when the work finishes.

    It also covers subagents, retries, tool approvals, permissions, and questions waiting for your response.

    Install

    You need Linux with systemd and OpenCode 2.0.14 or newer. Add the package to your project or global OpenCode configuration:

    {
      "$schema": "https://opencode.ai/config.json",
      "plugins": [
        {
          "package": "opencode-sleep-inhibit",
          "options": { "mode": "sleep", "cooldownMinutes": 0 }
        }
      ]
    }
    

    OpenCode installs and caches published packages automatically. Until the v2 release is published, use the path to a built checkout as package instead.

    Choose a Mode

    Allow locking (recommended)

    "sleep" prevents suspend and hibernation while still allowing your screen to turn off and lock normally.

    { "mode": "sleep" }
    

    Keep the screen awake

    "sleep-and-idle" also asks your desktop to keep the screen on and unlocked. Only use this when leaving the computer unlocked is acceptable.

    { "mode": "sleep-and-idle" }
    

    Support for idle inhibition depends on your desktop environment.

    Keep It Awake After Work

    By default, the inhibitor is released as soon as all agent work becomes idle. Set cooldownMinutes to keep the computer awake for a follow-up window:

    { "mode": "sleep", "cooldownMinutes": 60 }
    

    New work during the cooldown cancels the pending release. The cooldown starts again when all work becomes idle. Keep the default value of 0 to release the inhibitor immediately.

    Check It

    While OpenCode is working, run:

    systemd-inhibit --list
    

    An OpenCode entry should appear while work is active and disappear after it finishes (or after the configured cooldown).

    Development

    bun install --frozen-lockfile
    bun run check
    bun run test
    npm pack --dry-run
    

    License

    MIT

    同类生态推荐