Commit Graph
257 Commits
Author SHA1 Message Date
yudshj 078e11389a test(web): update shared code action accessibility snapshots 2026-09-17 15:33:58 +08:00
yudshj 9b9a60f439 fix(client): size chat previews from diagrams and defer source rendering 2026-09-17 15:33:58 +08:00
imccyu 9637a4d051 test(web): open inline-code links in Sidebar Browser 2026-09-17 15:14:12 +08:00
imccyu 8968fedec2 feat(client): open message links in Sidebar Browser 2026-09-17 15:14:11 +08:00
Yichen Jiang 0c374357dd Merge pull request #4419 from deepseek-harness/worktree/web-context-meter-footer
feat(web): move context usage into composer stats
2026-09-17 15:11:49 +08:00
Dudu-0223 cf06315851 Merge pull request #4317 from deepseek-harness/feat/subagent-limit-settings
feat(subagent): configure delegation limits in the GUI
2026-09-17 15:10:44 +08:00
Yichen Jiang d34628703a Merge remote-tracking branch 'origin/master' into worktree/web-context-meter-footer 2026-09-17 14:57:42 +08:00
Yudong Han 0e5ec6defa Merge pull request #4041 from deepseek-harness/office-sidebar-preview
feat(preview): consume shared Office conversion in sidebar
2026-09-17 14:57:23 +08:00
Dudu-0223 5c507b12c6 test(web): refresh Subagent summary in plugin manager snapshots 2026-09-17 14:23:12 +08:00
Dudu-0223 fae11e6dc1 Merge master into PR 4317 and adapt Subagent configuration page 2026-09-17 14:23:12 +08:00
Yichen Jiang b6726fe79d feat(web): move context usage into composer stats 2026-09-17 13:59:25 +08:00
yudshj 1c9f2e3a1f Merge master into office-sidebar-preview 2026-09-17 12:05:47 +08:00
ZiyaZhang 6affc44992 fix(web): update Subagent parallelism copy 2026-09-16 20:31:03 -07:00
Tianyi Cui 039415d5a4 fix(web): preserve compact math and inspector typography 2026-09-17 10:18:42 +08:00
Tianyi Cui 7d9166ea40 fix(web): keep Thinking tables below the collapse header 2026-09-17 09:37:14 +08:00
Tianyi Cui e5038fcf9e fix(web): render Thinking with compact Markdown 2026-09-17 09:17:34 +08:00
Yichen Jiang ce113eb86a Merge pull request #4376 from deepseek-harness/feat/plugin-page-config-items
feat(web): host plugin configuration on the Plugins page
2026-09-16 22:35:24 +08:00
Turtle 22c96420fe Merge pull request #4367 from deepseek-harness/turtle/orchestrator-2d656b6cb16e
feat(client): lead known-site links with the site's own mark
2026-09-16 21:31:27 +08:00
Yichen Jiang 90af3110b7 feat(web): host plugin configuration on the Plugins page
The Plugins page declares three slots as children of its main entry:
`plugins.item` lists an official plugin's page in the Official group,
`plugins.bundle.config` renders a bundle's own form on its page, and
`plugins.row.config` gives a row a configure control opening the row's
page. Every entry renders in the `summary` and `page` views the page
passes as owner props; the page draws the title, icon, and crumb and
projects the ledgers beside its store, naming no configurable plugin.

`ui-settings-plugins` registers its four host-plane pages into
`plugins.item` while the Host serves their namespaces and withdraws them
when it stops; the forms keep edits until a save and drop them on leaving
the page, so the discard control and the unsaved marker are gone. The
Settings section becomes the Built-in plugins shell around the inventory
tab, and `settings.plugin.item` is retired.

The Official group opens with the optional bundles the installation
ships, tagged Beta where the feature is one and without an official tag,
followed by the configuration pages. Auto review leaves the optional
bundles and the CLI's dependencies; the install guide names it as its
example spec. The version tag is a capsule like the other tags.

