Skip to content

Releases

DSH Pal 0.1.1 — 修复新版 DSH 桌面端左右侧边栏

Choose a tag to compare

@yiheng-zyh yiheng-zyh released this 06 Nov 03:03

修复内容

左侧边栏只显示遮罩、点不动

新版 DSH 桌面端(2026-11-06)在窄窗口下自己渲染了一套抽屉遮罩 [data-sidebar-mask](z-index:70)。App 注入的手机侧栏层级低于它,整块被盖住:侧栏其实渲染了,但用户只能看到一层灰、点不到。

  • 侧栏层级抬到遮罩之上,并在运行期读取遮罩实际 z-index 自适应,桌面端以后调整层级也不会再被盖。
  • 关闭时同步收起桌面抽屉,避免遮罩残留在页面上。

侧栏展开后,点旁边空白处收回

由 App 在捕获阶段统一处理:点侧栏以外收起,点侧栏内部不收起;并阻止事件继续传播,避免桌面自身的开关再执行一次(会重新打开)。

右侧边栏点开后按钮消失、没有反应

随仓分发的 remote-web-ui 插件有一条
[class$="_frame"][data-sidebar-collapsed] { grid-template-columns: 0 minmax(0,1fr) 0 !important }。
新版桌面端把三列宽度交给它之后,手机窄屏的第三列恒为 0,右栏面板即使 position:absolute;width:100% 也撑不开,表现为「按钮没了、点了没反应」。

  • App 在手机断点内用更高特异性保持单帧单列,右栏继续绝对定位全屏。

兼容性复查(随新版桌面端)

对话与流式输出、悬浮助手正文提取、主题与配色、插件/自动化任务/上下文洞察面板、文件上传钩子均复测正常;App 依赖的页面结构在会话、右栏与各面板下都能命中。

已知限制

  • 平板熄屏启动的前台服务超时仍在排查。
  • 部分插件接口返回 403/401 时,状态区会显示「N 项插件接口受限」,那是桌面端插件状态计数,不影响文字对话与已启用的功能。
  • 仅在小米 2407FRK8EC / Android 16 / WebView 151 上实测,其他 ROM 与平板未覆盖。

安装

覆盖安装即可,会保留现有数据与连接配置(不要卸载)。校验 SHA-256 见附件 SHA256SUMS.txt。

DSH Pal 0.1.0

Choose a tag to compare

@yiheng-zyh yiheng-zyh released this 05 Nov 14:39

这是什么

DSH Pal 0.1.0 正式版。本版只改日志与诊断能力,不改连接、配对、VPN、路由与重试行为。

日志可观测性改造

导出的
un-log.txt 末尾会自动附一段 === 诊断摘要 ===,不用连电脑、不用敲命令就能看出故障在哪:

  • 结果:成功 / 降级 / 失败
  • 阶段:卡在哪个导航阶段(DNS / TCP / TLS / 等响应头 / 脚本执行 / 挂载 / 就绪)——最后一条 Stage: 就是卡点
  • 三跳:手机→中继、中继→电脑、电脑→DSH 各自通不通;没探测到的写「未知」,不猜
  • 页面:资源完成数、React 是否挂载(rootChildren=0 即未挂载)、失败脚本数
  • 脚本:报错文件的文件名与行号,最多 3 条
  • 缓存:命中/未命中、字节数异常项(远小于预期 = 截断的坏缓存)
  • 网络:制式、代理、Private DNS、WebView 版本(偏旧会标注)
  • 建议:最多 3 条,每条都对应上面的实际证据

正文新增可搜索行头:Stage:、Nav:(卡住时每 2 秒一条)、Probe:(DNS/TCP/TLS/响应头分段耗时)、Diag:(三目标并行探测)、Console:(带文件名与行号)、JSError:、Inject:、Dom:、Res:、MixedContent:。

同时修复:混合内容日志不再把 http 洗成 https(协议敏感证据保真);日志容量提升到内存 600 条 / 文件 192 KiB,关键事件按类别预留不被心跳挤掉;重复心跳合并计数。

验证

  • 405 个 Kotlin 单测全过
  • 真机验证(红米 2407FRK8EC / Android 15,本 Release 的 APK):覆盖安装成功、数据保留,build=0.1.0,阶段链 nav-req→html→script-eval→app-mount→ready 共 1755ms,Res fail=0,Dom rootChildren=1
  • 正式签名 d3de1002…,非 debuggable,80.75 MB
  • 覆盖安装保留现有数据(不卸载、不清数据)

