Introduction

DeepSeek Harness (DSH) adopts a plugin-based architecture, and developers often need to monitor the runtime status of agent sessions. dsh-session-notice is an online tool plugin that integrates the Bark service. It allows users to toggle the “notify” state in the session interface and automatically pushes a notification to a phone via Bark when a turn in that session stops.

Plugin Information

  • Name: dsh-session-notice
  • Maintainer: Dalcui
  • Category: Online tools
  • License: MIT

Installation and Configuration

Compatible with DSH version 0.1.5 – 0.2.0-rc.2.

  1. Installation:
    dsh plugin --profile web add github:Dalcui/dsh-session-notice
If the plugin entry does not take effect automatically after installation, restart the web profile:
    launchctl kickstart -k gui/$(id -u)/io.deepseek.dsh-web
  1. Configure Keys:
    Go to Plugin Management → Installed → find dsh-session-notice → expand Settings.

    • Bark server: Default is the official https://api.day.app; a self-hosted server can also be used.
    • Device key: View it inside the Bark App; only the last 4 characters are displayed. The key is stored only on the Host side and is not stored in the browser or written to logs.
  2. Test Connectivity:
    Click Test Push. The system will check three steps in sequence:

    1. Server reachable (GET /ping)
    2. Test push delivered (POST /push)
    3. Diagnose whether the key has been registered (GET /register/<key>, executed only on failure)

Usage Steps

Return to any session and click the bell button in the header status bar (monochrome icon, no text). The state is independent and persisted (maintained after a service restart). Once enabled, every turn stop in that session will trigger a push notification.

Behavior Description

  • Normal End: Push the last text message. If the text is too long, summarize it using “first paragraph + last paragraph” and include the total character count.
  • Abnormal Stop: Push the complete error content and necessary information (e.g., token limit, crash).
  • User-Initiated Stop: No notification is triggered.
  • Summary Length: Default is 200 characters; longer content is summarized according to the rules.

Technical Details and Notes

  • Version Compatibility:
    • dsh 0.2.0: The plugin must declare the compatible dsh runtime version in peerDependencies; otherwise, it will be skipped at startup.
    • dsh 0.1.7: The configuration entry was migrated from settings.plugin.item to plugins.bundle.config.
  • Network Transport: Uses directFetch by default (bypassing environment proxy interception) to avoid push failures caused by Node environment variables.
  • Message Limit: Protocol-layer JSON ≤ 3900 bytes, timeout of 8 seconds, and no automatic retry by default.
  • Collapse ID: Uses the first 16 characters of sha1(sessionId|turn) for APNs collapsing.