dsh-conversation-aurora 0.1.0 → 0.2.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/README.md +57 -182
- package/client.js +203 -1009
- package/locale/en.json +2 -2
- package/locale/zh.json +2 -2
- package/package.json +2 -2
- package/preview.html +4 -59
package/README.md
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
# dsh-conversation-aurora
|
|
2
2
|
|
|
3
|
-
给 DSH
|
|
3
|
+
给 DSH 对话区加一层**整屏动效背景**:把整块画布当背景,用 Canvas 画星空、代码雨、电路、小猫、小女生、赛车、飘雪、肥皂泡;正文列用一层按列宽计算的纱罩住,保证可读。
|
|
4
4
|
|
|
5
|
-
-
|
|
6
|
-
- **预设 B `stage`**:把整块画布当背景,全屏 Canvas 动画。内置 8 个主题:`星空跃迁` `代码雨` `电路脉冲` `小猫散步` `小女生` `赛车` `飘雪` `肥皂泡`,中间用一条按列宽计算的纱罩住文字,保证可读。
|
|
7
|
-
|
|
8
|
-
- 包名:`dsh-conversation-aurora`(npm 上发布)
|
|
5
|
+
- 包名:`dsh-conversation-aurora`
|
|
9
6
|
- 插件目录:`conversation-aurora/`
|
|
10
7
|
- patch 行 id:`dsh-conversation-aurora`
|
|
11
8
|
- Client 工厂 id:`dsh-conversation-aurora`(必须与包名一致)
|
|
@@ -13,220 +10,96 @@
|
|
|
13
10
|
|
|
14
11
|
---
|
|
15
12
|
|
|
16
|
-
##
|
|
17
|
-
|
|
18
|
-
| 快捷键 | 作用 |
|
|
19
|
-
| --- | --- |
|
|
20
|
-
| `Alt+M` | 在「边缘光 / 整屏背景」两套预设之间切换(记住选择) |
|
|
21
|
-
| `Alt+T` | 换下一个背景主题(记住选择) |
|
|
22
|
-
| `Alt+B` | 循环强度:标准 / 安静 / 关闭 |
|
|
23
|
-
| `Alt+D` | 浅色 / 深色主题互换(走宿主 `theme.setTheme`,与「设置 → 外观」同步) |
|
|
24
|
-
|
|
25
|
-
选择存在 `localStorage`:`dsh.conversation-aurora.preset`、`dsh.conversation-aurora.theme`。
|
|
26
|
-
|
|
27
|
-
## 预设 B:整屏背景
|
|
28
|
-
|
|
29
|
-
- 每个会话默认分配**不同主题**(按 `data-conversation-session` 哈希,切会话就换一张)。
|
|
30
|
-
- 只在“我在干活”时播放:空闲 / 切会话 / 窗口隐藏都会立刻停掉,`requestAnimationFrame` 归零,不占 CPU。
|
|
31
|
-
- 文字可读性靠 `.dsh-stage__veil`:一条按 `--dsh-chat-content-width` 计算的横向白纱(深色主题是深色纱),文字列内 84% 遮盖、两侧放开。
|
|
32
|
-
- **浅色主题用 `multiply`(正片叠底)**,配色换成更饱和的"墨色"——效果像印在白纸上,而不是给白色蒙一层;**深色主题用 `lighter`(加色)**,才会有发光感。两套都由 `stagePalette()` 里的 `blend` 字段控制。
|
|
33
|
-
- 加一种新背景:在 `client.js` 的 `themeXxx(g)` 旁边写一个函数,返回 `{ resize(), step(dt) }`,再往 `STAGE_THEMES` 数组里加 `{ id, name, create }` 一行即可。`g` 提供 `{ ctx, w, h, pal }`。
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## 它是什么
|
|
13
|
+
## 安装
|
|
38
14
|
|
|
39
|
-
|
|
15
|
+
**从 npm 安装(推荐)**
|
|
40
16
|
|
|
41
|
-
|
|
17
|
+
插件页 → **添加插件** → 输入包名 `dsh-conversation-aurora` → 安装源选 **npm 官方** → 安装 → **立即启用**。
|
|
42
18
|
|
|
43
|
-
|
|
44
|
-
| --- | --- | --- |
|
|
45
|
-
| `idle` | 没有运行中的工具、没有输出 | **整层淡出,两侧回到普通白纸**(不留任何装饰) |
|
|
46
|
-
| `think` | `[data-chat-running]` 或 `[data-streaming]` | 同上,呼吸从 9s 加快到 3s |
|
|
47
|
-
| `read` | 检索 / 读文件类工具 | 光纤上的亮段**向下流动**,像扫描头经过(左主右辅) |
|
|
48
|
-
| `web` | 联网 / 子代理 / 工作流类工具 | 光纤心跳 + 一圈光**向外扩散**(右主左辅) |
|
|
49
|
-
| `write` | 写文件 / 跑命令类工具 | 光纤**自下而上**逐段点亮(左主右辅)+ 数据柱上流 |
|
|
50
|
-
| `wait` | `ask_user_question` 正在等你 | 全体降到 ~2%、转灰蓝、缓慢向列内推 |
|
|
51
|
-
| `error` | 最近有工具 `data-state=error/stopped` | 红色泛光 1.3s,之后留一点暗红到下一次动作 |
|
|
19
|
+
> 国内镜像(`registry.npmmirror.com`)同步有延迟;刚发布时请先用官方源。
|
|
52
20
|
|
|
53
|
-
|
|
21
|
+
**从本地目录安装(开发用)**
|
|
54
22
|
|
|
55
|
-
|
|
23
|
+
插件页 → 添加插件 → 填本目录的绝对路径 → 安装 → 立即启用。
|
|
56
24
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
这是「手势」不是「语义标签」:三件事靠**运动方向**(下流 / 外扩 / 上长)区分,不靠三种不同的装饰。主侧只改强度和 0.7s 相位,不承载含义,所以不用学任何约定。
|
|
25
|
+
**卸载**:插件页 → 卸载。效果随插件 context 一起回收,页面恢复原样。
|
|
60
26
|
|
|
61
27
|
---
|
|
62
28
|
|
|
63
|
-
##
|
|
64
|
-
|
|
65
|
-
1. 打开 Web UI → 左侧 **插件** → **添加插件**。
|
|
66
|
-
2. 填这个目录的绝对路径,例如 `D:\project\DSH-Plugs\conversation-aurora`。
|
|
67
|
-
3. 安装后点 **立即启用**(只关闭对话框的话包已装好但没选中)。
|
|
68
|
-
4. 打开任意会话,两侧出现效果;左侧插件页该行应为 `active`。
|
|
29
|
+
## 用它
|
|
69
30
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
| 改了什么 | 怎么生效 |
|
|
31
|
+
| 快捷键 | 作用 |
|
|
73
32
|
| --- | --- |
|
|
74
|
-
| `
|
|
75
|
-
| `
|
|
76
|
-
| `cordis.patch.yml` | 同上 |
|
|
77
|
-
|
|
78
|
-
**卸载**:插件页 → 卸载。效果随插件 context 一起回收,页面恢复原样。
|
|
79
|
-
想临时关掉而不卸载:`Alt+B` 循环「标准 → 安静 → 关闭」。
|
|
33
|
+
| `Alt+T` | 换下一个背景(8 个循环,选择会记住) |
|
|
34
|
+
| `Alt+D` | 浅色 / 深色主题互换(走宿主 `theme.setTheme`,与「设置 → 外观」同步) |
|
|
80
35
|
|
|
81
|
-
|
|
36
|
+
**它只在"你干活"的时候出现**:任何工具在跑、或回合进行中,背景才播放;空闲、切会话、窗口隐藏时立刻停掉 `requestAnimationFrame` 并淡出,两侧恢复普通白纸。
|
|
82
37
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
视觉参数全部集中在 `client.js` 里 CSS 字符串开头的 `.dsh-aurora{...}` 块,改一处就够:
|
|
86
|
-
|
|
87
|
-
| 变量 | 默认(浅色 / 深色) | 含义 |
|
|
88
|
-
| --- | --- | --- |
|
|
89
|
-
| `--glow-opacity` | `.22` / `.3` | 两侧柔光强度。**调亮或调淡**就动它 |
|
|
90
|
-
| `--wash-color` | `78,98,150` / `40,62,110` | 底光色:浅色下是低饱和冷灰蓝 |
|
|
91
|
-
| `--hud-ink` | `15,17,21` / `190,214,255` | HUD 墨色:角标 / 网格 / 遥测 / 扫描光带 / 数据柱都用它 |
|
|
92
|
-
| `--hud-opacity` | `1` | HUD 层总开关。**觉得太吵就调到 `.4`** |
|
|
93
|
-
| `--fiber-opacity` | `.16` / `.22` | 静息光纤亮度(呼吸的基准) |
|
|
94
|
-
| `--gesture-opacity` | `.5` / `.56` | 检索亮段 / 写码生长条的亮度 |
|
|
95
|
-
| `--pulse-opacity` | `.4` / `.46` | 联网时向外扩散那圈光的峰值 |
|
|
96
|
-
| `--fiber-width` | `1.5px` | 光纤粗细 |
|
|
97
|
-
| `--drift-slow` / `--drift-fast` | `40s` / `52s` | 两团柔光漂移周期。**想更慢**就同时加大 |
|
|
98
|
-
| 柔光团尺寸 | `150% × 62%` 色带 | 在 `.dsh-aurora__blob`,按色带自身宽高算,画布再高也不会只剩两个角 |
|
|
99
|
-
| `--secondary-strength` | `.6` | 副侧强度 |
|
|
100
|
-
| `--crossfade` | `700ms` | 状态切换的淡入淡出 |
|
|
101
|
-
| 光纤离正文列的距离 | `20px` | 在 `.dsh-aurora__fiber` 的 `left/right:20px`。**想更靠边**就加大 |
|
|
102
|
-
| 角标大小 / 离列距离 | `16px` / `20px` | `.dsh-aurora__corner` |
|
|
103
|
-
| 遥测字号 / 透明度 | `9px` / `rgba(…,.55)` | `.dsh-aurora__telemetry` |
|
|
104
|
-
| 柔光的可用宽度 | `(100% - 列宽)/2` | 由 `.dsh-aurora__wing` 的宽度决定,自动跟随正文列宽 |
|
|
105
|
-
|
|
106
|
-
时序参数在文件顶部的 `TUNE`:
|
|
107
|
-
|
|
108
|
-
| 键 | 默认 | 含义 |
|
|
109
|
-
| --- | --- | --- |
|
|
110
|
-
| `minDwellMs` | `600` | 状态最短驻留;短于它的切换会被忽略,防止连续调工具时闪 |
|
|
111
|
-
| `pulseMs` / `pulseRise` | `420` / `.16` | 状态切换时那次单次亮脉冲 |
|
|
112
|
-
| `errorHoldMs` | `1300` | 红光保持多久后转入残留 |
|
|
113
|
-
| `seedRows` | `24` | 首次挂载只回看最近多少行(避免历史失败行触发红光) |
|
|
114
|
-
| `maxTracked` | `48` | 最多跟踪多少工具行(长会话也不拖慢) |
|
|
115
|
-
| `intensity` | `[1, .55, 0]` | `Alt+B` 循环的三档 |
|
|
116
|
-
| `keyCode` | `'b'` | 快捷键字母 |
|
|
117
|
-
|
|
118
|
-
工具 → 手势的映射在 `TOOL_MODE`(按工具名)和 `VARIANT_MODE`(按 `data-variant` 兜底)。新增工具时加一行即可。
|
|
38
|
+
**每次开始干活随机换一个主题**(8 个里随机,且不会连着重复)。按过 `Alt+T` 之后会变成全局固定主题;想恢复"每会话自动",删掉 `localStorage` 里的 `dsh.conversation-aurora.theme` 即可。
|
|
119
39
|
|
|
120
40
|
---
|
|
121
41
|
|
|
122
|
-
##
|
|
123
|
-
|
|
124
|
-
全部读宿主**已有的语义属性**,不读哈希类名、不读别的插件的 DOM 结构:
|
|
125
|
-
|
|
126
|
-
- `[data-tool="web_search"][data-state="running"]` —— 工具行与状态(`preparing / running / ok / error / stopped`)
|
|
127
|
-
- `[data-chat-running]` —— 回合进行中的指示器(“正在深潜”)
|
|
128
|
-
- `[data-streaming]` —— 正在流式输出
|
|
42
|
+
## 8 个背景
|
|
129
43
|
|
|
130
|
-
|
|
44
|
+
| 主题 | 内容 |
|
|
45
|
+
| --- | --- |
|
|
46
|
+
| 星空跃迁 | 星点从中心向外飞出,长条纹 |
|
|
47
|
+
| 代码雨 | 竖列字符下落,带拖尾 |
|
|
48
|
+
| 电路脉冲 | 直角走线 + 沿线跑的光点 |
|
|
49
|
+
| 小猫散步 | 矢量剪影小猫走路、尾巴摆动、留下爪印 |
|
|
50
|
+
| 小女生 | 连衣裙剪影 + 马尾 + 牵着气球,一路小跑掉小心心 |
|
|
51
|
+
| 赛车 | 横向速度线 + 小车剪影 |
|
|
52
|
+
| 飘雪 | 雪花慢落 + 摇摆 |
|
|
53
|
+
| 肥皂泡 | 径向渐变薄膜 + 高光,缓缓升起 |
|
|
131
54
|
|
|
132
|
-
|
|
55
|
+
**加一种新背景**:在 `client.js` 里写一个 `themeXxx(g)`,返回 `{ resize(), step(dt) }`,再往 `STAGE_THEMES` 数组加一行 `{ id, name, create }`。`g` 提供 `{ ctx, w, h, pal }`。
|
|
133
56
|
|
|
134
57
|
---
|
|
135
58
|
|
|
136
|
-
##
|
|
137
|
-
|
|
138
|
-
**看效果**:双击 `preview.html`(离线单文件)。它不复制样式,而是用一个最小模块加载器替身**直接加载 `client.js`**,所以看到的就是真实实现。
|
|
139
|
-
面板里可以切 7 个状态、切明暗、拖正文列宽、点「几何检查」看列与光纤的实际坐标(会把透明度临时拉高并画出边界)。
|
|
140
|
-
|
|
141
|
-
**减少动态效果**:
|
|
142
|
-
- Windows:设置 → 辅助功能 → 视觉效果 → 关闭「动画效果」;或
|
|
143
|
-
- DevTools → Rendering → Emulate CSS media feature `prefers-reduced-motion: reduce`;
|
|
144
|
-
- 预览面板底部会显示当前检测结果。
|
|
59
|
+
## 可读性怎么保证
|
|
145
60
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
- [ ] 插件页该行是 `active`。
|
|
151
|
-
- [ ] 浅色 / 深色主题各看一次,正文没有任何亮度或位置变化。
|
|
152
|
-
- [ ] 发一条会触发工具的指令:检索时左主、联网时右主、写码时从下往上。
|
|
153
|
-
- [ ] 快速连续调工具时不闪(`minDwellMs` 生效)。
|
|
154
|
-
- [ ] 拖正文列宽,光纤跟着列一起移动。
|
|
155
|
-
- [ ] 关掉插件后页面完全恢复(没有残留 `<style>`、没有 `dsh-aurora-host` 类)。
|
|
156
|
-
- [ ] 切到别的会话再切回来,效果还在。
|
|
157
|
-
- [ ] 窗口最小化再恢复,动画继续(`document.hidden` 暂停)。
|
|
61
|
+
- `.dsh-stage__veil` 是一条**按 `--dsh-chat-content-width` 计算**的横向纱:正文列内 84% 遮盖,列外 110px 内快速放开,两侧完全透明。
|
|
62
|
+
- 浅色主题用 **`multiply`(正片叠底)+ 墨色**(靛蓝 / 紫 / 青),像印在白纸上;深色主题用 **`lighter`(加色)+ 亮色**,才有发光感。见 `stagePalette()`。
|
|
63
|
+
- 背景层是 `z-index:-1`,永远在正文之下,`pointer-events:none`,不挡任何交互。
|
|
158
64
|
|
|
159
65
|
---
|
|
160
66
|
|
|
161
|
-
##
|
|
162
|
-
|
|
163
|
-
1. **挂载点不是插槽。** DSH 目前没有「背景层」插槽,所以这层动效挂在对话画布元素内部(`[data-conversation-content]`,找不到时退回「从输入框往上找不透明背景」)。
|
|
164
|
-
这与工作区 README「UI 只能注册进 slot」的约定有出入,属于**刻意**的例外:效果必须画在正文下面、画布背景之上,slot 里没有任何位置满足。
|
|
165
|
-
代价是它依赖宿主 DOM 的稳定性。缓解措施:优先用语义属性;`MutationObserver` 检测重挂载;10 次/2 秒的反复摘挂保护(超过就放弃,宁可没有效果也不抖);全程 `try/catch`,找不到画布就静默不做事。
|
|
166
|
-
|
|
167
|
-
2. **DSH 升级可能改属性名。** 若 `data-tool` / `data-state` / `data-conversation-content` 被重命名,效果会退化成「只剩 idle 的柔光」,不会报错、不会遮挡交互。
|
|
168
|
-
|
|
169
|
-
3. **正文列有约 0–8px 的居中偏移**,来自滚动条与 2px 外边距。插件会量出滚动条宽度补成 `--aurora-shift`,让左右光纤到列的距离一致;量不到就按 0 处理。
|
|
170
|
-
|
|
171
|
-
4. **窗口很窄时两侧空白带会收窄甚至消失**,效果随之变细(最小约 88px,光纤仍固定在列外 20px),不会侵入正文。
|
|
172
|
-
|
|
173
|
-
5. **右侧空白带里有 DSH 自己的「回合导航」刻度条**(28px,窄窗自动隐藏)。联网的扩散光会从它底下经过,两者都是低对比元素,视觉上不冲突。
|
|
174
|
-
|
|
175
|
-
6. **动效层在 `z-index:8`**:输入区自带一条 sticky 的「渐变为白」遮罩,会盖住窗口最底部两侧的空白带;把层提到它上面,空白带才能一直铺到窗口底边。正文列和输入框都在列宽范围内,动效层的翼也止于列边界,所以不会盖到任何内容(输入框那 16px 外扩落在翼的遮罩尾部,透明度已接近 0)。
|
|
176
|
-
代价:正文列两侧的拖宽手柄被这一层盖住**看不见了**,但 `pointer-events:none` 让它仍然可以拖。
|
|
177
|
-
|
|
178
|
-
6. **`wait` 只认 `ask_user_question`**;审批卡片、plan 待确认目前不单独触发(它们仍会有 `think`/`idle` 的基础呼吸)。
|
|
67
|
+
## 调参
|
|
179
68
|
|
|
180
|
-
|
|
69
|
+
视觉参数集中在 `client.js` 顶部:
|
|
181
70
|
|
|
182
|
-
|
|
71
|
+
| 位置 | 含义 |
|
|
72
|
+
| --- | --- |
|
|
73
|
+
| `TUNE.holdIdleMs` | 工具停下后多久淡出(默认 420ms,防抖) |
|
|
74
|
+
| `TUNE.switchQuietMs` | 切会话后的静默期(默认 600ms) |
|
|
75
|
+
| `stagePalette()` | 浅色/深色两套墨色 + 混合模式 |
|
|
76
|
+
| `THEMES` 里各主题的常量 | 数量、速度、尺寸 |
|
|
77
|
+
| `.dsh-stage__veil` 的 `.84` | 文字列遮盖强度,调高更护眼、调低更炫 |
|
|
183
78
|
|
|
184
|
-
|
|
79
|
+
改完 `client.js` 后**刷新页面**即可(`Ctrl+R`)。
|
|
185
80
|
|
|
186
81
|
---
|
|
187
82
|
|
|
188
|
-
##
|
|
189
|
-
|
|
190
|
-
DSH 的「添加插件」支持三种来源:包名(走 npm registry)、Git 地址、本地目录。走 registry 时,安装的人只要填**包名**,并选下载源(npm 官方 / 国内镜像 / 自定义地址)。
|
|
191
|
-
|
|
192
|
-
**1. 改成可发布的包名**
|
|
83
|
+
## 已知限制
|
|
193
84
|
|
|
194
|
-
|
|
85
|
+
1. **依赖宿主的 DOM 语义属性**:`[data-conversation-content]` / `[data-tool][data-state]` / `[data-chat-running]` / `[data-streaming]`。DSH 大版本升级后如果这些改名,插件会安静地什么都不做(不会报错、不会挡交互)。
|
|
86
|
+
2. **没有"背景层"插槽**:DSH 目前没有这个扩展点,所以背景层是挂在对话画布元素内部的(`z-index:-1`)。这是刻意偏离「只能注册进 slot」的地方,随插件停用一起消失。
|
|
87
|
+
3. **切会话会静默 600ms**:避免把上一轮残留的工具行当成"正在工作",看到几秒特效。
|
|
88
|
+
4. **减少动态效果**:系统开启后只画一帧静止画面,不跑 `requestAnimationFrame`。
|
|
89
|
+
5. **性能**:只有一张 canvas;每帧只做绘制,无 `filter`/`backdrop-filter`;空闲时 rAF 归零。
|
|
90
|
+
6. **不做设置项**:没有「设置」里的面板,调参靠改常量。
|
|
195
91
|
|
|
196
|
-
|
|
197
|
-
cd conversation-aurora
|
|
198
|
-
node tools/rename.mjs dsh-conversation-aurora
|
|
199
|
-
# 或带 scope: node tools/rename.mjs @your-name/dsh-conversation-aurora
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
脚本会改 `package.json` 的 `name`、`client.js` 的 `__ModuleLoader__` id、`cordis.patch.yml` 的 `name`,并去掉 `private`。`@local/...` 是本地占位名,公共 registry 不接受。
|
|
203
|
-
|
|
204
|
-
**2. 检查产物**
|
|
205
|
-
|
|
206
|
-
```powershell
|
|
207
|
-
npm pack --dry-run
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
应该只有 10 个文件、约 33 kB:`LICENSE` `README.md` `client.js` `cordis.patch.yml` `icon.svg` `index.js` `locale/*.json` `package.json` `preview.html`(`tools/` 不会被打包)。
|
|
92
|
+
---
|
|
211
93
|
|
|
212
|
-
|
|
94
|
+
## 开发
|
|
213
95
|
|
|
214
96
|
```powershell
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
#
|
|
218
|
-
npm publish --registry https://your-registry.example.com/
|
|
97
|
+
node --check client.js # 语法
|
|
98
|
+
node tools/rename.mjs <新包名> # 三处 id 一起改(发布前用)
|
|
99
|
+
npm pack --dry-run # 看会发出去哪些文件
|
|
219
100
|
```
|
|
220
101
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
插件页 → 添加插件 → 填包名 → 源:
|
|
224
|
-
- 发的公共 npm → 选「npm 官方」(刚发布的包国内镜像有几小时同步延迟,第一天建议先选官方)
|
|
225
|
-
- 发的私有 registry → 选「自定义地址」填 registry URL(凭据写在使用者本机的 `~/.npmrc`)
|
|
226
|
-
|
|
227
|
-
**注意**:改完包名后,旧的那份要卸载重装——DSH 是按包名认插件的,改名后旧的引用会失效。升级时改 `version` 再发一次即可,用户重装或等插件页提示。
|
|
228
|
-
|
|
229
|
-
---
|
|
102
|
+
发布:`npm version patch` → `npm publish`(需要 2FA 验证码)。
|
|
230
103
|
|
|
231
104
|
## 文件
|
|
232
105
|
|
|
@@ -235,10 +108,12 @@ conversation-aurora/
|
|
|
235
108
|
├─ package.json dsh.bundle.patch + dsh.client
|
|
236
109
|
├─ cordis.patch.yml 插入一行
|
|
237
110
|
├─ index.js Host 半区(空)
|
|
238
|
-
├─ client.js Client
|
|
111
|
+
├─ client.js Client 半区:状态机 + 8 个背景主题
|
|
239
112
|
├─ locale/zh.json 插件页标题与描述
|
|
240
113
|
├─ locale/en.json
|
|
241
114
|
├─ icon.svg
|
|
242
115
|
├─ preview.html 离线预览(直接加载 client.js)
|
|
116
|
+
├─ tools/rename.mjs 发布前改名脚本
|
|
117
|
+
├─ LICENSE
|
|
243
118
|
└─ README.md
|
|
244
119
|
```
|