Skip to main content

How to use dsh-plugins

Adds session-level recurring alarm clocks to DeepSeek Harness: automatically sends reminder messages to agents at set intervals. Ideal for long-running tasks requiring agents to proactively revisit work, such as polling checks and periodic reviews.

This article is auto-derived from indexed fields (wiki / faq / compatibility_json), not freshly AI-generated.

This article is derived from the plugin's already-indexed fields (wiki / faq / compatibility_json / readme), not freshly generated by AI. Source field is noted at the end of each section.

Quick start

dsh-plugins (loop / dsh-loop)

— source: plugin_wiki.wiki_content

Install & verify

dsh plugin --profile web add dsh-loop

Run the command above in your DSH Web Profile. Then enable the plugin in the plugin list.

— source: plugins.install

Key points

— source: plugin_wiki.readme_en (fallback readme_raw)

FAQ

How do I use this plugin after installing it?

Just restart DSH and create a new session after installation, no extra configuration needed. You can tell the agent in natural language "remind me to check the build every 10 seconds" and the agent will call the loop_create tool; or you can use the /loop command directly in the input box to create one.

How do I modify an already created reminder (change interval or prompt)?

The v1 version has no modification interface, so you must loop_delete the old one first and then loop_create a new one (SPEC.md §1.1 clearly states this is a non-goal for v1).

Does the loop keep running after I close DSH?

No, it's not. Loops are session-local and process-local (README §5, SPEC.md §1.1): the timer doesn't fire when the DSH process stops or the system sleeps, missed reminders won't be sent retroactively, and the timer is reconstructed from the session event log when the session restarts.

Can two sessions share the same loop?

No, each loop belongs to the session that created it (SPEC.md §2), other sessions can't see or delete it; if you need the same rule to cover multiple sessions, you currently have to create a copy in each session.

Will a reminder interrupt the agent when it's running a long task?

It won't directly interrupt. Reminders are sent to the session inbox as wakeup:true user messages, and if the agent is running it's delivered to next-step, if idle it's delivered to next-turn (README §5), so they'll be processed at the next safe step boundary without forcing an interruption of the current operation.

Is there a visual interface on the web version?

Yes, the DSH Web displays a compact Loop dock above the chat input box, showing the number of active loops in the current session, their intervals, the countdown to next trigger, and the full prompt (src/ui/LoopsView.tsx:83-118), with direct delete buttons.

Can I use decimals or minutes/hours for the interval?

No, time_in_seconds must be a positive integer in seconds, the loop_create tool validates this at the schema level (src/tools.ts:45), and minutes can be converted to seconds.

How do I uninstall it?

Run dsh plugin --profile web remove with the corresponding installation source; after uninstallation, active loops in the current session will stop, and the loop_create / loop_list / loop_delete tools will no longer be registered in new sessions.

— source: plugin_wiki.faq_json

Compatibility

  • DSH: >=0.1.0-rc.5(peerDependencies 中所有 @deepseek-ai/dsh-* 均要求 >=0.1.0-rc.5,cordis >=4.0.0)
  • Node: 未声明(package.json 没有 engines 字段,devDependencies 仅声明 @types/node ^22.20.0)
  • Platforms: 跨平台(DSH Web)

— source: plugin_wiki.compatibility_json

Pitfalls

Review the upstream repo before installing. This guide is auto-derived from indexed fields and may lag the latest release. If anything contradicts the official docs, treat the upstream source as authoritative.

— source: general rule

How to use dsh-plugins