All plugins

DSH / BUNDLE / BUNDLES

dsh-proactive

v0.2.1mili1360 / dsh-proactived2e3bb778c

InstallableBundlesBundles & other modulesCommunity · Topic auto-analysis

Overview

dsh-proactive

DSH「守夜人」:长任务(下载/安装/等待)在 agent 回合结束后跑完时,把消息塞回会话、叫醒 agent 主动汇报。机制同 dsh-subagent 回报父代理(agent.steer + createUserMessage)。

README / EN

Package documentation

Registry summary

DSH「守夜人」:长任务(下载/安装/等待)在 agent 回合结束后跑完时,把消息塞回会话、叫醒 agent 主动汇报。机制同 dsh-subagent 回报父代理(agent.steer + createUserMessage)。

dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.

Read the full README on GitHub

LIMITATIONS

Known limitations

- **The bare-timer fallback is gone (Unreleased).** Up to 0.2.1, a failing `ctx.effect` fell back to a plain `setInterval` that lived until the process exited. That fallback was removed: a plugin that cannot register is now deactivated with one line in `boot.log`, so a plugin instance can always be fully unloaded. - **`watch.json` is module-level state.** The path is shared across `apply()` calls in one process, so two loaded instances would fight over it. Fine for one plugin per DSH process — which is the supported shape. - **`file-exists` ignores directories** on purpose: "the directory exists" is not the same claim as "the download finished". - **`process-exit` relies on `tasklist` on Windows.** Where the process lookup fails, the condition reports "unknown" and the entry is skipped for that tick instead of firing — a missing `tasklist` cannot cause a false positive. - **`file-stable` detects "size stopped changing", not "transfer completed"** — a stalled download looks identical to a finished one. Use `file-size` with a known expected size when it matters. - **Watching is poll-based.** With `intervalMs: 15000` a condition can be met up to one interval before the agent is woken. Shorter intervals cost CPU; the floor is 3000 ms.