# CHANGELOG ## 2026-08-18 修复:首次配对弹框闪退 + 公网隧道 401(v2.5.1 App / 插件) - **症状**:手机首次连接后,配对码输入框只闪一下就消失,来不及输入;未配对状态下会话内容一直 401。 - **根因**:`PairingCoordinator` 把 `awaitingDecision`(驱动配对弹框)绑定在 `connection.state == Connected` 上,任何连接抖动(Connecting/Error/Disconnected)都会把它清空 → 弹框瞬间消失;未配对 = 无 channel token → `/api`(会话、events.mux)全部 401。 - **修复**:待配对意图不再随连接抖动清除——只要当前活跃主机未配对,配对码输入框就稳定停留可输入;配对成功 / 显式断开时才清除。配套的 cpolar 公网隧道域名白名单自动绑定由机内 watcher 处理。 - **版本**:App `versionName 2.5.1 / versionCode 61`,插件 `2.5.1`。 ## 2026-08-18 修复:App 更新提示误报(无限推新版) - **症状**:App 无限提示"发现新版本",且版本显示 1.8.1。 - **根因**:更新器用 `releases/latest` 的 **tag** 与本地 versionName 比较;之前发布的 `v2.4.1` 是**插件里程碑 tag**,但其中 App APK 仍是 v1.8.1 → 误判 2.4.1>1.8.1 恒有新版,装了还是 1.8.1 → 死循环。 - **修复**: - 持久:`UpdateChecker.releaseAppVersion(info)` 改为**优先取 APK 资产名的真实版本**(如 `DSH-Remote-v1.8.1.apk`→1.8.1),失败才回退 tag;MainActivity/SettingsScreen 两处 `isNewer` 改传它。commit `c42ccd1`(需 CI 出包后生效)。 - 立即可用:创建并置为 `latest` 的 **v1.8.1 release**(App 自身版本、资产 `DSH-Remote-v1.8.1.apk`),让当前已装 App 判定 1.8.1≤1.8.1 → 不再提示。 ## 更新日志 - **插件 v2.4.1 / App v1.8.1**:配对码安全修复 + 四项健壮性改进—— - **PC 端自动生成配对码**:新设备请求配对时,插件自动生成 6 位有效配对码并通过 `GET /api/remote-access/pair/code/current` 提供;设置页「远程控制」打开即自动展示当前码(倒计时复用)——不用再手动点生成 - **堵住空码跳过验证**:修复 App `PairingCoordinator` 在空配对码/插件未确认时能跳过验证直接拿令牌的漏洞——现在只能正常配对(输入码 或 走 PC 确认),无法绕过 - **设置页码归零自动刷新**:倒计时结束自动拉取下一次自动生成的码,设置页「始终有码可填」,无需手动刷新/重新生成 - **守卫澄清(不引入时间节流)**:verify 原注释声称「1s 全局节流」却从未实现;pair/request 因豁免端点可被刷来干扰 pending 确认框,初判需节流——但经冒烟测试验证,全局/IP 时间节流会误伤多设备同时配对与正常连打重试。故不作时间节流,真实防线 =「6 位码 + 5 次即锁(新码仅本机可见)+ 配对确认需人工批准 + 通道 token 门禁」,已足够 - **App 文案对齐自动生成**:配对失败提示改为「PC 端会自动生成/自动刷新码」 - **节点小宝内网穿透教程**:新增无公网 IP 时用节点小宝把 DSH 8787 映射成公网地址的完整步骤(含公网域名白名单 + 配对),见 [docs/节点小宝内网穿透教程.md](docs/节点小宝内网穿透教程.md) - **插件 v2.2.0**:设置页「远程控制」新增**公网域名白名单**——增删 DSH 核心 Host 围栏的 `client-connection.trustedHosts`(写入 settings.yaml,重启 DSH 生效);手机经公网隧道连接不再 403,域名条目按核心同口径校验(纯 域名[:端口]);配套冒烟测试 10/10 全绿 - **v1.8.0**:配对码快速配对 + 通道安全加固—— - **配对码配对(推荐)**:PC 端插件 v2.1.0 在设置页「远程控制」一键生成 6 位随机配对码(10 分钟有效、最多 5 次试错、用后即废、常量时间比较);App 连接新主机后弹出配对对话框,输入配对码即完成配对并直接拿到通道令牌——不用再守着电脑点确认框 - **旧式握手保留为兜底**:对话框可选「等待 PC 确认」(PC 弹窗批准,120 秒超时),旧插件(≤v2.0.x)自动降级此路径 - **修复 self-approve 漏洞**:v1.x 插件把 `pair/*` 全前缀豁免鉴权,拿到隧道地址的人可远程自我批准配对;v2.1.0 起豁免面收紧为手机引导端点白名单(request/status/check/code-verify/host.describe),respond/list/revoke/生成配对码仅本机可达 - ⚠️ 配对码功能需 PC 端插件 v2.1.0;旧插件只能走「等待 PC 确认」 - **v1.7.0**:配套插件 v2.0.0 纯互信化 + App 文案对齐—— - **插件大重写**:dsh-remote-access v2.0.0 移除微信 iLink 桥(扫码登录/微信遥控/审批回传)与 cpolar 隧道供应(一键安装/authtoken/隧道管理/二维码生成),只保留远程互信认证(配对确认、设备管理、通道 token 鉴权)与只读辅助路由(fs/list、fs/read、mcp/list、device/info);零运行时依赖,新增离线冒烟测试(node --test) - **App 兼容**:配对握手、通道令牌、目录浏览、文件预览、MCP 列表、设备记录全部沿用不改;连接指引改为自备内网穿透(cpolar / cloudflared / ZeroTier 等任选);旧插件(≤v1.3.x)对 App 连接无影响 - ⚠️ PC 端需更新 dsh-remote-access 至 v2.0.0 并重启 DSH(微信遥控与插件内置 cpolar 功能随 v2.0.0 移除,仓库内隧道辅助脚本与 release 归档同步清理;公网访问自备任意内网穿透即可) - **v1.6.2**:三修——跨盘浏览 / 一键重连 / 配套插件 v1.3.1—— - **目录浏览跨盘**:工作区浏览从「计算机根(盘符列表)」开始,可选任意盘符下的目录(PC 端插件 ≥ v1.3.1 的 fs/list 根路径盘符枚举;旧插件回退默认盘内容) - **重进 App 一键重连**:连接页活跃主机卡片新增「连接」按钮(未连接时显示);设备记录卡片在未连接状态下点击即重连——退出重进后不再「没有按键可连接」 - **配套插件 v1.3.1**:配对批准按设备名合并旧记录(重装 App 后 deviceId 变化不再导致 PC 端配对名单重复堆积);fs/list 支持计算机根盘符列表 - **v1.6.1**:修复更新下载误切镜像——原下载设 25s 总超时,慢速下载(如 100KB/s)25 秒一到即被掐断切下一源;现改为无总时长限制,仅「连续 30s 无任何数据」或「60s 宽限后均速仍 <20KB/s」才换源,慢速稳定下载不再中断 - **v1.6.0**:连接记录升级为**设备记录 + 多主机切换**—— - **设备记录**:连接页不再展示公网 IP,改为显示 PC 机型(首次连接仅需地址,配对通过后自动经插件 `device/info` 记录机型与 MAC);机型可自定义设备名,记录可自由删除(二次确认,删除活跃主机自动断开) - **多主机共存切换**:多台 DSH 记录并存,点选即切换(各自通道令牌独立存储);仅「上次使用」的主机保留启动自动连接,v1.5.2 的「连新清旧」逻辑移除 - **MAC+IP 双校验重连**:已配对主机重连时校验当前网卡 MAC 与配对记录一致才恢复连接——动态公网 IP 被回收再分配给他人时自动断开并提示;前台与后台服务重连均校验 - **插件配套**:`dsh-remote-access` 升级 v1.3.0,新增 `GET /api/remote-access/device/info`(机型+MAC,token 鉴权;旧插件自动降级不校验) - **v1.5.2**:四修——高亮主题前景反色改为 scheme 级修复(夜之城下主页快捷发送键/会话发送键/提问卡提交键等所有品牌渐变按钮统一黑前景);设置断开按钮文案改为「断开连接」;连新主机自动清掉其余历史主机记录(动态公网 IP 会回收再分配,避免旧 IP 残留);内置主题精简为深蓝/暖白两款,其余 7 套(纯黑/Codex/夜之城/ChatGPT/Claude/DeepLook×2)全部迁入主题市场,主题包新增 style 字段支持(市场安装夜之城/Claude 等保留专属排版风格) - **v1.5.1**:双修——夜之城主题发送键前景改黑(亮黄/霓虹青渐变上深蓝字看不清,按品牌色亮度自动判定);主动断开不再自动重连(断开时清除主机自动连接标记,换公网 IP 后需手动重连,自动重连仅保留给被动掉线与冷启动) - **v1.5.0**:主题市场——GitHub 仓库即后端,社区主题一键安装/更新—— - **市场浏览**:dsh-theme-market 仓库 index.json 清单拉取(镜像加速,复用更新检查镜像偏好),色板卡片免下载预览(5 色圆点内嵌清单) - **一键安装/更新**:raw 下载 .dshTheme.zip → 既有 zip 导入管线热替换;同 id 新版本自动识别为「更新」,另有重装/失败重试 - **入口**:设置 → 外观 → 主题市场;投稿走仓库 Issue/PR(App 不参与写路径),首发热题 3 款:DeepLook / DeepLook 深色 / 极光紫 - **v1.4.2**:主题气泡精修—— - **修复 Claude/ChatGPT 主题漏蓝**:深色主题 primaryContainer 原硬编码蓝 #1B3A6B,改为 surface 与品牌色插值推导——Claude 用户气泡回归陶土调、ChatGPT 容器不再泛蓝,蓝鲸主题视觉不变 - **蓝鲸气泡尾巴归位**:小圆角从顶部移到底部发送方一侧(主流 IM 惯例);背景图模式下用户气泡加细描边防糊底 - **ChatGPT/Claude 气泡精修**:22dp/20dp 大圆角 + 底部小尾,Claude 整体更暖润 - **v1.4.1**:Markdown 有序列表 + 引用块渲染——模型回复里的「1. xxx」编号列表与「> 引用」不再被压成普通段落:编号品牌色透传、引用带左侧竖条与弱化文字 - **v1.4.0**:seq 完整水位——超大会话二次打开秒开全量—— - 「加载全部历史」翻到底时记录水位(最老 seq)并全量落盘(不再截 120 条,图片 base64 仍剥离);此后重进该会话:缓存整段渲染 + 网络只拉最近 3 条合并,hasMore 直接判定为 false,「加载更早/全部」按钮不再出现;旧格式缓存缺水位字段自动兼容(退化为原行为) - 缓存文件上限 4MB → 8MB(容纳完整会话);水位经防抖保存/loadMore 路径全程保值 - **v1.3.8**:断线诊断——连接中断横幅自动探测服务死活:「服务在线,通道恢复中」(网络抖动)vs「服务器不可达:隧道断开或电脑关机/换网」,不再让你猜该不该回电脑看 - **v1.3.7**:小部件待办数——桌面小部件状态行实时显示「N 待办」(审批/问答活动计数,出现/解决即时刷新),不用进 App 就知道有没有活要批 - **v1.3.6**:更新弹窗内嵌版本说明——发现新版本时直接展示 Release 日志摘录(6 行纯文本,不用跳仓库就能知道更新了啥) - **v1.3.5**:桌面小部件 + Cloudflare Tunnel—— - **桌面小部件**:4x1 连接状态(鲸鱼 logo + 实时状态文字,点击拉起 App),RemoteViews 实现零新依赖,由前台服务驱动刷新;长按桌面添加「DSH Remote」 - **dsh-cloudflared.ps1**:Cloudflare quick tunnel 一键穿透(免登录、不限带宽;自动下载 cloudflared 走镜像兜底;--http-host-header 重写绕信任围栏;XFF 会触发 token 鉴权,App 需 v1.3.4+ 已配对) - **HANDOFF.md**:接力开发文档(踩坑记录 + seq 增量同步实施方案) - **v1.3.4**:远程通道 token 鉴权(安全)+ 仓库更名—— - **通道鉴权**:PC 端插件给 `/api`(含 events.mux WebSocket)加 Bearer token 门禁——本机浏览器放行(loopback 且无 X-Forwarded-For),cpolar 隧道与局域网直连一律要求 token;token 首次自动生成(`remote-access/channel-token`),配对通过后经 `pair/check` 下发到 App,密文落盘、请求时动态携带(注册表热生效,配对完成即刻生效无需重连);配对握手与 `host.describe` 探测豁免(未配对手机先完成引导);拿到公网地址的陌生人从此无法遥控你的 DSH - **仓库更名**:harness-remote → **dsh-remote**(旧地址自动重定向);应用内更新通道已同步新仓库名 - ⚠️ 需同步更新 PC 端 dsh-remote-access 插件并重启 DSH;旧 App(无 token 支持)连新插件会在配对外请求上收到 401,更新 App 即可 - **v1.3.3**:体验打磨第一批—— - **代码块升级**(MarkdownText):解析围栏语言标识,头部条显示语言角标 + 一键复制(「已复制 ✓」1.5s 反馈),头部条配色随主题走 - **会话首屏骨架屏**:空列表加载中显示 3 条呼吸动画占位气泡(错落宽度 + 呼吸透明度),替代空白等待 - **触感反馈**:发送消息、待办中心允许/拒绝审批触发轻触感 - **待办提示条动效**:会话内待办横幅出现/消失改为顶部滑入/滑出 + 渐显渐隐 - **假 Pro 订阅价格修复**:三档划线价各自独立(¥19.99 / ¥99.99 / ¥199.99,原来三档全是 ¥199.99),并给划线价加了删除线样式 - **隧道看门狗**(dsh-tunnel-watchdog.ps1):后台守护 cpolar 隧道,30s 健康检查、挂掉自动重启,可选 `-BarkUrl` 把重建后的新公网地址推送到手机 - **v1.3.2**:保险库联动 + PC 端兼容修复—— - **保险库解锁**:设置页新增「保险库」卡片(已锁定 / 已解锁 / 未设密码 / 不可用四态);解锁对话框输入密码,本地求 SHA3-256 摘要后 POST `/api/credentials.unlock`(明文密码不上行,与 web 端一致);解锁为进程全局状态,PC web 端同步解锁;「记住密码」将摘要经 AndroidKeyStore AES-GCM 加密落盘,下次留空一键解锁;密码错误不做弹窗报错(避免诱导连续尝试烧掉防爆破额度),冷却剩余秒数由 status 的 lockout 字段呈现 - **更新通道改为 debug 主包**:应用内检查更新优先下载 Release 里的 debug 主包 APK(功能最全),无主包时回退 -min 精简包 - **纯 Kotlin SHA3-256**(data/Sha3.kt):Android 各版本 MessageDigest 对 SHA3 支持不一致,自带 Keccak-f[1600] 实现,已对拍 Node crypto 测试向量 - **PC 插件 dsh-remote-access 修复**:inject 声明改为 `["webServer"]`——npm 版 `@deepseek-ai/dsh` 的 `Inject.resolve` 无 `{required, optional}` 语义,对象写法会被解析成等待名为 required/optional 的服务,插件永远 pending 并导致 DSH 启动失败(Setup 版 DSH 不受影响) - **dsh-remote-start.ps1 修复**:加 UTF-8 BOM(修复 Windows PowerShell 5.1 按 GBK 解析报语法错误);防火墙规则创建失败降级为警告(cpolar 模式不受影响);端口探测失败延时 2s 重试一次 - **LICENSE**:MIT + 社区桌面版声明 - **v1.3.1**:能力补全三阶段(S5-S7)—— - **内容可视化(S5)**:思考链展示(💭 折叠思考区,流式累积 reasoning-delta + 完整消息兜底);工具调用耗时(callId 配对信封 time 相减,工具卡片显示耗时);MCP 服务列表(设置 → 关于 → MCP 服务卡片,枚举 mcp__ 前缀工具,连接状态以上游为准) - **文件工作区(S6)**:目录浏览直连 host.listDirectory(面包屑/隐藏项/截断提示,不再依赖插件 fs/list);文件只读预览(点击文件弹出预览对话框:文本展示/二进制提示/复制,插件 fs/read 走沙箱读取 + 1MB 截断,fs/list 增强列文件) - **扩展运维(S7)**:slash 命令面板(会话页「/ 命令」入口,commands/list 枚举 + execute 执行);会话日志导出(顶栏 ⋮ → 导出会话:history 原始事件转 Markdown 本地分享) - ⚠️ PC 端需同步更新 dsh-remote-access 插件并重启 DSH(新增 fs/read、fs/list 列文件、mcp/list 路由) - **v1.3.1**:会话与输入体验(S4)——通知渠道精细化(审批/问答与任务完成通知独立开关 + 一键跳系统渠道设置);语音输入(输入栏麦克风按钮,系统语音识别回填文本,零新依赖);会话搜索统一(标题+预览双字段过滤,四个布局分支均支持);会话置顶(长按菜单置顶/取消置顶 + 图钉标记 + 置顶优先排序,本地持久化);快捷指令栏(输入栏上方可编辑 chip 条,内置 4 条常用指令);打断动效反馈(⚡ 插话发送瞬间显示「已插话」横幅 + 消息级插话标记) - **v1.3.1**:安全底座(S3)——凭证加密存储(AndroidKeyStore AES-GCM,代理密码不明文落盘、旧明文无感迁移);App 生物锁(可选指纹/面容/系统密码,60s 宽限,全屏锁覆盖层);高危操作二次确认(命令执行/删除/安装类审批红徽章 + 允许一次二次确认,批量放行自动跳过高危项);PC 端首次配对确认(手机首次连接时 PC 端弹全局确认对话框,支持允许/拒绝/超时/撤销后重配对,插件未更新自动降级跳过)。⚠️ PC 端需同步更新 dsh-remote-access 插件并重启 DSH - **v1.3.1**:统一待办审批中心(S2)——首页铃铛待办徽章、三档待办页(审批/问答/异常)、批量允许/拒绝/跳过、点击跳转会话定位(异常带 seq)、会话内收编为轻提示、重启后扫描最近 5 会话恢复未决审批与报错 - **v1.3.0**:任选 PC 目录作工作区——工作区面板新增「浏览电脑目录」(经 PC 插件 dsh-remote-access 的 fs/list 端点只读列举子目录:进/退导航 + 当前路径 + 选中即创建为工作区);不再局限于 DSH 已划定的工作区;插件不可用时保留手动输入路径兜底。⚠️ PC 端需同步更新 dsh-remote-access 插件并重启 DSH - **v1.2.2**:连接页布局修复——整页 statusBarsPadding(扫码按钮不再被状态栏压住)+ 内容垂直居中(上下弹性留白,消除下半部大面积空白;小屏自动可滚动) - **v1.2.1**:修复 Pro 计费漏洞 + ChatGPT 文案——扣费结算窗口扩大(回合中途挂载监听也能计费:事件累计改 getOrPut + turn/end 无条目时按服务端 usage 兜底;usage 提取兼容 data.message.usage);ChatGPT 空态文案改「今天想做点什么?」 - **v1.2.0**:镜像偏好 + 开发者署名—— - **记住上次镜像**:更新检查与 APK 下载会记住上次成功的镜像节点,下次自动优先使用(失败仍自动切换其他源/直连兜底);偏好持久化 - **开发者署名**:APK 签名证书身份改为 `CN=残星会虚质空间分部达妮娅同学`(全新密钥库 `dsh-remote-daniya.jks`);设置 → 关于 新增「开发人员」卡片(开发:残星会虚质空间分部 达妮娅同学 / B站:最喜欢达妮娅了 / 版权声明) - ⚠️ 签名变更:与旧版(upload.jks 签名)不兼容,**需先卸载旧版再安装 v1.2.0** - **v1.1.9**:假 Pro 计费全局化——PC 端正在运行的会话消耗也会计数(挂在全局事件流 TokenUsageWatcher,App 主连接 + 后台服务连接双挂载,按 session+seq 去重防重复扣费;App 被清理后前台服务继续计费;服务端 usage 优先,缺失按字符估算) - **v1.1.8**:DeepLook 工作区显示修复——默认工作区不再误显示为「标准模式」,与工作区选择面板口径统一(显示「默认工作区」;已选工作区显示其标题/路径) - **v1.1.7**:假 Pro 订阅中心(趣味彩蛋)—— - **入口**:「Upgrade to Pro」回来了,这次是真的入口——Claude 主题输入容器 Pro 行、ChatGPT 抽屉「Pro 订阅」、设置页「Pro 订阅(趣味彩蛋)」三处进入 - **假装订阅**:三档套餐全免费(轻量 Pro 10 万 / 尊享 Pro 100 万 / 无限 Pro ∞ 1 亿 token),原价 ¥199.99 划掉、¥0.00 假装付款,订阅/续费/退订全套流程 - **真实 token 计数器**:会话每回合结束时按服务端 usage(inputTokens/outputTokens)实际扣减假订阅余额;服务端不返回 usage 时按字符/4 估算;余额扣完变负数("你的 Pro 在负数里哭泣"),可随时续费 - 状态持久化(重启不丢);进度条显示套餐额度消耗比例 - **v1.1.6**:多主题布局修复—— - **修复黑屏**:全局设计令牌(色板/形状/风格/id/代码字体)全部改为 **Compose 快照状态**——主题快速来回切换时所有界面自动重组到一致的新值,彻底消除「GPT → 夜之城」等切换黑屏问题 - **修复状态栏遮挡**:DeepLook / ChatGPT / Claude 三种布局的主界面与抽屉统一 `statusBarsPadding`,顶部 UI 不再被灵动岛/状态栏压住 - **修复 Claude 文字偏左**:空态标语 36sp 居中排版(textAlign + 全宽) - **移除无意义元素**:Claude 输入容器去掉「Upgrade to Pro」提示行与无功能闪电图标(操作栏保留 + 附件 / 模型胶囊 / 发送) - **修复 DeepLook 工作区点击无效**:工作区选择面板抽为共享组件,DeepLook 布局单独挂载覆盖层(此前分支提前 return 导致面板未渲染) - **v1.1.5**:DeepLook 修复——状态栏 inset、深色变体自适应颜色(选中态/图标/分隔线改主题色,黑屏修复)、工作区面板复用 - **v1.1.4**:DeepLook 主题——DeepSeek 官方移动端 1:1(依据 5 张实机截图提取的设计规范)—— - **内置主题**:DeepLook(浅色:`#f8f8f8` 页面底 + 纯白分组卡片 + 品牌蓝 `#4d6bfe`)+ DeepLook 深色(规范 7.3 预留方案 `#0d1117`/`#161b22`);同时提供可导入主题包(`SKIN/deeplook*.dshTheme.zip`,含预览图) - **设计令牌**:iOS 分组列表风格——分组卡片纯白/圆角 16/阴影 1dp、行间 1px 分隔线、深蓝黑 `#0d1b2a` 选中态(分段控件/底部导航高亮)、主按钮全宽 50dp 高/圆角 13、排版(大标题 30/700、导航栏 17/600、分组标题 14/600、行标题 16/500、副文案 12.5/400、底部导航 label 10.5) - **主界面布局**:顶栏 46dp 深蓝黑鲸鱼 logo(30dp 圆角9) + 「DeepSeek Harness」+ 设置;大标题「新会话/会话」;分组卡片(工作区选择、最近会话列表带 chevron 与分隔线);空状态 **72dp 虚线圆环** + 「暂无会话」;**底部导航 78dp 三 tab**(会话 | ⊕新会话·深蓝黑圆角方块白加号高亮 | 设置) - 设置 → 外观 → 选「DeepLook / DeepLook 深色」即切换 - **v1.1.3**:Claude 移动端暖调深色 UI 主题包(1:1 按设计令牌落地)—— - **设计令牌**:暖炭黑 `#171716` + 次级 `#242423` + 三级 `#2A2A29` + 陶土橙 `#E8755A` + 淡紫 `#A78BFA` + 暖白 `#F5F5F4` / 暖灰 `#A8A29E` / 弱化 `#78716C`;**衬线大标题**(32/600 侧边栏、36/500 空态标语)+ 无衬线正文(菜单 18/400、分区 16/500、输入 17/400、按钮 16/500);圆角(输入容器 **28px 超大圆角**、胶囊=高/2、列表点击态 12) - **对话主界面**:极简顶部导航 56dp(纯图标无背景:汉堡 24 + 幽灵星芒 28,无中间标题);空状态居中 64×64 陶土橙星芒 + 衬线 36sp 标语(间距 32);底部输入容器三层结构(Pro 提示行「Get more with DSH / Upgrade to Pro」淡紫 → 无边框多行输入(橙色光标)→ 操作栏:+ 40 圆 / 模型胶囊 40 / 插话 40 圆 / 发送 **44×44 圆陶土橙向上箭头**);会话页同步(28 圆角容器 + 箭头发送钮) - **侧边抽屉栏**:85% 宽 + 50% 遮罩;衬线大标题 32/600 + 「New chat」橙色加号入口;Chats / Projects / Artifacts 菜单(56dp、图标 24、文字 18);1px 细分割线 `#2A2A29`;Recents 分区(16/500 暖灰标题、48dp 会话项);底部用户栏(40 圆字母头像 + 用户名 + 24 齿轮无背景) - 设置 → 外观 → 选「Claude 暖调」即切换(与其他主题并存) - **v1.1.2**:ChatGPT 移动端深色 UI 主题包(1:1 按设计令牌落地)—— - **设计令牌**:纯黑 `#000000` 底 + 次级 `#1C1C1E` + 品牌蓝 `#3B82F6` + 强调 `#60A5FA` + 二级文本 `#9CA3AF`;排版按规格(大标题 28/700、菜单 18/400、分区标题 16/600、按钮 17/500、输入 17/400);圆角(胶囊=高度/2、主按钮 16、列表点击态 8) - **对话主界面**:顶部导航栏 56dp(40×40 圆形汉堡钮 + 中间胶囊 pill(预设名 #60A5FA 星标,映射「获取Plus」)+ 右侧新对话圆钮);底部输入栏 52dp 胶囊容器(+ 图标 / 无边框白字输入灰占位 / ⚡插话图标(映射麦克风位)/ 40×40 圆发送钮 #3B82F6)+ 底部安全区适配;会话页同样胶囊化 + 用户气泡 #1C1C1E 白字 - **侧边抽屉栏**:85% 宽 + 50% 黑遮罩;顶部 60dp 标题区(28/700 白标题 + 搜索圆钮 + 会话搜索胶囊);功能菜单区(新对话/技能/已归档/设置,每项 56dp、图标 28 + 文字 18);「最近」分区(16/600 #9CA3AF 标题、48dp 会话项、骨架屏 40dp 灰条);底部操作区(「聊天」主按钮 52dp #3B82F6 圆角16 + 设置圆钮 48dp) - 设置 → 外观 → 选「ChatGPT 深色」即切换(与其他主题并存) - **v1.1.1**:资源更新提示(版本号从 1.1.1 开始)—— - **启动自动检测**:App 打开时后台自动检查最新 Release(走镜像,无更新则完全不打扰) - **有更新弹窗询问**:「检测到资源更新,是否下载?」——是 / 否,用户自选 - **下载全程透明**:实时显示当前使用的镜像站(ghfast.top / gh-proxy.com / ghproxy.net / 直连)、第几个源、请求地址、是否成功开始、实时进度百分比与**下载速度**(KB/s、MB/s);镜像失败自动切换下一源并逐条展示切换记录;失败可重试,完成后一键安装 - **v1.0.26**:皮肤资产全面整合(来自 SKIN 资源包)—— - **深蓝主题 = 鲸鱼娘装扮**(dsh-deep-whale 皮肤):首页问候区右侧鲸鱼娘女仆立绘、空态鲸鱼娘立绘、宫殿夜景低透明度背景、「新任务」盾徽、输入栏上方底部纹章;品牌色对齐 DeepSeek Chat 蓝鲸蓝 `#4D6BFE`(dsh-blue-whale 复刻) - **夜之城 2077 主题**(对齐 dsh-theme-cyberpunk2077):NC 黄 × 霓虹青、**45° 切角按钮/卡片**、`◈ 新任务` + `NIGHT CITY // 2077` HUD 文案、会话按**稀有度上色**(白/绿/青/紫/橙循环,运行中 = 传奇橙黄)、错误横幅红底警示斜纹 - **字体选择**(对齐 dsh-font 概念):设置 → 外观 → 界面字体 / 代码字体(黑体/细黑/衬线/圆体/窄体/等宽… 即选即生效,选项以各自字体预览) - **v1.0.25**:真正的 UI 布局重构—— - **布局对齐 DSH Web UI**:新任务输入卡增加「新任务」头行(任务标签 + 预设选择收进卡片头部,底部只留附件与发送);助手消息加**品牌左侧色条**(官方 Web 视觉锚点,流式时软化);工具调用卡片状态改为**文字徽章**(完成/失败/运行中),参数等宽展示 - **Codex CLI 完整终端 UI**:`❯ codex` 问候 + `─` 字符分隔线、输入卡 `❯ 新任务` 标签、会话输入栏 `❯` 提示符、工具参数 `$` 前缀、`thinking…` 状态、全局等宽字体 + 方角形状体系——切换主题即可看到完全不同的界面语言 - **精简主题**:移除 16 套"只换颜色"的皮肤,只保留 4 套有真实观感差异的主题(深蓝/纯黑/暖白/Codex CLI);已选旧皮肤的用户自动回落深蓝 - **v1.0.24**:更新通道修复—— - **安装不再失效**:点击安装改为多策略——系统安装器双 intent(`ACTION_INSTALL_PACKAGE` → `ACTION_VIEW`,先探测可响应者)+ **PackageInstaller 会话安装兜底**(同签名自更新直接装,无需「未知来源」授权),解决部分 ROM / Android 15+ 点击安装无反应的问题;失败时显示具体原因 - **镜像下载(国内免代理)**:检查更新 API 与 APK 下载都走 GitHub 加速镜像(ghfast.top → gh-proxy.com → ghproxy.net → 直连兜底),每个源 25s 硬超时、失败自动切换下一个,不开代理也能检查/下载更新 - **v1.0.23**:主题系统升级(不再只是换色)—— - **文字样式体系**:废弃默认 Typography,全 App 使用精调排版(标题收紧字距加粗、正文 15sp/22sp 行高、标签小字加字距、层级分明),消息/列表/卡片观感对齐官方 DSH 设计语言 - **装饰细节**:品牌渐变主按钮(连接/发送/审批/提交)、输入卡与 hero 区品牌渐变装饰条、卡片品牌淡色描边、会话卡双行预览 + 模型徽章 chip + 运行态脉冲呼吸点、空态官方鲸鱼 logo - **Codex CLI 主题(新增内置)**:真正的终端风格——全局等宽字体、方角卡片/气泡/对话框、`❯` 终端提示符问候、ANSI 橙棕主色(设置 → 外观 → Codex CLI 即选即用) - **修复发送键被挤压消失**:会话输入栏 TextField 消除默认最小宽度约束(`width(0)+weight(1)`),长文本/窄屏/大字体下发送键不再被推出屏幕;首页预设 chip 限宽截断,长预设名不再挤掉「发送」按钮;新任务输入框 maxLines 8→6 防卡片过高 - **v1.0.22**:全面优化—— - **连接更稳**:共享 OkHttpClient 单例(App 与后台服务复用连接池);事件流 WebSocket 应用层 ping 保活(防半开连接静默挂死);首次连接失败自动指数退避重连(3→6→12→24→30s),不再停在错误页等手动重试;连接中断在会话页顶部显示提示条,重连成功自动消失 - **历史加载更快更全**:「加载更早」每页 5→15 条;滚动到顶自动加载更早(按钮兜底);新增「加载全部历史」一键循环翻页到底;会话页顶部的加载按钮区合并为「加载更早 + 加载全部历史」 - **图片消息上屏**:会话里用户发送的图片直接渲染(按屏幕宽度采样解码,不爆内存);磁盘缓存只存占位、内存热缓存保留完整图(冷启动重进先占位,网络刷新后补齐) - **操作体验**:长按用户/助手消息复制文本;点击会话标题直接重命名(session.rename);输入栏发送/停止按钮与运行状态联动更直观 - **通知升级**:常驻通知实时显示连接状态(已连接/连接中/重连中);任务完成提醒独立通知渠道(可与审批提醒分开设置);用户主动断开连接时自动停掉后台服务,不再残留后台连接 - **更新机制**:启动自动检查更新(每天最多一次,发现新版发通知),设置页仍可手动检查;连接页底部版本号改为动态读取(不再写死) - **缓存卫生**:启动清理过期缓存(7 天前会话历史、1 天前会话列表) - PC 插件 dsh-remote-access **v1.2.0**:cpolar 一键供应(插件内自动下载/解压,无需手动安装;注册引导 + authtoken 保存 + 登录态识别);隧道失败错误信息附进程日志尾部,一键排障;路由注册改挂 ctx.effect(热重载不再残留) - **v1.0.21**:应用内检查更新——设置 → 关于 →「更新」一键检查 GitHub Releases 最新版、流式下载(进度显示)、下载完直接调系统安装器安装,无需再跑 GitHub 手动下载;安装走 FileProvider + 系统安装器(无额外权限) - **v1.0.20**:会话加载提速——打开会话/回首页的本地缓存解码(gzip 解压 + JSON 解析 + 事件拼接)全部移出主线程;新增进程级内存热缓存(最近 8 个会话 + 会话列表,返回再进零解码);Home 后台预取最近 3 个会话首屏(点开即消费跳过网络等待);缓存与网络首屏按消息序号(seq)合并去重,消除"先显示 120 条缓存、网络 3 条到达后整页回跳丢失"的闪跳 - **v1.0.19**:内置 16 套 SKIN 皮肤主题(海洋蓝/石墨灰/森林绿/日落紫/午夜黑/纸张米黄/樱花粉/极光紫/暖咖/代码绿/夜之城/蓝鲸/深海蕾丝/Codex 暖/Nord/Solarized)——安装即选,无需导入;导入主题仍可用(同 id 会与内置名冲突,内置 id 已预留);生成源与数据见 `E:\AI搓的小东西\SKIN\theme-packs\` - **v1.0.18**:视觉对齐官方 DeepSeek Harness 移动端——启动图标改为深蓝底白鲸(母鲸/幼鲸负空间,灵感来自官方标识,非官方客户端声明保留);连接页品牌区与文案对齐官方引导页风格(大标题 + 说明 + 主按钮 + 底部版本声明) - **v1.0.17**:冷热分离与传输优化——会话历史/会话列表 gzip 磁盘缓存(秒开秒显,网络失败降级显示缓存并提示);流式/翻页后延迟写盘;HTTP 传输沿用 OkHttp 透明 gzip - **v1.0.15**:可拓展主题系统——内置三主题注册表化,支持导入 zip 主题包(theme.json + 预览图 + 说明),同 id 导入 = 热替换更新,运行时即时生效;设置页主题管理(缩略图/版本/删除);Play 上架准备(上传密钥、签名 AAB、隐私政策与上架清单见 docs/) - **v1.0.14**:通知功能修复——Android 13+ 运行时权限申请(此前无权限通知静默丢失)、审批/问答去重、**任务完成提醒**、点击通知**深链直达会话**;主题改为三色(深蓝/纯黑/暖白);背景图性能优化(按屏幕采样解码 + 单次缓存,不再每次重组整图重解码);新增自适应模型(按任务难度自动切 Flash/Pro);PC 端插件 dsh-remote-access v1.1.2(本地二维码、探测缓存、微信桥优化) - **v1.0.13**:毛玻璃面板与背景图增强——模糊/饱和度/蒙层/面板通透度、四档一键预设,对齐桌面 dsh-beautify 模板;背景图默认满清晰度显示 - **v1.0.12**:修复会话记录加载慢——首屏历史 10→3 条、chunk 线性合并去重、loadMore 5 条/页 - **v1.0.11**:新对话工作区选择、双主题、TG/X 风格美化、重连指数退避、Markdown 渲染缓存 - **v1.0.10**:性能修复——打开会话不再卡几秒(响应体读取+JSON 解析整体移出主线程);流式输出改为 50ms 批量更新且长回复只渲染尾部;自动滚动仅在底部时跟随;打开运行中会话不再丢失流式内容 - **v1.0.9**:后台审批提醒——前台服务常驻只读连接,App 在后台时收到审批/确认事件自动推送高优先级横幅通知 - **v1.0.8**:修复 agent preset 列表只显示 cordis;新对话支持图片上传 - **v1.0.7**:关于页版本号改为动态读取 - **v1.0.6**:修复打开历史会话卡死/闪退 - **v1.0.5**:连接页右上角扫码自动连接(相机权限 + zxing) - **v1.0.4**:技能选择 + 背景图/亮度自定义 - **v1.0.3**:思考过程不上屏,仅显示"已思考 x 秒";随仓库附 APK