Repository navigation
Hub: DeepSeekBot 本地外观与壁纸 — 七个端到端切片 #2257
Description
Source specification
Spec #2256 is the approved product contract. This issue coordinates delivery only; it is not an implementation slice and does not replace or modify that specification.
Goal
Ship device-local DeepSeekBot themes, independent Header/Body materials, functional-panel overrides and image/video wallpapers. All effects, including light/dark/system choice, are confined to DeepSeekBot and must not change DSH settings, native surfaces or behavior. Preserve existing Dock geometry and business ownership.
Approved slices and direct dependencies
- T1 — Appearance T1: DeepSeekBot 独立本地深浅主题与 Primary. Human 在 DeepSeekBot 外观设置分别为浅色/深色选主题、修改 Primary,重启后恢复;Web 与 Desktop 各自保存,Desktop 切 Host 保持设置,DSH 始终不变。 Direct blocked by: none.
- T2 — Appearance T2: 全局 Header/Body 材质与四套主题. Human 在全局外观设置分别调整所有 Panel 的 Header/Body 底色、透明度与毛玻璃,实时看到连续的 DeepSeekBot 表面变化,并在深浅模式间恢复各自的四套主题设置。 Direct blocked by: T1.
- T3 — Appearance T3: Header 右键设置单个功能 Panel 外观. Human 右键顶层功能 Panel 的 Header,打开该 Panel 的外观 modal,分别覆盖 Header/Body 属性;关闭重开、切频道和重启后仍保持这个功能 Panel 的外观。 Direct blocked by: T2.
- T4 — Appearance T4: 嵌套 Panel 与插件外层统一外观. Human 在 Messages 内右键 Memory 等子 Panel 单独配置外观;父子保持独立继承,Memory 三类详情共享外观,Browser/Computer 与独立插件仅改变其外层而保留实际内容。 Direct blocked by: T3.
- T5 — Appearance T5: 图片壁纸上传、取景与本地恢复. Human 上传图片、拖动缩放预览并点击使用,看到贯穿 DeepSeekBot 背景的壁纸;窗口调整、重启或原文件删除后仍恢复同一素材与取景。 Direct blocked by: T2.
- T6 — Appearance T6: 静音循环视频壁纸与播放生命周期. Human 上传视频并调整取景后,将它用作没有交互控件的静音动态壁纸;前台循环,后台/最小化暂停留帧,回来继续,播放失败有静态封面和明确原因。 Direct blocked by: T5.
- T7 — Appearance T7: 全局清除覆盖与恢复默认外观. Human 即使把多个父子 Panel 调得难用,也能从全局外观清除当前模式全部覆盖,或确认后恢复两套默认外观并移除壁纸,重启后保持结果。 Direct blocked by: T4, T6.
The native sub-issue list contains the published issue identities. Native blocking links, mirrored in each child's Blocked by section, are the execution gate. Spec and hub are coordination artifacts, not blockers that must close before coding. T1 must include real Web/native proof and Human feedback before it completes. After T2, per-panel/nesting (T3→T4) and wallpaper (T5→T6) are independent branches. T7 depends only on their completed endpoints T4 and T6.
Existing work
- Spec: 两层 Panel 工作区与消息内频道子面板 #2048 owns the two-level workspace; Tracer: 消息面板内的会话子面板,迁移旧布局与快捷键 #2049/Tracer: Browser 和 Computer 迁入消息内 Bot 频道子面板 #2069 are closed delivery slices, not tasks to repeat. Appearance does not change layout or permission.
- Tob CLI 09: control client appearance, messaging and notification preferences #2095/Tob CLI 10: control global and Channel child layouts through CLI #2096 own existing client-targeted preferences/layout. Their DSH-native theme remains Host-owned; the new local DeepSeekBot preference is a separate scope. Preserve current claims and verify delivered code rather than treating closed unmerged PRs as implementation.
- Spec: 原生 Panel Plugins、公开能力与事件、绑定及多实例 #2219/Panel Plugins migration: 第一方 Panels 公开合同迁移(T8–T15) #2234 own Panel Plugin contracts/migration. Consume current panel contributions without making their entire feature or VRM feedback gate a dependency of unrelated appearance work.
Project and release
Use the existing Panel Plugins Project #21 for the spec, this hub and every child. This grouping adds no dependency on other project work. No milestone has been selected; do not infer v2.0 or another release from neighboring tickets.
Completion and verification
Each child ships persisted state→owner operation→actual UI→direct model-free CLI→focused regression and real Web/macOS evidence. The first vertical slice stays small; useful local prefactoring is part of the slice, not a broad horizontal program. Each slice maintains its own scope-specific reset/failure paths; T7 adds the user-visible bulk recovery behavior, not a substitute for earlier validation.
The hub is complete only when all seven native children satisfy their acceptance and Human gates. Tests, CI, real runtime, screenshots, native restart and Human QA are separate categories. Creating tickets does not implement, claim, merge or release anything; this publication starts no coding work.
Activity
DoodleBears commentedon Oct 18, 2026
The Human has now authorized implementation through all seven slices, one PR per issue (Closes reference), with stacked PRs allowed. This task will finish T1 first and continue implementation along the dependency graph. All PRs remain unmerged; Human feedback and acceptance remain explicitly pending until provided. Native dependencies and issue completion are not cleared merely because a dependent draft is prepared. Agent-Task: codex/local/01a150d8-b82a-7d81-b896-21e61a0f3a14.
DoodleBears commentedon Oct 19, 2026
Seven-slice implementation delivered for Human QA
Task:
codex/local/01a150d8-b82a-7d81-b896-21e61a0f3a14. Following the Human’s explicit all-slices authorization, each implementation issue now has exactly one Draft PR; the stack is linear and all PRs remain unmerged.Stack: #2271 → #2275 → #2276 → #2277 → #2279 → #2281 → #2282. Each PR has only its own
Closes #issue; GitHub applies closure when changes reach the default branch, not merely when a stacked Draft exists. Existing native issue hierarchy and dependency relations remain intact.Each slice includes focused tests, isolated live Web/native proof where applicable, screenshots, CLI paths and a review explainer. The complete spec evidence audit points to each slice rather than treating T7 tests as proof of everything. Latest-head CI results are recorded on the PRs separately.
Human QA is still pending. Windows native, formats beyond the tested PNG/VP9 WebM fixtures, and container Computer remote-view pixel verification are not claimed; the latter was blocked by a hanging local Docker probe while Browser pixels and local Computer status were checked. Native mobile/narrow-screen adaptation is outside this spec.
No merge, deployment or release. The final isolated T7 environment contains the full implementation for QA; earlier clean worktrees were recoverably archived after private evidence backups. Public evidence contains no local login URLs, tokens or private media.
DoodleBears commentedon Oct 19, 2026
Final CI audit: all seven Draft PRs now have green latest-head required checks. T6 39183222597 and T7 39183442207 completed successfully after the earlier five slices. Every PR remains open/Draft, with exactly its own issue-closing directive and the expected stacked base.
Implementation goal is complete at the requested PR-delivery boundary. Human QA is pending; no merge, deployment or release. Full handoff and verification boundaries.
DoodleBears commentedon Oct 19, 2026
Human QA follow-up delivered in T7 PR #2282: fixed message-history edges to use an alpha mask over the actual custom Panel body/wallpaper; removed the native-base-color overlays. Head
37725cae72c39d35431bb7b4277df2f6e09a7029, latest CI green. Real Web/macOS journeys, 84 related source tests and before/after/pixel evidence are recorded in the PR. The existing one-issue/one-PR stack is unchanged, every PR remains Draft/unmerged, Human QA continues. No deployment.DoodleBears commentedon Oct 19, 2026
Human QA approval recorded on 2026-10-19: the Human authorized merging all seven appearance slices, including the T7 message-history mask correction.
Merge order: #2271 → #2275 → #2276 → #2277 → #2279 → #2281 → #2282. All expected heads and current checks were refreshed before starting; each PR will retain its commit history and close only its implementation issue when landed on main. No release or deployment is included.
Agent-Task:
codex/local/01a150d8-b82a-7d81-b896-21e61a0f3a14.DoodleBears commentedon Oct 19, 2026
Human-approved appearance stack merged
All seven slices are merged into
mainafter Human QA approval in this task. Each implementation issue closed through its own PR, and all project items are Done.ffb77d4c620235eb1af65250a7cc7f92ae31f2e612d881f384661f7248adf1a4f5f72de2cb379af1ed55a352256aa73b194ef3874cc60a33676a9db97d8ae691c3a12d9eafe5ff93c70e62a3d4e4fe7348dcaa82845f6532ff0148bf921198c7dacb13395a369907a5cfd9e0834cc1dc45ad6dcd6d0bd4a8b0e35529c7197402e79820d2ca737b392caec9ffThe T7 merge includes the accepted message-history alpha-mask correction. All seven reviewed heads had green CI before merging, and source history was preserved. Post-merge main CI is a separate run; see Actions for its current state. Native Windows/broader-codec/container-view proof boundaries documented earlier remain explicit; the Human authorized merging with that record.
Task:
codex/local/01a150d8-b82a-7d81-b896-21e61a0f3a14. No additional release or deployment. Spec #2256 and coordination hub #2257 are retained as separate records; this operation merged the seven implementation PRs.DoodleBears commentedon Oct 19, 2026
Wallpaper × desktop zoom regression follow-up
This task reproduced and fixed two regressions without changing upstream. Both are native sub-issues of #2245, with one issue-specific Draft PR each:
bb28915dce2bb74781859e803960a81e34e44259): wallpaper crop used an already zoomed viewport rectangle as local CSS dimensions. The layer now reads its own local used size and observes that box; wallpaper covers the window and keeps the same crop as UI zoom changes.9963a2b97741f57e60ede6a5cd2fc8509d6dafdd, stacked on fix(ui): keep wallpaper crop stable across desktop zoom #2294): the pale header line and macOS corner backing come from application-owned workspace CSS. Higher-specificity light-canvas rules overrode wallpaper transparency. The fix preserves transparent header gaps and corner paint, keeping the native 88 × 40 safe area, title clearance and control/drag ownership intact. This is not an upstream native-titlebar patch.Evidence: matched native before/after screenshots are embedded in each PR. #2292 has 34 Chromium zoom/viewport cases and all 17 zoom levels in the visible macOS DSH 0.2.1-rc.2 window. #2293 has 64 combined production-CSS cascade cases, including functional Panel Header overrides and 68 native zoom/theme/window-state cases; native fullscreen entry/exit was exercised. The existing isolated Profile was reused, not replaced. Client tests: 2,035 passed / 1 existing skip. Lint, typecheck, format, changelog and full build passed; cached CDP console reported zero exceptions/errors/warnings. The 68-case native matrix is checkpoint
2c32667, before the final per-Panel selector refinement; final production-CSS regression has 64 passing combinations and the refined selector was checked in the live native window at 100%. The native matrix was not repeated after that selector-only refinement. Native Host diagnostics were unavailable and are not claimed as passed. Original media bytes/crop and effective theme preferences were restored after testing.Boundary: Human QA is requested and pending; no merge/release authorization is inferred. #2294 and #2295 required verify CI are green at their latest heads; both remain Draft and unmerged. Newly qualifying native video codecs, other platform shells, and the previously recorded install/activation or interaction boundaries remains outside these fixes. macOS system screen-sharing UI is retained. Existing S1/S2/S3 completion gates remain separate; these two fixes do not close the whole desktop-zoom spec.
Task:
codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264.