@ash-qw/dsh-theme-prts 2.5.5 → 2.6.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 +26 -0
- package/README.en.md +41 -3
- package/README.md +40 -3
- package/THIRD_PARTY_NOTICES.md +6 -0
- package/THIRD_PARTY_NOTICES.zh-CN.md +6 -0
- package/lib/client.js +536 -316
- package/package.json +5 -3
- package/src/client/avatar-crop.js +16 -3
- package/src/client/background-region-editor.js +2 -1
- package/src/client/conversation-control-adapter.js +131 -20
- package/src/client/cursor-adapter.js +44 -12
- package/src/client/cursor-follower.js +271 -0
- package/src/client/cursor-semantics.js +74 -0
- package/src/client/index.js +5 -1
- package/src/client/native-preferences.js +8 -4
- package/src/client/page-controls.js +185 -0
- package/src/client/preferences.js +25 -5
- package/src/client/theme-controller-v2.js +6 -5
- package/src/client/theme-controller.js +3 -2
- package/src/client/theme-settings-workbench.js +133 -19
- package/src/client/theme-transfer.js +5 -4
- package/src/index.js +27 -5
- package/src/server/avatar-tools.js +1 -1
- package/src/server/background-preview.js +100 -0
- package/src/server/background-tools.js +109 -0
- package/src/server/backgrounds.js +15 -9
- package/src/server/theme-tool-status.js +13 -0
- package/src/server/tools.js +11 -6
- package/src/server/transfer-tools.js +166 -0
- package/src/styles/cursor.css +26 -2
- package/src/styles/refinement.css +1 -1
- package/src/styles/theme-settings-workbench.css +190 -8
- package/src/vendor/mouse-follower/LICENSE +20 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# 变更记录
|
|
2
2
|
|
|
3
|
+
## 2.6.1 - 2026-11-04
|
|
4
|
+
|
|
5
|
+
以下为相对 `v2.6.0` 的变化:
|
|
6
|
+
|
|
7
|
+
- 四角标记支持卡片内部及卡片外相邻按钮间的平滑过渡;大距离或尺寸差异明显时使用收拢、淡化接替,减少拖影,并复用退场动画以降低开销。
|
|
8
|
+
- 新增 AI 背景工具,支持会话上传及 AI 读入的图片、背景保护区域、模式与遮罩,以及五个区域的透明度和模糊度设置。提供日夜背景裁剪与遮罩合成预览;预览不包含正文、消息泡或毛玻璃,不等同于实际页面截图。同名图片标记最近出现版本。
|
|
9
|
+
- 新增 AI 主题导出、导入预检及导入工具,支持仅配置和包含素材的文件;导入前生成备份,检查配置版本和文件变化,并说明素材替换、删除和徽记草稿副作用。失败或取消时尝试回退,并发修改可能影响完整恢复。
|
|
10
|
+
- AI 工具关闭时保留只读状态入口,并在宿主支持时提供开关状态上下文,引导 AI 提醒用户手动开启,拒绝关闭后遗留的定制工具调用。该引导不构成对其他通用工具的权限隔离。
|
|
11
|
+
- 新增“PRTS 跟随光标(实验)”,使用页面绘制统一处理文字、缩放、拖动及点击反馈,减少重复检测和渲染;主线程繁忙时仍可能出现跟随延迟。
|
|
12
|
+
- 优化“PRTS 原生光标”的点击动画:目标后代不超过 128 个时播放完整动画,129~256 个时仅显示按下和恢复,超过 256 个时保持静态。升级保留原有光标选择和四角标记日夜配色,首次安装默认使用 PRTS 原生光标。
|
|
13
|
+
- 设置选择器、会话流线调色盘和头像重置确认改用主题内控件;调整前、中、后层配色顺序及紧凑预览布局,改善窄屏和键盘操作。光标模式新增悬停说明,修复选中后提示残留;不支持弹层 API 时保留原生控件。
|
|
14
|
+
- 本次无破坏性变更。支持范围不变:DSH Web `0.2.1-rc.2`、`0.2.1-rc.3`、`0.2.1-rc.5`;官方桌面客户端兼容声明仍以 rc.2 既有实机验收为准,rc.3、rc.5 桌面端及本次新增功能未单独完成桌面验收。本次改动已本地部署并进行 Web 浏览器回归。
|
|
15
|
+
- 旧版对应关系不变:DSH `0.2.0-rc.2` 使用主题 `1.4.2`,`0.1.7-rc.2` 使用 `1.0.2`,`0.1.2` 或 `0.1.5` 发布线使用 `0.1.102`。Node.js 要求仍为 `>=20.9.0`。
|
|
16
|
+
|
|
17
|
+
## 2.6.0 - 2026-10-30
|
|
18
|
+
|
|
19
|
+
以下为相对 `v2.5.5` 的变化:
|
|
20
|
+
|
|
21
|
+
- 优化会话卡片的四角标记:文件、图片、文件变更和定时任务卡片内部的独立按钮优先定位到按钮;整卡点击区域仍定位到整卡,禁用按钮不触发标记。
|
|
22
|
+
- 交互提示框颜色支持日间、夜间分别设置,并各自记住自定义颜色。新增“日夜共用”开关:使用开启时所选模式的配置,修改也保存到该模式;关闭后各用各的,另一套配置不变。
|
|
23
|
+
- 自定义取色改为按钮附近的主题面板,支持 RGB 滑条、HEX 输入、实时预览、应用与取消;选中时使用与预设一致的色块勾选及突出边框。
|
|
24
|
+
- 补充配色行为说明,兼容旧版单色配置,并同步支持设置保存、主题导入导出及恢复默认。
|
|
25
|
+
- 新增 DSH Web `0.2.1-rc.5` 兼容声明,继续支持 `0.2.1-rc.2` 和 `0.2.1-rc.3`。已在本地 rc.5 验证思考区域展开与收起、日夜背景材质、菜单、设置页和四角标记;rc.5 适配未改动主题运行时代码。
|
|
26
|
+
- 本次无破坏性变更。官方桌面客户端的 DSH 版本验收仍以 rc.2 为准,rc.3 和 rc.5 桌面端未单独验证。
|
|
27
|
+
- 旧版对应关系不变:DSH `0.2.0-rc.2` 使用主题 `1.4.2`,`0.1.7-rc.2` 使用 `1.0.2`,`0.1.2` 或 `0.1.5` 发布线使用 `0.1.102`。Node.js 要求仍为 `>=20.9.0`。
|
|
28
|
+
|
|
3
29
|
## 2.5.5 - 2026-10-29
|
|
4
30
|
|
|
5
31
|
以下为相对 `v2.5.4` 的变化:
|
package/README.en.md
CHANGED
|
@@ -17,9 +17,10 @@ The Baker conversation theme is inspired by the messenger in Arknights: Endfield
|
|
|
17
17
|
|
|
18
18
|
## Compatibility
|
|
19
19
|
|
|
20
|
-
- Supports DeepSeek Harness `0.2.1-rc.2` and `0.2.1-rc.
|
|
20
|
+
- Supports DeepSeek Harness `0.2.1-rc.2`, `0.2.1-rc.3`, and `0.2.1-rc.5` on Web. Official desktop verification remains limited to `0.2.1-rc.2`; rc.3 and rc.5 desktop have not received separate checks. The earlier `0.2.0-rc.2`, `0.1.7`, `0.1.5`, and `0.1.2` release lines are outside the current compatibility declaration.
|
|
21
21
|
- Web checks cover mounting, workspaces and session cards, long-title hover behavior, the native conversation width drag control, and narrow-window layout. The rc.3 More menus in the left sidebar, conversation view header and right sidebar were checked on the live local page, retaining themed menu surfaces and native item hover backgrounds.
|
|
22
|
-
-
|
|
22
|
+
- On rc.5, reasoning text processing remains owned by the host; the theme does not override the `text/rawText` contract of `conversation.chat.reasoning.body`. Reasoning expansion, collapse and background surfaces were checked on the live local page.
|
|
23
|
+
- `engines.dsh` in `package.json` lists only these three release candidates so the plugin market can evaluate compatibility. Other DSH versions require separate verification.
|
|
23
24
|
- For DSH `0.2.0-rc.2`, pin the previous public theme release `@ash-qw/dsh-theme-prts@1.4.2`. For DSH `0.1.7-rc.2`, pin `1.0.2`. For DSH `0.1.2` or `0.1.5`, pin `0.1.102`.
|
|
24
25
|
|
|
25
26
|
## Install and update
|
|
@@ -42,7 +43,7 @@ The theme is published publicly on npm and requires no GitHub login or access to
|
|
|
42
43
|
- day/night modes synchronized with Harness, three appearance presets, and four material levels;
|
|
43
44
|
- city silhouettes, faction particle marks, session waveforms, and a P.R.T.S. startup sequence;
|
|
44
45
|
- computer, tablet, and phone screen layouts, with reduced-motion and reduced-transparency accommodations;
|
|
45
|
-
- PRTS hand cursors with press, hold, and release feedback (
|
|
46
|
+
- PRTS hand cursors with press, hold, and release feedback (Standard mode uses full animation for up to 128 descendants, a pressed/resting response for 129–256, and static cursors above 256), link hand cursors for clickable elements, four static resize directions, and a static I-beam cursor over text fields and conversation text; choose System cursor under Cursor mode in theme settings;
|
|
46
47
|
- no runtime network requests, analytics, or telemetry.
|
|
47
48
|
|
|
48
49
|
Cursor artwork comes from [crowninggg/prts-cursor v1.1.4](https://github.com/crowninggg/prts-cursor/releases/tag/v1.1.4), extracted and adapted for web cursors. See [third-party notices](THIRD_PARTY_NOTICES.md#prts-hand-and-text-cursors) for provenance, adaptations, and licensing boundaries.
|
|
@@ -109,3 +110,40 @@ Import displays a summary before confirmation. Preferences-only files preserve d
|
|
|
109
110
|
Reading, exporting, importing and restoring show progress by stage. Reading and exporting can be cancelled. Cancelling an import or restore waits for the current write to settle, then attempts to roll back written assets. Cancellation is unavailable during final saving and rollback. The import or export section stays highlighted while its operation is active.
|
|
110
111
|
|
|
111
112
|
A backup download starts before each import. Keep that file for recovery after a refresh, or use **恢复导入前配置** in the current page to restore the state before the latest import. Failed imports attempt to roll back confirmed asset writes. Connection loss or concurrent edits can prevent full recovery; the UI reports failures so the saved backup can be imported after checking the current state.
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
### Set backgrounds from a DSH conversation
|
|
116
|
+
|
|
117
|
+
Ask the AI to use an uploaded picture, generate one, or find and download one with the tools available in that conversation. For locally generated/downloaded images, use `read_image` first, then `prts_background_inspect` to obtain the attachment ID. Images returned directly by conversation tools also work; no manual re-upload is needed. These background tools do not themselves search, generate, or fetch URLs.
|
|
118
|
+
|
|
119
|
+
- `prts_background_inspect`: inspect images, dimensions, protected regions, image revision, current profile settings/revision, and available conversation attachments.
|
|
120
|
+
- `prts_background_apply`: replace/remove a full, sidebar, or conversation image, or change its protected region. Use the image revision. Region coordinates are normalized to the EXIF-oriented image; replacing clears the old region unless a new one is supplied.
|
|
121
|
+
- `prts_background_configure`: update only the specified mode (`off/split/full`) and dimming (`0..0.9`, higher means more faded), using `settings.revision`. Optional `material.blur` (integer pixels, 0..32) and `material.opacity` (0..1, higher means more opaque) support `sidebar`, `rightSidebar`, `rail` (settings rail), `baker` (Baker bubbles), and `classicUser` (classic user messages). Inspect returns these values and the conversation style. Bubble materials require the matching conversation style and a full or conversation wallpaper; saving values does not activate either. Only supplied fields change; invalid values are rejected.
|
|
122
|
+
|
|
123
|
+
Saving an image and enabling its mode are separate steps; check the returned `activeSlots`. The theme master switch is never enabled automatically. Images are instance-wide; mode and dimming sync within the profile. Existing format/size limits apply. Replacing/removing deletes the old image, whereas switching to the default background retains assets. Conflicts require a fresh inspection. All three tools follow the existing AI customization switch.
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
### Import and export themes from a conversation
|
|
127
|
+
|
|
128
|
+
`prts_theme_export` returns a downloadable `.prts-theme.json` attachment, including assets by default (`includeAssets: false` exports settings only). Upload a theme file or use a file attachment returned by a tool in the same conversation, then call `prts_theme_import_preview` to see the summary, settings changes, replacement scope, and ignored fields. Without an attachment ID, it lists JSON files in that conversation.
|
|
129
|
+
|
|
130
|
+
After the user authorizes importing, call `prts_theme_import` with the preview ID. Previews expire after 15 minutes, are conversation-specific, and become stale when settings or relevant assets change. A backup attachment must be saved before any changes. Failed or cancelled imports attempt to roll back confirmed asset writes and return the error and backup; concurrent edits can prevent complete recovery.
|
|
131
|
+
|
|
132
|
+
Files interoperate with the settings UI, with the same 160 MB limit. Full exports include background protected regions, avatar originals/crops, and emblem sources/order. Settings-only imports retain assets, and missing older settings retain current values. Settings affect the profile; assets affect the instance. Imported settings can disable the theme or AI tools, so review the preview. Export and backup attachments can be imported again.
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
### Tool status and background visual previews
|
|
136
|
+
|
|
137
|
+
`prts_theme_status` remains available when AI customization is off. It reports only the switch status and manual activation instructions. The 12 customization tools are removed while disabled; agents are instructed to ask the user to enable the switch under the Rhodes Island emblem → AI tools, rather than enable it themselves or bypass it with shell, HTTP, or file edits. Execution guards reject stale customization calls after disabling. This guides agent behavior; it does not sandbox other general-purpose tools in the conversation.
|
|
138
|
+
|
|
139
|
+
Image lists now sort by last appearance, expose `lastSeenOrder`, event-backed `lastSeenAt` when available, and `latestForName`. These describe conversation appearances, not filesystem modification times.
|
|
140
|
+
|
|
141
|
+
`prts_background_preview` previews either an attachment or a saved background without applying it. It defaults to the current dimming and both light/dark schemes, since the server cannot infer the active browser scheme. Width/height, dimming, scheme, and protected region can be overridden. Candidate images use the same orientation, resizing, and WebP pipeline as saving. Outputs simulate cover cropping and sRGB dimming, with crop coordinates rounded to source pixels; they exclude text, bubbles, and glass materials and are not live screenshots. PNG file attachments are returned, with image content also supplied to vision-capable models. Preview receipts are excluded from source image discovery.
|
|
142
|
+
|
|
143
|
+
Full imports delete replaced background WebP files and replace avatar originals; backups contain recovery data. Each custom emblem creates a new draft/preview, while identical source bytes share content-addressed storage. At roughly 200 drafts, older unprotected drafts are pruned; applied emblems remain protected. Repeated full imports grow the draft count. Import previews report these effects explicitly.
|
|
144
|
+
|
|
145
|
+
When the host exposes runtime context registration, each model request also receives the current switch state and these handling instructions proactively.
|
|
146
|
+
|
|
147
|
+
### Experimental cursor
|
|
148
|
+
|
|
149
|
+
Under interaction settings, the cursor mode dropdown offers System cursor, PRTS Native cursor and PRTS Follow cursor (experimental). The opt-in Mouse Follower mode animates PRTS images in an isolated DOM layer without a descendant-count cutoff for ordinary backgrounds or large cards. Text, disabled, grab, resize, crop and in-page dialog states share the same renderer. Browser-native menus, iframe boundaries and native drag-and-drop still return control to the browser. Position easing and trails are disabled, but main-thread congestion can still delay movement. Existing preferences remain unchanged; switch back to PRTS Native cursor at any time.
|
package/README.md
CHANGED
|
@@ -17,9 +17,10 @@ Baker 会话主题参考《明日方舟:终末地》的通讯界面。在主
|
|
|
17
17
|
|
|
18
18
|
## 兼容性
|
|
19
19
|
|
|
20
|
-
- 当前支持 DeepSeek Harness `0.2.1-rc.2` 和 `0.2.1-rc.
|
|
20
|
+
- 当前支持 DeepSeek Harness `0.2.1-rc.2`、`0.2.1-rc.3` 和 `0.2.1-rc.5` 的 Web 端;官方桌面客户端仍以 `0.2.1-rc.2` 的实机验收为准,rc.3、rc.5 桌面端尚未单独验证。此前的 `0.2.0-rc.2`、`0.1.7`、`0.1.5`、`0.1.2` 发布线不再列入当前兼容声明。
|
|
21
21
|
- Web 端已验证主题挂载、工作区和会话卡片、长标题悬停、原生对话宽度拖动及窄窗口布局。rc.3 新增的左侧「更多」、会话「更多会话视图」及右侧「更多工具」菜单已在本地真实页面检查,保留主题菜单材质及原生选项悬停效果。
|
|
22
|
-
-
|
|
22
|
+
- rc.5 保留宿主对思考文本的处理,主题不接管 `conversation.chat.reasoning.body` 的 `text/rawText`;思考区域展开、收起及背景材质已在本地真实页面验证。
|
|
23
|
+
- `package.json` 中的 `engines.dsh` 仅列出这三个候选版本,插件市场可据此判断兼容性。其他 DSH 版本需另行验证。
|
|
23
24
|
- 若仍使用 DSH `0.2.0-rc.2`,请固定上一公开主题版本 `@ash-qw/dsh-theme-prts@1.4.2`;使用 DSH `0.1.7-rc.2` 时请固定 `1.0.2`,使用 DSH `0.1.2` 或 `0.1.5` 发布线时请固定 `0.1.102`。
|
|
24
25
|
|
|
25
26
|
主题设置通过 DSH 原生配置服务保存,同一 profile 下的在线页面会同步更新。首次接入时,仅当服务端尚未保存主题配置,才迁移当前浏览器的旧设置;已有服务端配置优先。保存冲突或失败会显示提示,不自动重传旧配置;“重试保存”会按当前版本重新提交失败的修改。部分旧版 DSH 的远程访问仅支持内存配置,此时会提示未保存,需要宿主提供持久化支持。升级后需重新加载主题服务端插件,才能注册新增配置。
|
|
@@ -44,7 +45,7 @@ npx @deepseek-ai/dsh plugin --profile web add @ash-qw/dsh-theme-prts
|
|
|
44
45
|
- 与 Harness 同步的日间 / 夜间模式、三套外观预设和四档界面材质;
|
|
45
46
|
- 城市剪影、阵营粒子徽记、会话声纹和 P.R.T.S. 启动序列;
|
|
46
47
|
- 电脑、平板和手机屏幕布局,以及减少动效和降低透明度适配;
|
|
47
|
-
- PRTS
|
|
48
|
+
- PRTS 手形光标,支持按下、按住和松开效果(标准模式按点击目标的后代数量分档:≤128 保留完整动画,129~256 仅按下与恢复,>256 保持静态);可点击区域使用 link 手形,调整大小使用四向静态光标;文本框和正文文字使用静态 I 形光标,可在主题设置的“光标模式”中选择系统光标;
|
|
48
49
|
- 无运行时网络请求、分析统计或额外遥测。
|
|
49
50
|
|
|
50
51
|
鼠标素材来自 [crowninggg/prts-cursor v1.1.4](https://github.com/crowninggg/prts-cursor/releases/tag/v1.1.4),提取后适配为网页光标;来源、处理方式和许可边界见 [第三方素材说明](THIRD_PARTY_NOTICES.zh-CN.md#prts-手形与文本光标)。
|
|
@@ -102,6 +103,16 @@ npm run check
|
|
|
102
103
|
|
|
103
104
|
背景、头像和徽记图片、徽记素材包以及主题文件均支持拖拽到对应上传区域,一次添加一个文件,沿用各入口的类型和大小限制。替换已有背景时,会先在主题弹窗中显示新旧图片,确认后保存。
|
|
104
105
|
|
|
106
|
+
### 在 DSH 会话中设置背景
|
|
107
|
+
|
|
108
|
+
可以说:“把这张图设为完整背景,保护右侧人物,背景再淡一点。”也可以让 AI 生成图片,或通过会话已有的搜索、下载工具找图;生成或下载到工作区后,先用 `read_image` 读取,再调用 `prts_background_inspect` 获取附件标识,无需用户重新上传。工具直接返回的图片附件也可使用。背景工具本身不提供搜索、生成或 URL 下载能力。
|
|
109
|
+
|
|
110
|
+
- `prts_background_inspect`:查看三处素材、尺寸、保护区域、图片版本,以及当前 profile 的背景模式、遮罩、五个区域的材质、会话风格和设置版本,列出当前会话可用图片。
|
|
111
|
+
- `prts_background_apply`:替换、移除图片,或设置、清除保护区域。使用图片 `revision`;保护区域为按 EXIF 转正后图片的归一化矩形 `x/y/width/height`。替换时默认清除旧保护框,也可同时指定新框。
|
|
112
|
+
- `prts_background_configure`:设置 `off/split/full` 模式和 `0..0.9` 遮罩(越高越淡)。可通过 `material.blur`(0..32 整数像素)和 `material.opacity`(0..1 底色不透明度,越高越不透明)调整材质;区域为 `sidebar` 左侧边栏、`rightSidebar` 右侧边栏、`rail` 设置侧栏、`baker` Baker 气泡、`classicUser` 经典用户消息。后两者仅在对应会话风格且存在完整背景或分区正文图片时生效;保存参数不会自动切换风格或启用图片。使用 `settings.revision`,只更新指定字段,同步到当前 profile 的在线页面。
|
|
113
|
+
|
|
114
|
+
保存素材与启用模式分为两步,AI 应检查返回的 `activeSlots`,必要时启用相应模式;不会自动打开主题总开关。图片限制和共享范围与手动设置一致,替换/删除不保留旧原图,切回默认背景不删除素材。版本冲突需要重新读取核对;受“允许 AI 定制主题”开关统一控制。
|
|
115
|
+
|
|
105
116
|
### 导入与导出主题
|
|
106
117
|
|
|
107
118
|
点击主题设置底部、与「恢复默认」并列的「导入与导出」,在弹窗中下载 `.prts-theme.json` 文件。「包含自定义素材」默认勾选:包含全部主题设置,以及当前已配置的背景图片、用户/AI 头像、首页与正文徽记及排列。头像保留原图和裁剪参数,徽记保留原图和编辑参数,背景保存当前使用的 WebP 图片;历史素材和临时草稿不包含在内。取消勾选则仅导出设置。
|
|
@@ -111,3 +122,29 @@ npm run check
|
|
|
111
122
|
读取文件、导出、导入及恢复时会显示阶段进度。读取和导出可中途取消;导入或恢复取消后,会等待当前写入确认并尝试回退已写入素材。最终保存与回退阶段不可取消。导入、导出分块在对应操作期间保持高亮。
|
|
112
123
|
|
|
113
124
|
每次导入前会发起当前配置备份下载,请确认保存。当前页面也可点击「恢复导入前配置」,恢复最近一次导入前的状态;刷新后请使用下载的备份文件。保存失败会尝试回退已确认写入的素材;若连接中断或其他页面并发修改导致无法完整恢复,会显示错误,可在确认当前状态后重新导入备份。
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
### 在 DSH 会话中导入、导出主题
|
|
128
|
+
|
|
129
|
+
- 对 AI 说“导出当前主题,包含素材”,使用 `prts_theme_export` 返回可下载的 `.prts-theme.json` 附件。指定 `includeAssets: false` 可仅导出设置。
|
|
130
|
+
- 上传主题文件,或使用本会话工具已经返回的文件附件,调用 `prts_theme_import_preview` 查看摘要、配置变化、素材覆盖范围及会丢失的未知字段。未指定附件时可列出会话中的 JSON 文件。
|
|
131
|
+
- 用户授权导入后,使用返回的 `previewId` 调用 `prts_theme_import`。预检仅限当前会话,有效期 15 分钟;文件、设置或相关素材发生变化后需要重新预检。导入前先保存备份附件,备份失败则不修改主题。导入失败或取消时尝试回退已确认写入的素材,并返回错误及备份;并发修改可能使回退不完整,需核对实际状态。
|
|
132
|
+
|
|
133
|
+
AI 工具与设置界面的文件完全互通,均支持仅配置和包含素材两种文件,上限 160 MB。完整文件包含背景保护区域、头像原图及裁剪参数、徽记源图及排列。仅配置导入保留当前素材,旧文件缺少的设置保留当前值。设置影响当前 profile,素材影响同一实例;导入可能关闭主题或 AI 工具,预检时应核对这些变化。导出文件和导入前备份均可再次预检、导入。
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
### AI 工具状态、图片来源与视觉预览
|
|
137
|
+
|
|
138
|
+
`prts_theme_status` 为始终可用的只读入口,仅返回“允许 AI 定制主题”的开关状态和手动开启位置,不读取素材或配置内容。关闭开关后会移除 12 个定制工具,只保留状态入口;AI 应先提醒用户在“罗德岛徽记 → AI 工具”手动开启,不自行打开开关,也不通过 shell、HTTP 或文件编辑绕过。定制工具执行入口会再次检查状态,拒绝关闭后遗留的工具调用。该提示用于引导 AI 行为,不是对会话其他通用工具的权限隔离。
|
|
139
|
+
|
|
140
|
+
图片列表按最近在会话中出现的顺序排列,提供 `lastSeenOrder`、有可靠事件时间时的 `lastSeenAt`,以及同名图片的 `latestForName` 标记;“最近”不是文件修改时间,重新读取旧图会更新其出现顺序。
|
|
141
|
+
|
|
142
|
+
`prts_background_preview` 可预览会话候选图(attachmentId)或已保存背景(slot),不修改主题。默认使用当前遮罩,同时生成日间与夜间预览,因为服务端不知道用户页面的当前日夜模式。可临时指定 dim、scheme、预览宽高和保护区域;默认完整/正文预览 1280×720,侧栏 360×900,宽高均限制 64~1920。候选图先经过与实际保存相同的转正、缩放和 WebP 转换,再模拟铺满裁剪与 sRGB 遮罩;裁剪按源图像素取整。返回可下载图片附件,支持视觉的模型另获图片内容。这是背景层合成,不包含文字、消息泡、侧栏毛玻璃,不等同于真实页面截图。预览工具返回的图片不作为来源列表中的原图。
|
|
143
|
+
|
|
144
|
+
完整主题导入会删除被替换的旧背景 WebP,头像替换也不保留旧原图;导入前备份包含恢复所需数据。每个自定义徽记会生成新的草稿和预览,相同源图按内容哈希复用;达到约 200 份草稿时按创建时间清理较旧且未受保护的草稿,正在应用的徽记受保护。反复完整导入会增加草稿;预检的 effects 字段会列出这些副作用。
|
|
145
|
+
|
|
146
|
+
宿主提供运行上下文接口时,主题还会在每轮模型请求中主动提供当前开关状态和以上操作要求,减少 AI 在工具关闭时自行寻找绕行方案。
|
|
147
|
+
|
|
148
|
+
### 实验光标
|
|
149
|
+
|
|
150
|
+
主题设置的交互设置中,光标模式下拉列表可选择“系统光标”“PRTS 原生光标”“PRTS 跟随光标(实验)”。实验模式基于 Mouse Follower,使用独立图层播放 PRTS 按压动画,普通留白和大型卡片不再按后代元素数量停用动画;文字、禁用、抓握、调整尺寸、裁剪及页面内弹窗也由同一图层显示;浏览器原生菜单、跨 iframe 和系统拖放边界仍交还浏览器。位置不加缓动或拖尾,但仍受主线程调度影响,繁忙页面可能出现跟随延迟。实验默认关闭,可随时切回“PRTS 原生光标”,不改变现有光标偏好。
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -70,3 +70,9 @@ Raw HTML and remote image loading are disabled in previews.
|
|
|
70
70
|
- Reference: [Comet Dial](https://www.reactbits.dev/micro/comet-dial), upstream `src/content/Micro/CometDial/CometDial.jsx` and `CometDial.css` in [DavidHDev/react-bits](https://github.com/DavidHDev/react-bits), retrieved 2026-10-19.
|
|
71
71
|
- `src/client/opacity-dial.js` adapts the ring geometry and interaction design to the theme's DOM settings. It uses a short directional trail, direct percentage entry and commit-on-release persistence, without React, Motion or inertial value changes.
|
|
72
72
|
- The adapted component is subject to the upstream MIT + Commons Clause terms, reproduced in `src/vendor/react-bits/LICENSE.md`; it is not relicensed under this project's plain MIT license.
|
|
73
|
+
|
|
74
|
+
## Mouse Follower and GSAP (experimental cursor)
|
|
75
|
+
|
|
76
|
+
- Mouse Follower 1.2.1: https://github.com/Cuberto/mouse-follower, MIT, Copyright (c) Cuberto, Ltd. See src/vendor/mouse-follower/LICENSE; the bundle retains its license.
|
|
77
|
+
- GSAP 3.14.2: https://gsap.com, Standard “no charge” License: https://gsap.com/standard-license. Upstream license notices remain in the bundle.
|
|
78
|
+
- Uses Mouse Follower's DOM renderer and GSAP setters with a theme-owned Pointer Events lifecycle, replacing the default mouse listeners and continuous ticker. Movement easing, skew and trails are disabled.
|
|
@@ -69,3 +69,9 @@ P.R.T.S. 头像、阵营标识及衍生徽记仅收录于个人、非商业同
|
|
|
69
69
|
- 参考:[Comet Dial](https://www.reactbits.dev/micro/comet-dial),[DavidHDev/react-bits](https://github.com/DavidHDev/react-bits) 中的 `src/content/Micro/CometDial/CometDial.jsx` 与 `CometDial.css`,获取日期为 2026-10-19。
|
|
70
70
|
- `src/client/opacity-dial.js` 将圆环几何与交互设计适配到主题的 DOM 设置界面,采用短方向拖尾、百分比输入与松手保存,不引入 React、Motion 或惯性数值变化。
|
|
71
71
|
- 适配组件遵循上游 MIT + Commons Clause 条款,全文见 `src/vendor/react-bits/LICENSE.md`,不改授本项目的普通 MIT 许可。
|
|
72
|
+
|
|
73
|
+
## Mouse Follower 与 GSAP(实验光标)
|
|
74
|
+
|
|
75
|
+
- Mouse Follower 1.2.1:https://github.com/Cuberto/mouse-follower,MIT,Copyright (c) Cuberto, Ltd.。许可证见 src/vendor/mouse-follower/LICENSE,构建文件保留版权文本。
|
|
76
|
+
- GSAP 3.14.2:https://gsap.com,按其 Standard “no charge” License 使用:https://gsap.com/standard-license。构建保留上游许可证声明。
|
|
77
|
+
- 实验模式使用 Mouse Follower 的 DOM 渲染器与 GSAP 位移设置器;以主题自身的 Pointer Events 生命周期替代默认鼠标监听和持续 ticker,不启用位置缓动、倾斜或拖尾。
|