dsh-offwork 1.0.0 → 1.0.1

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/CHANGELOG.md ADDED
@@ -0,0 +1,17 @@
1
+ # 更新记录
2
+
3
+ ## 1.0.1 — 2026-11-04
4
+
5
+ - 修复默认 82% 透明度与原生滑块取值不一致的问题,支持按 1% 调整。
6
+ - 为设置中的工资显示和计薪方式按钮补充明确的辅助名称。
7
+ - 统一源码格式,固定开发依赖,补充开发指南及格式、语法和打包检查。
8
+ - 更新 GitHub Actions,发布前执行完整检查。
9
+ - 明确界面和工具中的 Harness Host 配置存储说明。
10
+ - 补充真实 Harness 截图、市场图标、浏览器验证记录及插件迭代计划。
11
+
12
+ ## 1.0.0 — 2026-11-04
13
+
14
+ - 首次发布 Harness 页面内的下班倒计时与实时工资悬浮窗。
15
+ - 支持月薪 / 日薪、跨午夜班次、工作日、时区和可选无薪休息。
16
+ - 支持拖动、展开 / 收起、金额遮蔽、透明度和显示偏好记忆。
17
+ - 提供中英文界面、配置命令及代理工具。
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  `dsh-offwork` 提供可拖动的页面悬浮窗,支持月薪 / 日薪、跨午夜班次、无薪休息扣除和工资隐藏,工作时可以收起成小条。
6
6
 
