Commit Graph
7574 Commits
Author SHA1 Message Date
07akioni 11295990b5 fix(i18n): cover nested metadata and repair locale CI regressions 2026-10-21 17:00:42 +08:00
07akioni 87c4de2e43 chore(i18n): limit added locale checks to JSON metadata 2026-10-21 16:22:53 +08:00
07akioni ed783066e6 fix(i18n): complete Japanese plugin metadata and guard locale coverage 2026-10-21 16:14:12 +08:00
imccyu d4aa52c2be Merge pull request #6796 from deepseek-harness/07akioni/japanese-locale
feat(locale): 增加日语界面支持
2026-10-21 15:44:22 +08:00
Xu Hanxiang c818773a61 Merge pull request #6052 from deepseek-harness/fix/issue-5965-steer-background-wait
feat(jobs): release job_output waits on steered input
2026-10-21 15:44:05 +08:00
Yudong Han ef5f92c0c5 Merge pull request #6786 from deepseek-harness/fix/present-turn-end-delivery
fix(deliverables): present 说明交付在本轮结束后展示,并保留收尾回复之后的交付
2026-10-21 15:38:59 +08:00
Turtle 589790d6e9 Merge remote-tracking branch 'origin/master' into turtle/plugin-market-entry-8303d8c92886
# Conflicts:
#	apps/web/tests/inspector-late-enable.e2e.ts
#	packages/experimental/inspector-profile/README.i18n.yaml
#	packages/experimental/inspector-profile/README.md
2026-10-21 15:12:43 +08:00
mektpoy 01ea8ed877 docs(events): list tool-jobs as a consumer of agent/inbox/inserted
Generated by `pnpm exec tsx scripts/gen-doc-graphs.ts` after the wait-release
listener moved into the tool-jobs plugin.
2026-10-21 14:58:11 +08:00
yudshj 17c8fc7076 fix(deliverables): 收窄 present 描述,并让行内引用包含收尾回复之后的写入
present 描述改为宿主可能只在本轮结束后展示交付文件,并只在等待用户回答的工具调用前建议改用链接。
本轮产生的文件与交付声明一样按整轮取,不再按收尾回复的 seq 截断;README 补充交付卡片的展示时机。

