Commit Graph
19942 Commits
Author SHA1 Message Date
Ziya 90e8dfd17f Merge branch 'master' into fix/schedule-record-prompt-clamp 2026-09-24 02:58:29 -07:00
Turtle 3c9c18c9fe fix(preset): route profile feature enabling through cordis-plugin-development (#5138)
Broaden the skill description to cover enabling a shipped plugin that a
bundle leaves disabled, add the workspace-bundle recipe for it, forbid
hand-editing profile files that install_bundle owns, and verify installs
through the install result and cordis_inspect_query instead of logs,
process lists, or paged list_plugins calls.
2026-09-24 17:51:15 +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
ZiyaZhang d8e3efa860 test(cli): expect Schedule tools in the legacy preset-patch session
#5108 added this case against a master where the shipped Web bundle had no
Schedule rows; #5123 then made Schedule part of the default Web composition.
Every other minimal-preset session in this file already expects bash plus
the four Schedule tools, so this one does too.
2026-09-24 02:47:26 -07: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
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
lsdsjy c0f0bcf587 Merge pull request #5108 from deepseek-harness/feat/developer-mode-preset-selection
feat(web): 由开发者模式统一控制新任务模式选择
2026-09-24 17:24:51 +08:00
turtle1999 e1f65ea640 fix(preset): route profile feature enabling through cordis-plugin-development
Broaden the skill description to cover enabling a shipped plugin that a
bundle leaves disabled, add the workspace-bundle recipe for it, forbid
hand-editing profile files that install_bundle owns, and verify installs
through the install result and cordis_inspect_query instead of logs,
process lists, or paged list_plugins calls.
2026-09-24 17:20:17 +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
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
Chinesezjc f31e51124b test(cli): pin the shipped Schedule rows by name, not loader id 2026-09-24 16:49:34 +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
Dudu-0223 974c149446 Merge pull request #5114 from deepseek-harness/refactor/catalog-descendant-listing
refactor(subagent): discover descendants through parent catalogs
2026-09-24 16:46:03 +08:00
Chinesezjc 015c187e67 test(cli): read the inspect answer through the spill policy
The shipped Web composition now puts four Schedule tools on every live root
Agent, which pushes a full-preset `cordis_inspect_query` answer past the
12,500-token inline budget, so the spill policy retains its head and tail with
a spill path instead of the complete JSON.
2026-09-24 16:41:20 +08:00
Turtleandturtle1999 950910bdf9 fix(ci): preserve Wine build metadata and isolate test fixtures (#5088)
* fix(ci): preserve Wine build metadata and isolate test fixtures

* test(web): reopen shortcut fixture sidebar with its binding

---------

Co-authored-by: turtle1999 <[email protected]>
2026-09-24 16:37:37 +08:00
lsdsjy 7b86b84c2f fix(web): 修复账号模型设置的 namespace 识别 2026-09-24 16:37:07 +08:00
Chinesezjc 5c768e3c8a fix(schedule): point shared session references at the selected generation
Refreshed owners publish a v4 generation, so every scenario that names
another owner's Session fixture must name that owner's highest generation.
The shipped Web composition also puts the Host Schedule tools on every live
root Agent, so the minimal-preset tool-table assertions include them.
2026-09-24 16:37:05 +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
Dudu-0223 af371e21c0 revert(subagent): preserve list_agents tool descriptions 2026-09-24 16:32:57 +08:00
Dudu-0223 88500a0f3a fix(subagent): align catalog discovery docs and regression coverage 2026-09-24 16:30:58 +08:00
Chinesezjc fe6ce46248 docs(context): keep the group summary within its word budget 2026-09-24 16:28:51 +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
turtle1999 da05b8d9c5 test(web): reopen shortcut fixture sidebar with its binding 2026-09-24 16:27:07 +08:00
Dudu-0223 4e6a1c1073 fix(session-query): classify live projection failures as corrupt 2026-09-24 16:13:37 +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
turtle1999 6720a1206f fix(ci): reconcile workspace fixture with current master 2026-09-24 16:02:31 +08:00
Ziya 60e69cb931 Merge pull request #5113 from deepseek-harness/fix/github-recovery-on-mirror
fix(plugin-manager): offer another way when a GitHub failure already asked the mirror
2026-09-24 01:01:22 -07:00
Dudu-0223 311cac1c17 docs: refresh subagent dependency graph 2026-09-24 15:54:47 +08:00
Dudu-0223 a4ddc28ed5 refactor(subagent): traverse descendant catalogs recursively 2026-09-24 15:49:55 +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 55fadaa601 Merge pull request #5030 from deepseek-harness/ihsiang/ui-visual-consistency
feat(web): 统一界面圆角与菜单材质,优化文件改动展示
2026-09-24 15:10:55 +08:00
imccyu d3314da7c2 test(web): expect unblurred desktop onboarding confirmations 2026-09-24 14:58:55 +08:00
imccyu 59d2e01575 revert(desktop): remove branch-local development launchers 2026-09-24 14:58:55 +08:00
imccyu 6000dcdda5 fix(web): reconcile visual consistency after master rebase 2026-09-24 14:58:55 +08:00
yixiangihsiang 63c7e370ce test(desktop): isolate packaging Git observations from concurrent fixtures 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 8b60939220 fix(desktop): confine launcher proxies to runtime preparation 2026-09-24 14:58:54 +08:00
yixiangihsiang fdd14a0989 feat(web): unify UI materials and streamline file review 2026-09-24 14:58:54 +08:00
lsdsjy 7e97c458ba Merge pull request #5106 from deepseek-harness/fix/account-balance-timeout
fix(account): extend balance request timeout to 30 seconds
2026-09-24 14:50:25 +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
winewill 3511c45426 Merge pull request #5015 from deepseek-harness/feat/close-window-quit-behavior
feat(desktop): 关闭窗口隐藏到后台,退出前按任务状态确认
2026-09-24 14:45:04 +08:00
lsdsjy 4c4108ef1b test(web): 修复模式选择测试类型断言与分支覆盖 2026-09-24 14:42:13 +08:00
winewill fbb3fb770f fix(desktop): cancel pending quit decisions during installer exit 2026-09-24 14:36:02 +08:00