Commit Graph
8409 Commits
Author SHA1 Message Date
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 4a41d3ad1f feat(office): Office 技能在 Desktop、Web、SDK 均可用
- Office 技能从 Desktop 专属改为在 Web、SDK 与 Desktop profile 中均可挂载
- skill-office 新增 pythonEnvironment 配置,按部署显式选择内置依赖或用户已有的 Python
- Python 类技能末尾追加固定的 Python 环境说明,技能正文不再写死 load_workspace_dependencies
- 去掉 node:sea 探测,避免 Web 预览镜像依赖 webworker stub
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
Jiawei Song 184fcae02d Merge pull request #7875 from deepseek-harness/docs/structured-tool-errors
docs(error-handling): require structured name and code for tool failures
2026-11-04 17:45:12 +08:00
sjw1231 e4bcdfe528 docs(error-handling): describe every structured tool error source
List registry cancellation results and tools/execute wrapper results
as structured error sources, name cancellation errors AbortError with
the ABORTED code, state that approval rejections and guard denials carry
no code yet, and allow per-failure classes with their own fields.

Refs #7869
2026-11-04 17:08:05 +08:00
Xu Hanxiang 0b4328d514 Merge pull request #7856 from deepseek-harness/docs/liveshare-surface-accuracy
docs(liveshare): state the viewer tool surface the code enforces
2026-11-04 08:39:36 +00:00
sjw1231 7fa2613383 docs(error-handling): require structured name and code for tool failures
Coded error classes extend HarnessError, foreign failures convert at their
owner, and every expected tool failure throws a HarnessError so tool/result
keeps error.name and error.code. Document when the registry records
ToolErrorInfo and point tool authors and reviewers at the rule.

Refs #7869
2026-11-04 16:08:54 +08:00
std4453 0ddca24030 Merge pull request #7569 from deepseek-harness/ux/session-menu-open-in-app
feat(client): 将 Open in 收进 Session 菜单并适配窄屏
2026-11-04 15:26:58 +08:00
Turtle 294a359142 docs(config): regenerate catalog for the source-frame minimum 2026-11-04 14:43:50 +08:00
zhc e85a3f90be Merge master into ux/session-menu-open-in-app
重新生成冲突的 ui-conversation 双语配对记录与 slot 目录;其余改动自动合并。
2026-11-04 14:31:49 +08:00
Dudu-0223 db109a62fb Merge master into feat/subagent-catalog-names 2026-11-04 14:16:00 +08:00
Yichen Jiang 2cee373847 Merge pull request #7358 from deepseek-harness/worktree/continue-generation-after-failure
feat(web): continue generation after transient request failures
2026-11-04 14:09:33 +08:00
zhc 39471d572d Merge master and fix CI on shared menu branch
- 合并最新 master,无冲突。
- 清理 `no-unknown-casts` 基线中已失效的 `session-log-export` 测试条目。
- 会话行 ⋯ 改为共享 `contextMenu.button` 后会显示 tooltip;它在气泡尺寸
  测量完成后才可见,原用例在假时钟下立即记录,结果取决于渲染时机。用例
  改为等待该 tooltip 可见,快照 `more-hover` 阶段记录该 tooltip。
- 删除子菜单几何用例中对父卡片施加 `transform` 的步骤。它验证的是已删除
  的逐帧移动跟踪;产品中的菜单卡片不带 transform,CSS 锚点对 transform
  的跟随由浏览器决定,WebKit 在负载下不稳定。行外边距、字号、父列表滚动
  与视口缩窄的真实布局验证保留。
