DeepSeek Harness Plugin

upJiang/dsh-cron-job

Stars ★ 2 Category Workflow & Automation Added 2026-08-31

Scheduled DeepSeek Harness Agent tasks with mandatory end-to-end tests, run history, and bidirectional delivery through nine messaging channels.

Install

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:upJiang/dsh-cron-job

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

dsh-cron-job adds scheduled tasks and messaging to DeepSeek Harness. Ask the model to create a task, then send its results to WeChat, Feishu, DingTalk, WeCom, QQ, Slack, Telegram, Discord, or WhatsApp.

中文

Requirements

  • DeepSeek Harness is installed.
  • Node.js 22.19 or later is installed.
  • At least one DSH model is available.
  • A bot or account is available for each messaging platform you want to use.

Install

The installer uses the web profile by default. It replaces an installed legacy dsh-im communication plugin while keeping its channel configuration and credential references.

On macOS or Linux:

npx -y github:upJiang/dsh-cron-job install

On Windows PowerShell:

npx -y github:upJiang/dsh-cron-job install

After installation, stop the running DSH process and start it again:

dsh web --host 127.0.0.1 --port 3080

Refresh the browser and open http://127.0.0.1:3080/.

Connect messaging accounts

  1. Open Communications in DSH settings.
  2. Choose WeChat, Feishu, DingTalk, WeCom, QQ, Slack, Telegram, Discord, or WhatsApp.
  3. Scan the QR code or enter the credentials requested by the page.
  4. Complete the connection test, then send the bot one message in the target conversation.

Account settings are stored separately on each device. The plugin does not sync keys, tokens, sign-in sessions, or chat history between devices.

WeChat proactive delivery uses the latest private-chat reply context. After a first install or an upgrade from an older version, send the WeChat bot a new direct message before running a connection test or creating a WeChat delivery task.

Create a scheduled task

  1. Open Scheduled Tasks in DSH settings.
  2. Describe the schedule, sources, and delivery destination in plain language. You can also load the Product Hunt + GitHub Trending example, then edit or remove any part of it.
  3. Choose a workspace, model, and delivery targets, then generate the draft.
  4. Review the schedule, time zone, prompt, tool permissions, and delivery targets.
  5. Select Test and create.
  6. Wait for the real workspace, model, agent, source, and delivery tests to finish.
  7. When every test passes, select Confirm and enable.

Test notifications include a Scheduled task creation test label. The task cannot be created if any check or delivery target fails.

Fix a failed test

The page shows which stage failed and why:

  • For a workspace failure, select an accessible folder and check its permissions.
  • For a model failure, choose another provider or model, or add the required API key in its settings.
  • For an agent or source failure, edit the prompt, URL, authentication settings, or tool permissions.
  • For a delivery failure, reconnect the account, add the required platform credentials, choose another conversation, or remove the failed target.

Changing the schedule, time zone, workspace, prompt, model, tool permissions, or delivery targets requires another complete test.

When a website requires a proxy, the plugin first uses HTTP_PROXY, HTTPS_PROXY, and NO_PROXY. If those environment variables are not set, it reads the current user's macOS or Windows system proxy. It only reads the settings and never changes the system proxy.

Manage tasks

The Scheduled Tasks page lets you search and filter tasks, inspect the next run and run history, edit tasks, pause or resume them, run them now, cancel a running task, or delete them.

Every run uses a separate DSH Session. The same task cannot run concurrently. Runs missed while DSH is stopped are skipped.

Uninstall

Run this command on macOS, Linux, or Windows PowerShell:

dsh plugin --profile web remove dsh-cron-job

Restart DSH and refresh the browser after uninstalling.

Install from a local checkout

Run this command from the plugin source directory:

node bin/dsh-cron-job.mjs install --source .

Restart DSH after installation.

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.