メインコンテンツへスキップ
A

dsh-theme-prts

ash-qw/dsh-theme-prts

Arknights の P.R.T.S. にインスパイアされた DSH Web 向けの非公式テーマ。外観プリセット、アクセシビリティ設定、会話ナビゲーションを備えます。

インストール

dsh plugin --profile web add github:ash-qw/dsh-theme-prts

README

dsh-theme-prts

面向 DeepSeek Harness Web 和官方桌面客户端的个人、非商业明日方舟 / P.R.T.S. 同人 UI 插件。主题保留 Harness 的原生交互和数据流,将工作区、会话与对话组织成罗德岛设施终端。

[!IMPORTANT] 本项目是个人制作的非官方《明日方舟》同人主题,与上海鹰角网络科技有限公司及相关发行方不存在隶属、合作、授权或背书关系。

MIT 许可证仅覆盖本项目原创代码。安装包中若干可识别的《明日方舟》名称、角色图像、徽记及其衍生素材不属于 MIT 授权范围,本项目不向使用者授予复制、修改、再分发、再许可或商业使用这些第三方素材的权利。

素材可从公开网页访问不代表获得再利用或再分发授权;免费、非商业使用也不当然构成授权。素材来源与许可边界详见 第三方素材说明。

本项目及其发行包可能因权利人请求、平台政策或维护者决定,随时暂停发布、限制下载或移除相关素材,不保证持续提供。

主题安装后默认关闭,不会立即改变页面。

Baker 会话主题参考《明日方舟:终末地》的通讯界面。在主题设置「外观」中选择 Baker,点击用户或 AI 头像即可上传、裁剪或恢复默认。原图与裁剪位置保存在服务端,同一 DSH 实例内共享,之后可继续裁剪;支持拖动定位、滑块及滚轮/触摸板缩放。确认后保存,动图使用第一帧,单张最大 5 MB。

兼容性

  • 当前支持 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 发布线不再列入当前兼容声明。
  • Web 端已验证主题挂载、工作区和会话卡片、长标题悬停、原生对话宽度拖动及窄窗口布局。rc.3 新增的左侧「更多」、会话「更多会话视图」及右侧「更多工具」菜单已在本地真实页面检查,保留主题菜单材质及原生选项悬停效果。
  • rc.5 保留宿主对思考文本的处理,主题不接管 conversation.chat.reasoning.body 的 text/rawText;思考区域展开、收起及背景材质已在本地真实页面验证。
  • package.json 中的 engines.dsh 仅列出这三个候选版本,插件市场可据此判断兼容性。其他 DSH 版本需另行验证。
  • 若仍使用 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。

主题设置通过 DSH 原生配置服务保存,同一 profile 下的在线页面会同步更新。首次接入时,仅当服务端尚未保存主题配置,才迁移当前浏览器的旧设置;已有服务端配置优先。保存冲突或失败会显示提示,不自动重传旧配置;“重试保存”会按当前版本重新提交失败的修改。部分旧版 DSH 的远程访问仅支持内存配置,此时会提示未保存,需要宿主提供持久化支持。升级后需重新加载主题服务端插件,才能注册新增配置。

安装与更新

Web 端与官方桌面客户端使用同一个主题包 @ash-qw/dsh-theme-prts,无需单独的桌面版主题。

以下为 Web 端的命令行安装方式,在已经可以正常运行 DSH Web 的环境中执行:

npx @deepseek-ai/dsh plugin --profile web add @ash-qw/dsh-theme-prts

安装或更新后建议重新启动所使用的 DSH Web 服务或官方桌面客户端,以确保主题被完整加载。然后进入“Settings → 插件 → P.R.T.S.”启用主题;完整外观设置位于主界面左上角的罗德岛徽记。

主题包已公开发布到 npm,无需 GitHub 登录或访问令牌。重新执行安装命令即可更新到 latest;如需锁定版本,可使用 @ash-qw/dsh-theme-prts@<版本号>。若命令提示 pnpm not found,请先安装 pnpm。

