Commit Graph
4740 Commits
Author SHA1 Message Date
zhc 8cfb9d4a67 Merge model selection pending state from master 2026-09-24 19:39:50 +08:00
imccyu b16b1eaea8 Merge pull request #5117 from deepseek-harness/ihsiang/shortcut-sidebar-polish
feat(web): refine shortcut editing and sidebar hints
2026-09-24 19:38:09 +08:00
zhc 0c7777828c Merge master into desktop analytics review fixes 2026-09-24 19:36:26 +08:00
Turtle c8631b2064 Merge pull request #5109 from deepseek-harness/refactor/trim-tool-constraint-descriptions
refactor(tools): trim constraint prose from tool descriptions
2026-09-24 19:34:54 +08:00
Turtle 6d5b3e8c23 Merge pull request #5156 from deepseek-harness/turtle/model-select-pending-spinner
feat(ui-model-selection): show a spinner while a model selection is pending
2026-09-24 19:34:15 +08:00
zhc 1dc5232999 fix(desktop): isolate analytics and redact installer inputs 2026-09-24 19:29:30 +08:00
Turtle 7bd17809e3 Merge pull request #5163 from deepseek-harness/turtle/fix-issue-3390-dfb901b523d2
feat(ui-tool): link the collapsed web fetch URL
2026-09-24 19:25:41 +08:00
Yichen Jiang a5309122f4 Merge pull request #5011 from deepseek-harness/worktree/voice-setup-navigation
feat(voice-input): guide unready microphones to plugin setup
2026-09-24 19:16:33 +08:00
turtle1999 d55f434cdf fix(ui-model-selection): own the pending selection in ModelDirectory
The seat kept the pending row in local state, so a stale settlement after
connection/reset could clear a newer selection's spinner, a remount lost
it, and /model popup selections never marked a row. ModelDirectory now
publishes the submitted selection as pending under its generation guard.
The trigger spins whenever a selection is pending, so leaving the row's
pane keeps the feedback visible.
2026-09-24 19:09:14 +08:00
Turtle b8e30bf599 fix(ui-tool): address review on web fetch summary link 2026-09-24 19:02:19 +08:00
yixiangihsiang f1b65c78f1 Merge latest origin/master and refresh translation pairing 2026-09-24 18:59:19 +08:00
Turtle 61a0ed487e feat(ui-tool): link the collapsed web fetch URL
Closes #3390
2026-09-24 18:41:58 +08:00
yixiangihsiang 4d4bb4c907 fix(client): reveal new-session keys on hover and align settings radius 2026-09-24 18:40:55 +08:00
turtle1999 c87959bc44 feat(ui-model-selection): show a spinner while a model selection is pending
session.selectModel can take seconds while the Host persists the default
model. The composer seat disabled its rows with no other feedback; the
chosen row now spins in its check slot, and the trigger spins in place of
its chevron while the menu is closed.
2026-09-24 18:18:34 +08:00
lsdsjyandlsdsjy 1103c1a7dd fix(web): 将开发者工具开关更名为代码工作工具 (#5149)
* fix(web): 将开发者工具开关更名为代码工作工具

* test(web): 补齐旧预设配置的定时任务工具断言

* docs(web): 同步代码工作工具开关名称

---------

Co-authored-by: lsdsjy <[email protected]>
2026-09-24 10:15:55 +00:00
Turtle 488409e306 Merge pull request #5141 from deepseek-harness/turtle/settings-subagent-label-ffe748ff3c38
fix(client): use 子智能体 on the Chinese Subagent settings page
2026-09-24 18:12:29 +08:00
yixiangihsiang eccfda04d6 Merge origin/master into ihsiang/shortcut-sidebar-polish 2026-09-24 18:05:36 +08:00
Ziya 90e8dfd17f Merge branch 'master' into fix/schedule-record-prompt-clamp 2026-09-24 02:58:29 -07:00
yixiangihsiang 08daf789d5 fix(client): keep new-session shortcuts visible and address review 2026-09-24 17:53:53 +08:00
turtle1999 ab2f5d3009 refactor(tools): drop system-prompt repeats of tool definitions
Tool guidance sections keep only what the tool definitions do not say.
Apply review: reword interrupt_agent and list_agents, carry "a rejected
escalation stays denied" in the rejection error, pin
sandboxPermissionsDescription, and fix stale README and Agent Note
statements. Record the tool-definition rules in agent-experience.

Compaction threshold snapshots shift their context windows by the
370-token system-prompt estimate reduction; escalation-rejected moves to
a v4 fixture for the new rejection text.
2026-09-24 17:52:58 +08:00
12c9dd599e feat(approval): localize approval explanations (#4793)
* feat(approval): localize prompts and allow consent for one turn

* test(approval): update cast baseline and Web PTC prompt pin

* fix(approval): cover PTC language and clarify turn consent

* fix(approval): group turn consent under allow menu

* fix(approval): keep turn consent in memory only

* test(snapshot): refresh owners for merged justification guidance

* fix(approval): drop duplicate allow-once from the allow menu

* refactor(approval): derive turn consent expiry from one check

Replace the turn approval bookkeeping (revocation state, incremental log
cursor, and turn-signal listeners) with one side-effect-free expiry check
over the log and lifetime flags. Events now only withdraw open
presentations early; the expiry check decides whether an answer or turn
consent still applies, including for Sessions without event publication.

* refactor(approval): drop one-turn consent and keep localization only

Remove the allowed-turn answer, the live turn-consent state, the allow
menu, and their tests, notes, and recorded Web scenario. The approval
service returns to the master request path; the request keeps the
localized displayReason for presentation, and the card resolves it in
the active UI language.

* test(snapshots): record the localized justification schema text in new scenarios

---------

Co-authored-by: Turtle <[email protected]>
Co-authored-by: Kaige-Gao <[email protected]>
2026-09-24 17:47:42 +08:00
lsdsjy 62db4c88c9 Merge pull request #5127 from deepseek-harness/fix/account-model-settings
fix(web): 修复账号模型设置的 namespace 识别
2026-09-24 17:43:32 +08:00
Turtle 259534c2c7 docs: call the Chinese settings page 子智能体 in zh READMEs 2026-09-24 17:40:47 +08:00
ZiyaZhang 27a0a4606c Merge remote-tracking branch 'upstream/master' into fix/schedule-record-prompt-clamp
# Conflicts:
#	packages/client/ui-schedule/README.i18n.yaml
2026-09-24 02:31:11 -07:00
Turtle bfd7e859f5 docs(client): re-record ui-settings-subagent README pairing 2026-09-24 17:26:11 +08:00
lsdsjy c0f0bcf587 Merge pull request #5108 from deepseek-harness/feat/developer-mode-preset-selection
feat(web): 由开发者模式统一控制新任务模式选择
2026-09-24 17:24:51 +08:00
Turtle cf8fe108d5 fix(client): call Subagent 子智能体 in the Chinese settings page 2026-09-24 17:18:42 +08:00
zhc 35fa12f2a5 Merge master into desktop product analytics 2026-09-24 17:11:06 +08:00
Chinesezjc 4611e32e64 Merge pull request #5123 from deepseek-harness/feat/automation-phase1
feat(schedule): ship Schedule in the default Web composition
2026-09-24 17:10:53 +08:00
zhc b1cf871b25 feat(desktop): collect product analytics through OTel 2026-09-24 17:08:31 +08:00
ZiyaZhang 955a706d33 fix(ui-schedule): clamp saved prompts in task run records to two lines
Each record rendered its whole saved prompt, so a long instruction on a
recurring task filled the records tab with the same text once per run.
A prompt longer than two lines now shows two lines and an Expand toggle;
the toggle appears only while the clamp hides text, and a collapsed prompt
re-measures when the panel width changes.

Also drop the stale comment about the removed message-id anchor.
2026-09-24 01:59:56 -07:00
lsdsjy d183c8a8c0 fix(web): 按账号 provider 识别模型编辑器 2026-09-24 16:57:08 +08:00
lsdsjy 5577becafe fix(web): clear staged preset when developer tools turn off 2026-09-24 16:49:42 +08:00
Kexin Liu 89756afa72 Merge pull request #4691 from deepseek-harness/fix/focus-ring-brand-primary
fix(client): unify blue focus rings and keep silent focus silent
2026-09-24 16:48:12 +08:00
lsdsjy 7b86b84c2f fix(web): 修复账号模型设置的 namespace 识别 2026-09-24 16:37:07 +08:00
Turtle a3480857dd feat(plugins): offer Auto review and keep Inspector explicitly installed (#4867)
* feat(experimental): ship every experimental capability as an optional bundle

dsh-base mounts the registration-only browser-use and computer-use
services; the Playwright MCP, Chrome DevTools MCP, native and MCP Cua
Driver providers, Auto review, and the Inspector become one-row bundles
listed in OPTIONAL_BUNDLES with an icon and locale display metadata.
verify-default-product-isolation requires both for every optional
bundle. Python PTC and Stagehand stay explicit compositions.

* feat(experimental): keep optional bundles inside the install closure

Drop the Playwright MCP, Chrome DevTools MCP, and native Cua Driver
bundles: each is a runtime dependency of every install and would add
about 85 MB of provider runtimes whether or not enabled. dsh-browser-use
leaves dsh-base with them. The three packages keep their locale display
metadata for component rows.

* feat(experimental): drop the Cua Driver MCP bundle and leave dsh-base untouched

* test(web): refresh Official-group goldens for the four optional bundles

* fix(plugins): use an uninstalled bundle as the install example and pin optional-bundle metadata

The install guide's example is now @deepseek-ai/dsh-subagent-codex,
a published bundle no shipped profile carries, since Auto review is an
installed optional bundle. The optional-bundle spec guards its corpus and
pins each bundle's title, description, and icon in both languages; the
Inspector's Loader test mounts its real bundle patch, its Client names
the reload a hot-enabled page needs, and its description states the
loopback DevTools endpoint's reach.

* test(web): refresh GitHub install recovery placeholder snapshot
2026-09-24 16:33:50 +08:00
imccyu 3eadc9b56c Merge pull request #5107 from deepseek-harness/fix/desktop-local-markdown-images
fix(desktop): 修复本地 Markdown 图片预览
2026-09-24 16:27:11 +08:00
Chinesezjc e896737840 feat(schedule): ship Schedule in the default Web composition
The Web bundle now mounts `time-context` and `schedule` and leaves the
`ui-schedule` client row enabled, so the Automation tasks page, the Session
reminder catalog, and the `schedule_*` tools work without an overlay. Both
packages join the bundle's declared dependencies, and the example overlay is
deleted: re-inserting its rows would mount both Host plugins twice.

The fixed-rate floor drops from 300 to 60 seconds across the Host decoder,
the create and update validation, the model-visible tool schema, and the
client's per-unit floors.

Web recorded sessions and header sidecars are refreshed for the readings
`time-context` now appends; `normalizeWebSessionVolatiles` tokenizes their
sampled instant, browser zone, and elapsed duration so replay stays stable.
2026-09-24 16:11:52 +08:00
mektpoy 8e42deafa1 fix(client): keep the sidebar toggle's focus ring unclipped
The sidebar toggle is flush with `.logoRow`, which clips its own overflow, so
the standard outward ring lost every pixel that left the row: the reviewer saw
the ring cut on the toggle in both the expanded header and the settled rail.

The 36px rail toggle is also 1px wider than its 35px row, so the control's own
right edge was clipped there. Draw this control's ring inside its own box and
stop clipping the row once the rail has settled; the ring keeps the standard
`--dsw-focus-ring-width` colour and width, and pointer modality still resolves
`--dsw-focus-ring-color` to transparent.

`focus-rings.e2e.ts` asserts the whole ring against every clipping ancestor in
both layouts, in both themes.
2026-09-24 16:02:45 +08:00
yixiangihsiang ed3dcf54c5 feat(web): refine shortcut editing and sidebar hints 2026-09-24 15:55:33 +08:00
ZiyaZhang d7db3a2f06 test(plugin-manager): name the on-mirror recovery case by what it asserts 2026-09-24 00:46:50 -07:00
liukx0205 9827bcfb37 Merge master into fix/focus-ring-brand-primary 2026-09-24 15:38:51 +08:00
lsdsjy 53e000810d Merge origin/master into feat/developer-mode-preset-selection 2026-09-24 15:33:43 +08:00
ZiyaZhang ef516f98cf fix(plugin-manager): offer another way when a GitHub failure already asked the mirror 2026-09-24 00:29:39 -07:00
imccyu 6000dcdda5 fix(web): reconcile visual consistency after master rebase 2026-09-24 14:58:55 +08:00
yixiangihsiang df2372fefe fix(web): preserve macOS overlay opacity and desktop launch settings 2026-09-24 14:58:55 +08:00
yixiangihsiang fdd14a0989 feat(web): unify UI materials and streamline file review 2026-09-24 14:58:54 +08:00
mektpoy 74a0c834f9 Merge remote-tracking branch 'origin/master' into fix/focus-ring-brand-primary
Only the ui-theme README pairing record conflicted; re-recorded. The stylesheet
corpus spec passes over master's new client sheets, so no ring needed realigning.
2026-09-24 14:49:16 +08:00
mektpoy 006244a3ad refactor(client): unify the trajectory cell's selected ring on the brand blue
`.selected` still named `--dsw-alias-brand-primary-new-colorprimary-new-color`, the
corrupted token left by a botched rename; its dark value is `deepseek-450` while
every focus ring now uses `deepseek-400`. The selection ring reads the clean
brand-blue alias instead, so one blue covers selection and focus.
2026-09-24 14:47:50 +08:00
lsdsjy 4c4108ef1b test(web): 修复模式选择测试类型断言与分支覆盖 2026-09-24 14:42:13 +08:00