dsh-web-search-ddg
aooyoo
Zero-token DuckDuckGo search provider for the DeepSeek Harness (DSH) web seam — local headless browser, no API key, no m…
PROJECT TOPICS
PROJECT README
给 DeepSeek Harness(DSH)Web UI 换一套好看的外观:一键切换配色预设、设置整页背景图、VSCode 式卡片布局(面板停靠/浮动/标签页宿主),全部可撤销、可记忆。
ctx.dock 面板 API)。0.1.0-rc.6(本插件针对该版本的 Web 客户端编写,见「兼容性」)npm install -g pnpm)dsh plugin --profile web add github:Zalpha263/dsh-ui-beautify
dsh plugin --profile web add dsh-ui-beautifydsh plugin --profile web update/remove dsh-ui-beautifyDSH 旧版本没有 dsh plugin 流程,需要把本包复制到两处并手工注册:
$DSH_HOME/profiles/<profile>/node_modules/dsh-ui-beautify<npmRoot>/@deepseek-ai/dsh/node_modules/dsh-ui-beautify$DSH_HOME/profiles/<profile>/cordis.patch.yml 追加注册行:- insert:
- id: ui-beautify
name: dsh-ui-beautify
打开「设置 → UI设置」(外观美化与布局设置已合并于此):
| 区域 | 控件 | 作用 |
|---|---|---|
| 外观美化 | 配色预设(默认 / 深海蓝 / 暖沙 / 松石绿) | 一键切换整套配色;点「默认」还原 |
| 外观美化 | 选择图片 / 已设置(点击更换) | 上传本地图片作为全页背景(自动压缩,带可读遮罩) |
| 外观美化 | 清除 / 重置全部 | 移除背景图 / 恢复默认外观并清除已保存设置 |
| 布局 | 布局模式(经典 / 卡片) | 经典 = 出厂三列 UI;卡片 = 启用卡片布局引擎(默认开启) |
| 布局 | 停靠卡 打开 / 关闭 | 打开/关闭右列停靠卡(右列 / 底部 / 浮动 通过卡片拖拽或手柄菜单切换) |
| 布局 | 恢复默认布局 | 重置所有卡片位置 / 宽度 / 浮动状态 |
Esc 取消。提示:配色预设不仅改变背景与气泡,还会把 DSH 界面中的蓝色强调元素(如「对话 / 轨迹」高亮、超链接、文件夹图标、Deep Diving 状态)统一成预设的强调色;点「默认」即可恢复 DSH 原生蓝色。
设置保存在浏览器 localStorage 中:刷新页面、重启 DSH 都会自动恢复;清除浏览器站点数据会重置。
dsh plugin --profile web remove dsh-ui-beautify
重启 DSH 后插件不再加载,页面样式全部还原,无残留。
| 问题 | 原因与解决 |
|---|---|
| 装完「设置」里没有「外观美化」 | 安装后未重启 DSH(插件在启动时加载);重启后再看 |
| 重启后背景图消失了 | 旧版本(< v1.1.2)的大图会超出浏览器存储配额被丢弃;升级到 v1.1.2+ 后重新上传一次图片(上传时自动压缩,不会再丢) |
| 切换配色预设把背景图盖住了 | v1.1.1 已修复;确认安装 v1.1.1+,重新设置一次背景图即可 |
| 换了浏览器 / 清了缓存,设置不见了 | 设置存在浏览器 localStorage,换浏览器或清除站点数据会丢失(预期行为) |
| 卸载后还有样式残留 | 插件样式随插件注入并在卸载时移除;仍有残留请硬刷新(Ctrl+F5) |
0.1.0-rc.6,Web 界面(Windows / Linux / macOS)localStorage(约 5MB 配额内);超大图片上传时会自动压缩到最长边 ≤2560pxlib/client.js(Host 半区 lib/index.js 为空壳,仅用于注册)lib/client.js 的 PRESETS 常量中,改完刷新页面即可生效,无需构建__ModuleLoader__.load),不是 tsdown 产物dsh plugin --profile web update dsh-ui-beautify 升级--dsw-specific-sidebar-fill)——与对话栏(bg-base)形成与「侧栏↔对话栏」完全相同的背景色差,接缝不再依赖线的可见度。详情面板在卡片模式下强制透明、空详情占位提示不再自带底色(保持单层,无半透明叠加变暗问题);border-l3 分隔线保留。浮动态停靠卡仍为毛玻璃样式。border-l3(深色 0.16 白 / 浅色 0.12 黑,DSH 原生强分隔档)。此前用 border-l2 单线(0.12/0.10)在相同底色(对话栏与停靠卡均为 bg-base)上肉眼不可见——侧栏接缝之所以"有颜色"是 sidebar-fill 与 bg-base 的背景色差,并非那条线。两侧分隔线现为同一 token、同一宽度,清晰可见。border-l2(与侧栏右缘同色)。回退 v1.5.3「对话卡承担接缝线」的方案:content-box 模型下对话卡一旦缺线会把内容压缩 1px 露出透明缝,且该方案依赖新增 frame 属性,链路脆弱。::after 密封带方案被判定为以色带掩盖问题,不符合要求)。bg-base 是 85% 半透明色,而 v1.4.6/1.4.9 在卡片元素上额外铺了同色底色,与卡片内部(对话根节点 / 详情面板)自带的 bg-base 叠加成两层 → 停靠卡比对话栏深、吸附底部时对话栏整体变暗。现改为:①对话列不再铺色(出厂根节点底色足够,行高 calc(100% - <高>px) 保证接缝精确);②停靠卡不再铺色(详情面板自带底色);③「无活动会话」占位提示自带单层 bg-base 底色,空详情态与其它卡片观感一致。transparent → bg-base):深色主题下它表现为输入框上方一条生硬的黑色渐变。卡片模式下输入区改为干净悬浮,不再有渐变带。calc(100% - <高度>px) 保留(接缝精确);②停靠卡在停靠态一律铺 bg-base 底色(长写 background-color,不碰背景图)——彻底杜绝透明列露出;③移除 8px 阴影带,接缝处只剩 1px 原生 border-l2 分隔线。details 槽是 scope:"session"——没有活动会话时该槽渲染为空,停靠卡因此变成一块透明空白(看起来像被清空)。现为空的详情槽渲染占位提示(「无活动会话」居中弱化文字),停靠卡保持完整面板外观,归档 / 新建会话不再出现大变化。background 简写属性,把同一元素上的 background-image(背景图绘制点)重置为 none。现改为:①frame 不再绘制背景;②对话列改用 background-color 长写(不碰背景图)+ 列下方 8px 同色阴影带兜底(无缝隙时不可见,被面板盖住);③兜底规则加 :not([data-vsc-float]),避免误伤浮动态对话卡。底部吸附时背景图恢复正常显示。calc(100% - <高度>px):对话根节点出厂 height:100% 不再依赖 1fr 轨道的解析结果,必然精确填满整行,从机制上消灭列底留白;②底部态 frame 本身铺应用底色——即使解析仍有偏差,露出的窄带也是同色背景,接缝处只剩干净的一条 1px 分隔线;③显式固定 gap:0 / align-content:stretch,排除任何默认间距干扰;④内置临时几何探针(localStorage['dsh.layout-studio:debug']='1' 开启:红/黄/绿 1px 描边 + 坐标与间隙像素读数),万一修复后仍异常可凭读数一次性定位缝隙位置。flex:1 填满列高(出厂 height:100% 在 1fr 行高下可能解析为内容高度导致列底留空)、③分隔线由面板顶部 1px border-l2 承担——衔接处恒为干净的一条线。border-l2,与侧栏 border-right、右列 border-left 同构),位于行边界上,彻底消除底部面板与对话栏之间的发丝级空隙。<140px 收起逻辑保留);③修复停靠卡吸附底部时与对话栏衔接处的空隙(输入框底部 8px 内边距在底部吸附态下归零,衔接齐平)。bg-module-platform + 中性描边 + 正常文字色),不再使用彩色实心/白字;修复 v1.4.2 只改了外观胶囊、漏掉布局胶囊的问题。deepseek-500,两种模式均可读)。ctx.dock 面板 API(registerPanel/openPanel/closePanel/floatPanel/dockPanel),为插件提供统一停靠入口;saveState 写入失败(localStorage 配额超限)时原本会用 bg: null 覆盖已保存的背景图,导致每次恢复/热重载时大图写回失败即被永久清除;现改为失败时保留旧图、仅更新预设,并自动降质(≤1400px / 0.72)重试持久化。clearBackgroundImage 增加持久化开关,仅用户主动「清除 / 重置」才写存储);恢复顺序改为先恢复背景图再应用预设,避免覆盖。--dsw-static-deepseek-450,现一并纳入预设覆盖。dsh.bundle.patch + 自带 cordis.patch.yml),dsh plugin --profile web add github:Zalpha263/dsh-ui-beautify 一键安装,不再需要手动两份副本。MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。