Tianyi Cui
47a46e4cca
feat(profiles): add the ACP application bundle
...
Introduce @deepseek-ai/dsh-acp-app as the thin application layer for the built-in acp profile. It contributes only the ACP protocol bridge and profile metadata; dsh-base remains the single owner of shared agent composition, providers, persistence, permissions, and tools.
Wire the bundle into CLI resolution, catalogs, workspace configuration, and built-bin coverage. The focused bundle and startup tests prove that base plus acp-app exposes automation sessions while keeping stdout reserved for ACP JSON-RPC.
2026-08-23 10:59:00 +08:00
Tianyi Cui
a16822944b
feat(profiles): add the SDK application bundle
...
Introduce @deepseek-ai/dsh-sdk-app as the thin application layer for the built-in sdk profile. The bundle contributes the JSON-RPC server and startup-only profile metadata, while dsh-base continues to own the shared agent, provider, persistence, and tool composition.
Publish ctx.appReady from the launcher only after the Loader tree and launcher-owned setup succeed. The stdio lifetime binding leaves stdin unread until the protocol transport claims it and defers EOF exit 0 until readiness commits, so early protocol frames remain buffered and a racing startup failure remains the nonzero process outcome. Fiber disposal cancels both pending lifecycle listeners.
Register the bundle in the CLI resolver closure, generated configuration catalog, workspace graph, and built-bin smoke. Startup tests prove that base plus sdk-app exposes the SDK server without taking ownership of shared runtime plugins; focused and built-bin regressions cover early input, EOF readiness, and startup-error precedence.
2026-08-23 10:59:00 +08:00
Tianyi Cui
2c9da6eb5b
feat(cli): make profile patch reload policy explicit
...
Add a patchReload field to built-in profile metadata and carry it through CLI profile resolution into app boot. Live profiles install the existing patch watcher; startup profiles freeze every layer after boot and apply later edits only on the next launch. Missing or invalid metadata fails before the plugin tree starts.
The implementation keeps reload policy with the profile that owns it instead of inferring behavior from an entrypoint. Unit tests cover metadata validation and both lifecycle modes, while the CLI and app-boot references document which built-ins are live versus startup.
2026-08-23 10:59:00 +08:00
Tianyi Cui
5f60e50d71
feat(webhook): create workspace sessions from GitHub events
2026-08-23 01:48:35 +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
kingwl
82db1515fb
fix(sandbox): isolate bwrap PID namespace
2026-08-20 10:05:16 +08:00
lsdsjy
d66841ea3f
feat(web,cli): open the ready Web UI by default
2026-08-19 15:42:12 +08:00
pku-xht
205159049f
Merge master at 44f371c into localized Chinese links
2026-08-18 19:50:29 +08:00
pku-xht
8d3674695b
docs(i18n): localize Chinese internal links
2026-08-18 19:00:37 +08:00
pku-xht
b2178ade80
feat(subagent): make Codex provider directly installable
2026-08-15 03:25:43 +08:00
pku-xht
b4366e711d
feat(subagent): make Claude Code provider directly installable
2026-08-14 16:05:48 +08:00
pku-xht
9fcdb2c160
fix(subagent): close Claude SDK runtime dependencies
2026-08-13 20:30:36 +08:00
pku-xht
bb3010a8df
fix(subagent): use bundled Claude Code CLI
2026-08-13 18:45:16 +08:00
pku-xht
7de660305a
Merge commit '5ccacf0fb452ec8fecd7fda4b61eb16fd8da8f64' into codex/installable-product-subagents
2026-08-13 16:54:39 +08:00
pku-xht
208f37157a
fix(subagent): simplify optional provider delivery
2026-08-13 16:41:25 +08:00
pku-xht
22152e39be
Merge commit 'f2685aa648d9d7239ae553ff42f3811ced59d393' into codex/installable-product-subagents
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-08-05-profile-plugin-bundles.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-05-profile-plugin-bundles.zh.md
# .agents/notes/implemented/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.i18n.yaml
# .agents/notes/implemented/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.md
# .agents/notes/implemented/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.zh.md
# apps/cli/composition.md
# apps/cli/tests/web-agent-presets.e2e.ts
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# packages/bundle/base/README.i18n.yaml
# packages/bundle/base/README.zh.md
# packages/bundle/base/package.json
# packages/subagent/subagent-claude-code/package.json
# packages/subagent/subagent-codex/package.json
# pnpm-lock.yaml
2026-08-13 15:58:24 +08:00
Tianyi Cui
6cbf927e0a
fix(web): reject unsupported wildcard host
2026-08-13 14:54:22 +08:00
j-xiang
715bcce739
Merge remote-tracking branch 'origin/master' into docs/readme-human-polish-2
...
# Conflicts:
# apps/cli/README.i18n.yaml
# apps/cli/README.zh.md
# packages/core/tools/README.i18n.yaml
# packages/core/tools/README.zh.md
# python/sdk/README.i18n.yaml
# python/sdk/README.zh.md
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-08-13 10:44:52 +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
j-xiang
486c872381
docs(i18n): address focused README review
2026-08-13 00:42:11 +08:00
j-xiang
7e4b8b1676
docs(i18n): human-polish key Chinese READMEs
2026-08-13 00:12:44 +08:00
pku-xht
d1629eed45
feat(subagent): make product providers directly installable
2026-08-12 19:28:31 +08:00
xjt
3c6b6837a5
Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-23-session-telemetry-otel-revival.i18n.yaml
# .agents/notes/implemented/feature/2026-07-23-session-telemetry-otel-revival.zh.md
# .agents/notes/implemented/feature/2026-07-31-web-telemetry-default-mount.i18n.yaml
# .agents/notes/implemented/feature/2026-07-31-web-telemetry-default-mount.zh.md
# README.i18n.yaml
# README.zh.md
# apps/cli/reference/README.i18n.yaml
# apps/cli/reference/README.zh.md
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-08-12 17:52:21 +08:00
Chinesezjc
93b400a1de
Merge branch 'codex/disable-telemetry-default' into master
...
Resolved conflicts:
- packages/client/ui-settings-general/README.md, README.zh.md: kept PR
opt-in telemetry description (DSH_TELEMETRY_MODE)
- scripts/snapshots/translation-prompt-v4: kept master's newer README
structure snapshot
- i18n.yaml pairing records: resolved per file state
- pnpm-lock.yaml: regenerated
- Modify/delete conflicts (scaffold/telemetry, sdk-follow-up-capabilities):
kept master deletions
2026-08-12 17:27:37 +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
Turtle
4e7f40382d
docs: clarify source build prerequisite
2026-08-12 15:37:03 +08:00
Turtle
5d3fdf3042
docs: record separate dsh build decision
2026-08-12 15:37:03 +08:00
Turtle
4c49e7109b
fix(cli): separate dsh from repository build
2026-08-12 15:37:03 +08:00
xjt
4806d94715
docs(i18n): include complete proofreading corpus
2026-08-12 12:30:19 +08:00
Turtle
341051603f
refactor(web): remove --dev; mount the reload chain unconditionally
...
The client-hmr row joins the web bundle as an ordinary always-on roster
row: without a rebuild watcher rewriting client bundles it polls
unchanged files and stays idle. This deletes the --dev flag, the web
runtime's mode config, the mode-forked prompt contract, the DSH_WEB_MODE
bash variable, and the post-settlement row-creation machinery the
conditional row required. dsh web + pnpm run dev:web remains the
development loop.
2026-08-11 18:01:25 +08:00
Turtle
c598989d08
refactor(cmdline): trim the command-line seams to existing interfaces
...
The web runtime creates its dev-mode client-hmr row in the root tree
after Loader settlement with plain loader.create, deleting the vendored
Entry.enableRuntime state machine and dsh-cmdline's enableRow export.
Include declares the existing EntryGroup.key tree-carrier marker instead
of the EntryConfigResolver protocol (its own path stays literal; nothing
used a dynamic path). The launcher recognizes no app row: SIGTERM exits
0 on every surface, every boot watches its user patch layers, and the
headless runner exits through ctx.appExit, deleting ctx.headlessIo. Also
restores the vendor README rescope entry to the position the
rescope-vendor exact-edit anchor requires, fixing the master hygiene
regression.
2026-08-11 18:00:15 +08:00
Chinesezjc
b86c2f351c
Merge remote-tracking branch 'origin/master' into codex/disable-telemetry-default
...
Resolve three conflicts:
- packages/bundle/base/tests/base.spec.ts: keep both assertion sets — this
branch's telemetry-otel mode expression and master's subagent rows plus
manifest dependencies.
- packages/session/session-telemetry-otel/tests/otel.spec.ts: keep master's
per-mode sharing disclosure test, but select FULL explicitly instead of
relying on an omitted mode, because the default is now DISABLED; the
default-construction test keeps asserting disabled delivery and gains a
case pinning that an omitted mode reports 'disabled' sharing.
- scripts/snapshots/translation-prompt-v4/request-response.expected.json:
re-recorded from the merged READMEs rather than hand-merging the embedded
document text.
2026-08-11 15:57:02 +08:00
Turtle
67ef355800
refactor(cli): inline source launch script
2026-08-11 11:58:47 +08:00
Turtle
d8e50c2c0b
fix(review): address source-run feedback
2026-08-11 11:22:08 +08:00
Turtle
ee9465e4b3
build before source dsh launch
2026-08-11 11:22:08 +08:00
Turtle
34abf69730
cleanup: remove managed source installer
2026-08-11 11:22:08 +08:00
Turtle
09e2d2ddc1
refactor(cmdline): make command providers ordinary
2026-08-10 23:45:05 +08:00
Turtle
37ee7b0f24
fix(cmdline): reject multiple command-line owners
2026-08-10 23:45:04 +08:00
Turtle
d4ccfbd80f
refactor(cli)!: complete app-owned profile startup
2026-08-10 23:45:04 +08:00
Turtle
37cbd155f5
refactor(cli)!: the launcher parses only its own flags
...
Launcher flags come first and end at the first token dsh does not
recognize; everything after reaches the booted app verbatim, so
dsh --profile tui --resume <id> works with no launcher change and
dsh --profile web --help prints the web app's help. A bare dsh -h, which
has no app to hand the flag to, still prints the launcher's own.
src/web.ts is deleted: the Web flag family, its LAN-trust sampling, and the
one-shot task positional now live in their bundles, and runProfile no
longer knows any row id. What the startup row decides comes back as a
launcher-owned patch layer above every layer a user can edit, so a live
config edit recomposes the tree without resetting a served port.
dsh web and dsh --profile web finally boot through one path, which also
gives --profile web the harness-source prompt section that only the alias
used to add.
2026-08-10 23:45:04 +08:00
Yichen Jiang
a4e679853f
Merge remote-tracking branch 'origin/master' into worktree/fix-minimal-preset-prompt
2026-08-10 22:15:30 +08:00
Turtle
e6eb44ed2a
feat(telemetry): require explicit opt-in
2026-08-10 21:57:56 +08:00
Turtle
993550e6c8
refactor: remove repository plugin path
2026-08-10 21:32:13 +08:00
Yichen Jiang
86d5dd4384
fix(preset): align minimal agent with RL composition
2026-08-10 18:02:11 +08:00
Turtle
a27efdef36
docs: make technical prose concrete
2026-08-10 16:34:20 +08:00
creatixchu
a832fc2fa5
Merge remote-tracking branch 'origin/master' into worktree/drop-create-by-name
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.i18n.yaml
# .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/simplification/2026-07-31-one-route-to-add-a-workspace.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.md
# .agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.zh.md
# apps/cli/reference/README.i18n.yaml
# docs/config-catalog.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/index.ts
# packages/host/apiproxy/tests/api-proxy-approval.spec.ts
# packages/host/apiproxy/tests/api-proxy-blank.spec.ts
# packages/host/apiproxy/tests/api-proxy-cold.spec.ts
# packages/host/apiproxy/tests/api-proxy-commands.spec.ts
# packages/host/apiproxy/tests/api-proxy-config.spec.ts
# packages/host/apiproxy/tests/api-proxy-models.spec.ts
# packages/host/apiproxy/tests/api-proxy-projections.spec.ts
# packages/host/apiproxy/tests/api-proxy-question.spec.ts
# packages/host/apiproxy/tests/api-proxy-rename.spec.ts
# packages/host/apiproxy/tests/api-proxy-search.spec.ts
# packages/host/apiproxy/tests/api-proxy-subagents.spec.ts
# packages/host/apiproxy/tests/api-proxy-view.spec.ts
# packages/host/apiproxy/tests/api-proxy-workspace.spec.ts
# packages/todo/tool-todo/tests/projection.spec.ts
# scripts/hero-composer-dom-continuity.mjs
2026-08-10 15:49:34 +08:00
Huanqi Cao
f5caadc808
Merge branch 'feat/windows-pwsh-default' into feat/windows-acl-sandbox
...
# Conflicts:
# packages/bash/pwsh-local/src/index.ts
# packages/sandbox/sandbox-local/src/index.ts
2026-08-09 17:50:55 +08:00
Huanqi Cao
8af10a54b9
Merge remote-tracking branch 'origin/master' into feat/windows-pwsh-default
2026-08-09 17:45:36 +08:00
Huanqi Cao
165ad7e969
Merge branch 'feat/windows-pwsh-default' into feat/windows-acl-sandbox
...
# Conflicts:
# .agents/notes/implemented/feature/2026-08-01-pwsh-tool-and-executor.i18n.yaml
# .agents/notes/implemented/feature/2026-08-01-pwsh-tool-and-executor.zh.md
# packages/bash/tool-pwsh/README.i18n.yaml
# packages/bash/tool-pwsh/README.zh.md
2026-08-09 16:59:52 +08:00
Huanqi Cao
018009338b
Merge remote-tracking branch 'origin/master' into feat/windows-pwsh-default
...
# Conflicts:
# .agents/notes/proposed/feature/2026-08-01-windows-pwsh-default.i18n.yaml
# .agents/notes/proposed/feature/2026-08-01-windows-pwsh-default.zh.md
# packages/bundle/base/README.i18n.yaml
# packages/bundle/base/README.md
# packages/bundle/base/README.zh.md
2026-08-09 16:37:48 +08:00