仍未验证

平板、其他 ROM、部分第三方插件组合;故障路径(DNS 失败 / TLS 失败 / 白屏)没有真机复现,只有单测与离线构造验证。

校验

SHA-256 见同 Release 的 SHA256SUMS.txt:

38CA8742D73E4B553CBF1CF5CBCB9DA76D75D6AB4DE9F6AE890C38C2A51FE648  DSH-Pal-0.1.0.apk

DSH Pal 0.1.0-alpha.7 — 全局交互重做、悬浮鲸鱼娘与连接可靠性

Choose a tag to compare

@yiheng-zyh yiheng-zyh released this 31 Oct 08:50

相比 0.1.0-alpha.2,这一版重心是移动端全局交互与布局重做,顺带补上悬浮角色和连接可靠性。检查更新、公告是收尾项,不是主角。

本版主线

一、全局交互与布局重做(alpha.3 / alpha.4)

  • 修复移动样式解析失败:mobile-layout.css 里有四行损坏的选择器/字符串——真机上整份移动样式根本没解析出规则。此前看到的显示效果不能当作移动样式已生效。
  • 手机左栏改为位移+遮罩动画:退出整页 View Transition 快照流程。空闲时预准备好侧栏,之后本地开合保留工作区、会话列表和滚动内容。data-dsh-left-closed 只表示本机隐藏,不改桌面布局配置,原页面仍拥有功能和数据。
  • 手机右栏独立动画(phone-right-motion.js):收起后保留插件面板和文件预览,提供本地重开入口;隐藏后释放聊天触摸,重开恢复面板内容。
  • 焦点与返回键处理:本地隐藏的侧栏通过 inert 隔离焦点/触摸;窗口切宽屏自动恢复原界面;返回处理识别本地展示状态,避免隐藏侧栏吞掉返回操作。
  • 性能:避免聊天内容变化反复扫描侧栏;标签切换只更新指示器;日志改 LazyColumn(保留 120 条上限,采集策略不变);加入从真实设备提取的 UI Baseline Profile(预编译清单,不是网页绘制加速器)。
  • 按压反馈:按钮/标签/菜单项/会话树节点用局部按压反馈,正文与输入区域保留选择复制能力,不全局拦截长按。
  • 插件兼容回退:侧栏增强能力缺失时安全回退,不展示固定空白面板。

二、悬浮鲸鱼娘(alpha.5)

  • 设置 → 悬浮助手(默认关闭),需授予「显示在其他应用上层」权限。
  • 支持贴壁形态、安全快捷输入。
  • 部分 ROM 还需允许「后台弹出界面」,否则角色能显示但无法返回 App。此权限由系统管理,应用不自动授予。

三、连接可靠性(alpha.6)

修的是真实设备上抓到的故障,不是猜测:

  • 启动页掩盖真实故障:主文档 HTTP 503 先于 onPageStarted 到达,后者清空了错误信息 → 现在保留真实错误。
  • 反复重连:原生侧反复 nudges 会破坏页面持有的 pending/live socket → 已修。
  • 弱网误判:弱网启动时误判为失败 → 已修正,并保留进行中的资源下载。
  • 后端短暂不可用:安全恢复已配对的工区,不用重新配对。
  • 浏览器模式加载页:恢复资源数量、完成体积、失败数和等待时间统计。

四、国内 IPv4 备用通道

  • 新增 国内 IPv4 通道与复刻工具:Sakura Frp 免费国内 IPv4 TCP 节点 + 官方自动 HTTPS + 本地动态端口网关。
  • 实测:Android 16 手机、联通移动数据下,进入真实工作区、读取既有会话与文件差异、验证重开与前后台返回。
  • 边界:这是绕开原 Relay 的独立备用入口,不代表第三方 Relay 存储故障已修复;其他运营商、Android 17、长期可用性未验。免费限额和节点可能变化。
  • 每位用户用自己的账号和配对,工具只提供复刻步骤,不含任何凭据。

五、收尾项

  • 设置 → 更新与公告(alpha.7):版本检查、显式下载、系统安装确认。不会自动下载 APK。
  • 公告列表、已读记录与提醒。updates/announcements.json 当前为空,在线公告需发布者后续同步。
  • 关于页补充开发者 B站个人主页。
  • 首页扫码自动识别连接方式。

