@michengai/dsh-automation 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,34 +1,57 @@
1
- <h1 align="center">DSH Automation</h1>
2
-
3
1
  <p align="center">
4
- <strong>A DeepSeek Harness Web plugin for running standalone coding tasks on a schedule.</strong>
2
+ <img src="assets/branding/dsh-banner.png" alt="DSH Automation" width="100%">
5
3
  </p>
6
4
 
7
- <p align="center">
8
- <a href="https://github.com/MichengAI/dsh-automation/issues">Report an issue</a>
9
- · <a href="https://www.npmjs.com/package/@michengai/dsh-automation">View on npm</a>
10
- · <a href="README.zh-CN.md">简体中文</a>
11
- </p>
5
+ <div align="center">
12
6
 
13
- <p align="center">
14
- <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-blue.svg" alt="Apache License 2.0"></a>
15
- <a href="https://www.npmjs.com/package/@michengai/dsh-automation"><img src="https://img.shields.io/npm/v/%40michengai/dsh-automation?label=npm" alt="npm package"></a>
16
- <img src="https://img.shields.io/badge/DSH-Web%20Plugin-10b981" alt="DSH Web Plugin">
17
- <img src="https://img.shields.io/badge/Node.js-%E2%89%A522.19-339933?logo=nodedotjs&logoColor=white" alt="Node.js 22.19 or later">
18
- </p>
7
+ # DSH Automation
8
+
9
+ **Run standalone coding tasks on a schedule in DeepSeek Harness**
19
10
 