2026-11-04 13:56:23 +08:00
Dudu-0223 bb3ac8e304 Merge master into feat/subagent-catalog-names 2026-11-04 13:51:31 +08:00
Jiawei Song e74ab10d10 Merge pull request #7714 from deepseek-harness/feat/apply-patch-row-summary
feat(ui): show and link the files an apply_patch row edits
2026-11-04 13:24:53 +08:00
Dudu-0223 4618fddfb5 fix(subagent): preserve compatible catalog checkpoints 2026-11-04 13:13:38 +08:00
Yichen Jiang 36ed2133ff Merge remote-tracking branch 'origin/master' into worktree/continue-generation-after-failure
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
2026-11-04 12:50:23 +08:00
zhc 68312d2a4a Merge master into ux/session-menu-open-in-app
重新生成冲突的 slot 目录与 ui-conversation 双语配对记录;其余改动自动合并。
2026-11-04 12:31:38 +08:00
zhc 45bb3da47e Merge master and position submenus with CSS anchors
master 通过 #7700 将 portal 菜单改为 CSS Anchor Positioning,并删除了
`useAnchoredPosition`。本次合并让子菜单跟进同一机制:

- 子卡片以父卡片内一个不随列表滚动、与卡片同尺寸的锚点框为默认锚点,
  侧开时默认在右侧、放不下时由 CSS 翻到左侧;单面板模式占据父卡片位置。
- JavaScript 只决定侧开或单面板,并提供当前行在父卡片内的偏移和子卡片
  自然高度;两者都是相对尺寸,双指缩放与平移由 CSS 锚点处理。
- 锚点框绕开了 WebKit 的两个问题:锚定到自身由锚点定位的父卡片时不会
  在其定位稳定后重新计算;锚定到滚动列表内的行时不计入滚动偏移。
- 删除 `useAnchoredPosition` 及其测试;`menu-submenu-position` 只保留
  侧开/单面板判断,相应单测改为验证模式与锚点名。
- 解决 README、测试与 package.json 冲突,沿用 master 的 CSS 锚点说明并
  补充子菜单定位描述。
2026-11-04 12:26:20 +08:00
Ziya d70967e36b Merge pull request #6586 from deepseek-harness/experiment/home-code-ripple
feat(web): play a pixel and code whale on blank home clicks
2026-11-04 04:07:26 +00:00
Dudu-0223 a6f6b98053 Merge master into feat/subagent-catalog-names 2026-11-04 12:04:15 +08:00
sjw1231 1d5f9f7607 Merge remote-tracking branch 'origin/master' into feat/apply-patch-row-summary 2026-11-04 12:03:48 +08:00
Dudu-0223 bfc89ed4a9 fix(team): reuse compatible owner-name checkpoints 2026-11-04 11:56:50 +08:00
Yichen Jiang 9ee92455c4 Merge pull request #7788 from deepseek-harness/worktree/forge-diff-base-branch-4ffd61
feat(forge): add a base branch picker to local changes and restyle merge
2026-11-04 11:38:17 +08:00
Yichen Jiang 46983a077f Merge remote-tracking branch 'origin/master' into worktree/continue-generation-after-failure 2026-11-04 11:27:00 +08:00
Yichen Jiang e369822bc0 Merge pull request #7832 from deepseek-harness/worktree/fix-floating-panel-anchors
fix(web): preserve floating panel anchor alignment
2026-11-03 23:20:25 +08:00
Turtle 917aab8204 Merge pull request #7830 from deepseek-harness/turtle/render-context-injection-f1a5826b9910
feat(ui-chat): show context injections as tool-call rows
2026-11-03 23:13:35 +08:00
TurtleandKaige-Gao f6e942a097 docs(ui-chat): document the context process category contract
Clarify the processActivity and summary JSDoc, correct the running label
in the title table, export RunningProcessActivity, and add the upgrade
guide for the ProcessActivity union change.