使用前提

  • 电脑端必须先运行 DSH 和远程访问插件,手机不在本地运行模型。
  • VPN 在线 ≠ 已完成配对。发现入口可用 ≠ 业务全部打通。
  • 悬浮助手默认关闭;媒体岛依机型/ROM。
  • 更新检查与在线公告需要发布者同步 updates/announcements.json 和 Release 附件,当前仅本地功能可用。

本次实际验证

已通过:

项目 结果
构建 :app:assembleRelease BUILD SUCCESSFUL(JDK21 / SDK36 / Gradle 8.14.4 / AGP 8.13.2 / Kotlin 2.3.20)
Kotlin 单测 全部通过(含新增 AppRelease / FloatingTaskInfo / OverlayDocking / PairingQr / QuickReplyTarget / UpdateDownload 等)
JS 布局回归 四组 PASS + 新增 test-browser-health、test-connection-recovery、test-page-ready 全 PASS
APK 签名 apksigner verify 通过(v2),证书与 alpha.1/alpha.2 相同,可覆盖升级
非 debuggable ✅ 无 application-debuggable
包名/版本 com.dsh.mobile / versionCode 8 / versionName 0.1.0-alpha.7
应用名 DSH Pal
ABI arm64-v8a、armeabi-v7a
左右栏真机触摸 Android 16 手机实测开合、会话/插件导航、文件预览滚动、按钮长按
左栏展开耗时 约 63–110ms(网页侧采样,含采样开销;非固定倍数宣传)
文件预览滚动 0 → 约 263 CSS 像素,内容高约 7303 / 视口约 616 CSS 像素
国内 IPv4 通道 Android 16 + 联通移动数据:进入工作区、读既有会话与文件差异、重开与前后台返回

尚未验证(如实说明):

  • 平板未测。平板前台服务超时问题不在本版修复范围。
  • 其他 ROM、所有第三方插件、极重会话未逐一验收。
  • 公网业务连通性未完整端到端验收。
  • WireGuard 仍无真实服务端验收。
  • 更新检查/公告的在线链路未验证(公告文件为空,Release 侧未配置)。
  • 悬浮助手仅在 Android 16 手机验证,其他 ROM 的后台弹出界面行为未知。
  • 左栏耗时数据来自网页侧采样,未做同负载完整 A/B 帧率实验,不宣称恒定高帧率。

已知问题

  1. 平板熄屏启动约 30 秒后前台服务超时退出(ForegroundServiceDidNotStartInTimeException / DshLiveService)。未修复,不在本版范围。
  2. 第三方 Relay 存储故障导致的 503 仍存在;本版提供的是绕开它的国内 IPv4 备用入口,不是修复。
  3. WireGuard 无真实服务端验收。
  4. 悬浮助手依 ROM 的后台弹出界面权限策略,部分机型可能只显示角色但无法返回 App。
  5. 更新与公告的在线分发链路尚未配置完成,当前仅本地功能可用。
  6. 媒体岛依机型系统,非全部设备可用。

安装与升级

  • 最低系统:Android 8.0(API 26),目标 API 36。
  • 架构:arm64-v8a / armeabi-v7a,不支持 x86。
  • 从 alpha.1 / alpha.2 升级:直接覆盖安装,同签名,不清数据、保留配对。
  • 从更早的 debug 签名测试包升级:签名不同需先卸载一次(会清数据)。

校验与反馈

文件:DSH-Pal-0.1.0-alpha.7.apk
大小:84,375,925 字节(80.47 MB)
SHA-256:74C49890E985BB5911E2D0824063CEE1D2B1F4A08A6F9CA63F80782A59452C43
签名证书 SHA-256:D3:DE:10:02:EB:B4:CE:39:25:93:A8:55:70:71:BD:0D:62:5A:77:CD:91:6E:5C:FF:5E:3F:B8:AA:79:B6:0A:1E
Get-FileHash .\DSH-Pal-0.1.0-alpha.7.apk -Algorithm SHA256

反馈请附:App 版本 / Android 版本 / ROM / WebView 版本 / 连接方式 / 插件组合 / 复现步骤 / 脱敏日志。

不要上传:配对链接、Cookie、Tailscale 授权链接、WireGuard 私钥、私人会话。

