Commit Graph
6614 Commits
Author SHA1 Message Date
imccyu 7e00f186e2 Merge pull request #8022 from deepseek-harness/turtle/fix-ungrouped-new-session-8d376327b451
fix(ui-workspace): drop the inert New Session button from the Ungrouped header
2026-11-06 16:07:56 +08:00
winewill 04188f67e7 Merge pull request #7951 from deepseek-harness/fix/desktop-update-progress-width
fix(desktop): 稳定下载进度宽度并补充检查更新反馈
2026-11-06 15:23:44 +08:00
Turtle ea7c3c11c6 Merge pull request #7976 from deepseek-harness/feat/creator-persona-intent
feat(preset): state Creator's DSH customization purpose
2026-11-06 15:12:46 +08:00
Turtle ce1bb48a12 docs(ui-workspace): state why the Ungrouped header has no New Session 2026-11-06 15:12:04 +08:00
Turtle 1d4aaa8bf9 fix(ui-workspace): drop the inert New Session button from the Ungrouped header
Ungrouped Sessions share no directory, so the header's + never started a Session.

Fixes #8018
2026-11-06 14:57:19 +08:00
winewill e69ab4fcc5 Merge pull request #7925 from deepseek-harness/turtle/fix-windows-cursor-schedule-07061c1d6f38
fix(ui-schedule): keep Pause/Resume enabled-looking while the Host answers
2026-11-06 14:37:22 +08:00
Yichen Jiang 6a315e6aea Merge pull request #8008 from deepseek-harness/fix/forge-file-menu-and-comment-echo
fix(forge): center the selected file in the file menu and shorten comment quotes
2026-11-06 14:22:57 +08:00
winewill f823dac5c7 fix(desktop): open download status from progress indicator 2026-11-06 13:54:41 +08:00
Turtle ac006780c0 Merge pull request #7405 from deepseek-harness/fix/plugin-not-running-status
fix(plugins): mark selected bundles DSH skipped as not running
2026-11-06 13:29:58 +08:00
std4453 80e3e61577 Merge pull request #7713 from deepseek-harness/feat/window-level-attachment-paste
feat(web): route unfocused pastes to one composer
2026-11-06 13:27:04 +08:00
turtle1999 b9b02f324c fix(preset): address dsh-doc review guidance and checks 2026-11-06 13:15:04 +08:00
Yichen Jiang 3c839748bd fix(forge): address review on file menu reveal and comment quote summaries
- Reveal the selected file again when files arrive or reorder around it,
  so a navigation that selects a file before the diff loads still scrolls
  the wide pane; a changed filter shows its results from the top.
- Compare quote summaries in draft change detection, so restoring a draft
  that only adds or changes a summary updates the snapshot and storage.
- Read the full path and range instead of the short label to assistive
  technology; the Web snapshot now records src/<file>.
- Type the stored summary schema against QuoteSummary, test the stored
  round trip, and document why revealRow does not use scrollIntoView.
2026-11-06 13:10:37 +08:00
Turtle 652dc65597 fix(plugins): report invalid listedByDefault as a metadata diagnostic
The launcher ignores dsh.bundle.listedByDefault, so a non-boolean value now
goes to meta.error instead of error. error again means the layer was skipped,
which the plugin page relies on to mark a selected bundle as not running.
Card head geometry moves to custom properties shared with the reason line.
2026-11-06 12:57:05 +08:00
Yichen Jiang f8dd6787b3 Merge remote-tracking branch 'origin/master' into fix/forge-file-menu-and-comment-echo
# Conflicts:
#	packages/experimental/client-ui-forge/README.i18n.yaml
#	packages/experimental/client-ui-forge/README.md
#	packages/experimental/client-ui-forge/README.zh.md
2026-11-06 11:43:08 +08:00
Yichen Jiang 1192061461 fix(forge): show review comment quotes by file and comment in the composer
Add to input inserted the whole model-facing reference (header, source,
diff hunk) as the composer quote, which was unreadable. QuotePreview and the
composer's insertQuote now accept an optional QuoteSummary that replaces the
inline excerpt with a label and body and opens a title/detail/body popover;
drafts store it, and the sent message still carries the full text. The Forge
panel supplies the file name, side and lines, path, and comment.
2026-11-06 11:29:43 +08:00
Yichen Jiang d0290409f9 Merge branch 'master' into turtle/add-gemini-protocol-5881f01a9a7f 2026-11-06 11:05:41 +08:00
TurtleandLegGasai d9768b2517 fix(ui-settings-models): require a key and the four Gemini reasoning levels
A Gemini API route cannot authenticate without a key, so the create card
and the editor require one. Its models offer only minimal, low, medium,
and high, each sent under its own name, with no Off.