Co-authored-by: Kaige-Gao <[email protected]>
2026-11-03 22:05:51 +08:00
Yichen Jiang 0e8bfc1b9d fix(web): preserve floating panel anchor alignment 2026-11-03 21:58:56 +08:00
_Kerman 23b678df13 Merge pull request #7579 from deepseek-harness/xtr/ptc-timeout-step-1
feat(ptc): 协作停止保留状态并提供宿主重置
2026-11-03 21:00:19 +08:00
ihsiang 15e53db1bc Merge pull request #7474 from deepseek-harness/Ihsiang/ui-design-standards
docs: 统一 UI 设计 skill 与审查流程
2026-11-03 20:54:33 +08:00
_Kerman 9314e2de16 Merge remote-tracking branch 'origin/master' into xtr/ptc-timeout-step-1 2026-11-03 20:45:34 +08:00
_Kerman b0dd2f044e Merge pull request #7770 from deepseek-harness/fix/ptc-run-code-call-limit
fix(ptc): 按超时预算限制 run_code 工具调用总数
2026-11-03 20:40:14 +08:00
yixiangihsiang 47e4bbe3db docs: expose UI design references through one skill 2026-11-03 20:39:03 +08:00
yixiangihsiang f9a806c0f1 docs: integrate UI review cases and address review feedback 2026-11-03 20:39:03 +08:00
yixiangihsiang 4d7a673e32 docs: clarify minimum UI inspection requirements 2026-11-03 20:38:25 +08:00
yixiangihsiang 491251f618 docs: scale UI review effort to change impact 2026-11-03 20:38:25 +08:00
yixiangihsiang 34740e6db0 docs: consolidate UI skill rules and geometry guidance 2026-11-03 20:38:25 +08:00
yixiangihsiang cb6834f011 docs: define UI design decisions and review workflow 2026-11-03 20:38:25 +08:00
_Kerman ab2bee0051 Merge remote-tracking branch 'origin/master' into xtr/ptc-timeout-step-1 2026-11-03 20:12:59 +08:00
Dudu-0223 7c03d2a267 Merge pull request #7772 from deepseek-harness/fix/wait-agent-code-guidance
fix(subagent): prevent repeated wait_agent wakeups within code calls
2026-11-03 17:14:56 +08:00
Yichen Jiang 6f84e118b1 Merge remote-tracking branch 'origin/master' into worktree/continue-generation-after-failure
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
2026-11-03 16:48:34 +08:00
Dudu-0223 fd8dfa270d test(subagent): refresh naming snapshots against current base 2026-11-03 16:02:27 +08:00
Dudu-0223 7b2d7841dd Merge master into subagent naming fixes 2026-11-03 15:52:55 +08:00
Yichen Jiang a703e9e4b0 fix(forge): address review of the base branch picker
Identify a local review comparison by its compared ref instead of the
displayed base name. Branch records stored before this change appear in
the automatic comparison again, and comparisons that share a name, such
as a worktree start and a local branch, stay apart.

List base branch refs within maxDiffBytes, so a repository with more refs
than maxOutputBytes allows keeps a working menu, and document the
remaining limit.

Move the merge button fill toward the label color so its label reaches
4.5:1 contrast in both themes, name the automatic menu group, and drop an
unused DOM attribute.

Refs #7781
2026-11-03 15:52:36 +08:00
Dudu-0223 6c0b6c7aa3 fix(subagent): validate persisted names and clarify presentation 2026-11-03 15:51:40 +08:00
imccyu 36626c7dfa Merge pull request #7700 from deepseek-harness/refactor/css-anchored-panels
refactor(client): position floating panels with CSS anchors
2026-11-03 15:43:31 +08:00
Magolor d27dc27538 fix(ui-conversation): rebuild the conversation window after a failed incremental flush (#7537)
* fix(ui-conversation): rebuild the conversation window after a failed incremental flush

* fix(ui-conversation): keep the original failure when the rebuild also fails

* test(ui-conversation): type the recovery probe view for type-aware lint

* fix(ui-conversation): finish the rebuild inside flush and report it with ConversationUpdateError

* test(ci): retain process identity while awaiting runner recovery
2026-11-03 15:37:22 +08:00
Yichen Jiang 00fbab4c14 Merge remote-tracking branch 'origin/master' into worktree/continue-generation-after-failure
# Conflicts:
#	docs/persistence-schema.json
2026-11-03 15:28:52 +08:00