许可

  • 应用代码:Apache-2.0。
  • 鲸鱼娘角色与其他素材:按各自许可分发,保留署名,角色素材遵循 CC BY-NC-SA 4.0,不包含任意商业使用授权。
  • MiSans、DSHgo(MIT)、Tailscale / Go(BSD)、WireGuard 等详见仓库内 THIRD_PARTY_LICENSES.md。

开发预览,不是稳定版。问题请提到 Issues。

DSH Pal 0.1.0-alpha.2 — 回填 B站演示视频链接

Choose a tag to compare

@yiheng-zyh yiheng-zyh released this 30 Oct 01:21

这是 DSH Pal 的第二个公开开发预览,相比 0.1.0-alpha.1 只做了一处功能补充,兼容性状态不变。

本版变更

  • 关于页补充哔哩哔哩演示视频链接:此前显示「待配置」,现为可点击跳转 → https://b23.tv/8o1bX3M
    (视频标题:「电脑还在跑,我先溜了!给 DSH 做个手机搭子|DSH Pal 开源」)
  • README 同步补充 B站入口
  • versionCode 2 → 3,versionName 0.1.0-alpha.2

未包含其他功能或修复改动。 两个历史问题(平板熄屏启动、公网加载验收)本版均未处理。

主要功能

  • DSH 手机/平板工作台:在 Android 上打开电脑端 DSH 的网页工作台,补了移动布局适配。
  • 任务通知:折叠显示步骤,展开显示简短说明与最近步骤。
  • 媒体岛:仅兼容机型/ROM 支持,默认关闭。
  • 多入口连接管理:Relay、Cloudflare Tunnel、其他 HTTPS/frp、Tailscale、WireGuard、Wi-Fi 直连、USB 数据线分开管理。
  • 静态资源缓存、移动布局、诊断导出:含分类开关和脱敏日志导出。

使用前提

  • 电脑端必须先运行 DSH 和远程访问插件。手机不在本地运行模型。
  • VPN 在线不等于已完成 DSH 配对。发现入口可用,也不等于业务全部打通。
  • 不同连接通道需要各自的基础设施(Relay 需要插件、Cloudflare 需要隧道、Tailscale 需要同网、WireGuard 需要自定义服务端)。
  • 媒体岛默认关闭,且依赖机型和 ROM。

本次实际验证

已通过:

项目 结果
构建 :app:assembleRelease BUILD SUCCESSFUL(JDK21 / SDK36 / Gradle 8.14.4 / AGP 8.13.2 / Kotlin 2.3.20)
Kotlin 单测 175 个全部通过(:app:testDebugUnitTest)
JS 布局回归 四组全部 PASS:test-web-layout-syntax、test-web-right-layout、test-web-drawer、test-web-viewport
Kotlin 编译 改动后单独跑 :app:compileReleaseKotlin 通过
APK 签名 apksigner verify 通过(v2 scheme),证书与 alpha.1 相同,可覆盖升级
非 debuggable ✅ 产物无 application-debuggable 标记
包名/版本 com.dsh.mobile / versionCode 3 / versionName 0.1.0-alpha.2
应用名 DSH Pal
支持 ABI arm64-v8a、armeabi-v7a
B站链接 短链解析有效(HTTP 200 → BV1nUxP6jEa5),视频标题已核对
左右栏交互 已验收通过(维护者在 0.1.0-alpha.1 真机实测;本版未改动相关代码)
冷启动 / 权限流程 alpha.1 真机实测通过(冷启动 247ms 无崩溃);本版未改动相关代码

尚未验证(如实说明):

  • 远程连接的端到端流程未完成验收。维护者测试环境访问公网入口时域名不可达(已排查为网络环境问题,不是 App 缺陷),因此没能走完「配对 → 加载工作台 → 实时通道」全链路。这属于测试条件不足,不代表 App 连接功能有问题,也不代表已通过。
  • 通知开关、文件上传等交互路径未逐一回归。
  • WireGuard 完全没有真实服务端验收。
  • 平板单独场景未测。
  • 本版(alpha.2)未在真机重新安装验证;手机当前装的是 alpha.1,两者除关于页一处文字链接外无代码差异。