当前特性

  • P.R.T.S. / Rhodes Island / RIIC 设施化工作区、会话与对话界面;
  • 与 Harness 同步的日间 / 夜间模式、三套外观预设和四档界面材质;
  • 城市剪影、阵营粒子徽记、会话声纹和 P.R.T.S. 启动序列;
  • 电脑、平板和手机屏幕布局,以及减少动效和降低透明度适配;
  • PRTS 手形光标,支持按下、按住和松开效果(标准模式按点击目标的后代数量分档:≤128 保留完整动画,129~256 仅按下与恢复,>256 保持静态);可点击区域使用 link 手形,调整大小使用四向静态光标;文本框和正文文字使用静态 I 形光标,可在主题设置的“光标模式”中选择系统光标;
  • 无运行时网络请求、分析统计或额外遥测。

鼠标素材来自 crowninggg/prts-cursor v1.1.4,提取后适配为网页光标;来源、处理方式和许可边界见 第三方素材说明。

使用与设置

“Settings → 插件 → P.R.T.S.”提供主题总开关和启动动画开关。主界面左上角的罗德岛徽记提供完整外观设置,按外观、交互、会话流线、粒子效果四页切换。各页保留滚动位置;窄屏使用顶部分类栏,也支持方向键切换。

在“粒子效果 → 徽记管理”中,可分别设置新会话的单张徽记与正文的轮换列表。正文列表支持内置与自定义图案混排,每张可预览、上传替换或删除,长按徽记选项任意位置即可拖动排序,松开自动保存,Esc 取消,也可新增徽记(最多 12 张,至少保留 1 张);新增和“预览 / 替换”使用独立编辑弹窗,桌面端左右布局、窄屏上下布局;拖动预览取景框中的图案调整裁剪位置,平移只改变点阵位置及可见范围,不重新排列粒子,也支持方向键微调和“居中”复位,缩放仍由滑块控制;取消或关闭时,未应用的修改会先询问是否放弃,关闭后返回原列表位置。两处均可独立恢复内置设置;存在自定义徽记时会先列出受影响的素材,提供逐张导出及恢复确认。未导出就恢复后,相关素材将无法从此处的设置中找回。上传 PNG、WebP 或 JPEG 后可调整轮廓提取、阈值、缩放及裁剪位置;“线稿轮廓”模式提取图像边缘,并按各档密度采样为点阵,阈值越高保留的细节越少。线稿模式下可选择“彩色图提轮廓”或“纯线稿提笔画”,点阵会自动细化;“去除碎线”独立控制孤立短线过滤,五官细节丢失时可降至 0。复杂人物图建议先简化背景和纹理。点击“应用到此处”后才会保存。正文沿用滚动触发的轮换、扰动与重组效果。图片上传到当前 DSH 实例,在独立后台线程处理;原图、参数、草稿和已应用配置保存在 $DSH_HOME/plugins/dsh-theme-prts/emblems,不同工作区、会话及连接此实例的浏览器共享徽记设置。已应用图案可以重新打开继续调整,页面会自动同步。不会由主题插件发送给第三方图片服务。支持最大 8 MB、1600 万像素的图片,推荐透明底标志或黑白剪影。

自定义徽记可点击“导出素材”,下载单张 .prts-emblem.json 素材包,包含原图和调整参数。在另一套 DSH 的“新增徽记”或“预览 / 替换”中选择“导入徽记素材包”,预览确认后应用;导入后仍可继续编辑,不会自动覆盖首页徽记或正文列表。素材包上限 12 MB,导入时会按原参数重新生成粒子。

也可以在任意允许这些工具的 DSH 会话上传图片,说“帮我把这张图做成 PRTS 粒子徽记,先给我预览”。AI 生成或编辑的图片也可直接作为来源:先用 read_image 读取工作区中的图片,再调用 inspect 获取附件标识,无需下载后重新上传。接口识别当前会话上传及工具返回的图片,不接受任意附件标识;徽记工具自身返回的粒子预览不作为原图。AI 可调用 prts_emblem_inspect、prts_emblem_preview 和 prts_emblem_apply,使用 mode: lineart 生成线稿点阵(lineSource: edges 提取彩色图轮廓,lineSource: ink 提取纯线稿笔画,cleanup: 0..12 控制碎线过滤),或继续调整提取方式、阈值、缩放和裁剪,并按要求应用到新会话或正文轮换列表。生成预览不会改变已应用徽记,配置冲突会要求重新读取。预览图可在会话工具卡片中展示;使用支持图像输入的模型时,工具也会把预览图片交给模型分析。重画图案仍需要该会话另有图片编辑工具。保留最近约 200 份草稿,已应用徽记的编辑源不会被自动清理。服务端图片处理需要 Node.js 20.9 或更高版本。