Refs #6769
2026-10-21 14:52:55 +08:00
lsdsjyandlsdsjy 0e49f443dd feat(ui-conversation,ui-chat): 基于 user-text 支持富文本引用与草稿恢复 (#3206)
* feat(ui-chat,ui-conversation): 通过通用文本交互支持原文引用

* refactor(message-quotes): 插件化引用交互与文本扫描豁免

* test(message-quotes): 补齐插件装配预期与交互分发覆盖

* refactor(ui-conversation): 移除引用删除文案的语言切换刷新

* refactor(message-quotes): 移除引用扫描豁免并收窄文本交互接口

* fix(ui-chat): 修复引用浮层的滚动遮挡与恢复

* fix(ui-chat): 对齐 master 的聊天流注入与界面快照

* test(message-quotes): 补齐 Host 入口覆盖并固定子会话回放时序

* refactor(message-quotes): 清理文本依赖特例并修正引用按钮

* fix(ui-primitives): 让引用原文弹层按内容收缩

* fix(ui-primitives): 修复相邻引用悬停弹层重叠与误切换

* fix(message-quotes): 为引用悬停样式限定设备能力

---------

Co-authored-by: lsdsjy <[email protected]>
2026-10-21 14:41:41 +08:00
_Kerman b805300652 Merge pull request #6298 from deepseek-harness/xtr/session-model-selection
feat(agent): determine the request model before pre-step
2026-10-21 14:25:05 +08:00
CreatixChu 06ec84b259 Merge pull request #6806 from deepseek-harness/fix/cua-relative-999
fix(cua): 将相对坐标统一为 0–999
2026-10-21 14:22:06 +08:00
_Kerman 6bfe05c6f5 refactor(agent): name captured step selection modelSelection 2026-10-21 14:08:11 +08:00
_Kerman 4b36aebb97 Merge remote-tracking branch 'origin/master' into xtr/session-model-selection 2026-10-21 13:57:15 +08:00
_Kerman 62a1075fe7 Merge remote-tracking branch 'origin/master' into xtr/session-model-selection
# Conflicts:
#	docs/persistence-schema.json
2026-10-21 13:56:41 +08:00
_Kerman 051ac9154b Merge pull request #6688 from deepseek-harness/xtr/ptc-birpc-transport
refactor(ptc-runtime-node): carry the process control channel over birpc
2026-10-21 13:53:43 +08:00
07akioni 358c142716 Merge master for current locale keys 2026-10-21 13:47:53 +08:00
07akioni 6238020202 fix(locale): type additional dictionaries and complete Japanese registration 2026-10-21 13:42:49 +08:00
Turtle 11589ed104 feat(web): list custom plugin markets on the main experimental list
Developer Tools moves to the More page.
2026-10-21 13:34:13 +08:00
Turtle c7be617437 Merge remote-tracking branch 'origin/master' into turtle/plugin-sentence-case-299acab3ee89
# Conflicts:
#	packages/experimental/cua/src/application-access.ts
2026-10-21 13:28:18 +08:00
creatixchu e0b95e3e6e fix(cua): preserve thousandth scaling for relative coordinates 2026-10-21 13:25:51 +08:00
CreatixChu c266317763 Merge pull request #6650 from deepseek-harness/feat/cua-approval-format
feat(approval): 为 CUA 应用授权提供固定审批格式
2026-10-21 13:18:48 +08:00
Turtle edde4a0667 Merge pull request #6795 from deepseek-harness/turtle/standard-plugin-manager-a5c4c80ab718
feat(preset): enable plugin_manager in standard mode
2026-10-21 13:09:08 +08:00
creatixchu 56f783f50a Merge remote-tracking branch 'origin/master' into feat/cua-approval-format
# Conflicts:
#	docs/persistence-schema.json
2026-10-21 12:48:44 +08:00
creatixchu 7e8bf2808d fix(cua): normalize relative coordinates to 0–999 2026-10-21 12:46:20 +08:00
Turtle f7a69f8421 docs(preset): describe plugin management in Standard mode 2026-10-21 12:36:18 +08:00
TurtleandMagolor 472f0c8258 docs: formalize sentence case for English UI copy
Record the sentence-case rule for English UI copy and plugin titles, sync remaining README label references, and keep the session-inspector Chinese dictionary unchanged.

Refs #6790

Co-authored-by: Magolor <[email protected]>
2026-10-21 12:06:49 +08:00
turtle1999 5b23990a0e Merge remote-tracking branch 'origin/master' into persistence-schema-digest-keys
# Conflicts:
#	docs/persistence-schema.json
2026-10-21 12:06:20 +08:00
ZiyaandZiyaZhang e819a7126b feat(web): hide persistent terminal bundle controls (#6753)
Co-authored-by: ZiyaZhang <[email protected]>
2026-10-21 03:52:24 +00:00
creatixchu 0fa948bf16 Merge latest master into CUA approval format 2026-10-21 10:36:56 +08:00
yudshj 76d015b484 fix(deliverables): present 说明交付在本轮结束后展示,并保留收尾回复之后的交付
present 的工具描述说明宿主在本轮结束后展示交付文件,需要用户提前审阅时改为在消息中链接。
交付卡片不再按收尾回复的 seq 过滤,同一步给出文字并调用 present、之后没有文字的轮次也会显示卡片。

Refs #6769
2026-10-21 10:33:56 +08:00
_Kerman 96b32df5db Merge remote-tracking branch 'origin/master' into xtr/ptc-birpc-transport 2026-10-21 10:30:33 +08:00
ZiyaandZiyaZhang 5e9bb51724 feat(plugins): Ralph 循环和会话搜索默认从 GUI 隐藏 (#6754)
* feat(plugins): hide Ralph and session search from default discovery

* fix: keep hidden bundled plugins explicitly activatable

---------

Co-authored-by: ZiyaZhang <[email protected]>
2026-10-20 10:26:31 -07:00
_Kerman a9c006f9c3 refactor(agent): own model selection on each agent 2026-10-20 21:09:09 +08:00
creatixchu 96e962bc12 Merge remote-tracking branch 'origin/master' into feat/cua-approval-format
# Conflicts:
#	packages/experimental/cua/src/client/mount.ts
2026-10-20 21:05:45 +08:00
_Kerman 639602e63a Merge origin/master into xtr/session-model-selection 2026-10-20 20:57:11 +08:00
Turtle 358ce64945 Merge pull request #6738 from deepseek-harness/revert-6418-worktree/session-agent-controller-refactor-ff892d
Revert "feat(agent): admit Web prompts through the agent controller"
2026-10-20 19:28:42 +08:00
Turtle aa8bdfc79e Revert "feat(agent): admit Web prompts through the agent controller" 2026-10-20 19:09:02 +08:00
Stevring 65d4afafd6 fix(client): reveal menu shortcuts during keyboard navigation 2026-10-20 18:57:48 +08:00
_Kerman 8b79a1ddcc Merge origin/master into xtr/session-model-selection 2026-10-20 17:22:59 +08:00
Stevring b7d8943cfa Merge origin/master into fix/touch-tooltip-interactions 2026-10-20 17:12:10 +08:00
_Kerman 427d62d4a7 fix(ptc-runtime-node): fail fast on mismatched bootstraps and late replies
- Reject a control line that does not start with "{", so another
  release's length-prefixed frame fails as a protocol error instead of
  waiting for a newline until the deadline.
- Bump SSH_PROTOCOL_VERSION to 3: executable helpers embed the PTC
  worker, so an older helper is now rejected while connecting.
- Send a small error instead of a late binding result from a finished
  persistent evaluation, so it cannot overflow the pipe shared with
  the next evaluation.
- Leave per-call binding waits pending after the result instead of
  rejecting them; unawaited calls crashed the child and leaked the
  trace into the result logs.
- Pin birpc to 4.2.0 so the host and the bundled child agree, and
  regenerate THIRD_PARTY_NOTICES.md.
- Update stale frame wording.
2026-10-20 16:06:50 +08:00
imccyu 14e5add505 Merge master into DSH 0.2.1 entry customization synchronization branch
Bring master 45d1196d3fe into the release/dsh-0.2.1 squash commit of #6247
so the release commit stays an ancestor of master.

Conflict resolutions:
- apps/web/tsconfig.json, tsconfig.host.json: keep the entry-customization
  e2e and master's Computer Use e2e entries.
- docs/subsystems/slots.{md,zh.md}: keep both added paragraphs; re-record the
  slots, ui-primitives, and ui-workspace README translation pairs.
- ui-sidebar SidebarRoot.tsx and locales.ts: keep the More menu imports and
  copy next to master's version-copy toast.
- apps/web/tests/agent-preset-selection.e2e.ts: keep the New Session
  blank-reuse assertions, read presets through master's
  sessionProjections.checkpoint() instead of the deprecated stateOf().

Follow-ups on master's side:
- ui-sidebar sidebar-root spec: give master's version-copy render the entry
  pin props that SidebarRootInjected now requires.
- snapshots/web/steering/trajectory.expected.md: add the More conversation
  views trigger to master's new Trajectory golden.
2026-10-20 15:47:29 +08:00
5ff29190ed feat(ui): add navigation entry customization (#6247)
* fix(ui): avoid tooltip trigger overlap when a side fits

* feat(ui): add navigation entry customization

* fix(test): keep tooltip geometry independent of JSX types

* fix(ui): align customization catalogs and integration fixtures

* test(ui): complete customization lifecycle and release integration coverage

* fix(ui): return entry discovery to the installed plugin list

* docs: refresh module graph for entry customization

* build: refresh workspace links for the moved entry customization package

* docs: regenerate catalogs and pairing hashes for the moved entry customization package

* test(web): cover default-loaded entry customization in the Web e2e

* test(ui): describe entry customization as a browser plugin in the host entry spec

* build: order entry customization publication files as workspace constraints require

* test(release): drop the moved entry customization package from the experimental family list

* style(ui): use the shared focus ring color on entry customization triggers

* test(web): re-record goldens for the default-loaded More navigation menus

* test(web): add the More conversation views trigger to the remaining CI-reported goldens

* docs: record region-owned pins for plugin entry customization

* refactor(ui): rebuild entry customization on region-owned pins and More menus

- Each navigation region (left sidebar, Conversation header, right sidebar
  guide) persists its own unpinned list under
  dsh.slot.manual-order.<list slot key>.v1, filters its own launchers, and
  draws its own More button and Menu around its actions slot.
- ui-entry-customization only registers the shared menu rows (entries with
  pin buttons, Browse other plugins, Create your plugin) into the three
  actions slots and keeps no state.
- Remove ctx.layout.entryVisibility, the plugin store, left-sidebar drag
  reordering, and agentPresetNavigation; ui-layout and ui-agent-preset match
  release/dsh-0.2.1 again.
- Keep the release <nav> and Conversation tab-bar visibility conditions.
- Move the More glyph into ui-primitives as IconAppsAddOutline{Regular,Medium}.

* docs: compile the entry customization owner props example

* docs(ui): describe the wrapping Conversation tab row in the header comment

* fix(ui): return New Session to the Workspace blank and its unsent draft

- New Session (startSession without options) takes the blank-reuse path
  again instead of creating a fresh Session on every call, which hid the
  previous blank and its unsent draft since a5c9c2aaeef (#5775).
- A request that names an Agent preset skips blanks listing a different
  preset, so Creator entries no longer take over an ordinary draft.
- Record the change in a v0.2.1-rc.2 upgrade guide; the Host refresh of a
  stale loaded blank stays deferred (see the Agent Note).

* docs: regenerate the Cordis inspect catalog for New Session blank reuse

* fix(ui): keep the selected entry visible while unpinned

- Left-sidebar rows and View tabs keep the selected entry, with aria-current or aria-selected, until another entry is selected.
- Entry menu Creator action takes no region argument; the registration's region selects the prompt.
- Document the 2px panel-row and 32px View-tab gaps; drop commit hashes from the New Session Agent Note.

* fix(ui): leave a blank of another preset unstaged when starting Creator

startCreatorDraft stages cordis only when the main blank lists no preset or already lists cordis; navigation opens a separate Creator blank otherwise, so a Standard draft blank keeps its preset.

* feat(ui): choose whether a draft prompt replaces, appends to, or keeps an existing draft

- DraftInitializationOptions gains whenDraftExists ('replace' | 'append' | 'keep', default 'keep'); clearPreviousDraft stays and maps to 'replace' only when whenDraftExists is omitted.
- Append adds the prompt as new paragraphs after the existing text and references; attachments stay in every mode.
- The three Create your plugin entries append their regional prompt.

* test(web): align e2e with New Session blank reuse and the visible selected entry

* refactor(ui): share the draft paragraph writer between setDraft and appendDraft

---------

Co-authored-by: Yif <[email protected]>
Co-authored-by: imccyu <[email protected]>
2026-10-20 15:17:13 +08:00
Stevring dbb0d2bd83 Merge origin/master into fix/touch-tooltip-interactions 2026-10-20 14:34:15 +08:00
Turtle c3e9b28845 Merge pull request #6354 from deepseek-harness/agent/web-fetch-fakeip-469be4db70d0
fix(web)!: let web_fetch reach non-public destinations
2026-10-20 14:13:24 +08:00
creatixchu 4dc4da365c docs(approval): state label and icon source ownership 2026-10-20 13:10:03 +08:00
creatixchu 6f6f889c95 Merge remote-tracking branch 'origin/master' into feat/cua-approval-format 2026-10-20 13:05:27 +08:00
Turtle a0ad6c5345 docs: regenerate module graph after dropping web-fetch-http's proxy dependency 2026-10-20 13:00:18 +08:00
Stevring 94ffdd2377 fix(client): align touch tooltips and hover affordances 2026-10-20 12:50:31 +08:00