The `plugin-config` web lane drives the pages through the real wire and
opens a community fixture's row page after switching its bundle on; the
settings lanes re-record the renamed navigation entry.
2026-09-16 21:05:34 +08:00
ZiyaZhang ea2651b86b feat(web): unify Subagent settings UI 2026-09-16 05:51:03 -07:00
yudshj 7bc0db4470 Merge remote-tracking branch 'origin/office/render-cache' into codex/office-decouple-preview 2026-09-16 20:17:24 +08:00
Turtle f018fe8f10 refactor(client): take known-site link marks from simple-icons
Review asked for a maintained artwork source instead of the fourteen
copied Simple Icons paths. SiteGlyph now imports siGithub and its
thirteen peers from the simple-icons package (CC0-1.0), added as a
ui-primitives devDependency and pinned by the lockfile, so a mark is one
host-map entry and updates arrive with the package. Each mark draws in a
28-unit viewBox inset by two units, which keeps the ~8% margin the
20-unit ic_ds_* glyphs carry, and the gallery fixture uses a synthetic
GitHub URL because verify-repository-references rejects the
organization URL.

Also from that review: the spec covers github.io and x.com, keeps its
comment truthful about which aliases collapse, and names the
single-label-host fallback case; the older clickable-link note states
the url glyph and per-site marks in the present tense; the package
README records that the known-site list is fixed and everything else
keeps the globe.
2026-09-16 20:05:47 +08:00
Turtle 59456dbb5b feat(client): lead known-site links with the site's own mark
Clickable external links now lead with the destination site's own mark
instead of the globe when the host belongs to a known site: GitHub,
GitLab, npm, PyPI, Stack Overflow, MDN, Wikipedia, Hacker News, YouTube,
X, Bilibili, Zhihu, Juejin, and CSDN. LinkIcon takes an optional href and
resolves the mark through a private SiteGlyph module; markdown anchors,
reference links, URL-promoted inline code, and web-card source and fetch
links pass their sanitized destination. Unmapped hosts, non-http schemes,
and the file categories keep today's glyph.

The marks are the single-path form of Simple Icons (CC0-1.0) on its
24x24 viewBox, filled with currentColor like every other link glyph, so
they follow the link alias in both themes and on hover.

Coverage: the LinkIcon spec pins one host per mapped site plus the alias
and fallback branches, the markdown and web-card specs pin their consumer
wiring, and the clickable-links gallery e2e pins the assembled mark
against the globe in a real browser.
2026-09-16 19:23:03 +08:00
creatixchu c63da07322 Merge remote-tracking branch 'origin/master' into worktree/code-diff-card 2026-09-16 19:19:58 +08:00
yudshj 8ed7d7fde5 Merge remote-tracking branch 'origin/office/render-cache' into codex/office-decouple-preview 2026-09-16 18:54:47 +08:00
Turtle f756097108 Merge pull request #4324 from deepseek-harness/turtle/creator-plugin-manager
feat(creator): use Plugin Manager for persistent plugins
2026-09-16 17:58:53 +08:00
yudshj 54d268c409 feat(preview): consume shared Office conversion independently 2026-09-16 17:06:55 +08:00
creatixchu 9a74f173d3 Merge remote-tracking branch 'origin/master' into worktree/code-diff-card 2026-09-16 16:31:23 +08:00
Yichen Jiang 257df553b6 Merge pull request #4334 from deepseek-harness/worktree/model-input-checkboxes
feat(web): unify model input controls and catalog inheritance
2026-09-16 16:10:50 +08:00
turtle1999 040be00cb4 test(creator): align Web fixtures with persistent plugin management 2026-09-16 16:10:40 +08:00
Yichen Jiang cb731e26e9 Merge master into worktree/model-input-checkboxes 2026-09-16 16:03:24 +08:00
Turtle 15b5ba0d44 Merge pull request #4273 from deepseek-harness/turtle/sidebar-parent-folders
feat(web): add opt-in Workspace tree grouping
2026-09-16 16:00:36 +08:00
turtle1999 ed32f57f88 feat(creator): use Plugin Manager for persistent plugins 2026-09-16 15:39:16 +08:00
Turtle b432223364 feat(web): make Workspace tree an explicit grouping option 2026-09-16 15:18:05 +08:00
creatixchu 7b93d1bd83 Merge remote-tracking branch 'origin/master' into worktree/code-diff-card 2026-09-16 14:37:28 +08:00
Turtle e879c7456a Merge pull request #4321 from deepseek-harness/turtle/builtin-plugin-i18n
fix(web): localize built-in plugin names and descriptions
2026-09-16 14:37:15 +08:00
Yichen Jiang cc394230bf feat(web): unify model input controls and catalog inheritance 2026-09-16 13:48:07 +08:00
Dudu-0223 25650d3d35 Merge backend delegation settings from #4304 2026-09-16 12:52:55 +08:00
creatixchu 664190c6f9 Merge remote-tracking branch 'origin/master' into worktree/code-diff-card
# Conflicts:
#	docs/event-producer-consumer.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
2026-09-16 12:42:02 +08:00
Tianyi Cui c4f1cae6c6 Merge pull request #4313 from deepseek-harness/fix/llm-remove-v4-flash-models
feat(llm): drop the V4 Flash and V4 Flash Vision Exp default models
2026-09-16 12:36:35 +08:00
Turtle 6bc7938a15 fix(web): localize built-in plugin names and descriptions 2026-09-16 12:26:54 +08:00
Dudu-0223 845115d0f8 feat(subagent): edit delegation limits in plugin settings 2026-09-16 12:05:50 +08:00
Kexin Liu ac0acf55a6 Merge pull request #4231 from deepseek-harness/feat/composer-selection-keyboard
feat(client): give the composer's selections and its menus one keyboard model
2026-09-16 11:49:20 +08:00
Tianyi Cui f2beb99c3b feat(llm): remove the V4 Flash and V4 Flash Vision Exp defaults
The shipped DeepSeek catalog keeps V41 Flash and V4 Pro only; the removed
ids still pass through as text-only routes when configured explicitly.

