-
Notifications
You must be signed in to change notification settings - Fork 3
DSH 1.0.14→1.0.22:零复制导入、新机视频首帧超时根治(封面先行+原地升级) #31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
62135e2
feat: 完成 DSH 1.0.14 零复制导入与背景清单
starsstreaming 30911ff
test: 修正跨平台 PowerShell 与锁释放断言
starsstreaming e41b296
test: 仅在 Windows 验证 Junction 安装流程
starsstreaming cd3fdcc
fix: 修复视频首帧超时——候选视频保持可绘制并放宽首帧门槛
starsstreaming 1700b0f
fix: 新机冷启动视频首帧超时——预热读本地 MP4 并自动重试一次
starsstreaming 0b179e0
feat: 内置媒体栈预热视频与首帧诊断时间线
starsstreaming 93638da
fix: 新机冷启动视频首帧超时——封面先行提交并在首帧后原地升级
starsstreaming File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| # DSH 背景栏视觉方向说明 | ||
|
|
||
| 本次不是重做 DSH,也不是把背景功能扩张成独立的素材管理器。目标是让侧边栏里的「背景」入口更像一个稳定、可信、长期使用的本地工具:用户能在几秒内完成图片导入、视频导入、声音控制、清除背景和已保存主题切换;正在处理时知道系统在做什么;发生错误或超时时按钮一定恢复;同时不把绝对路径、技术协议或多余统计暴露给普通用户。背景栏仍然依附 DSH 左侧栏,不能抢过会话、模型和输入区的主层级。 | ||
|
|
||
| 受众是主要在 Windows 本机使用 DSH 的用户。观看距离约为普通笔记本 60–90 厘米,面板宽度应控制在 224–272 像素,正文不低于 13 像素,辅助标签不低于 11 像素。视觉温度需要冷静、可靠、轻微有人味,避免常见 AI 产品的紫蓝渐变、发光描边、Bento 卡片堆叠、每个动作都配一个装饰图标,以及过度圆润的胶囊按钮。颜色从真实「画窗」背景里的雨蓝、雾灰和 DSH 现有深色侧栏采样,收敛为一组中性灰阶加一个低饱和蓝;错误只在发生时使用克制的红色。字体沿用 DSH 系统字体,不额外下载字体。 | ||
|
|
||
| 内容结构固定为四层:第一层是当前背景和来源状态;第二层是最常用的图片、视频导入;第三层是声音、清除、皮肤中心等次级操作;第四层是已保存主题。主题列表只使用现有名称、媒体类型、来源类型和选中状态,不新增缩略图接口,不把本地路径送到网页。忙碌状态必须局部化:当前操作显示进度文本,其余按钮暂时不可用,但面板仍可关闭;45 秒客户端上限后恢复交互并说明原背景保持不变。原生文件选择器是用户控制的系统窗口,不套用该操作超时。 | ||
|
|
||
| 三个方向共享以上功能,但构图互异。方向 A 用包豪斯式规则线和编号建立明确秩序,强调“工具盒”;方向 B 最大程度融入 DSH 本体,把状态和动作做成低噪声的原生侧栏;方向 C 借鉴纸质媒体清单,把导入动作和已保存主题放在一条连续的纵向轨道里,强调主题切换效率。三版都不依赖新增后端能力,选定后只改 `console.js` 的结构和样式,不动 local 导入、事务或媒体服务协议。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| # DSH 背景栏方向确认 | ||
|
|
||
| - 已评审:A「网格工具盒」、B「原生侧栏」、C「媒体清单」 | ||
| - 最终设计:`direction-c-media-ledger.html`、`direction-c-media-ledger.png` | ||
| - 用户选择原话:`C吧` | ||
| - 结论:正式背景栏采用 C「媒体清单」方向;保持现有 DSH 侧栏位置、local 零复制导入、主题切换和超时恢复语义。 |
4 changes: 4 additions & 0 deletions
4
design-demos/dsh-background-bar/direction-c-media-ledger.html
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| <!doctype html> | ||
| <html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>方向 C · 媒体清单</title><style> | ||
| *{box-sizing:border-box}html,body{margin:0;height:100%;font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#f1f3f4}body{overflow:hidden;background:#172231 url("../../integrations/deepseek-harness/themes/internal-beyond/bg-canvas-4k.png") center/cover no-repeat}.sidebar{position:absolute;inset:0 auto 0 0;width:274px;padding:18px 12px;background:rgba(15,24,35,.68);border-right:1px solid rgba(255,255,255,.13);backdrop-filter:blur(12px)}.brand{font-size:17px;font-weight:700}.brand small{font:9px ui-monospace,monospace;border:1px solid currentColor;padding:2px 4px}.new{margin-top:24px;width:100%;height:40px;border:1px solid rgba(255,255,255,.13);border-radius:5px;background:rgba(40,44,51,.76);color:inherit;font:600 14px inherit}.section{margin:20px 8px 8px;color:#bac3cc;font-size:13px}.session{height:34px;padding:7px 10px}.session.active{background:rgba(255,255,255,.09)}.bottom{position:absolute;left:8px;right:8px;bottom:12px}.panel{padding:0 14px 12px;background:#ece9e2;color:#202327;border-top:4px solid #252a30;box-shadow:0 16px 32px rgba(0,0,0,.3)}.head{display:flex;align-items:end;justify-content:space-between;padding:13px 0 11px;border-bottom:1px solid #b9b6af}.head h2{margin:0;font:650 16px Georgia,"Songti SC",serif}.head span{font:10px ui-monospace,monospace;color:#696d70}.import{display:grid;grid-template-columns:34px 1fr auto;align-items:center;min-height:48px;border-bottom:1px solid #c8c5be;background:transparent;color:inherit;width:100%;padding:0;text-align:left}.num{font:10px ui-monospace,monospace;color:#74787b}.import strong{display:block;font-size:13px}.import small{font-size:10px;color:#717579}.arrow{font-size:16px}.controls{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid #c8c5be}.controls button{border:0;padding:0;background:transparent;color:#595e62;font:11px inherit;text-decoration:underline;text-underline-offset:3px}.label{padding:11px 0 5px;font:10px ui-monospace,monospace;color:#686d71;letter-spacing:.08em}.theme{display:grid;grid-template-columns:16px 1fr auto;align-items:center;height:31px;border-bottom:1px dotted #bbb8b1;font-size:12px}.theme:last-child{border:0}.theme .dot{font-size:10px}.theme.on{font-weight:650}.theme em{font:normal 9px ui-monospace,monospace;color:#777b7e}.nav{height:38px;margin-top:7px;padding:9px 11px;border-radius:7px;font-size:14px}.nav.on{background:rgba(255,255,255,.12);outline:1px solid rgba(255,255,255,.5)}.hero{position:absolute;left:52%;top:48%;transform:translate(-50%,-50%);font-size:24px;font-weight:650;text-shadow:0 1px 10px rgba(0,0,0,.5)}button{cursor:pointer}button:hover{opacity:.65} | ||
| </style></head><body><aside class="sidebar"><div class="brand">deepseek <small>HARNESS</small></div><button class="new">+ 新会话</button><div class="section">工作区</div><div class="session active">新会话</div><div class="session">Session Title</div><div class="session">WoRk</div><div class="bottom"><section class="panel"><header class="head"><h2>背景清单</h2><span>画窗 / 已应用</span></header><button class="import"><span class="num">01</span><span><strong>导入图片</strong><small>直接引用本地文件</small></span><span class="arrow">→</span></button><button class="import"><span class="num">02</span><span><strong>导入视频</strong><small>MP4 · 零复制播放</small></span><span class="arrow">→</span></button><div class="controls"><button>声音已关</button><button>清除背景</button><button>打开皮肤中心</button></div><div class="label">SAVED / 03</div><div class="theme on"><span class="dot">●</span>画窗<em>内置</em></div><div class="theme"><span></span>芙莉莲 第一集<em>本地</em></div><div class="theme"><span></span>雨夜<em>本地</em></div></section><div class="nav on">▧ 背景</div><div class="nav">⚙ 设置</div></div></aside><div class="hero">探索未至之境</div></body></html> |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
为校验错误设置
statusCode = 400。parseImportMode与parseThemeApplyInput抛出的是普通Error。服务器的外层catch(第 521-524 行)只有在err.statusCode为整数时才使用该状态码,否则返回 500。因此客户端传入非法的source或非法的input时会收到 HTTP 500,而同一文件中其他参数校验(如缺少imagePath)返回 400。该行为影响第 364 行、第 385 行和第 421 行三个调用点。请在抛出时标注状态码。
🐛 建议的修复
其余
throw new Error(...)同样替换为throw badRequest(...)。🤖 Prompt for AI Agents