dsh-fish-orb 0.1.1 → 0.1.2

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +80 -14
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # 更新日志 · dsh-fish-orb
2
2
 
3
+ ## 0.1.2(2026-10-19)
4
+
5
+ - README 重写**安装章节**:从"只写一句 install_bundle"变成三种可照着做的路径
6
+ (npm / GitHub clone / `dsh plugin add`,最后一条明确标注**未验证**)
7
+ - README 补上 0.1.0 之后新增的能力:定时任务、划词工具条、右键会话行、自定义图片、贴边吸附
8
+ - README 的用法、状态文件示例同步更新(`size` 44–120、`avatar`、`schedules`)
9
+ - 无代码变更
10
+
3
11
  ## 0.1.1(2026-10-19)
4
12
 
5
13
  - 补 `repository` / `homepage` / `bugs` 字段:npm 页面与 README 能点回 GitHub 仓库
package/README.md CHANGED
@@ -3,40 +3,96 @@
3
3
  > DSH 页面内的悬浮球:接一句话、派给后台会话跑、把结果收回来。
4
4
  > **只在 DSH 页面里,不碰桌面控制** —— 跨应用置顶/划词需要原生窗口与系统级钩子,Web 插件做不到。
5
5
 
6
- ## 现在能做什么(0.1.0)
6
+ ## 现在能做什么
7
7
 
8
8
  | 能力 | 状态 |
9
9
  | --- | --- |
10
- | 页面内常驻小球,**可拖动**、边缘不跑出视口 | ✅ |
11
- | 位置 + 大小**可自主调节**,落盘后刷新/重启不变 | ✅ |
10
+ | 页面内常驻小球,**可拖动**、**松手贴边吸附**,边缘不跑出视口 | ✅ |
11
+ | 位置 + 大小**可自主调节**(44–120px),落盘后刷新/重启不变 | ✅ |
12
+ | 球的样貌可换成**自定义图片**(jpg / png / webp,≤2MB) | ✅ |
12
13
  | 点球展开面板,`Esc` 关闭,靠边自动反向展开 | ✅ |
13
14
  | 面板里选**目标会话**(标注「运行中」/「未打开」) | ✅ |
14
15
  | 发一句话 → **真投递**进目标会话 | ✅ |
16
+ | **定时任务**(每隔 N 分钟 / 每天 HH:MM),到点自动派发 | ✅ |
17
+ | **选中文字** → 浮出工具条:搜索 / 发到悬浮框里 | ✅ |
18
+ | **右键会话行** → 设为派发目标 / 复制标题 / 复制 id | ✅ |
15
19
  | 目标会话没打开 / 没选 → **明确报错** | ✅ |
16
20
  | 面板关着时收到新任务 → 球上**未读小红点** | ✅ |
17
21
  | 会话 AI 的**真实回答**回流 | ❌ 未做(需读会话消息流) |
18
- | 划词工具栏 | ❌ 未做(可选) |
19
22
 
20
23
  ## 安装
21
24
 
25
+ 装一个 DSH 插件,需要两步:**先把包弄到本地**,**再让 DSH 装上它**。下面三种方式选一种。
26
+
27
+ ### 方式 A:从 npm 装(不需要 git,推荐)
28
+
29
+ **第 1 步:把包下载到本地**(不要装进 profile,装到任意临时目录即可)
30
+
31
+ ```powershell
32
+ cd $env:TEMP
33
+ npm i dsh-fish-orb --registry=https://registry.npmjs.org/
34
+ ```
35
+
36
+ **第 2 步:确认包目录在哪**
37
+
38
+ ```powershell
39
+ $pkg = Join-Path $env:TEMP 'node_modules\dsh-fish-orb'
40
+ Test-Path $pkg # 应该返回 True
41
+ $pkg # 把这里打印出来的路径复制下来
42
+ ```
43
+
44
+ **第 3 步:让 DSH 装上它**
45
+
46
+ 在 DSH 里(**创造模式 / cordis 预设**的会话,`plugin_manager` 只在那种模式下可用),让它调用:
47
+
22
48
  ```text
23
- plugin_manager action: install_bundle target: <本包目录的绝对路径>
49
+ plugin_manager action: install_bundle target: <第 2 步打印的绝对路径>
50
+ ```
51
+
52
+ 看返回的 **`application`** 字段:`applied` 才算生效,别拿"终端没报错"当成功。
53
+
54
+ **第 4 步:重启 DSH**
55
+
56
+ Host 半的改动必须重启才加载(Client 半只需刷新页面)。
57
+
58
+ ### 方式 B:从 GitHub 装
59
+
60
+ ```powershell
61
+ git clone https://github.com/k423Charotte/dsh-fish-orb.git $env:TEMP\dsh-fish-orb
24
62
  ```
25
63
 
