winewill
ac60dc5188
Read startup appearance from Host settings instead of a theme cache
2026-11-05 16:51:25 +08:00
winewill
21ebc61074
Restore desktop theme before startup and track Windows background changes
2026-11-05 16:51:25 +08:00
winewill
c174e33a1b
Paint the Windows workspace with its startup theme before the first frame
2026-11-05 16:51:25 +08:00
yudshj
ca3ad0cc85
fix(office): 按 review 意见同步文档事实、Office 行兜底、拒绝用例结构与主运行时默认值归属
...
- Native Office 工具 Agent Note:移除已删除的 `/locate` 子路径、把「PDF 页数」改为转换器报告的页数、补全输出文件删除条件、把「工具不可用」统一为「不在工具列表中」,中英文与配对哈希同步。
- skill-office / tool-office README:Progressive loading 与 unavailable 提示摘要按实际行为描述,重录 i18n 哈希。
- Office 行:结果只含图片块时不再回退到扁平化输出(避免向用户显示附件引用 JSON),用例随之改为断言没有输出区。
- tool-office 用例:参数拒绝与路径拒绝拆成两组,用 resolve 调用次数显式表达「是否碰文件系统」。
- office-docx / office-xlsx:去掉引导语会让模型把「只做内容检查」误读成「需要渲染」,并刷新内嵌技能正文的 office 快照。
- visual-intent 夹具:用具名 intent 常量代替下标引用。
- Desktop:主运行时「运行时目录旁」的布局假设只保留在 Host 侧,壳传空参数表示使用默认,行为不变。
2026-11-04 18:18:03 +08:00
yudshj
e90954631e
refactor(desktop): primaryRuntime 保持 Host argv 传入,由 desktop-host 写入 DSH_PRIMARY_RUNTIME,不再升级 Host 协议版本
...
- main.ts / host-process.ts / host-protocol.ts 恢复 master 的 argv 布局与协议版本 4
- desktop-host 在环境快照和 profile 求值前把 argv[4] 写入 DSH_PRIMARY_RUNTIME
- 相关测试、smoke 脚本与 fixture 恢复按构造参数传入 primaryRuntime
- 删除 README 与升级指南中「内置终端继承 DSH_PRIMARY_RUNTIME」的不实说明(子进程会清除 DSH_* 变量)
2026-11-04 18:18:02 +08:00
yudshj
012088543a
fix(office): PDF 导出后不再渲染,合并 DSH_BUNDLED_PRIMARY_RUNTIME 到 DSH_PRIMARY_RUNTIME
...
- office 路由技能:PDF 导出写明验收(复制的文件非空且以 `%PDF-` 开头)并在此停止;保留排版类任务主动渲染。office 工具让渲染只差一次调用后,模型常在导出后渲染 result.pdf 验收,e2e「exports PDF」因此失败。
- office-pptx / office-xlsx 删去不提供操作的免责句。
- Desktop、SDK 与 web-app 配置只读 DSH_PRIMARY_RUNTIME,空值视为未设置;SDK 启动器在用户未设置时才填入下载缓存路径。
- e2e 断言附带工具调用诊断;render 检测改用记录的 office 调用,新增 render-context.spec.ts。
- 同步 office 快照、README 与升级指南。
2026-11-04 18:17:58 +08:00
yudshj
50ba635949
feat(office): Office 操作改为常驻的原生 office 工具
...
- 新包 @deepseek-ai/dsh-tool-office 提供常驻的 office 工具(render / convert / recalculate),由 office-kit 在 Host 中直接调用 Kit 的 JS API;标准模式与 PTC 通过同一个工具调用
- render 的页面图片直接进入工具结果(有数量、像素与字节上限);convert / recalculate 的结果写入 office-kit 按 Session 划分的私有输出目录,由模型用 shell 复制到工作区,fs 与 Host 代码不写用户工作区
- 删除为 shell 执行 Kit CLI 而存在的代码:skill-office 的 node / cli / kitRoot、resolveKitCli、DSH_BUNDLED_OFFICE_CLI / DSH_BUNDLED_OFFICE_NODE / DSH_BUNDLED_RUNTIME_ROOT 与 Electron 下的独立 Node 检查;打包 smoke 改为经 office-kit 真实渲染、转换与重算
- office 由 web-app 的 standard / ptc 预设与 sdk-app 挂载,minimal 不挂载;操作技能正文与目录描述指向 office 工具
- 新增 Agent Note,部分取代 progressive-office-skills 的 shell 执行决定;同步 README、子系统页、catalog 与升级指南(含已保存预设的迁移步骤)
本 PR 的 snapshot 统一在这个提交里重新生成,前 4 个提交中的 snapshot 不一定和那一步的代码对应。
2026-11-04 18:17:58 +08:00
yudshj
a220e017b5
refactor(office): 合并为 office-kit,Kit 缺失时降级而非加载失败
...
- Kit CLI 由 office-kit/locate 在 Host 中定位(含 ASAR 映射与可选 root 越界检查),删除 Desktop 壳的 office-cli 与诊断文件;生产版 Desktop 由壳通过 DSH_BUNDLED_RUNTIME_ROOT 显式传入 Kit 根目录,开发版与 Web 不检查
- office-to-pdf 与 office-kit-resolver 合并为 @deepseek-ai/dsh-office-kit,由同一包定位 Kit 并提供转换服务
- Kit 缺失时 provider 照常注册,转换请求以 OfficeKitError unavailable 拒绝,之后安装 Kit 无需重载
- 类型统一使用 OfficeKit 前缀(OfficeKitRequest/Result/Priority/Key),同步消费方、文档、升级指南与 catalog
- 处理 ds-review-bot 意见,并更新 unknown 断言基线
本 PR 的 snapshot 统一在这个提交里用 keyless refresh 重新生成,前 3 个提交中的 snapshot 不一定和那一步的代码对应。
2026-11-04 18:17:57 +08:00
yudshj
ee06bf3f9b
fix(office): 升级 LibreOffice Kit 到 0.2.3,Kit CLI 定位失败时隔离并保留技能
...
- 将 Kit 引擎包解析提取为 office-engine-resolver,并与 master 的发布配置对齐
- LibreOffice Kit 升级到 0.2.3 正式版
- Desktop 的 Office CLI 改由 skill-office 解析 Kit,去掉 desktop-host 对 Kit 的依赖
- Kit 缺失时给出可操作错误;Office CLI 定位失败时隔离错误并保留 Office 技能
- 按 Kit 0.2.3 的 helper 授予 macOS JIT 权限,并按新 Host 签名转发夹具参数
2026-11-04 18:17:57 +08:00
yudshj
498d436db5
fix(office): 技能文件缺失时不再阻止 Desktop Host 启动,Office 改由 Desktop profile 挂载
...
- skill-office 在技能文件缺失或元数据解析失败时降级为持久失败,不再阻止 Desktop Host 启动
- Office 改由 Desktop profile 的 yaml 挂载,载体路径由 Desktop 壳通过 Host 环境传入
- 升级 LibreOffice Kit 到 rc.4,移除 Desktop Host 的引擎钩子,runtimeArchivePath 内联到 cli.ts 并删除 office-engine.ts
- 按平台原生路径和当前 Host 参数布局更新 web-app 与 desktop-host 测试夹具
2026-11-04 18:17:57 +08:00
winewill
0d03fb3ca3
Merge master into desktop channel version policy
2026-11-04 15:30:38 +08:00
std4453
a9b2873303
Merge pull request #7787 from deepseek-harness/turtle/add-paste-plain-shortcut-d16f8fd43c4b
...
feat(desktop): bind Paste and Match Style to Shift+Command+V on macOS
2026-11-04 15:18:06 +08:00
winewill
152d0294c2
fix(desktop): decouple update channels from version suffixes
2026-11-04 11:06:11 +08:00
80cec4bde3
refactor(desktop): spell out the macOS Edit menu copy
...
Co-authored-by: std4453 <[email protected] >
Co-authored-by: 07akioni <[email protected] >
2026-11-03 15:57:19 +08:00
34d1ff94f7
fix(desktop): localize macOS Edit submenu titles
...
Co-authored-by: std4453 <[email protected] >
Co-authored-by: 07akioni <[email protected] >
2026-11-03 14:43:04 +08:00
09f5e52fdd
feat(desktop): bind Paste and Match Style to Shift+Command+V on macOS
...
Refs #7782
Co-authored-by: std4453 <[email protected] >
Co-authored-by: 07akioni <[email protected] >
2026-11-03 14:02:29 +08:00
winewill
3c46127816
Merge remote-tracking branch 'origin/master' into feat/desktop-update-channels
2026-11-03 13:20:42 +08:00
winewill
d7ca2e0ac2
fix(desktop): keep configuration recovery dialog interactive
2026-11-03 12:50:36 +08:00
winewill
0535b85a1d
fix(desktop): recover update settings under mandatory policy
2026-11-03 11:54:27 +08:00
winewill
eb5b32c9c9
fix(desktop): report and recover saved channel apply failures
2026-11-03 11:47:04 +08:00
winewill
224fe9a658
fix(desktop): distinguish committed and uncertain settings saves
2026-11-03 11:26:57 +08:00
winewill
88b01c24ea
fix(desktop): discard stale channel check prompts and align error copy
2026-11-02 17:12:00 +08:00
winewill
c05a34e153
feat(desktop): reload update settings from configuration errors
2026-11-02 15:48:13 +08:00
winewill
f387930ebe
docs(desktop): align channel guidance with saved settings
2026-11-02 15:17:46 +08:00
winewill
c0795c003a
fix(desktop): explain current download filesystem failures
2026-11-02 14:32:06 +08:00
winewill
598006d608
fix(desktop): log obsolete update cleanup failures without blocking
2026-11-02 14:30:14 +08:00
winewill
f578528f1f
fix(desktop): guide recovery from invalid settings files
2026-11-02 14:28:37 +08:00
winewill
d2bd3f3893
feat(desktop): rename stable update channel consistently
2026-11-02 14:27:21 +08:00
winewill
1c9a7e6a71
fix(desktop): preserve updates on repeated channel selection
2026-11-02 14:26:09 +08:00
Turtle and lsdsjy
93bef27ec7
fix(desktop): remove legacy Host auth cookies from the default session
...
Earlier releases left one dsh-auth-* cookie per launch in the default
Electron session. Each Host start now removes them so other requests to
127.0.0.1 stop carrying them.
Co-authored-by: lsdsjy <[email protected] >
2026-10-31 19:55:51 +08:00
Turtle and lsdsjy
5868dbc357
fix(desktop): stop storing Host auth cookies in the Electron session
...
Each Desktop launch picks a random Host port and the native welcome client
authenticated through net.fetch with credentials: 'include', so the default
Electron session kept one port-named 30-day dsh-auth cookie per launch.
Cookies ignore ports, so every request carried all of them; after about 70
launches the Cookie header exceeded Node's 16 KiB limit, the Host answered 431,
and startup failed with 'Web authentication failed'.
The welcome RPC client and the account WebSocket now send the Cookie header
returned by authenticateWebHost explicitly and use no cookie jar.
Co-authored-by: lsdsjy <[email protected] >
2026-10-31 19:46:38 +08:00
winewill
32036b372e
fix(desktop): separate channel save feedback from update suspension
2026-10-30 17:48:17 +08:00
winewill
47c6e1da03
refactor(desktop): unify settings storage and field validation
2026-10-29 18:08:58 +08:00
winewill
acf3f66325
refactor(desktop): share shell settings path resolution
2026-10-29 17:57:09 +08:00
winewill
c2cda0bdd7
Merge origin/master into feat/desktop-update-channels
2026-10-29 15:27:08 +08:00
winewill
6d0a5f0f12
refactor(desktop): isolate updater qualification and gate dependency versions
2026-10-29 15:23:41 +08:00
07akioni
bc705e0ff1
fix(desktop): use developer tools as the localized menu name
2026-10-29 14:31:22 +08:00
07akioni
b83f38a44b
fix(desktop): group DevTools before quit and isolate shortcuts
2026-10-29 14:10:47 +08:00
07akioni
b5be2c0339
fix(desktop): localize DevTools menu labels
2026-10-29 14:03:00 +08:00
07akioni
4214f86da3
fix(desktop): show DevTools toggle in application menus
2026-10-29 13:40:11 +08:00
winewill
dc1eab34cc
fix(desktop): align update configuration locale key order
2026-10-28 19:11:44 +08:00
winewill
0cf76b9fad
feat(desktop): switch update channels from settings
2026-10-28 18:56:20 +08:00
zhc
39da0914a9
fix(file-actions): reveal saved files from completion toasts
2026-10-26 15:25:25 +08:00
zhc
1de7f17cc0
fix(context-menu): use native downloads and explicit plugin presentation
2026-10-26 14:01:31 +08:00
zhc
4abb9147cf
Merge master into feat/extensible-context-menus
2026-10-26 13:28:46 +08:00
winewill
6cbbc8caa5
Merge master and reconcile desktop diagnostic records
2026-10-26 11:05:45 +08:00
zhc
076b0e5881
fix(client): clarify context menu ownership and render icon groups
2026-10-23 18:32:36 +08:00
winewill
46ce2b61e0
Merge remote-tracking branch 'origin/master' into perf/desktop-packaging-integration
...
# Conflicts:
# docs/development.i18n.yaml
# scripts/build.spec.ts
2026-10-23 16:53:18 +08:00
winewill
36dce6b596
fix(desktop): preserve operation identity and bound diagnostic shutdown
2026-10-23 14:36:04 +08:00
winewill
77ee0be32d
fix(desktop): align diagnostic limits and recovery copy
2026-10-23 13:26:09 +08:00