主题不会主动改写第三方插件的菜单、弹窗和浮层样式。

安全模式与恢复

若主题导致页面不可用,在 Harness 地址后添加 ?prts-safe=1。安全模式会阻止所有主题视觉挂载,但保留“Settings → 插件 → P.R.T.S.”中的基础开关和恢复提示。在此页面关闭主题会保存到 DSH;清除浏览器缓存不会重置服务端设置。

卸载

npx @deepseek-ai/dsh plugin --profile web remove @ash-qw/dsh-theme-prts

卸载后建议重新启动 DSH Web。主题偏好保存在 DSH 当前 profile 的原生配置中,浏览器只保留启动缓存。多个全局主题可能发生 CSS 冲突,建议一次只启用一个完整 UI 主题。

开发

需要 Node.js 20.9 或更高版本(推荐与 DSH 一致使用 Node.js 24):

npm ci
npm run check

版本变化见 CHANGELOG.md,维护者发布步骤见 RELEASING.md。

在 DSH 会话中设置 Baker 头像

可上传图片后对 AI 说:“把这张图设为我的 Baker 头像,裁剪到人物面部。”也可以让 AI 生成或编辑图片后直接设置。工具 prts_avatar_inspect 查看当前配置与会话图片;prts_avatar_apply 支持更换用户/AI 头像、基于已有原图重新裁剪和恢复默认。头像在当前 DSH 实例共享,保存替换后不保留旧原图;仅在 Baker 会话主题下显示,工具不会切换设备本地的主题选项。

自定义会话背景

在主题设置的“会话外观 → 会话背景”中,可选择默认背景、分区背景或完整背景。分区模式分别设置左侧边栏与会话正文;只有正文图片时,左侧边栏使用半透明材质显示其下方的背景;左侧边栏有独立图片时,仍显示自己的图片。右侧边栏在正文或完整背景上也使用半透明材质。完整模式以同一张图片贯穿各区域。图片居中铺满,可调节背景遮罩提高文字可读性;分区模式下正文图片固定在主框架坐标上,侧栏展开时不重新缩放图片。切换模式或恢复默认设置不会删除图片,点击“移除图片”才会删除对应素材。

支持 PNG、JPEG、WebP、AVIF,单张不超过 10 MB、4000 万像素。服务端自动转为 WebP 并限制在 3840×2160 内,保存在 $DSH_HOME/plugins/dsh-theme-prts/backgrounds。替换或移除后清理旧图片,不保留历史原图。模式和遮罩通过 DSH 原生配置同步,图片在当前实例共享。

自定义背景下,可分别调整左侧边栏、右侧边栏、设置侧栏、Baker 气泡和经典主题用户消息的材质透明度,默认值依次为 94%、94%、70%、50%、50%(数值越高越透明)。左侧边栏与右侧边栏的透明度和模糊度可独立设置;旧配置没有右侧边栏数值时,初始沿用左侧边栏数值。圆环支持鼠标或触屏拖动、方向键微调与直接输入百分比;拖动时本地预览,松手保存,Esc 或指针取消时回退。对应图片启用后,还可用滑杆调整模糊度(0–32px,默认依次为 8、8、12、8、8px),调节时预览,松手后保存。透明度和模糊度均可单独恢复默认;纯色背景不显示模糊度调节。右侧边栏材质需要启用正文或完整背景;设置侧栏材质需要启用左侧边栏或完整背景;消息材质需要启用正文或完整背景,并在相应会话主题下生效。