Co-authored-by: LegGasai <[email protected]>
2026-11-05 21:05:37 +08:00
Turtleandwinewill 5c5af84f94 Merge remote-tracking branch 'origin/master' into turtle/fix-windows-cursor-schedule-07061c1d6f38
Co-authored-by: winewill <[email protected]>
2026-11-05 20:40:45 +08:00
TurtleandLegGasai d2c00f2554 feat(llm-pi-ai): support the Gemini protocol for custom model APIs
Add pi-ai's google-generative-ai protocol to hand-declared routes, read
Gemini's native model listing during discovery, and offer it as "Gemini
API" in the Custom model API form.

Refs #7978

Co-authored-by: LegGasai <[email protected]>
2026-11-05 19:41:07 +08:00
winewill fe33c6358f Merge remote-tracking branch 'origin/master' into fix/desktop-update-progress-width
# Conflicts:
#	apps/desktop/README.i18n.yaml
#	apps/desktop/README.md
2026-11-05 19:18:48 +08:00
winewill 46bf9a9d44 Merge pull request #7887 from deepseek-harness/fix/windows-workspace-first-paint
Fix white flash on Windows dark workspace startup
2026-11-05 19:05:23 +08:00
Turtle f1a1ec820b Merge remote-tracking branch 'origin/master' into turtle/fix-pr-7405-conflict-d4d9437d42a1
# Conflicts:
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
#	packages/boot/plugin-manager/README.i18n.yaml
2026-11-05 18:35:13 +08:00
turtle1999 509647d50b merge: integrate master into standard dsh-doc preset 2026-11-05 18:11:01 +08:00
winewill 5739f9f7fb Merge remote-tracking branch 'origin/master' into fix/desktop-update-progress-width 2026-11-05 17:58:03 +08:00
Turtleandwinewill b7abd58b4a fix(ui-schedule): keep task detail controls steady during pause, resume, and run
Co-authored-by: winewill <[email protected]>
2026-11-05 17:04:54 +08:00
Yichen Jiang 200e6a8f4a Merge remote-tracking branch 'origin/master' into worktree/archive-session-worktrees
# Conflicts:
#	snapshots/session/worktree/session.v4.jsonl
2026-11-05 16:52:49 +08:00
winewill d456f6c58b fix(theme): preserve boot preference during client initialization 2026-11-05 16:51:25 +08:00
winewill a5e54e99d3 fix(desktop): stabilize update progress and explain active downloads 2026-11-05 16:46:06 +08:00
流光 1c63ff48be Merge pull request #7642 from deepseek-harness/fix/macos-scrolled-content-window-drag
fix(client): 修复 macOS 滚动内容遮挡标题栏拖动
2026-11-05 16:38:10 +08:00
_Kerman a773ebb233 Merge pull request #7321 from deepseek-harness/xtr/runtime-context-reminders
fix(context): frame runtime reminders and track prior snapshots
2026-11-05 16:35:17 +08:00
imccyu a98f470d75 Merge pull request #7928 from deepseek-harness/feat/markdown-fence-slots
feat(ui-chat): dispatch Markdown fences by language through a keyed hoc slot
2026-11-05 16:29:15 +08:00
Yichen Jiang bde500ecc2 Merge pull request #6699 from deepseek-harness/feat/agent-terminal-panel-tools
feat(terminal): run Agent terminal tools in visible Web sidebar terminals
2026-11-05 08:28:44 +00:00
Xinyu Yang 873e36e18f refactor(client): unify window drag exclusion attribute 2026-11-05 16:15:59 +08:00
_Kerman 03cd147c2c Merge origin/master into xtr/runtime-context-reminders 2026-11-05 15:55:01 +08:00
Xinyu Yang 630cd17b86 fix(client): simplify window drag exclusions and coverage 2026-11-05 15:40:38 +08:00
Xinyu Yang 30eeaeca28 fix(client): handle macOS window drag review findings 2026-11-05 15:40:38 +08:00
Xinyu Yang 5d47fb39c2 fix(client): isolate macOS window regions from scrolled content 2026-11-05 15:39:27 +08:00
turtle1999 20d38e784b chore: integrate current master for pre-merge validation 2026-11-05 15:35:26 +08:00
Turtleandwinewill 899e0bfcab Merge remote-tracking branch 'origin/master' into turtle/fix-windows-cursor-schedule-07061c1d6f38
Co-authored-by: winewill <[email protected]>
2026-11-05 15:32:25 +08:00
_Kerman beb5186e36 Merge origin/master into xtr/runtime-context-reminders 2026-11-05 15:23:36 +08:00
Yichen Jiang 9333ec599b Merge remote-tracking branch 'origin/feat/agent-terminal-panel-host' into feat/agent-terminal-panel-tools 2026-11-05 14:53:17 +08:00
Yichen Jiang 2246027c59 Merge remote-tracking branch 'origin/master' into feat/agent-terminal-panel-host 2026-11-05 14:43:16 +08:00
Yudong Han 6b59aa0053 Merge pull request #7868 from deepseek-harness/feat/web-tool-custom-endpoint
feat(web): DeepSeek Search/Fetch API 支持选择计费方式(自动 / 已登录账号 / API Key)
2026-11-05 14:32:24 +08:00
yudshj 42cf6b1e3e fix(web): 精简网页搜索与获取设置页文案,去掉原理说明 2026-11-05 13:58:38 +08:00
Yichen Jiang f73ff5985f Merge remote-tracking branch 'origin/master' into worktree/archive-session-worktrees 2026-11-05 13:16:30 +08:00
imccyu 82582b7b40 chore(deps): unify zod to ~4.6.6 (#7502)
* chore(deps): unify zod to 4.6.6

Raise all 88 workspace zod declarations to exact 4.6.6 and move @browserbasehq/stagehand to 4.4.0, which pins the same version, so the lock keeps a single zod copy. Test expectations and the Typert consumer's node types follow the new declarations; pnpm-workspace.yaml records the release-age exemption for [email protected].

* fix(stagehand): drop the deprecated extensionId option

Stagehand 4.4.0 ignores extensionId and discovers the installed extension itself, so the option no longer selects anything. Remove it from the provider config and worker plumbing, update the READMEs and regenerated config catalog, and adjust the attach test fixture.

* test(bench): widen the browser stream overlap window

The input-overlap probe can start after the paced synthetic reply finishes on a loaded runner, so double the per-chunk pace and re-record the README translation hash after the extensionId removal.
2026-11-05 13:09:43 +08:00
imccyu a1e4f45fdb feat(ui-chat): dispatch Markdown fences by language through a keyed hoc slot
MarkdownDelegate gains renderCode for fences whose language is final; ChatView
declares conversation.chat.markdown.fence and registers math and diff/patch
layers. Hoc slots accept an optional dispatch key, render children at most
once, share compiled chains per key, and contain layer crashes to the failing
occurrence.

Refs #7926
2026-11-05 12:58:57 +08:00
Turtleandwinewill c5eea6ebec fix(ui-schedule): guard the busy toggle in its operation and document it
Co-authored-by: winewill <[email protected]>
2026-11-05 12:57:11 +08:00
Turtle beee3dbe42 Merge pull request #7035 from deepseek-harness/turtle/market-git-update
feat(plugins): update Git-installed plugins from Discover
2026-11-05 12:43:43 +08:00
Yichen Jiang 691ebd7b6c refactor(worktrees): move archive cleanup into the worktree service
The worktree service now records each checkout it creates as a
`plugin:worktree/created` record, folds them in its own `worktree`
projection with fork-aware ownership, and reclaims a clean, unreferenced
checkout when the Session that created it is archived. The Forge panel
reads the service's record and forwards its cleanup state; it no longer
writes a `created` record, owns a retention projection, or gates every
Session's directory access.

Admission registers the attempt inside the Workspace write queue and
returns; inspection runs afterwards, reading cold Sessions through the
projection cache when mounted and from their log otherwise, with subagent
children of an archived ancestor counted as archived. Only a path being
removed holds `working-directory/access`, whose request now carries the
access's `signal`, and listeners withdraw before the drain. Ignored files
no longer retain a checkout, matching Git's non-force removal; processes
and terminals are not consulted.

The Forge bundle mounts one `worktree` service: the `forge-worktree` row
and the `optional-forge-panel` group that isolated a second service are
gone, and `forge-panel` is a top-level row. `canRemove`, `remove`, the
`forgeWorktreeRetention` projection, and `ForgeWorktreeCleanup` are
removed; `WorktreeService.cleanupOf`, `WorktreeCleanup`, and the
`worktree/cleanup` Host event replace them. The upgrade guide moves to
the current version directory and covers the id removals.
2026-11-05 12:28:50 +08:00