20
- > DSH Automation is a community-maintained plugin, not an official DeepSeek AI product.
11
+ [简体中文](README.zh-CN.md) · [Apache-2.0](LICENSE)
12
+
13
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](LICENSE)
14
+ [![npm package](https://img.shields.io/npm/v/%40michengai%2Fdsh-automation.svg?label=npm%20package)](https://www.npmjs.com/package/@michengai/dsh-automation)
15
+ [![DSH Web Plugin](https://img.shields.io/badge/DSH%20Web-Plugin-0f766e.svg)](https://github.com/MichengAI/dsh-automation)
16
+ [![Node.js 22 or later](https://img.shields.io/badge/Node.js-22%20or%20later-339933.svg?logo=node.js&logoColor=white)](https://nodejs.org/)
17
+ </div>
18
+
19
+ > DSH Automation is a community-maintained DeepSeek Harness (DSH) plugin, not an official DeepSeek AI product.
21
20
 
22
21
  ## Features
23
22
 
24
- - Manages scheduled tasks from **Settings → Scheduled Tasks**.
25
- - Creates, pauses, resumes, runs now, and deletes rules from the Web UI or Agent tools.
26
- - Starts each occurrence in a fresh root Agent and Session. Source-chat history is not inherited.
27
- - Supports once, interval, hourly, daily, weekly, monthly, and custom-every-N-days schedules.
28
- - Lets you pick workspace, model, skills, and `read-only` / `workspace-write` permission in the create dialog.
29
- - Fills a chat draft from **Create in chat**: `I want to create a scheduled task that runs every [interval] and does [the actual task]`.
30
- - Keeps durable run history with `queued`, `running`, `succeeded`, `failed`, `skipped`, and `cancelled`.
31
- - Adds a sidebar **Scheduled** tab. Folders are task names and child sessions are run times. On stock DSH it wraps the official workspace tree instead of replacing it, and it does not depend on `dsh-codex-ui`.
23
+ - Manage scheduled tasks from **Settings → Scheduled Tasks**.
24
+ - Create, pause, resume, run now, and delete rules from the Web UI or Agent tools.
25
+ - Start each occurrence in a fresh root Agent and Session. Source-chat history is not inherited.
26
+ - Support once, interval, hourly, daily, weekly, monthly, and custom-every-N-days schedules.
27
+ - Pick workspace, model, skills, and `read-only` / `workspace-write` in the create dialog.
28
+ - Create from chat: describe the schedule in any conversation, then confirm with the official approval card.
29
+ - Keep durable run history: `queued`, `running`, `succeeded`, `failed`, `skipped`, `cancelled`.
30
+ - 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`.
31
+
32
+ ## Interface
33
+
34
+ Scheduled tasks live in the workspace **Scheduled** tab, next to **Tasks** and **Channels**:
35
+
36
+ ![Scheduled sidebar](assets/screenshots/workspace-scheduled.png)
37
+
38
+ Open **Settings → Scheduled Tasks** to search, create, pause, and inspect rules:
39
+
40
+ ![Scheduled tasks settings](assets/screenshots/settings-tasks.png)
41
+
42
+ Describe the job in chat. The agent calls `automation_create` and asks through the official approval card:
43
+
44
+ ![Create a scheduled task from chat](assets/screenshots/chat-create.png)
45
+
46
+ ![Official approval for automation_create](assets/screenshots/chat-approval.png)
47
+
48
+ After approval, the rule is saved and summarized in the conversation:
49
+
50
+ ![Scheduled task created](assets/screenshots/chat-created.png)
51
+
52
+ Run history stays in Settings and can be filtered by day, week, month, task, or status:
53
+
54
+ ![Run history](assets/screenshots/settings-runs.png)
32
55
 
33
56
  ## Prerequisites
34
57
 
@@ -38,18 +61,18 @@
38
61
 
39
62
  ## Installation
40
63
 
41
- ### Install from npm
64
+ `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.
42
65
 
43
- Run this from any PowerShell directory. Install into the DSH profile through `dsh plugin`:
66
+ ### Install from npm
44
67
 
45
68
  ```powershell
46
69
  [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
47
70
  $OutputEncoding = [System.Text.Encoding]::UTF8
48
- dsh plugin --profile web add @michengai/dsh-automation
71
+ dsh plugin --profile web add @michengai/dsh-automation@latest --registry=https://registry.npmjs.org/
49
72
  dsh --profile web --dump-config
50
73
  ```
51
74
 
52
- Restart DSH Web or reload the active Web profile. If a package mirror is behind, append `--registry=https://registry.npmjs.org/`.
75
+ Restart DSH Web and hard-refresh the browser. Pin a version with `@0.1.4` instead of `@latest` when needed.
53
76
 
54
77
  ### Install from source
55
78
 
@@ -68,7 +91,7 @@ dsh plugin --profile web add .
68
91
  dsh --profile web --dump-config
69
92
  ```
70
93
 
71
- Restart DSH Web or reload the active Web profile. Local installation reads and applies `cordis.patch.yml`; do not copy `lib` files manually.
94
+ Restart DSH Web and hard-refresh the browser. Local installation reads and applies `cordis.patch.yml`; do not copy `lib` files manually.
72
95
 
73
96
  ## Usage
74
97
 
@@ -77,7 +100,7 @@ Open **Settings → Scheduled Tasks**, then use the panel as follows:
77
100
  | Goal | Action | Scope |
78
101
  | --- | --- | --- |
79
102
  | Create a rule | Select **New scheduled task**, then set name, schedule, prompt, workspace, model, skills, and permission. | Host-wide |
80
- | Create from chat | Select **Create in chat**. Settings close and the composer is filled with a template prompt. | Current conversation |
103
+ | Create from chat | Describe the schedule in any conversation, or select **Create in chat**. | Current conversation |
81
104
  | Pause or resume | Use the switch on a task card. | One rule |
82
105
  | Run now | Open the card menu and select **Run now**. | One rule |
83
106
  | Delete | Open the card menu and select **Delete task**. Run history is kept. | Definition only |
@@ -91,7 +114,7 @@ Each dispatched run uses the saved prompt, workspace, model, and permission boun
91
114
  | --- | --- |
92
115
  | Permission | Default is `read-only`. File writes require an explicit `workspace-write` choice. |
93
116
  | Full access | Unattended `danger-full-access` is not offered. |
94
- | Approval | Unattended runs use fail-closed `never` and do not wait for a missing human. |
117
+ | 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`. |
95
118
  | Retry | No automatic retry after a started run. |
96
119
  | Host restart | Leftover `queued` / `running` records become `failed(host_interrupted)`. |
97
120
  | Overlap | One active run per rule. A colliding occurrence is recorded as `skipped(overlap)`. |
@@ -133,4 +156,4 @@ pnpm build
133
156
 
134
157
  Start from the [documentation entry](docs/00-交接入口/00-阅读导航.md) for project status, architecture, and the current iteration. Product notes live in NOTICE.
135
158
 
136
- This project uses [Apache License 2.0](LICENSE).
159
+ This project uses [Apache License 2.0](LICENSE).
package/README.zh-CN.md CHANGED
@@ -1,34 +1,57 @@
1
- <h1 align="center">DSH Automation</h1>
2
-
3
1
  <p align="center">
4
- <strong>在独立 Session 中按计划执行编码任务的 DeepSeek Harness Web 插件。</strong>
2
+ <img src="assets/branding/dsh-banner.png" alt="DSH Automation" width="100%">
5
3
  </p>
6
4
 
7
- <p align="center">
8
- <a href="https://github.com/MichengAI/dsh-automation/issues">反馈问题</a>
9
- · <a href="https://www.npmjs.com/package/@michengai/dsh-automation">在 npm 查看</a>
10
- · <a href="README.md">English</a>
11
- </p>
5
+ <div align="center">
12
6
 
13
- <p align="center">
14
- <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-blue.svg" alt="Apache License 2.0"></a>
15
- <a href="https://www.npmjs.com/package/@michengai/dsh-automation"><img src="https://img.shields.io/npm/v/%40michengai/dsh-automation?label=npm" alt="npm 包"></a>
16
- <img src="https://img.shields.io/badge/DSH-Web%20Plugin-10b981" alt="DSH Web Plugin">
17
- <img src="https://img.shields.io/badge/Node.js-%E2%89%A522.19-339933?logo=nodedotjs&logoColor=white" alt="Node.js 22.19 或更高版本">
18
- </p>
7
+ # DSH Automation
8
+
9
+ **在独立 DSH Session 中按计划执行编码任务**
19
10
 
20
- > DSH Automation 是社区维护的插件,并非 DeepSeek AI 官方产品。
11
+ [English](README.md) · [Apache-2.0](LICENSE)
12
+
13
+ [![许可证:Apache-2.0](https://img.shields.io/badge/许可证-Apache--2.0-blue.svg)](LICENSE)
14
+ [![npm package](https://img.shields.io/npm/v/%40michengai%2Fdsh-automation.svg?label=npm%20package)](https://www.npmjs.com/package/@michengai/dsh-automation)
15
+ [![DSH Web Plugin](https://img.shields.io/badge/DSH%20Web-Plugin-0f766e.svg)](https://github.com/MichengAI/dsh-automation)
16
+ [![Node.js 22 or later](https://img.shields.io/badge/Node.js-22%20or%20later-339933.svg?logo=node.js&logoColor=white)](https://nodejs.org/)
17
+ </div>
18
+
19
+ > DSH Automation 是社区维护的 DeepSeek Harness(DSH)插件,并非 DeepSeek AI 官方产品。
21
20
 
22
21
  ## 功能概览
23
22
 
24
- - 在「设置 → 定时任务」集中管理规则和运行历史。
25
- - 支持从 Web Agent 工具创建、暂停、恢复、立即运行和删除。
23
+ - 在「设置 → 定时任务」里管理计划任务。
24
+ - 支持 Web 设置页和 Agent 工具创建、暂停、恢复、立即运行和删除。
26
25
  - 每次到期都启动全新 root Agent 和 Session,不继承来源对话。
27
26
  - 计划类型包括不重复、间隔、每小时、每天、每周、每月和自定义间隔天数。
28
27
  - 新建弹窗可选择工作目录、模型、技能,以及 `read-only` / `workspace-write`。
29
- - 「通过对话创建」会关闭设置页,并在输入框填入:`我要创建一个定时任务,每【时间间隔】执行【具体任务】`。
28
+ - 在任意对话里描述定时任务即可创建;Full access 直接执行,其他权限走官方授权卡。
30
29
  - 运行状态包含 `queued`、`running`、`succeeded`、`failed`、`skipped`、`cancelled`。
31
- - 侧栏提供「定时」页签:文件夹是任务名称,子会话是执行时间。原生下只包裹官方任务树,不替换搜索和工作区,也不依赖 `dsh-codex-ui`。
30
+ - 侧栏提供「定时」页签:文件夹是任务名称,子会话是执行时间。原生下只包裹官方任务树,不依赖 `dsh-codex-ui`。
31
+
32
+ ## 界面预览
33
+
34
+ 工作区左侧「任务 / 频道 / 定时」分列。定时任务只出现在「定时」:
35
+
36
+ ![工作区定时侧栏](assets/screenshots/workspace-scheduled.png)
37
+
38
+ 打开「设置 → 定时任务」可搜索、新建、暂停和查看规则:
39
+
40
+ ![定时任务设置页](assets/screenshots/settings-tasks.png)
41
+
42
+ 在对话里描述任务。Agent 会调用 `automation_create`,并弹出官方授权:
43
+
44
+ ![通过对话创建定时任务](assets/screenshots/chat-create.png)
45
+
46
+ ![创建定时任务的官方授权](assets/screenshots/chat-approval.png)
47
+
48
+ 确认后规则会保存,并在对话里汇总:
49
+
50
+ ![定时任务创建成功](assets/screenshots/chat-created.png)
51
+
52
+ 执行记录留在设置页,可按天、周、月、任务或状态筛选:
53
+
54
+ ![执行记录](assets/screenshots/settings-runs.png)
32
55
 
33
56
  ## 前置条件
34
57
 
@@ -38,18 +61,18 @@
38
61
 
39
62
  ## 安装
40
63
 
41
- ### npm 安装
64
+ `dsh plugin add` 会转发到 profile 目录里的 `pnpm add`。不写版本、不指定官方源时,本机镜像可能让你停在旧版。
42
65
 
43
- 在任意 PowerShell 目录执行。请通过 `dsh plugin` 安装到 DSH profile:
66
+ ### npm 安装
44
67
 
45
68
  ```powershell
46
69
  [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
47
70
  $OutputEncoding = [System.Text.Encoding]::UTF8
48
- dsh plugin --profile web add @michengai/dsh-automation
71
+ dsh plugin --profile web add @michengai/dsh-automation@latest --registry=https://registry.npmjs.org/
49
72
  dsh --profile web --dump-config
50
73
  ```
51
74
 
52
- 安装或升级后重启 DSH Web,或重新加载当前 Web profile。若镜像未同步最新版本,可在安装命令末尾追加 `--registry=https://registry.npmjs.org/`。
75
+ 安装后重启 DSH Web,并在浏览器硬刷新。需要钉死某一版时,把 `@latest` 换成 `@0.1.4`。
53
76
 
54
77
  ### 从源码安装
55
78
 
@@ -68,7 +91,7 @@ dsh plugin --profile web add .
68
91
  dsh --profile web --dump-config
69
92
  ```
70
93
 
71
- 完成后重启 DSH Web 或重新加载当前 Web profile。`dsh plugin ... add .` 会自动读取并应用 `cordis.patch.yml`;不要手工复制 `lib` 文件。
94
+ 完成后重启 DSH Web 并硬刷新浏览器。`dsh plugin ... add .` 会自动读取并应用 `cordis.patch.yml`;不要手工复制 `lib` 文件。
72
95
 
73
96
  ## 使用
74
97
 
@@ -77,7 +100,7 @@ dsh --profile web --dump-config
77
100
  | 目标 | 操作 | 范围 |
78
101
  | --- | --- | --- |
79
102
  | 创建规则 | 点击「新建定时任务」,填写名称、计划、任务说明、工作目录、模型、技能和权限。 | 当前 Host |
80
- | 通过对话创建 | 点击「通过对话创建」。设置页关闭,输入框填入模板提示词。 | 当前对话 |
103
+ | 通过对话创建 | 在任意对话描述定时任务,或点击「通过对话创建」。 | 当前对话 |
81
104
  | 暂停或恢复 | 使用任务卡片上的开关。 | 单条规则 |
82
105
  | 立即运行 | 打开卡片菜单,选择「立即执行」。 | 单条规则 |
83
106
  | 删除 | 打开卡片菜单,选择「删除任务」。运行历史会保留。 | 仅定义 |
@@ -91,7 +114,7 @@ dsh --profile web --dump-config
91
114
  | --- | --- |
92
115
  | 权限 | 默认 `read-only`。改文件必须显式选择 `workspace-write`。 |
93
116
  | 完全访问 | 不提供无人值守 `danger-full-access`。 |
94
- | 审批 | 无人值守使用 fail-closed 的 `never`,不会等待一个不存在的人。 |
117
+ | 审批 | 对话创建跟随当前会话策略。Full access(`never`)直接创建;Workspace Write / Read Only(`ask`)走官方授权卡。无人值守运行仍是 fail-closed 的 `never`。 |
95
118
  | 重试 | 已经开始的运行不会自动重试。 |
96
119
  | Host 重启 | 遗留的 `queued` / `running` 会变成 `failed(host_interrupted)`。 |
97
120
  | 重叠 | 同一规则同时最多一个 active run。冲突 occurrence 记为 `skipped(overlap)`。 |
@@ -133,4 +156,4 @@ pnpm build
133
156
 
134
157
  项目状态、使用边界、技术架构和迭代记录从[文档交接入口](docs/00-交接入口/00-阅读导航.md)开始。补充说明见 NOTICE。
135
158
 
136
- 本项目采用 [Apache License 2.0](LICENSE)。
159
+ 本项目采用 [Apache License 2.0](LICENSE)。
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@michengai/dsh-automation",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "在独立 DSH Session 中按计划执行编码任务,支持 Web 设置页与 Agent 双入口管理。",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -18,6 +18,7 @@
18
18
  },
19
19
  "files": [
20
20
  "lib",
21
+ "assets",
21
22
  "docs",
22
23
  "cordis.patch.yml",
23
24
  "README.md",