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
Turtle and Kaige-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