7
- [GitHub 仓库](https://github.com/SnowBeatRain/dsh-offwork) · [npm 包](https://www.npmjs.com/package/dsh-offwork) · [问题反馈](https://github.com/SnowBeatRain/dsh-offwork/issues)
7
+ [GitHub 仓库](https://github.com/SnowBeatRain/dsh-offwork) · [npm 包](https://www.npmjs.com/package/dsh-offwork) · [问题反馈](https://github.com/SnowBeatRain/dsh-offwork/issues) · [迭代路线图](https://github.com/SnowBeatRain/dsh-offwork/blob/main/ROADMAP.md)
8
8
 
9
9
  ## 功能
10
10
 
@@ -17,6 +17,18 @@
17
17
  - **中文 / English**:提供中英文界面,并响应系统的减少动态效果设置。
18
18
  - **代理工具**:可通过 Harness 命令或 `offwork_clock` 工具读取和更新配置。
19
19
 
20
+ ## 效果预览
21
+
22
+ 以下截图来自独立的 Harness 测试配置,使用示例月薪 12,000 元、月计薪 20 天及受控的浏览器时间。
23
+
24
+ **页面内的小条**
25
+
26
+ ![Harness 页面内的下班倒计时小条](https://raw.githubusercontent.com/SnowBeatRain/dsh-offwork/main/assets/screenshot-compact.png)
27
+
28
+ **展开详情与设置**
29
+
30
+ <img src="https://raw.githubusercontent.com/SnowBeatRain/dsh-offwork/main/assets/screenshot-detail.png" alt="展开后的计薪进度、工资与班次详情" width="328"> <img src="https://raw.githubusercontent.com/SnowBeatRain/dsh-offwork/main/assets/screenshot-settings.png" alt="薪资、作息、时区和透明度设置" width="372">
31
+
20
32
  ## 运行环境
21
33
 
22
34
  - DeepSeek Harness:`>=0.2.1-rc.5 <0.3.0-0`。
@@ -28,13 +40,19 @@
28
40
 
29
41
  ### 从 npm 安装
30
42
 
31
- 首次 npm 发布完成后,在 Harness 中使用 `plugin_manager` 的 `install_bundle` 操作,将 `target` 填为 `dsh-offwork`:
43
+ 在 Harness 中使用 `plugin_manager` 的 `install_bundle` 操作,将 `target` 填为 `dsh-offwork`:
32
44
 
33
45
  ```text
34
46
  plugin_manager → install_bundle → target: dsh-offwork
35
47
  ```
36
48
 
37
- 这是 Harness 插件,请通过 Harness 插件管理器安装,以加载 Host 配置和 Web 悬浮窗。
49
+ 这是 Harness 插件,请通过 Harness 插件管理器安装,以加载 Host 配置和 Web 悬浮窗。使用命令行管理 Web 配置时,也可以运行:
50
+
51
+ ```sh
52
+ dsh plugin --profile web add dsh-offwork
53
+ ```
54
+
55
+ `web` 是配置名称,使用其他配置时请替换为实际名称。
38
56
 
39
57
  ### 从 GitHub 安装
40
58
 
@@ -67,15 +85,15 @@ plugin_manager → install_bundle → target: /绝对路径/dsh-offwork
67
85
 
68
86
  ### 常用操作
69
87
 
70
- | 操作 | 使用方式 |
71
- | --- | --- |
72
- | 移动悬浮窗 | 按住小条或卡片的空白处拖动 |
73
- | 微调位置 | 悬浮窗获得键盘焦点后,使用方向键调整;Home 复位 |
74
- | 展开 / 收起 | 点击上箭头展开详情,点击下箭头收回小条 |
75
- | 显示 / 隐藏工资 | 点击眼睛图标或「显示工资」 |
76
- | 修改薪资和作息 | 点击齿轮进入设置 |
77
- | 调整透明度 | 在设置中调整「背景透明度」,仅影响背景层 |
78
- | 获取其他页面保存的配置 | 点击「读取最新配置」 |
88
+ | 操作 | 使用方式 |
89
+ | ---------------------- | ----------------------------------------------- |
90
+ | 移动悬浮窗 | 按住小条或卡片的空白处拖动 |
91
+ | 微调位置 | 悬浮窗获得键盘焦点后,使用方向键调整;Home 复位 |
92
+ | 展开 / 收起 | 点击上箭头展开详情,点击下箭头收回小条 |
93
+ | 显示 / 隐藏工资 | 点击眼睛图标或「显示工资」 |
94
+ | 修改薪资和作息 | 点击齿轮进入设置 |
95
+ | 调整透明度 | 在设置中调整「背景透明度」,仅影响背景层 |
96
+ | 获取其他页面保存的配置 | 点击「读取最新配置」 |
79
97
 
80
98
  同一浏览器、同一站点下的多个标签页会同步显示偏好。薪资与作息配置由 Harness Host 共享,其他页面保存后可手动读取最新配置。
81
99
 
@@ -83,12 +101,12 @@ plugin_manager → install_bundle → target: /绝对路径/dsh-offwork
83
101
 
84
102
  所有金额以人民币(CNY)显示,表示按配置估算的税前收入。
85
103
 
86
- | 项目 | 计算方式 |
87
- | --- | --- |
88
- | 月薪模式的日薪 | 月薪 ÷ 月计薪天数 |
89
- | 日薪模式的日薪 | 直接使用填写的日薪 |
90
- | 有效时薪 | 日薪 ÷ 扣除无薪休息后的班次时长 |
91
- | 本班已赚 | 日薪 × 已完成的有效计薪比例 |
104
+ | 项目 | 计算方式 |
105
+ | -------------- | ------------------------------- |
106
+ | 月薪模式的日薪 | 月薪 ÷ 月计薪天数 |
107
+ | 日薪模式的日薪 | 直接使用填写的日薪 |
108
+ | 有效时薪 | 日薪 ÷ 扣除无薪休息后的班次时长 |
109
+ | 本班已赚 | 日薪 × 已完成的有效计薪比例 |
92
110
 
93
111
  例如,月薪为 10,000 元、月计薪天数为 21.75 天,上班时间为 09:00–18:00,并扣除 12:00–13:00 的无薪休息时,日薪约为 459.77 元,有效时薪约为 57.47 元。
94
112
 
@@ -148,35 +166,37 @@ plugin_manager → install_bundle → target: /绝对路径/dsh-offwork
148
166
 
149
167
  ## 开发
150
168
 
151
- 建议使用 Node.js 22,与仓库 CI 保持一致。当前项目无需安装第三方依赖即可构建和测试。
169
+ 建议使用 Node.js 22,与仓库 CI 保持一致。运行时无第三方依赖;开发依赖仅用于代码格式检查,通过锁文件固定版本。
152
170
 
153
171
  ```sh
154
172
  git clone https://github.com/SnowBeatRain/dsh-offwork.git
155
173
  cd dsh-offwork
156
- npm run build
157
- npm test
158
- npm pack --dry-run
174
+ npm ci --ignore-scripts
175
+ npm run format
176
+ npm run check
159
177
  ```
160
178
 
161
- | 文件 | 用途 |
162
- | --- | --- |
163
- | `client.source.js` | Web 界面源码 |
164
- | `clock.js` | 班次、时区和工资计算 |
165
- | `ui-utils.js` | 界面状态与显示辅助函数 |
166
- | `client.js` | 构建生成的客户端文件,请通过构建更新 |
167
- | `index.js` | Host 命令、代理工具、配置校验与保存 |
168
- | `tests/` | 计算、持久化与界面辅助逻辑测试 |
179
+ `npm run format` 统一源码格式并重新生成客户端;`npm run check` 检查格式、生成物一致性、自动化测试、JavaScript 语法及 npm 打包内容。单独构建使用 `npm run build`,单独运行测试使用 `npm test`。代码约定和人工验证步骤见 [贡献指南](https://github.com/SnowBeatRain/dsh-offwork/blob/main/CONTRIBUTING.md)。
180
+
181
+ | 文件 | 用途 |
182
+ | ------------------ | ------------------------------------ |
183
+ | `client.source.js` | Web 界面源码 |
184
+ | `clock.js` | 班次、时区和工资计算 |
185
+ | `ui-utils.js` | 界面状态与显示辅助函数 |
186
+ | `client.js` | 构建生成的客户端文件,请通过构建更新 |
187
+ | `index.js` | Host 命令、代理工具、配置校验与保存 |
188
+ | `tests/` | 计算、持久化与界面辅助逻辑测试 |
169
189
 
170
- `npm run build` 将计算模块和界面辅助模块内联到 `client.js`。`npm test` 先检查生成物是否与源码一致,再运行测试,覆盖班次边界、夜班、休息、时区与夏令时、金额精度、磁盘持久化和命令 / 工具行为。浏览器外观、拖动与实际 Harness 安装体验仍需人工检查。
190
+ `npm run build` 将计算模块和界面辅助模块内联到 `client.js`。`npm test` 先检查生成物是否与源码一致,再运行测试,覆盖班次边界、夜班、休息、时区与夏令时、金额精度、磁盘持久化和命令 / 工具行为。`1.0.1` 已在隔离的 Harness `0.2.1-rc.5` 与 Headless Chromium 中完成设置、拖动、刷新恢复及双标签页等浏览器验证,范围与限制见 [验证记录](https://github.com/SnowBeatRain/dsh-offwork/blob/main/docs/VALIDATION-1.0.1.md)。
171
191
 
172
192
  ## 发布到 npm(维护者)
173
193
 
174
194
  包名为 `dsh-offwork`,版本以 `package.json` 为准。发布前确认 npm 账号拥有该包的发布权限,并完成检查:
175
195
 
176
196
  ```sh
197
+ npm ci --ignore-scripts
177
198
  npm run build
178
- npm test
179
- npm pack --dry-run
199
+ npm run check
180
200
  ```
181
201
 
182
202
  检查打包清单,确认包含 README、客户端、Host 入口和语言文件,且不包含 `data.json`、`.env` 或其他本地配置。
@@ -188,7 +208,7 @@ npm login
188
208
  npm publish --access public
189
209
  ```
190
210
 
191
- `npm publish` 会通过 `prepublishOnly` 自动执行构建和测试。npm 不允许覆盖已发布的同名版本,后续发布需先更新版本,例如 `npm version patch` 或 `npm version minor`。
211
+ `npm publish` 会通过 `prepublishOnly` 自动执行构建和完整检查。npm 不允许覆盖已发布的同名版本,后续发布需先更新版本,例如 `npm version patch` 或 `npm version minor`。
192
212
 
193
213
  ### GitHub Actions 发布
194
214
 
@@ -196,15 +216,14 @@ npm publish --access public
196
216
 
197
217
  1. 在 GitHub 仓库的 **Settings → Secrets and variables → Actions** 中配置 `NPM_TOKEN`,使用具备该包发布权限并满足 npm 发布认证要求的 npm 令牌。GitHub 登录使用的 `ghp_…` 令牌不能用于 npm 发布。
198
218
  2. 确认代码已提交,且标签版本与 `package.json` 中的版本完全一致。
199
- 3. 首次发布 `1.0.0` 时执行以下命令;若该版本已发布,请先更新版本并使用对应的新标签:
219
+ 3. 通过 `npm version patch`、`npm version minor` 或 `npm version major` 创建版本提交和标签,再推送到 GitHub。例如发布修订版本:
200
220
 
201
221
  ```sh
202
- git tag v1.0.0
203
- git push origin main
204
- git push origin v1.0.0
222
+ npm version patch
223
+ git push origin main --follow-tags
205
224
  ```
206
225
 
207
- 后续可通过 `npm version patch` 创建版本提交和标签,再执行 `git push origin main --follow-tags`。在 [Actions 页面](https://github.com/SnowBeatRain/dsh-offwork/actions) 确认发布结果。本地发布和 Actions 发布任选一种,避免重复发布同一版本。
226
+ 在 [Actions 页面](https://github.com/SnowBeatRain/dsh-offwork/actions) 确认发布结果。本地发布和 Actions 发布任选一种,避免重复发布同一版本。
208
227
 
209
228
  ## 许可与反馈
210
229