已知问题

  1. 平板熄屏状态下启动,约 30 秒后前台服务超时退出(ForegroundServiceDidNotStartInTimeException / DshLiveService)。根因尚未隔离,未修复。
  2. 公网入口加载的验收受测试网络限制:维护者测试时所用网络访问公网入口域名不可达(已排查为网络环境问题,非 App 缺陷)。因此公网通道的完整加载流程尚未完成端到端验证,请以你自己的网络环境实测为准;遇到问题请附诊断日志。
  3. WireGuard 没有真实服务端验收,不能按「已可用」看待。
  4. app/src/main/assets/mobile-layout.css 中有 12 处中文乱码(aria-label 属性选择器),会导致这部分移动布局规则永远匹配不到真实元素。已知缺陷,未在本版修复。
  5. 部分插件组合、平板通知详情、短横屏大键盘重负载动画仍待完善。
  6. 媒体岛依机型系统,非全部设备可用。

安装与升级

  • 最低系统:Android 8.0(API 26),目标 API 36。
  • 架构:arm64-v8a / armeabi-v7a。不支持 x86,模拟器不适用。
  • 从 0.1.0-alpha.1 升级:直接覆盖安装即可,签名相同,无需卸载,不会清数据。
  • 从更早的 debug 签名测试包升级:签名不同,无法直接覆盖,需要先卸载(会清掉 App 内连接配置与配对信息,请先记下需要的信息)。此后所有版本签名固定,可正常覆盖更新。

校验与反馈

文件:DSH-Pal-0.1.0-alpha.2.apk
大小:82,225,503 字节(78.42 MB)
SHA-256:1F6F754DE18E94262E8B64048DFE140452488AA0426EEACB89D93524F53F36B4
签名证书 SHA-256:D3:DE:10:02:EB:B4:CE:39:25:93:A8:55:70:71:BD:0D:62:5A:77:CD:91:6E:5C:FF:5E:3F:B8:AA:79:B6:0A:1E

校验方法:

Get-FileHash .\DSH-Pal-0.1.0-alpha.2.apk -Algorithm SHA256

提交 Issue 时请附:App 版本 / Android 版本 / ROM / WebView 版本 / 连接方式 / 插件组合 / 复现步骤 / 期望与实际 / 脱敏日志。

不要上传:配对链接、Cookie、Tailscale 授权链接、WireGuard 私钥、私人会话内容。

许可

  • 应用代码:Apache-2.0。
  • 鲸鱼娘角色与其他素材:按各自许可分发,保留署名,角色素材遵循 CC BY-NC-SA 4.0,不包含任意商业使用授权。
  • MiSans、DSHgo(MIT)、Tailscale / Go(BSD)、WireGuard 等详见仓库内 THIRD_PARTY_LICENSES.md。

不能理解为整个 APK 内所有素材都可任意商用——代码许可不覆盖角色与美术素材。


这是开发预览,不是稳定版。功能与兼容性都会继续迭代,问题请提到 Issues。

DSH Pal 0.1.0-alpha.1 — 首次公开开发预览

Choose a tag to compare

@yiheng-zyh yiheng-zyh released this 29 Oct 18:35

这是 DSH Pal 的首次公开开发预览,适合愿意反馈问题的用户;兼容性仍在完善,请先读下面的已知问题再决定是否安装。

主要功能

  • DSH 手机/平板工作台:在 Android 上打开电脑端 DSH 的网页工作台,补了移动布局适配。
  • 任务通知:折叠显示步骤,展开显示简短说明与最近步骤。
  • 媒体岛:仅兼容机型/ROM 支持,默认关闭。
  • 多入口连接管理:Relay、Cloudflare Tunnel、其他 HTTPS/frp、Tailscale、WireGuard、Wi-Fi 直连、USB 数据线分开管理。
  • 静态资源缓存、移动布局、诊断导出:含分类开关和脱敏日志导出。

使用前提

  • 电脑端必须先运行 DSH 和远程访问插件。手机不在本地运行模型。
  • VPN 在线不等于已完成 DSH 配对。发现入口可用,也不等于业务全部打通。
  • 不同连接通道需要各自的基础设施(Relay 需要插件、Cloudflare 需要隧道、Tailscale 需要同网、WireGuard 需要自定义服务端)。
  • 媒体岛默认关闭,且依赖机型和 ROM。

本次实际验证

已通过(本机执行):

