8719fa84f0
feat: add economy/maximum presets, tool-lab and subagent-cursor extensions
...
CI / windows node 24 / wine blocking (push) Has been skipped
CI / node 22.19 (push) Has been skipped
CI / node 26 (push) Has been skipped
CI / python 3.10 / keyless SDK (push) Has been skipped
CI / python runtime / release-shaped Linux x64 (push) Has been skipped
CI / wine apt cache (push) Successful in 7s
CI / serial / linux (push) Has been skipped
Deploy documentation / build (push) Failing after 1m25s
Deploy documentation / deploy (push) Has been skipped
Landlock Run / Matrix (push) Successful in 5s
Release (vendor) / Pack npm tarballs (push) Failing after 2m47s
Release (dsh) / Pack npm tarballs (push) Failing after 1m56s
Sandbox / sandbox e2e (landlock, ubuntu-24.04) (push) Failing after 1m57s
Sandbox / sandbox e2e (bwrap, ubuntu-latest) (push) Failing after 1m19s
Release (vendor) / Publish to npm (push) Has been skipped
Release (dsh) / Publish to npm (push) Has been skipped
CI / serial / windows (self-hosted standby) (push) Has been cancelled
CI / larger-runner-benchmark (16, linux, dsh-ubuntu-24-04-16core, typecheck) (push) Has been cancelled
Landlock Run / darwin (no platform package — degradation proof) (push) Has been cancelled
Landlock Run / ${{ matrix.platform }} (push) Has been cancelled
CI / node 24 / static (push) Has been cancelled
CI / node 24 / coverage (push) Has been cancelled
CI / node 24 / snapshots and artifacts (push) Has been cancelled
CI / windows node 24 / native complete (push) Has been cancelled
CI / serial / linux (self-hosted standby) (push) Has been cancelled
CI / serial / macos (push) Has been cancelled
CI / larger-runner-benchmark (16, windows, dsh-windows-2025-16core, production-site) (push) Has been cancelled
CI / larger-runner-benchmark (32, linux, dsh-ubuntu-24-04-32core, typecheck) (push) Has been cancelled
CI / larger-runner-benchmark (32, windows, dsh-windows-2025-32core, production-site) (push) Has been cancelled
CI / larger-runner-benchmark (4, linux, dsh-ubuntu-24-04-4core, typecheck) (push) Has been cancelled
CI / larger-runner-benchmark (4, windows, dsh-windows-2025-4core, production-site) (push) Has been cancelled
CI / larger-runner-benchmark (64, linux, dsh-ubuntu-24-04-64core, typecheck) (push) Has been cancelled
CI / larger-runner-benchmark (64, windows, dsh-windows-2025-64core, production-site) (push) Has been cancelled
CI / larger-runner-benchmark (8, windows, dsh-windows-2025-8core, production-site) (push) Has been cancelled
CI / larger-runner-benchmark (96, linux, dsh-ubuntu-24-04-96core, typecheck) (push) Has been cancelled
CI / larger-runner-benchmark (96, windows, dsh-windows-2025-96core, production-site) (push) Has been cancelled
CI / consolidated-runner-benchmark (16, linux, dsh-ubuntu-24-04-16core, 16) (push) Has been cancelled
CI / consolidated-runner-benchmark (16, windows, dsh-windows-2025-16core, 2) (push) Has been cancelled
CI / consolidated-runner-benchmark (32, linux, dsh-ubuntu-24-04-32core, 32) (push) Has been cancelled
CI / consolidated-runner-benchmark (32, windows, dsh-windows-2025-32core, 2) (push) Has been cancelled
CI / consolidated-runner-benchmark (4, linux, dsh-ubuntu-24-04-4core, 4) (push) Has been cancelled
CI / consolidated-runner-benchmark (4, windows, dsh-windows-2025-4core, 2) (push) Has been cancelled
CI / consolidated-runner-benchmark (64, linux, dsh-ubuntu-24-04-64core, 32) (push) Has been cancelled
CI / consolidated-runner-benchmark (64, windows, dsh-windows-2025-64core, 2) (push) Has been cancelled
CI / consolidated-runner-benchmark (8, linux, dsh-ubuntu-24-04-8core, 8) (push) Has been cancelled
CI / consolidated-runner-benchmark (8, windows, dsh-windows-2025-8core, 2) (push) Has been cancelled
CI / consolidated-runner-benchmark (96, linux, dsh-ubuntu-24-04-96core, 32) (push) Has been cancelled
CI / consolidated-runner-benchmark (96, windows, dsh-windows-2025-96core, 2) (push) Has been cancelled
CI / all checks passed (push) Has been cancelled
Sandbox / sandbox e2e (seatbelt, macos-latest) (push) Has been cancelled
CI / larger-runner-benchmark (8, linux, dsh-ubuntu-24-04-8core, typecheck) (push) Has been cancelled
Sandbox / sandbox e2e (landlock, ubuntu-24.04-arm) (push) Has been cancelled
E2E (real DeepSeek API) / e2e (push) Failing after 1m24s
- new economy and maximum agent presets with three-role pipeline skill
- new packages/extensions/tool-lab (home-lab ComfyUI/Docling/Whishper tools)
- new packages/subagent/subagent-cursor provider
- openrouter balance UI with on-demand refresh
- session projection context-seed boundary fold
- regenerate docs catalogs; keep local searxng benchmark scripts
2026-08-23 22:12:30 +07:00
imccyu
bb4ca698d6
release(dsh): 0.1.0-rc.7
2026-08-17 18:47:02 +08:00
Tianyi Cui
5139329d29
Merge remote-tracking branch 'origin/master' into worktree/fix-1463-rich-content-bridge
2026-08-17 13:56:17 +08:00
Yichen Jiang
8f998186a9
Merge pull request #2404 from deepseek-harness/feat/plugin-owned-settings-surface
...
feat(settings): serve every registered namespace and key plugin cards on it
2026-08-17 13:51:31 +08:00
Tianyi Cui
b2f23f88ad
Merge commit '70396085b141370ce32de1be4e225b4384eaf46d' into HEAD
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-07-mcp-client-plugin.i18n.yaml
# .agents/notes/implemented/feature/2026-07-20-code-mode-typed-tool-returns.i18n.yaml
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.md
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md
# .agents/notes/implemented/simplification/2026-07-23-acp-automation-only-protocol.i18n.yaml
# docs/config-catalog.i18n.yaml
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# docs/tool-catalog.i18n.yaml
# docs/tool-catalog.md
# docs/tool-catalog.zh.md
# examples/acp-agent/tests/snapshots/advanced-toolchain/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/both-mode-turn/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/code-mode-turn/tool-schemas.expected.json
# packages/core/tools/README.i18n.yaml
# packages/core/tools/README.zh.md
# packages/core/tools/src/code-mode.ts
# packages/host/apiproxy/tests/api-proxy-models.spec.ts
# packages/host/plugin-inventory/tests/inventory.spec.ts
# packages/mcp/mcp-client/tests/mcp-client.e2e.ts
# packages/mcp/mcp-client/tests/mcp-client.spec.ts
# packages/self-modification/tool-cordis/src/api-catalog.ts
# packages/test-support/acp-snapshot/README.i18n.yaml
# pnpm-lock.yaml
2026-08-17 11:31:59 +08:00
kingwl
5201b84863
fix(web): avoid history pagination stack overflow
2026-08-14 16:40:30 +08:00
Yichen Jiang
468c62518d
Merge remote-tracking branch 'origin/master' into feat/plugin-owned-settings-surface
...
# Conflicts:
# packages/client/ui-input-trigger/README.i18n.yaml
# packages/client/ui-settings-plugins/src/client/ConfigurablePluginsTab.tsx
# packages/client/ui-settings-plugins/src/client/index.ts
# packages/client/ui-settings-plugins/src/client/tab-store.ts
# packages/client/ui-settings-plugins/tests/apply.client.spec.ts
# packages/client/ui-settings-plugins/tests/section.client.spec.tsx
# packages/client/ui-settings-plugins/tests/stores.client.spec.ts
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/tests/api-proxy-config.spec.ts
2026-08-14 15:46:01 +08:00
imccyu
15148dbd9a
release(dsh): 0.1.0-rc.6
2026-08-13 19:52:05 +08:00
imccyu
abe560f81e
release(dsh): 0.1.0-rc.5
2026-08-13 18:49:33 +08:00
imccyu
8c1e8d9890
build(release): publish the dsh family publicly
...
Every release member now declares publishConfig.access: public, so the scope no
longer mixes levels: the 221 packages/*/* and apps/* manifests join the vendored
framework and the native packages.
check-workspace-constraints drops the per-sequence expectation and holds every
release member to public, which is what stops a member from drifting back.
Access is a property of the package, not of a version: the dsh packages already
published as restricted become world-readable at their next publication.
2026-08-13 18:49:32 +08:00
imccyu
8a954b2eca
release(dsh): 0.1.0-rc.3
2026-08-13 18:39:06 +08:00
imccyu
60b04b6ef7
release(dsh): 0.1.0-rc.2
2026-08-13 17:19:37 +08:00
imccyu
22ab3beac1
release(dsh): 0.1.0-rc.1
2026-08-13 16:22:33 +08:00
_Kerman
2be3e12965
fix(apiproxy): harden cold session metadata probing
2026-08-13 15:09:21 +08:00
_Kerman
3c06c66ac4
fix(web): hide verified cold blank sessions
2026-08-13 14:04:16 +08:00
Tianyi Cui
c905c4694e
Adopt MIT for DSH packages
2026-08-13 13:07:24 +08:00
imccyu
3e8a1cfa33
release(dsh): 0.0.1-rc.5
2026-08-13 06:14:27 +08:00
imccyu
a90d9af1b2
release(dsh): 0.0.1-rc.4
2026-08-13 05:16:02 +08:00
imccyu
1e99f20963
release(dsh): 0.0.1-rc.3
2026-08-13 03:24:38 +08:00
imccyu
4064198560
• feat(self-modification): add dynamic Cordis plugin runtime and UI
2026-08-13 01:29:36 +08:00
imccyu
0367506471
feat: slot system + entries/priority/errorreport + typert generator
2026-08-13 01:24:12 +08:00
Tianyi Cui
a2d0f7f411
refactor: apply repository naming contract
...
Apply the accepted pre-release package, service, type, directory, and role renames as one repository-wide change.
2026-08-13 00:54:38 +08:00
Yichen Jiang
06e01b30dd
Merge remote-tracking branch 'origin/master' into feat/plugin-owned-settings-surface
...
# Conflicts:
# packages/client/ui-plugin-config/README.i18n.yaml
# packages/client/ui-plugin-config/README.md
# packages/client/ui-plugin-config/README.zh.md
# packages/client/ui-plugin-config/src/client/PluginConfigSection.tsx
# packages/client/ui-plugin-config/src/client/index.ts
# packages/client/ui-plugin-config/tests/apply.client.spec.ts
# packages/client/ui-plugin-config/tests/section.client.spec.tsx
2026-08-12 22:50:49 +08:00
Tianyi Cui
b3e2de873d
Merge master into worktree/fix-1463-rich-content-bridge
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-20-code-mode-typed-tool-returns.i18n.yaml
# .agents/notes/implemented/feature/2026-07-20-code-mode-typed-tool-returns.zh.md
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md
# .agents/notes/implemented/feature/2026-08-10-telemetry-default-off.i18n.yaml
# .agents/notes/implemented/feature/2026-08-10-telemetry-default-off.md
# .agents/notes/implemented/feature/2026-08-10-telemetry-default-off.zh.md
# .agents/notes/implemented/simplification/2026-07-23-acp-automation-only-protocol.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-23-acp-automation-only-protocol.zh.md
# apps/web/tests/scaffold.ts
2026-08-12 21:25:26 +08:00
Ziya
85c9aac5e9
Merge branch 'master' into feat/web-plugin-settings-tabs
2026-08-12 21:24:52 +08:00
Yichen Jiang
4cf285c26e
Merge remote-tracking branch 'origin/master' into feat/plugin-owned-settings-surface
...
# Conflicts:
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.zh.md
2026-08-12 21:13:02 +08:00
Yichen Jiang
4366528a38
feat(settings): serve every registered namespace and key plugin cards on it
...
A plugin that registered a settings namespace could not reach the browser
configuration page: the api-proxy filtered every read and gated every
write through two hardcoded namespace lists, and the plugin configuration
section rendered an unordered list of cards carrying an opaque id rather
than the namespace they edit. Both gates lived in this repository, so a
user-authored plugin was configurable only by hand-editing settings.yaml.
The proxy now serves whatever ctx.settings.describe() returns and adds no
boundary of its own; a name no registration answers folds into the seam's
own settings-rejected, and the settings-not-exposed code retires. The
settings seam is untouched: which client may read a namespace, and which
page renders it, are facts about consumers.
settings.plugin.item becomes a keyed slot whose key is the namespace a
card edits, following tool.call.toolview. The section reads describe once
and dispatches the intersection of the slot ledger and the served set, so
a namespace another surface owns renders nothing without declaring
anything, and a card for an uncomposed plugin is never dispatched.
2026-08-12 21:07:57 +08:00
xjt
23e09ec08e
Merge master into docs/post-v3-release-proofreading
2026-08-12 20:48:08 +08:00
ZiyaZhang
be693f3bc7
test(plugin-inventory): avoid assuming loader sibling order
2026-08-12 04:23:03 -07:00
NI0317
785f41daed
fix(session-export): preserve streamed browser downloads
2026-08-12 18:44:04 +08:00
Tianyi Cui
6e64f77030
test(plugin-inventory): avoid randomized id order
2026-08-12 17:48:17 +08:00
Tianyi Cui
219d2a1fb9
feat(attachment): add ordered image batch admission
2026-08-12 17:48:17 +08:00
xjt
ce883ffea3
Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.zh.md
# README.i18n.yaml
# README.zh.md
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-08-12 16:45:48 +08:00
creatixchu
2014d354e3
Merge remote-tracking branch 'origin/master' into worktree/attachment-alignment-2
2026-08-12 15:19:32 +08:00
creatixchu
51dc55ec3d
fix(web): cap default images at 5 MiB
2026-08-12 14:47:20 +08:00
creatixchu
c9a536e0c8
review: theme-owned drop mask token, overlay fade-in, stable gallery keys, close-button stacking, stale note defaults
2026-08-12 13:12:06 +08:00
creatixchu
7259252536
Merge remote-tracking branch 'origin/master' into worktree/attachment-alignment-2
2026-08-12 13:02:39 +08:00
xjt
ab140cd299
Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.i18n.yaml
# .agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.zh.md
# .agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.i18n.yaml
# .agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.zh.md
# .agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.i18n.yaml
# .agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.zh.md
# .agents/notes/implemented/feature/2026-07-26-code-dispatch-ui-foundation.i18n.yaml
# .agents/notes/implemented/feature/2026-07-26-code-dispatch-ui-foundation.zh.md
# docs/user/develop/basic/index.i18n.yaml
# docs/user/develop/basic/index.zh.md
# docs/user/guide/config.i18n.yaml
# docs/user/guide/config.zh.md
# docs/user/guide/providers.i18n.yaml
# docs/user/guide/providers.zh.md
# packages/bundle/base/README.i18n.yaml
# packages/bundle/base/README.zh.md
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.zh.md
2026-08-12 12:59:38 +08:00
Ziya
91e073e5e1
Merge branch 'master' into feat/web-loader-plugin-inventory-settings
2026-08-12 12:51:46 +08:00
ZiyaZhang
46c0e3dba7
fix(ci): align plugin inventory with current contracts
2026-08-11 21:38:11 -07:00
creatixchu
2c9036b102
feat(web): whole-page image drop, projected intake limits, and thumbnail tiling
...
Second alignment step for #2248 : document-level drag intake behind the new
DropOverlay atom, lightbox close icon and shared dialog mask, DeepSeek Chat
thumbnail rules (single 240px long edge with ratio clamp, 64px tiles, merged
consecutive assistant images), image limits raised to 20/10MiB/100MiB and
published to clients as the imageLimits projection, whole-batch intake
pre-check with product-copy banners, and attachment-error reasons mapped to
localized copy.
2026-08-12 12:31:52 +08:00
xjt
4806d94715
docs(i18n): include complete proofreading corpus
2026-08-12 12:30:19 +08:00
ZiyaZhang
eea356e785
Show module names for dynamic plugins
2026-08-11 21:10:14 -07:00
ZiyaZhang
6ed5df964e
feat(web): add read-only Loader plugin inventory
2026-08-11 21:10:14 -07:00
_Kerman
3a0baa1e9d
Merge remote-tracking branch 'origin/master' into dshw/pr-2250
...
# Conflicts:
# packages/client/connection/tests/fake-api.client.ts
# packages/client/runtime/tests/manager.client.spec.ts
# packages/client/runtime/tests/workspaces-service.client.spec.ts
# packages/host/apiproxy/tests/rpc-schemas.spec.ts
2026-08-12 04:50:51 +08:00
imccyu
9b2925e50f
fix: restore the credential-rejected branch and admit SRC absence by key
...
Review follow-ups that are logic rather than documentation:
- rpc.schema.ts had lost the credential-rejected branch while api-proxy.ts
still returns that code, so a legitimate business error failed the
client's response parse. Restore the branch and assert it.
- rpc-schemas.spec.ts had lost the workspace list, archiveSession and
insertSessionBefore cases along with the command schemas; those routes
still ship, so restore their coverage.
- An omitted SRC field is now recognized by an absent key instead of an
undefined value, which makes the allowance assertExactArguments already
granted reachable; an explicitly undefined field stays invalid input. A
weak descriptor's undefined result rides the wire as an absent value,
matching the envelope removal.
- The chooser unmounts an already-created backend when the surface entry
fails to load, and no longer reverses the captured id array in place.
2026-08-11 23:33:18 +08:00
imccyu
378141bf5d
fix: test
2026-08-11 23:33:18 +08:00
imccyu
6332bd3513
fix: build
2026-08-11 23:33:18 +08:00
imccyu
91e7b3d086
test(apiproxy): drop the carrier-signal case for the removed command route
...
`command.execute` no longer exists on the API Proxy, and the fake's own
handler went with it, so the case only reached a 404 body. The same carrier
behaviour is asserted on live routes by its `session.search`,
`subagent.prompt` and `host.pickDirectory` siblings.
2026-08-11 23:33:18 +08:00
imccyu
92e0e3377f
test: finish the Remote-result and picker-split test migrations
...
Every generated Remote method resolves to `RemoteResult<T>`, so the Gateway
client spec asserts the ok and error branches instead of the unwrapped value
and a throw, and the generator fixtures declare the wrapper in the consumer
face they typecheck. The RPC-failure test splits into the Host error carried
verbatim in the error branch plus a transport throw folded into it.
The runtime client, ui-command and ui-plan benches answer the generated
commands Remote through its result branches and provide the `remote.commands`
namespace their plugins now inject; the ui-command bench also serves the `$on`
the service subscribes on construction.
The directory-picker chooser mounts a backend and its surface as a pair, so the
real-Loader composition serves both surface packages and asserts each entry
arrives and leaves with its backend.
2026-08-11 23:33:17 +08:00