“会话主题”和“会话背景”分为独立设置页。输入框增强毛玻璃位于背景页:默认背景下可以开关,分区或完整背景下始终开启,切回默认背景时恢复原有开关选择。Baker 可开启“回复完成前显示加载动画”(默认关闭),每轮正在生成的正文暂以三点明暗动画代替,完成或中断后显示收到的正文;经典主题、思考过程与工具卡片不受此开关影响。

背景图片可设置独立的保护区域:点击「保护重要区域」,在弹窗中拖动默认保护框移动或拖动四边或四角缩放,原图边缘显示百分比坐标尺。侧栏按当前高度并排预览较窄/较宽侧栏,正文与完整背景并排预览横向/纵向窗口,实时显示裁剪效果,无法保留完整区域时仅在设置中提示。保存后保持居中铺满,仅在必要时最小幅度移动图片以保住保护框;框无法完整容纳时,横向优先保留中心、纵向优先保留顶端,并限制偏移以避免露底。清除保护区域后恢复居中裁剪;替换图片会清除旧框。保护区域随图片在当前实例同步,并包含在完整主题导入导出中。

背景、头像和徽记图片、徽记素材包以及主题文件均支持拖拽到对应上传区域,一次添加一个文件,沿用各入口的类型和大小限制。替换已有背景时,会先在主题弹窗中显示新旧图片,确认后保存。

在 DSH 会话中设置背景

可以说:“把这张图设为完整背景,保护右侧人物,背景再淡一点。”也可以让 AI 生成图片,或通过会话已有的搜索、下载工具找图;生成或下载到工作区后,先用 read_image 读取,再调用 prts_background_inspect 获取附件标识,无需用户重新上传。工具直接返回的图片附件也可使用。背景工具本身不提供搜索、生成或 URL 下载能力。

  • prts_background_inspect:查看三处素材、尺寸、保护区域、图片版本,以及当前 profile 的背景模式、遮罩、五个区域的材质、会话风格和设置版本,列出当前会话可用图片。
  • prts_background_apply:替换、移除图片,或设置、清除保护区域。使用图片 revision;保护区域为按 EXIF 转正后图片的归一化矩形 x/y/width/height。替换时默认清除旧保护框,也可同时指定新框。
  • 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 的在线页面。

保存素材与启用模式分为两步,AI 应检查返回的 activeSlots,必要时启用相应模式;不会自动打开主题总开关。图片限制和共享范围与手动设置一致,替换/删除不保留旧原图,切回默认背景不删除素材。版本冲突需要重新读取核对;受“允许 AI 定制主题”开关统一控制。

导入与导出主题

点击主题设置底部、与「恢复默认」并列的「导入与导出」,在弹窗中下载 .prts-theme.json 文件。「包含自定义素材」默认勾选:包含全部主题设置,以及当前已配置的背景图片、用户/AI 头像、首页与正文徽记及排列。头像保留原图和裁剪参数,徽记保留原图和编辑参数,背景保存当前使用的 WebP 图片;历史素材和临时草稿不包含在内。取消勾选则仅导出设置。

导入时先读取文件并显示摘要,确认后保存到当前 DSH 实例。仅配置文件保留目标端现有素材;完整文件替换素材及徽记排列,空素材项恢复默认。旧文件缺少的设置保留当前值;遇到当前版本不认识的配置字段时,确认前会列出导入后无法保留的字段;不支持的文件版本会提示更新。文件最大 160 MB,不包含会话、账户或连接凭据。

读取文件、导出、导入及恢复时会显示阶段进度。读取和导出可中途取消;导入或恢复取消后,会等待当前写入确认并尝试回退已写入素材。最终保存与回退阶段不可取消。导入、导出分块在对应操作期间保持高亮。

每次导入前会发起当前配置备份下载,请确认保存。当前页面也可点击「恢复导入前配置」,恢复最近一次导入前的状态;刷新后请使用下载的备份文件。保存失败会尝试回退已确认写入的素材;若连接中断或其他页面并发修改导致无法完整恢复,会显示错误,可在确认当前状态后重新导入备份。