Updates the adapter tests, the Web settings goldens that render the default
catalog, and the regenerated config catalog.
2026-09-16 11:26:21 +08:00
Yichen Jiang a9fe93fc0b refactor(plugins): name bundles by their package name only
`dsh.title` was a manifest field this branch introduced: the manager read
it for `listBundles` and `inspect`, and the Web page showed it over the
package name. A bundle is named by its package name now, so `DshManifest`
keeps only its shipped fields, the page derives every heading from the
name, and the install dialog's subject line reads the name the Host
answered. The two e2e fixtures drop their titles and the manager lane's
goldens follow.
2026-09-15 23:31:54 +08:00
Yichen Jiang 79729c3422 refactor(plugins): read a bundle's one-liner from the package description only
The dsh manifest gains no description field: a bundle's card shows the
package.json description, and the shipped optional bundles carry no
display title or description of their own until localized metadata is
designed. The plugin author tutorial shows the bundle declaration alone.
2026-09-15 22:26:58 +08:00
Yichen Jiang c13d21fb95 feat(web): approve blocked install scripts from the install dialog
When pnpm leaves a dependency's install scripts undecided, the failed
screen lists the pending packages and offers to allow them and retry in
place of plain retry; the Host saves the permission in the profile before
running pnpm again, and the installed screen names what was allowed. A
failure the Host could not name falls back to the manual instruction, and
a stale approval is worded like the other refusals. A new web lane drives
the whole flow through a fake pnpm that blocks, then installs.
2026-09-15 21:23:01 +08:00
Yichen Jiang 8059d76ea3 feat(plugins): ship Auto review as an optional bundle
The installation lists @deepseek-ai/dsh-experimental-auto-review beside
the two Agent Teams layers under dsh.optionalBundles, so a blank Web
profile offers it in the built-in group switched off. The bundle gets a
display title and one-liner, and its README says where it is switched on.
2026-09-15 20:58:37 +08:00
Yichen Jiang bc0ecae21f feat(plugins): ship optional bundles switched off and guide the install dialog
The dsh installation lists under `dsh.optionalBundles` the bundles it
ships for a person to switch on. The plugin manager reports them as
`optional`, and the Web plugin page shows them first, in a built-in
group with an official tag, off until selected and never removable.
Agent Teams ships this way, so a blank profile offers both of its
layers. Default-product isolation, the workspace constraints, and the
packed-install check accept that one dependency edge and nothing else
experimental.

A bundle's title and one-liner come from `dsh.title` and the new
`dsh.description`, else from the package name and `description`. A
dependency without a bundle patch is no longer listed unless the
profile selects it. The install dialog asks for a package name or
address; a guide under the field shows the three accepted forms with
an example each and ends in a security warning, and the copy no longer
speaks of a plugin ID.
2026-09-15 20:51:12 +08:00
liukx0205 cccfdb6040 Merge origin/master into feat/composer-selection-keyboard 2026-09-15 19:42:37 +08:00