DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@vlln/dsh-loop

Loop

Scheduled loop plugin: /loop command + loop tool + activity status bar (official dock slot) + settings page (tool exposure toggle)

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add @vlln/dsh-loop@0.4.4
READMECompatibilityVersions

Compatibility and provenance

Loop is published as @vlln/dsh-loop and currently resolves to version 0.4.4. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
10/30/2026

Versions

0.4.4stable
10/30/2026
0.4.3stable
10/19/2026
0.4.2stable
10/15/2026
Show 4 more versionsCollapse versions
0.4.1stable
9/9/2026
0.4.0stable
8/30/2026
0.3.1stable
8/22/2026
0.3.0stable
8/21/2026

Related plugins

Loading related plugins…

Latest
0.4.4
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
62.6 kB
Files
8
Surface
web
License
MIT
Source
npm
GitHub
★ 7
Weekly downloads
0
Last push
10/30/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in productivity-workflow.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseExperimental Schedule Bundle@deepseek-ai/dsh-experimental-schedule-bundleOptional bundle that adds Schedule, its task page, and time context to the Web compositionWeb All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / pet / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Ab Ocrdsh-ab-ocr--- description: "The out-of-tree ocr tool: recognizes a scanned PDF or image page by page, merges the pages in order only after the last one, and saves one Markdown document with the heading levels the model decided." kind: "package-reference" ---

README

loop

中文 | English

Scheduled loop plugin: `/loop` command + `loop` tool (self-adjusting by the model) + active status bar on the chat page, with support for multiple concurrent loops

Delivers a prompt to the current agent at a fixed interval — ideal for polling, PR babysitting, and build-fix-test cycles. Aligned with Claude Code's /loop semantics, multiple loops can run concurrently in a single session. Delivered as an official bundle plugin (dsh.bundle + dshClient channel), 0 patch.

Preview

loop status bar (real run screenshot: multiple loops collapse into a count bar, expanding lists them one by one)

Features

Tool (registered via defineTool, the model can self-adjust on every turn):

ToolDescription
loopstart (start a new loop) / stop (stop a specific one or all) / status / list (list loops in the current session)

Commands (user side):

CommandDescription
/loop [interval] <prompt>Start a new loop (interval 5m/30s/1h/2d or a bare number = minutes; bare /loop uses the built-in maintenance prompt)
/loop listList all loops in the current session (with ids)
/loop stop <id> / /loop stopStop a specific loop / stop all

/loop replies (the command-palette title/description, list / usage / stop output) follow the UI language: the client half relays its active locale to the plugin, so they render in Chinese or English to match the interface. Headless runs with no client in sight keep English.

UI (dock slot above the input box on the chat page):

FeatureDescription
Active status barSingle loop: ● ⟳ looping · <prompt> · 5m · next in 23s; multiple loops collapse into a count bar "N loops running · expand", click to expand the list
/ menu rowTyping / in the composer shows the ⟳ icon at the left of the /loop row (same position and size as every other command row), with a localized title ("Loop" / "循环")

Settings

The plugin ships a settings card on Settings → Plugins → this bundle's page (official plugins.bundle.config slot, keyed by the bundle package name @vlln/dsh-loop; the settings namespace is dsh-loop, the id of the entry that exports the Config schema). Each tool gets its own row with an official-looking Switch:

SettingDefaultEffect
Whether to inject the loop tool into the modelonWhen off, the loop tool is not registered for agents: the model can no longer see or call it (tools.schemas has no loop). The /loop command (user side) and the status bar are unaffected.

The card fields are driven by the client LOOP_TOOL_FIELDS table, mirrored one-to-one by the Node-side tool definition table — adding a tool means adding one entry on each side, and the settings card grows a new switch row automatically.

Changes apply as soon as you save (the schema's leaves are marked .volatile(): the host commits in place without remounting the entry and emits loader/volatile-update) — the plugin re-reads the snapshot and registers/unregisters the affected tools on the fly, so new sessions pick it up without a restart. Tool schemas are resolved live at every session/prompt assembly (there is no per-session snapshot): in-flight sessions also see the change from their next turn, and turning a tool off drops it from tools.schemas immediately, so a model that called it earlier can no longer reach it (they can only reconcile that through the turn record). The /loop command (user side) and the status bar are unaffected.

Installation

Recommended: one-line install from npm (build artifacts ship in the package, no build triggered):

dsh plugin --profile web add @vlln/dsh-loop
# to track the latest commit instead: dsh plugin --profile web add "github:vlln/dsh-loop#main"

Or from a local directory (when you have the source): git clone, then cd dsh-loop && dsh plugin --profile web add ..

Compatibility

dsh versionStatus
0.2.0-rc.2✅ Verified (migrated against 0.2.0 on 2026-10-03; command surface re-checked 2026-10-15)
Other versions⚠️ Unverified — if the /loop menu row loses its icon and localized title after a dsh upgrade (the command itself still works), upstream renamed an internal client command-surface method and the plugin silently falls back to the official fallback look

After installing, restart web for it to take effect (bundles are composed at startup); afterwards you can disable/enable it from the "Plugins" panel on the settings page (takes effect at runtime + persisted).

Usage

# User side
/loop 5m check PRs on the deploy branch   # delivered every 5 minutes
/loop list                                # loop-1: every 5m — check PRs on the deploy branch
/loop stop loop-1                         # stop a specific one
/loop stop                                # stop all

# Model side (loop tool)
loop action=start prompt="fix flaky test" interval="2m"
loop action=status
loop action=stop loop_id="loop-2"

Loops live in the current harness process and disappear when the process exits (not persisted across restarts, consistent with Claude Code /loop).

Development

pnpm install
pnpm run build      # tsdown: Node half (lib/index.mjs) + client bundle (lib/client.js)
  • Node half: src/index.mjs (commands/tool/loops status route /plugins/dsh-loop/loops)
  • client: src/client/index.tsx (dock slot status bar)

License

MIT License (example plugin of the DSH ecosystem).