26
- 看返回的 **`application`** 字段(`applied` 才算生效),别拿"终端没报错"当成功。
64
+ 然后 `install_bundle` 的 target 指向 `$env:TEMP\dsh-fish-orb\packages\dsh-fish-orb`。
65
+
66
+ ### 方式 C:`dsh plugin add`(⚠️ 未验证)
67
+
68
+ 如果你装了 `dsh` 命令行工具:
69
+
70
+ ```powershell
71
+ dsh plugin add dsh-fish-orb
72
+ ```
27
73
 
28
- - 改 `lib/client.js` → **刷新页面**(F5)生效
29
- - 改 `lib/index.js`(Host 半)→ **必须重启 DSH**
30
- - 重装/升级:对同一个 `target` 再 `install_bundle` 一次
74
+ **这条路我没验证过**(我本机没有 CLI)。成功或失败都欢迎反馈——它就是 README 里那条"未验证"的空白的来源。
75
+
76
+ ## 卸载
77
+
78
+ ```text
79
+ plugin_manager action: remove_bundle target: dsh-fish-orb
80
+ ```
81
+
82
+ 改 `lib/client.js` → **刷新页面**(F5)生效;改 `lib/index.js`(Host 半)→ **必须重启 DSH**;重装/升级 → 对同一个 target 再 `install_bundle` 一次。
31
83
 
32
84
  ## 用法
33
85
 
34
- 1. **拖动**:按住球移动,松手保存。位移 < 4px 算点击(不会误触展开)
35
- 2. **打开面板**:轻点球
86
+ 1. **拖动**:按住球移动,松手保存。位移 < 4px 算点击(不会误触展开);靠近屏幕边缘松手会**吸附贴边**
87
+ 2. **打开面板**:轻点球(再点一次或按 `Esc` 关闭)
36
88
  3. **选会话**:面板里「派给哪个会话」——只有标了「运行中」的会话**能收到派发**(DSH 里没打开的会话派不出去)
37
89
  4. **发送**:`Enter` 发送,`Shift+Enter` 换行
38
- 5. **调大小**:面板里的「球大小」滑块(32–64px)
39
- 6. **关面板**:再点一次球,或按 `Esc`
90
+ 5. **调大小**:面板里的「球大小」滑块(**44–120px**,默认 64)
91
+ 6. **换图片**:面板 →「选择图片」(jpg/png/webp,≤2MB)→「恢复默认」回到 🐟
92
+ 7. **定时任务**:面板底部「定时任务」折叠区 → 写一句话 + 选「每隔 N 分钟」或「每天 HH:MM」→ 添加
93
+ 8. **划词**:选中页面任意文字 → 选区上方浮出「搜索」「发到悬浮框里」
94
+ 9. **右键会话行**:侧栏某个会话上右键 → 设为派发目标 / 复制标题 / 复制 id
95
+ 10. **清空任务记录**:任务区右上角「清空」(DSH 重启时也会自动清一次)
40
96
 
41
97
  ## 状态文件
42
98
 
@@ -46,16 +102,26 @@ plugin_manager action: install_bundle target: <本包目录的绝对路径>
46
102
  {
47
103
  "version": 1,
48
104
  "ball": { "right": 18, "bottom": 132 },
49
- "size": 44,
105
+ "size": 64,
50
106
  "enabled": true,
51
107
  "target_session_id": "",
108
+ "avatar": null,
52
109
  "tasks": [
53
110
  { "id": "t1", "text": "…", "status": "done", "createdAt": 1792253757743,
54
111
  "finishedAt": 1792253760743, "result": "已投递给会话 …", "sessionId": "…", "readAt": null }
112
+ ],
113
+ "schedules": [
114
+ { "id": "s1", "text": "…", "sessionId": "…",
115
+ "rule": { "kind": "interval", "everyMinutes": 30 },
116
+ "enabled": true, "nextRunAt": 1792255200000, "lastRunAt": null, "lastResult": null }
55
117
  ]
56
118
  }
57
119
  ```
58
120
 
121
+ - `size`:44–120(默认 64);`avatar`:`null` = 默认 🐟,否则是 `png`/`jpeg`/`webp`
122
+ - `schedules[].rule.kind`:`once`(`at` ISO 时间)/ `interval`(`everyMinutes`)/ `daily`(`time: "HH:MM"`,本机时区)
123
+ - **任务与定时记录都是临时的**:DSH 重启时清空 `tasks`(定时任务 `schedules` 保留),面板里也有「清空」按钮
124
+
59
125
  - 写入是**原子写**(随机临时名 + `wx` 独占 + `fsync` + 失败清理),写盘失败**不抛**
60
126
  - 文件坏了会**自愈**(字段缺失/越界都补默认值)
61
127
  - `tasks` 只保留最近 20 条,`result` 截断到 400 字
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-fish-orb",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "小肥鱼球:DSH 页面内的悬浮球 —— 接一句话、派长任务、把结果收回来。不碰桌面控制。",
5
5
  "license": "MIT",
6
6
  "repository": {