在 DSH 会话中导入、导出主题

  • 对 AI 说“导出当前主题,包含素材”,使用 prts_theme_export 返回可下载的 .prts-theme.json 附件。指定 includeAssets: false 可仅导出设置。
  • 上传主题文件,或使用本会话工具已经返回的文件附件,调用 prts_theme_import_preview 查看摘要、配置变化、素材覆盖范围及会丢失的未知字段。未指定附件时可列出会话中的 JSON 文件。
  • 用户授权导入后,使用返回的 previewId 调用 prts_theme_import。预检仅限当前会话,有效期 15 分钟;文件、设置或相关素材发生变化后需要重新预检。导入前先保存备份附件,备份失败则不修改主题。导入失败或取消时尝试回退已确认写入的素材,并返回错误及备份;并发修改可能使回退不完整,需核对实际状态。

AI 工具与设置界面的文件完全互通,均支持仅配置和包含素材两种文件,上限 160 MB。完整文件包含背景保护区域、头像原图及裁剪参数、徽记源图及排列。仅配置导入保留当前素材,旧文件缺少的设置保留当前值。设置影响当前 profile,素材影响同一实例;导入可能关闭主题或 AI 工具,预检时应核对这些变化。导出文件和导入前备份均可再次预检、导入。

AI 工具状态、图片来源与视觉预览

prts_theme_status 为始终可用的只读入口,仅返回“允许 AI 定制主题”的开关状态和手动开启位置,不读取素材或配置内容。关闭开关后会移除 12 个定制工具,只保留状态入口;AI 应先提醒用户在“罗德岛徽记 → AI 工具”手动开启,不自行打开开关,也不通过 shell、HTTP 或文件编辑绕过。定制工具执行入口会再次检查状态,拒绝关闭后遗留的工具调用。该提示用于引导 AI 行为,不是对会话其他通用工具的权限隔离。

图片列表按最近在会话中出现的顺序排列,提供 lastSeenOrder、有可靠事件时间时的 lastSeenAt,以及同名图片的 latestForName 标记;“最近”不是文件修改时间,重新读取旧图会更新其出现顺序。

prts_background_preview 可预览会话候选图(attachmentId)或已保存背景(slot),不修改主题。默认使用当前遮罩,同时生成日间与夜间预览,因为服务端不知道用户页面的当前日夜模式。可临时指定 dim、scheme、预览宽高和保护区域;默认完整/正文预览 1280×720,侧栏 360×900,宽高均限制 64~1920。候选图先经过与实际保存相同的转正、缩放和 WebP 转换,再模拟铺满裁剪与 sRGB 遮罩;裁剪按源图像素取整。返回可下载图片附件,支持视觉的模型另获图片内容。这是背景层合成,不包含文字、消息泡、侧栏毛玻璃,不等同于真实页面截图。预览工具返回的图片不作为来源列表中的原图。

完整主题导入会删除被替换的旧背景 WebP,头像替换也不保留旧原图;导入前备份包含恢复所需数据。每个自定义徽记会生成新的草稿和预览,相同源图按内容哈希复用;达到约 200 份草稿时按创建时间清理较旧且未受保护的草稿,正在应用的徽记受保护。反复完整导入会增加草稿;预检的 effects 字段会列出这些副作用。

宿主提供运行上下文接口时,主题还会在每轮模型请求中主动提供当前开关状态和以上操作要求,减少 AI 在工具关闭时自行寻找绕行方案。

实验光标

主题设置的交互设置中,光标模式下拉列表可选择“系统光标”“PRTS 原生光标”“PRTS 跟随光标(实验)”。实验模式基于 Mouse Follower,使用独立图层播放 PRTS 按压动画,普通留白和大型卡片不再按后代元素数量停用动画;文字、禁用、抓握、调整尺寸、裁剪及页面内弹窗也由同一图层显示;浏览器原生菜单、跨 iframe 和系统拖放边界仍交还浏览器。位置不加缓动或拖尾,但仍受主线程调度影响,繁忙页面可能出现跟随延迟。实验默认关闭,可随时切回“PRTS 原生光标”,不改变现有光标偏好。

関連プラグイン