imccyu
08ed5a54a8
refactor(webserver): minimize HTTP gzip integration
2026-08-25 06:43:24 +08:00
Dudu-0223
f76a225a7d
Merge pull request #2663 from deepseek-harness/feat/subagent-provider
...
让 subagent 按需发现并选择子 Agent 模型
2026-08-24 18:23:42 +08:00
Yichen Jiang
91e30d6f82
Merge remote-tracking branch 'origin/master' into fix/derive-shipped-preset-root-per-composition
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.md
# .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md
# scripts/check-workspace-constraints.ts
# scripts/rescope-vendor.ts
2026-08-24 10:11:11 +08:00
Magolor
4b7b039129
Merge pull request #2777 from deepseek-harness/fix/minimal-disable-goal-plugin
...
fix: 在 Minimal preset 中禁用 /goal
2026-08-24 09:18:48 +08:00
imccyu
3a23185edb
chore(client): align split package graph
2026-08-23 16:28:18 +08:00
imccyu
be531688f3
refactor(client): migrate consumers and remove Runtime
2026-08-23 16:28:18 +08:00
imccyu
54d739cf53
chore(api): align controller assembly and package graph
2026-08-23 16:16:02 +08:00
Tianyi Cui
fd814589fb
refactor(profiles): make module HMR opt-in
...
Move the shared module-reload policy into dsh-base by inserting its HMR row disabled, then remove the redundant disabled overrides from Web, headless, SDK, and ACP. No shipped profile enables server module reload; live profile patch watching continues through the launcher-owned config-only fallback, and browser client HMR remains a separate mechanism.
A later profile layer can opt into source-module reload explicitly with disabled: false while retaining the base root configuration. Composition tests cover every shipped mode and the explicit enable path, and the bundle references plus launcher Agent Notes document the resulting ownership and safety rationale.
2026-08-23 10:59:01 +08:00
imccyu
f47b1ecac2
feat(webworker): browser worker host runtime and the vfs image packer
...
Two private experimental packages run the whole harness tree inside one
dedicated Web Worker. dsh-experimental-webworker-runtime owns the in-memory
VFS (BigInt stats with per-path identity and strictly increasing mtimes),
the CommonJS wrapper loader over a lazily-evaluated builtin table whose
shims typecheck against Node's own module types, the postMessage tunnel
speaking plain HTTP, the AsyncLocalStorage runtime, and the worker
assembly. dsh-experimental-webworker-packer lowers every module body at
pack time against the shared wrapper contract, sweeps the profile closure
by static reachability, and writes a deterministically gzip-compressed tar
the worker inflates through the browser's native DecompressionStream while
it downloads.
2026-08-21 20:35:32 +08:00
imccyu
aa6c361a97
release(dsh): 0.1.1-rc.2
2026-08-21 19:48:58 +08:00
imccyu
3ec5e8f8c4
release(dsh): 0.1.1-rc.1
2026-08-21 14:11:09 +08:00
Yichen Jiang
f94495e527
refactor(preset): bundle the shipped presets inside dsh-agent-presets
...
Review asked why the launcher special-cases one plugin's row. It no
longer does: the four shipped compositions move into the package
(presets/, in files), dsh-agent-presets resolves its own shipped root
and prepends it before configured roots (includeShippedRoot, default
true, opt-out for bare-machinery embedders), and the per-composition
derived patch, its spec, and the dump layer are deleted — profile-boot
and dump-config return to plain layer stacking. The always-load
guarantee now rides the schema default instead of patch ordering, so a
whole-config replacement keeps the shipped set and the squash, reload
freeze, and dump divergence stop being possible.
Gate globs, the web scaffold, and both preset browser lanes drop their
hand-fed shipped roots; the roster e2e keeps asserting configured roots
beside the shipped four against the built lib.
Fixes #2863 .
2026-08-21 12:37:57 +08:00
Yichen Jiang
9820b6a1e9
fix(cli): derive the shipped agent-preset root per composition
...
The boot-time agent-presets overlay replaced the composed roots with the
shipped root alone, so roots configured in a profile's cordis.patch.yml
vanished from the roster (externally reported in
deepseek-ai/deepseek-harness#3636). The overlay also froze the row's
boot-time config above every live reload and never reached the config
dump, which therefore showed roots the boot dropped.
Derive the roster patch from the current layers instead: prepend the
shipped root (system trust, wins duplicate ids) to configured roots,
share one builder across boot, live user-layer reloads, and
--dump-config, and fail loud on a roots value the launcher cannot
statically rewrite.
Fixes #2863 .
2026-08-20 22:57:58 +08:00
pku-xht
84cbec28e9
Merge remote-tracking branch 'origin/master' into codex/localized-chinese-doc-links
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.zh.md
# .agents/notes/implemented/architecture/2026-06-18-shared-persistence-write-coordinator.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md
# .agents/notes/implemented/bug-fix/2026-07-29-pnpm-setup-runner-isolation.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-29-pnpm-setup-runner-isolation.zh.md
# .agents/notes/implemented/bug-fix/2026-08-18-request-image-payload-bound.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-08-18-request-image-payload-bound.zh.md
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.zh.md
# .agents/notes/implemented/feature/2026-07-16-persistent-pty-sessions.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.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-07-27-web-subagent-conversations.i18n.yaml
# .agents/notes/implemented/feature/2026-07-31-permission-default-for-new-sessions.i18n.yaml
# .agents/notes/implemented/feature/2026-08-03-web-search-source-scroll.i18n.yaml
# .agents/notes/implemented/feature/2026-08-03-web-search-source-scroll.zh.md
# .agents/notes/implemented/feature/2026-08-04-claude-code-and-codex-subagent-backends.i18n.yaml
# .agents/notes/implemented/feature/2026-08-04-claude-code-and-codex-subagent-backends.zh.md
# .agents/notes/implemented/feature/2026-08-05-agent-teams.i18n.yaml
# .agents/notes/implemented/feature/2026-08-05-agent-teams.zh.md
# .agents/notes/implemented/feature/2026-08-11-workspace-sidebar-order-and-folding.i18n.yaml
# .agents/notes/implemented/feature/2026-08-15-product-subagent-noninteractive-permissions.i18n.yaml
# .agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.i18n.yaml
# .agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.zh.md
# .agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.i18n.yaml
# .agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.zh.md
# .agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.i18n.yaml
# .agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.zh.md
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.zh.md
# .agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.i18n.yaml
# .agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.zh.md
# .agents/notes/proposed/architecture/2026-07-27-session-projection-and-command-log.i18n.yaml
# README.i18n.yaml
# README.zh.md
# docs/architecture.i18n.yaml
# docs/architecture.zh.md
# docs/development.i18n.yaml
# docs/development.zh.md
# docs/persistence-catalog.i18n.yaml
# docs/persistence-catalog.zh.md
# docs/subsystems/README.i18n.yaml
# docs/subsystems/README.zh.md
# docs/subsystems/agent-team.i18n.yaml
# docs/subsystems/agent-team.zh.md
# docs/subsystems/client-modules.i18n.yaml
# docs/subsystems/client-modules.zh.md
# docs/subsystems/commands.i18n.yaml
# docs/subsystems/commands.zh.md
# docs/subsystems/persistence.i18n.yaml
# docs/subsystems/persistence.zh.md
# docs/subsystems/session-reference.i18n.yaml
# docs/tool-catalog.i18n.yaml
# docs/tool-catalog.zh.md
# docs/user/guide/providers.i18n.yaml
# docs/user/guide/providers.zh.md
# packages/README.i18n.yaml
# packages/README.zh.md
# packages/bundle/web-app/README.i18n.yaml
# packages/bundle/web-app/README.zh.md
# packages/client/README.i18n.yaml
# packages/client/README.zh.md
# packages/client/connection/README.i18n.yaml
# packages/client/connection/README.zh.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-primitives/README.i18n.yaml
# packages/client/ui-primitives/README.zh.md
# packages/client/ui-sidebar/README.i18n.yaml
# packages/client/ui-sidebar/README.zh.md
# packages/client/ui-workspace/README.i18n.yaml
# packages/client/ui-workspace/README.zh.md
# packages/context/README.i18n.yaml
# packages/context/README.zh.md
# packages/core/agent-loop/README.i18n.yaml
# packages/credentials/README.i18n.yaml
# packages/credentials/README.zh.md
# packages/experimental/agent-team/README.i18n.yaml
# packages/experimental/agent-team/README.zh.md
# packages/experimental/tool-agent-team/README.i18n.yaml
# packages/experimental/tool-agent-team/README.zh.md
# packages/host/frontend-static/README.i18n.yaml
# packages/host/frontend-static/README.zh.md
# packages/host/webserver/README.i18n.yaml
# packages/host/webserver/README.zh.md
# packages/interaction/commands/README.i18n.yaml
# packages/interaction/commands/README.zh.md
# packages/plan/plan-mode/README.i18n.yaml
# packages/plan/plan-mode/README.zh.md
# packages/sandbox/sandbox-local/README.i18n.yaml
# packages/sandbox/sandbox-local/README.zh.md
# packages/session/README.i18n.yaml
# packages/session/README.zh.md
# packages/session/session-persistence-sqlite/README.i18n.yaml
# packages/session/session-persistence-sqlite/README.zh.md
# packages/session/session-projection-cache/README.i18n.yaml
# packages/session/session-projection-cache/README.zh.md
# packages/shell/tool-pwsh/README.i18n.yaml
# packages/shell/tool-pwsh/README.zh.md
# packages/subagent/subagent-codex/README.i18n.yaml
# packages/subagent/subagent-codex/README.zh.md
# packages/subagent/subagent/README.i18n.yaml
# packages/subagent/subagent/README.zh.md
# packages/web/tool-web/README.i18n.yaml
# packages/web/tool-web/README.zh.md
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-08-20 19:15:33 +08:00
imccyu
156bd075a9
feat(webserver): structured index injection table and the client boot seams
...
Replace per-plugin tapIndex regex edits with pure-data IndexInjection rows
collected fresh per render over one webserver/index-inject event. One table,
two renderers: the served form renders rows into index.html; a static worker
form ships the same rows over its boot payload. tapIndex survives as the
raw-HTML escape hatch, applied after row rendering; client-modules and
ui-theme move to the event, and the manifest global renders as
globalThis["__DSH_BOOT__"].
The client boot chain gains the seams a pre-injected transport needs: the
module loader takes loadBundle from the transport global by default, HTTP
prefetch stands down when a transport owns bundle bytes, the web-app bundle
can decline frontend serving, the gateway client installs a namespace's
whole method group inside its fiber apply so a parked dependent never
observes the service without its methods, and the dynamic-code precheck
gates through new Function so hosts without a real node:vm keep the
define-time parse gate.
2026-08-20 16:13:04 +08:00
imccyu
f1f7dc36fa
release(dsh): 0.1.0-rc.8
2026-08-19 23:00:28 +08:00
imccyu
319d9a7984
feat(client): compose deployment branding through slots
2026-08-19 18:21:35 +08:00
lsdsjy
d66841ea3f
feat(web,cli): open the ready Web UI by default
2026-08-19 15:42:12 +08:00
Yichen Jiang
67a7c79004
Merge remote-tracking branch 'origin/master' into worktree/web-file-session-references
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/context/agent-instructions/tests/agent-instructions.spec.ts
2026-08-19 11:01:27 +08:00
pku-xht
8729f38015
Merge master at 43f08ef into localized Chinese links
2026-08-18 19:13:47 +08:00
pku-xht
8d3674695b
docs(i18n): localize Chinese internal links
2026-08-18 19:00:37 +08:00
Yichen Jiang
0ca0f3d0b8
refactor(llm): use one five-retry default
2026-08-18 16:33:22 +08:00
creatixchu
35a10ec41a
Merge remote-tracking branch 'origin/master' into worktree/web-file-session-references
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/tests/input-bar.client.spec.tsx
# packages/client/ui-subagent/package.json
# pnpm-lock.yaml
2026-08-18 15:22:32 +08:00
Yichen Jiang
f4551895bc
Merge remote-tracking branch 'origin/master' into worktree/web-pi-ai-retry-default
2026-08-18 15:14:15 +08:00
Yichen Jiang
1dbafe2973
refactor(llm): centralize deployment retry defaults
2026-08-18 15:14:09 +08:00
imccyu
cf5e686408
refactor(client): merge React bindings into UI renderer
2026-08-18 01:34:23 +08:00
imccyu
f37bc082c5
refactor(client): move web rendering into a dynamic plugin
2026-08-18 01:34:21 +08:00
creatixchu
7d19a6c2c7
Merge remote-tracking branch 'origin/master' into worktree/web-file-session-references
2026-08-17 20:46:35 +08:00
imccyu
bb4ca698d6
release(dsh): 0.1.0-rc.7
2026-08-17 18:47:02 +08:00
Yichen Jiang
2d2beda196
feat(web): default model retries to five
2026-08-17 17:59:06 +08:00
Yichen Jiang
9b0f6f9017
Merge remote-tracking branch 'origin/master' into worktree/web-file-session-references
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-25-web-command-surfaces-and-assembly.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-25-web-command-surfaces-and-assembly.md
# .agents/notes/implemented/architecture/2026-07-25-web-command-surfaces-and-assembly.zh.md
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.md
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.zh.md
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.i18n.yaml
# apps/cli/config/web.cordis.yml
# apps/cli/package.json
# apps/web/tests/scaffold.ts
# docs/capability-seams.md
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/client/connection/src/client/api.ts
# packages/client/connection/src/client/fixture.ts
# packages/client/connection/src/client/index.ts
# packages/client/runtime/src/client/contract/session.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/runtime/tests/session.client.spec.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.md
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/src/client/chat/chat-flow.ts
# packages/client/ui-conversation/src/client/input/facade.ts
# packages/client/ui-conversation/src/client/input/hub.ts
# packages/client/ui-conversation/tests/apply-inject.client.spec.tsx
# packages/client/ui-conversation/tests/chat-branch-tails.client.spec.tsx
# packages/client/ui-conversation/tests/chat-view.client.spec.tsx
# packages/client/ui-conversation/tests/input-bar.client.spec.tsx
# packages/client/ui-conversation/tests/input-matrix.client.spec.tsx
# packages/client/ui-conversation/tests/input-scenarios.client.spec.tsx
# packages/client/ui-conversation/tests/skeleton.client.spec.tsx
# packages/client/ui-input-trigger/package.json
# packages/client/ui-input-trigger/src/types.ts
# packages/client/ui-jobs/README.i18n.yaml
# packages/client/ui-slash/README.md
# packages/client/ui-slash/README.zh.md
# packages/client/ui-subagent/README.i18n.yaml
# packages/client/ui-subagent/README.md
# packages/client/ui-subagent/README.zh.md
# packages/client/ui-subagent/package.json
# packages/client/ui-subagent/src/client/index.ts
# packages/client/ui-subagent/tests/browser-plugin.client.spec.ts
# packages/client/ui-subagent/tsconfig.json
# packages/context/session-reference/README.i18n.yaml
# packages/context/session-reference/README.md
# packages/context/session-reference/README.zh.md
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/session/README.i18n.yaml
# packages/core/session/README.zh.md
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/index.ts
# packages/host/apiproxy/src/api/rpc-map.ts
# packages/host/apiproxy/src/api/rpc.schema.ts
# packages/host/apiproxy/src/api/rpc.ts
# packages/host/apiproxy/src/api/sessions.ts
# packages/host/apiproxy/src/fetch/client.ts
# packages/host/apiproxy/src/fetch/handler.ts
# packages/host/apiproxy/src/index.ts
# packages/host/apiproxy/tests/client-handler.spec.ts
# packages/host/apiproxy/tsconfig.json
# pnpm-lock.yaml
# scripts/gen-cordis-catalog.ts
# scripts/gen-doc-graphs.ts
# scripts/verify-package-readme-model-experience.ts
# tsconfig.base.json
# tsconfig.client.json
# vitest.config.ts
2026-08-14 16:18:40 +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
d8f5b0507d
Merge pull request #2495 from deepseek-harness/release/dsh-0.1.0-rc.1
...
release(dsh): 0.1.0-rc.1
2026-08-13 16:51:36 +08:00
Tianyi Cui
0a42836fbb
fix(web): address wildcard host review
2026-08-13 16:37:49 +08:00
imccyu
22ab3beac1
release(dsh): 0.1.0-rc.1
2026-08-13 16:22:33 +08:00
Tianyi Cui
0633add19d
fix(web): clarify wildcard host safety warning
2026-08-13 15:10:12 +08:00
Tianyi Cui
6cbf927e0a
fix(web): reject unsupported wildcard host
2026-08-13 14:54:22 +08:00
Tianyi Cui
c905c4694e
Adopt MIT for DSH packages
2026-08-13 13:07:24 +08:00
Hypatia May
b6b6a72df7
feat(session-query): ship full-text session search opt-in via openAt never
...
The shipped bundles keep ctx.sessionQuery mounted but set the new
session-query-sqlite `openAt: never` phase: searchSessions/searchEvents
fail with the typed SESSION_QUERY_SEARCH_DISABLED code before any request
normalization, node:sqlite is never imported or opened, and no source
observation or reconciliation runs. Every inherited exact read, filter,
and trace — session export descendants, subagent-fork Workspace
inheritance, title reads — keeps working, and the Web sidebar search
degrades to its designed local title/workspace matching. Enabling content
search is a one-line openAt override in a later patch layer; the web e2e
scaffold keeps it enabled as the assembled opt-in coverage.
2026-08-13 11:46:37 +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
34dd480ae5
fix(session-query): rename session log export package
2026-08-13 05:02:00 +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
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
07akioni
efb1857853
Merge remote-tracking branch 'origin/master' into fix/stats
2026-08-12 21:22:05 +08:00