项目 结果
构建 :app:assembleRelease BUILD SUCCESSFUL(JDK21 / SDK36 / Gradle 8.14.4 / AGP 8.13.2 / Kotlin 2.3.20)
Kotlin 单测 175 个全部通过(:app:testDebugUnitTest)
JS 布局回归 四组全部 PASS:test-web-layout-syntax、test-web-right-layout、test-web-drawer、test-web-viewport
APK 签名 apksigner verify 通过(APK Signature Scheme v2)
非 debuggable ✅ 产物无 application-debuggable 标记
包名/版本 com.dsh.mobile / versionCode 2 / versionName 0.1.0-alpha.1
应用名 DSH Pal
支持 ABI arm64-v8a、armeabi-v7a
冷启动 小米 2407FRK8EC(Android 16 / HyperOS V816 / arm64-v8a / WebView 151.0.7922.170)实测冷启动 247ms,无崩溃
权限流程 通知权限弹窗正常,授权后进入连接方式选择页
左右栏交互 已验收通过:在 0.1.0-alpha.1 上实测左右栏展开/收起、嵌套滚动正常

尚未验证(如实说明):

  • 远程连接的端到端流程未完成验收。本机测试环境访问公网入口时域名不可达(已排查为网络环境问题,不是 App 缺陷),因此没能走完「配对 → 加载工作台 → 实时通道」全链路。这属于测试条件不足,不代表示 App 连接功能有问题,也不代表已通过。
  • 通知开关、文件上传等交互路径未在本次构建上逐一回归。
  • WireGuard 完全没有真实服务端验收。
  • 平板单独场景未测(本次只有手机)。

已知问题

  1. 平板熄屏状态下启动,约 30 秒后前台服务超时退出(ForegroundServiceDidNotStartInTimeException / DshLiveService)。根因尚未隔离,未修复。
  2. 公网入口加载的验收受测试网络限制:维护者测试时所用网络访问公网入口域名不可达(已排查为网络环境问题,非 App 缺陷)。因此公网通道的完整加载流程尚未完成端到端验证,请以你自己的网络环境实测为准;遇到问题请附诊断日志。
  3. WireGuard 没有真实服务端验收,不能按「已可用」看待。
  4. app/src/main/assets/mobile-layout.css 中有 12 处中文乱码(aria-label 属性选择器),会导致这部分移动布局规则永远匹配不到真实元素。已知缺陷,未在本版修复。
  5. 部分插件组合、平板通知详情、短横屏大键盘重负载动画仍待完善。
  6. 媒体岛依机型系统,非全部设备可用。

安装与升级

  • 最低系统:Android 8.0(API 26),目标 API 36。
  • 架构:arm64-v8a / armeabi-v7a。不支持 x86,模拟器不适用。
  • 直接安装 APK 即可,或 adb install DSH-Pal-0.1.0-alpha.1.apk。

⚠️ 签名变更提醒:本版开始使用维护者专用发布签名,与之前任何 debug 签名的测试包签名不同,因此旧的测试版无法直接覆盖升级。如果手机上装过旧测试包,需要先卸载再安装本版;卸载会清掉 App 内的连接配置与配对信息,请先记下需要的信息。不建议把卸载清数据当作常规升级手段——后续版本签名固定,可以直接覆盖升级。

校验与反馈

文件:DSH-Pal-0.1.0-alpha.1.apk
大小:82,225,503 字节(78.42 MB)
SHA-256:332217ED758241D5EF20A712D0D91B631DC53691D178C8609407D109B036282B
签名证书 SHA-256:D3:DE:10:02:EB:B4:CE:39:25:93:A8:55:70:71:BD:0D:62:5A:77:CD:91:6E:5C:FF:5E:3F:B8:AA:79:B6:0A:1E

校验方法:

Get-FileHash .\DSH-Pal-0.1.0-alpha.1.apk -Algorithm SHA256

提交 Issue 时请附:App 版本 / Android 版本 / ROM / WebView 版本 / 连接方式 / 插件组合 / 复现步骤 / 期望与实际 / 脱敏日志。

不要上传:配对链接、Cookie、Tailscale 授权链接、WireGuard 私钥、私人会话内容。

许可

  • 应用代码:Apache-2.0。
  • 鲸鱼娘角色与其他素材:按各自许可分发,保留署名,角色素材遵循 CC BY-NC-SA 4.0,不包含任意商业使用授权。
  • MiSans、DSHgo(MIT)、Tailscale / Go(BSD)、WireGuard 等详见仓库内 THIRD_PARTY_LICENSES.md。

不能理解为整个 APK 内所有素材都可任意商用——代码许可不覆盖角色与美术素材。


这是开发预览,不是稳定版。功能与兼容性都会继续迭代,问题请提到 Issues。