dsh-plugin-live2d-stage 0.5.1 → 0.5.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.
- package/README.md +33 -59
- package/assets/floating.html +1 -1
- package/assets/floating.js +16 -16
- package/lib/client.js +42 -3
- package/lib/floating.mjs +1 -1
- package/lib/native/Live2DFloating.exe +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,79 +1,51 @@
|
|
|
1
1
|
# DSHLive2D
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<img src="assets/icon.webp" alt="DSHLive2D" width="128" />
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
让 Live2D 角色陪你使用 DeepSeek Harness:支持桌面悬浮、动作预览,以及 Agent 根据对话选择动作。
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
作者:小红书号 **4190947207** · GitHub:[B612plant](https://github.com/B612plant)
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## 安装
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
桌面版使用插件管理界面,安装后重启,再打开「设置 → DSHLive2D」。此插件是社区插件,通过官方 Harness 的 npm 安装机制加载;不代表 DeepSeek 官方出品或背书。
|
|
16
|
-
|
|
17
|
-
发布包内含构建产物、默认角色、图标和第三方许可,无需拉取本项目或运行构建。应用内预览支持 Harness Web;独立桌面悬浮目前支持 Windows x64,依赖系统已有 WebView2 Runtime。
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
适配 DeepSeek Harness Desktop 0.2.0-rc.2。插件提供应用内预览和独立透明置顶窗口,提供可拖动、隐藏和缩放的 Live2D 演出画布。它不包含 Nirei 的记忆、任务规划、语音或会话管理模块,也不删除宿主已有功能。
|
|
11
|
+
1. 在 DeepSeek Harness 的插件管理中添加 npm 插件:`dsh-plugin-live2d-stage`。
|
|
12
|
+
2. 安装后重启 Harness。
|
|
13
|
+
3. 打开 **设置 → DSHLive2D**,启用「Harness 内使用」。
|
|
21
14
|
|
|
22
|
-
|
|
15
|
+
内置 Hiyori(桃濑日和)及 8 个动作,首次使用无需导入模型。
|
|
23
16
|
|
|
24
|
-
|
|
17
|
+
这是社区插件。Harness 内使用支持 Harness Web;桌面悬浮支持 **Windows x64**,需要系统已安装 WebView2 Runtime。已适配 Harness Desktop 0.2.0-rc.2。
|
|
25
18
|
|
|
26
19
|
## 使用
|
|
27
20
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
## Agent 能力
|
|
35
|
-
|
|
36
|
-
- `live2d_list_actions`:当前角色和动作列表。
|
|
37
|
-
- `live2d_play_action(characterId, actionId)`:选择一个动作;预览须已加载。
|
|
38
|
-
- `live2d_action_status(eventId)`:读取播放回执;queued 仅表示排队,played 表示播放器接受播放,非完整动画播放结束。
|
|
39
|
-
|
|
40
|
-
在「设置 → DSHLive2D」开启「动作控制(将消耗更多 token)」后,插件才注册三个工具并追加选择说明,允许每轮回复前选择至多一个符合对话内容的动作;关闭会立即移除工具和说明。默认关闭。Hiyori 的 8 个动作已按动画参数与实际播放核对命名;上传模型请先试播,再改名或点击「确认名称」,未确认的动作不提供给 Agent。实际是否遵循取决于 Agent;插件不修改宿主推理循环、不额外发起模型请求,也不在失败时强制重试。应用内预览和独立悬浮窗口均未就绪时不能播放;再次打开时不重播过期动作。多窗口同时打开会各自演出。
|
|
41
|
-
|
|
42
|
-
## 构建、安装与验证
|
|
21
|
+
- **眼神跟随**:鼠标移动时角色自然注视鼠标,桌面悬浮时也支持窗口外追踪;播放动作时优先保留动作演出,无需消耗 token。
|
|
22
|
+
- **切换角色**:在设置中选择角色,动作列表随之切换。
|
|
23
|
+
- **导入模型**:上传包含 `.moc3` 和纹理的 ZIP,每个 ZIP 一个角色;建议保留原始 `.model3.json`。
|
|
24
|
+
- **动作控制**:开启后,Agent 可以根据对话选择动作,会增加 token 消耗。导入的动作需先试播、准确命名并确认。
|
|
25
|
+
- **调整位置**:直接拖拽角色移动画布;双击进入调整,拖动人物改变位置、滚轮缩放人物、拖动画布边缘调整大小;按 **Esc 保存并退出**。
|
|
43
26
|
|
|
44
|
-
|
|
27
|
+
人物右侧按钮从上到下:
|
|
45
28
|
|
|
46
|
-
|
|
29
|
+
| 按钮 | 用途 |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| 文本 | 打开对话,使用当前 Harness 的工作区和会话 |
|
|
32
|
+
| 动作 | 预览当前角色的动作 |
|
|
33
|
+
| 拖拽 | 移动画布 |
|
|
34
|
+
| 重置 | 恢复默认大小和右下角位置 |
|
|
35
|
+
| 移出/移入 | 在 Harness 内显示与桌面悬浮之间切换 |
|
|
36
|
+
| 关闭 | 关闭人物、桌面悬浮和 Agent 动作控制 |
|
|
47
37
|
|
|
48
|
-
|
|
38
|
+
关闭后可在设置中重新启用。桌面对话需要 Harness 保持运行,权限确认仍在主窗口处理。
|
|
49
39
|
|
|
50
|
-
##
|
|
40
|
+
## 数据与许可
|
|
51
41
|
|
|
52
|
-
|
|
42
|
+
角色和配置默认保存在 `%USERPROFILE%\.dsh\live2d-stage`;设置 `DSH_HOME` 后使用其下的 `live2d-stage` 目录。升级插件不会覆盖已导入的模型。
|
|
53
43
|
|
|
54
|
-
|
|
44
|
+
内置 Hiyori 来自 Live2D 示例模型。模型、Cubism SDK 和其他第三方组件仍受各自许可约束,详见 [licenses](licenses)。
|
|
55
45
|
|
|
56
|
-
|
|
46
|
+
## 开发
|
|
57
47
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
## 缩放清晰度
|
|
61
|
-
|
|
62
|
-
人物缩放直接改变 Live2D 的实际渲染区域尺寸,画布按显示尺寸乘屏幕 devicePixelRatio 重建像素缓冲,不再通过 CSS scale 拉伸低分辨率画面。跨 DPI 屏幕变化会触发重绘。已验证 30%–300% 人物缩放与 100%/150%/200% DPI 共 18 个组合。最高可见细节仍受模型原始纹理分辨率限制。
|
|
63
|
-
|
|
64
|
-
应用内浮层使用完整视口尺寸的透明合成层,只有角色画布接受鼠标操作。设置页显示加载状态;恢复功能已移至人物右侧的「重置」按钮。
|
|
65
|
-
|
|
66
|
-
## 人物右侧控制栏
|
|
67
|
-
|
|
68
|
-
依次为 Lucide 图标:type、face-slightly-smiling-plus、move、reload(上游 rotate-cw)、square-arrow-right-exit/enter、x。悬浮切换在应用内显示 exit,点击移出 Harness;桌面显示 enter,点击移入 Harness。切换保持 Agent 动作开关。文本在应用内点击时打开独立桌面悬浮对话窗口,在桌面窗口内点击可展开/收起对话;工作区和会话均来自当前 Harness 的 workspaceRegistry 与 sessionController;可按工作区筛选已有会话,只有明确选中工作区才能新建对话。不会读取 Nirei 数据库,也不会用进程工作目录作为新会话目录。支持发送文本与读取回复。沿用 DeepSeek Harness 原有模型、上下文和权限检查,不另建模型客户端;若 Agent 需要权限确认,仍在主窗口处理。对话回复按已完成消息刷新,支持 Ctrl+Enter 发送。每次打开重新读取当前宿主列表,不沿用跨 profile 的旧会话选择。
|
|
69
|
-
|
|
70
|
-
动作打开当前角色动作预览列表,不要求开启 Agent 动作控制。十字按钮始终拖动整个画布。重置恢复默认人物大小、居中偏移及画布右下角位置。关闭同时关闭人物显示、桌面悬浮和 Agent 动作控制,不删除模型或终止已有对话。可从设置重新启用人物显示。
|
|
71
|
-
|
|
72
|
-
桌面窗口的短期认证仅开放 Live2D 资源、预览、关闭及聊天专用接口;没有宿主全局凭据。新增七个 Lucide 静态 SVG(含 ISC 许可,来源为 lucide-static 官方发布包),仅用于工具栏;不安装完整图标库,不新增 npm 运行或开发依赖。字节和文件增量记录在 build/reports/live2d-plugin/interaction-update.json。
|
|
73
|
-
|
|
74
|
-
## 独立开发
|
|
75
|
-
|
|
76
|
-
本仓库独立构建,不要求 Nirei 或 live2d-agent-platform 工作区。
|
|
48
|
+
本仓库可独立构建:
|
|
77
49
|
|
|
78
50
|
```sh
|
|
79
51
|
npm ci
|
|
@@ -81,6 +53,8 @@ npm run build
|
|
|
81
53
|
npm test
|
|
82
54
|
```
|
|
83
55
|
|
|
84
|
-
|
|
56
|
+
已包含编译好的 Windows 悬浮程序。修改 C# 后,按 `native/dependency.json` 获取并校验 SDK,再执行:
|
|
85
57
|
|
|
86
|
-
|
|
58
|
+
```powershell
|
|
59
|
+
powershell -NoProfile -File native/build.ps1 -SdkDirectory <SDK目录>
|
|
60
|
+
```
|
package/assets/floating.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'"><style>html,body,#root{margin:0;width:100%;height:100%;overflow:hidden;background:transparent}</style></head><body><div id="root"></div><script src="core.js"></script><script src="floating.js?v=
|
|
1
|
+
<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'"><style>html,body,#root{margin:0;width:100%;height:100%;overflow:hidden;background:transparent}</style></head><body><div id="root"></div><script src="core.js"></script><script src="floating.js?v=a0444d53c12bdc30"></script></body></html>
|