npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@liushutan/dsh-automation

v0.1.22

Published

在独立 DSH Session 中按计划执行编码任务,支持 Web 设置页与 Agent 双入口管理。

Readme

DSH Automation

Run standalone coding tasks on a schedule in DeepSeek Harness

简体中文 · Changelog · Apache-2.0

License: Apache-2.0 npm package npm downloads DSH Web Plugin Node.js 22 or later

DSH Automation is a community-maintained DeepSeek Harness (DSH) plugin, not an official DeepSeek AI product.

Features

  • Manage scheduled tasks from Settings → Scheduled Tasks.
  • Create, pause, resume, run now, and delete rules from the Web UI or Agent tools.
  • Start each occurrence in a fresh root Agent and Session. Source-chat history is not inherited.
  • Support once, interval, hourly, daily, weekly, monthly, and custom-every-N-days schedules.
  • Pick workspace, model, skills, and any permission preset exposed by the Host.
  • Create from chat: describe the schedule in any conversation, then confirm with the official approval card.
  • Keep durable run history: queued, running, succeeded, failed, skipped, cancelled.
  • Add a sidebar Scheduled tab. Folders are task names and child sessions are run times. On stock DSH it wraps the official workspace tree and does not depend on dsh-codex-ui.

Interface

Scheduled tasks live in the workspace Scheduled tab, next to Tasks and Channels:

Scheduled sidebar

Open Settings → Scheduled Tasks to search, create, pause, and inspect rules:

Scheduled tasks settings

Describe the job in chat. The agent calls automation_create and asks through the official approval card:

Create a scheduled task from chat

Official approval for automation_create

After approval, the rule is saved and summarized in the conversation:

Scheduled task created

Run history stays in Settings and can be filtered by day, week, month, task, or status:

Run history

DSH product ecosystem

This product can be installed independently or used through the desktop app or Web suite. They share the same DSH core but serve different ways of working; on stock DSH, this product does not depend on Codex UI:

| Product | Relationship to this product | | --- | --- | | DeepSeek Harness | The host runtime that provides models, sessions, tools, and the plugin system | | DSH Doubao Desktop | A ready-to-install desktop product with this product and the other five feature products built in | | Six feature products | Codex UI · IM Connect · Automation · Skills Manager · Archive Manager · Agency Agents |

Prerequisites

  • A working DeepSeek Harness Web installation with dsh available in PowerShell.
  • Examples use the web profile; replace it with the target profile.
  • Source installation and development require Node.js 22.19+. npm installation does not require running npm install in an arbitrary directory.

Installation

dsh plugin add forwards to pnpm add in the profile directory. If you omit a version or the official registry, a local mirror may leave you on an old build.

Install from npm

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
dsh plugin --profile web add @michengai/dsh-automation@latest --registry=https://registry.npmjs.org/
dsh --profile web --dump-config

Restart DSH Web and hard-refresh the browser. Pin a version with @0.1.5 instead of @latest when needed.

Install from source

Use this for debugging or unpublished changes. The cloned directory becomes the plugin source path:

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
Set-Location D:\Repository\deepseek-harness-plugin
git clone https://github.com/liushutan/dsh-automation.git
Set-Location .\dsh-automation
pnpm install
pnpm test
pnpm build
dsh plugin --profile web add .
dsh --profile web --dump-config

Restart DSH Web and hard-refresh the browser. Local installation reads and applies cordis.patch.yml; do not copy lib files manually.

Usage

Open Settings → Scheduled Tasks, then use the panel as follows:

| Goal | Action | Scope | | --- | --- | --- | | Create a rule | Select New scheduled task, then set name, schedule, prompt, workspace, model, skills, and permission. | Host-wide | | Create from chat | Describe the schedule in any conversation, or select Create in chat. | Current conversation | | Pause or resume | Use the switch on a task card. | One rule | | Run now | Open the card menu and select Run now. | One rule | | Delete | Open the card menu and select Delete task. Run history is kept. | Definition only | | Inspect runs | Open Run history, then filter by day, week, month, task, or status. | Host-wide |

Each dispatched run uses the saved prompt, workspace, model, and permission boundary. It does not reuse approvals from the source chat.

Safety boundary

| Item | Behavior | | --- | --- | | Permission | Options and the default come directly from the Host permissionPresets service, including custom presets. | | Full access | The official danger-full-access option uses the same risk confirmation and orange warning as Chat. | | Approval | Chat create follows the session policy. Full access (never) proceeds; Workspace Write / Read Only (ask) shows the official card. Unattended runs stay fail-closed never. | | Retry | No automatic retry after a started run. | | Host restart | Leftover queued / running records become failed(host_interrupted). | | Overlap | One active run per rule. A colliding occurrence is recorded as skipped(overlap). |

A schedule stores future intent. It is not a cached permission grant.

Development

Current sources live in src and build into lib:

  • src\index.ts: Host plugin, tools, and RPC.
  • src\service.ts: Durable definitions, clock, and run admission.
  • src\client\index.ts: Settings page and chat prefill.
  • tests\*.test.ts: Domain, recurrence, service, client, and package-contract tests.

After changing files, run tests, rebuild, and reinstall from the local directory:

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
pnpm check
dsh plugin --profile web add .

Keep the at-most-once dispatch policy, workspace scoping for Agent tools, and fail-closed unattended approval when changing execution code.

Verification

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
pnpm test
pnpm build

pnpm check runs typecheck, tests, and build together.

Project docs and license

Start from the documentation entry for project status, architecture, and the current iteration. Product notes live in NOTICE.

This project uses Apache License 2.0.