imccyu
822d735356
feat(session): persist model selection and share its catalog
2026-08-25 06:07:42 +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
Tianyi Cui
c2ad69344f
fix(python-sdk): make the minimal profile an explicit allowlist
...
Give the SDK JSON-RPC server a per-root tool filter and let deployments mark the configured persona as the complete system prompt. The checked-in minimal overlay now names only bash and str_replace_editor, so later global tools and unrelated guidance from dsh-base cannot appear implicitly.
Keep the shared SDK host services and packaged Web capability intact. Only workspace instructions, compaction, and the conflicting one-shot Bash row remain disabled. Unit coverage pins the configuration paths, and a real dsh profile smoke proves the assembled prompt and exact two-tool request.
2026-08-24 17:28:28 +08:00
imccyu
64c9e4a22c
docs: define client-derived tool presentation
2026-08-24 10:24:16 +08:00
imccyu
3728c0b13e
test(client): cover reconnect and question scope paths
2026-08-23 16:16:05 +08:00
imccyu
a49b265f88
docs: synchronize controller transport documentation
2026-08-23 16:16:04 +08:00
imccyu
9eb3747ffc
fix(user-questions): bridge scoped request events
2026-08-23 16:16:03 +08:00
imccyu
3d6d595d79
feat(api-gateway): unify Remote streams and events
2026-08-23 16:16:01 +08:00
Tianyi Cui
3c0da7bef7
refactor(session): name delivery acceptance event
2026-08-22 23:18:13 +08:00
Tianyi Cui
fe72ab42d1
feat(deepseek): upload incremental session logs
2026-08-22 22:55:02 +08:00
Tianyi Cui
a2b415096d
refactor(todo): own todo event vocabulary
2026-08-22 21:10:02 +08:00
Turtle
6b3e971805
docs: remove implementation narration from prose
2026-08-21 22:22:23 +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
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
f1f7dc36fa
release(dsh): 0.1.0-rc.8
2026-08-19 23:00:28 +08:00
_Kerman
7d3ba2a85b
Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2300
2026-08-19 15:39:30 +08:00
CreatixChu
24ef32c7b8
Merge pull request #2134 from deepseek-harness/worktree/abort-partial-finalize
...
feat(agent-loop): finalize a cancelled stream's delivered prefix
2026-08-19 15:39:14 +08:00
creatixchu
9620a752c8
refactor(agent-loop): 缩小取消前缀收尾范围
2026-08-19 14:55:26 +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
creatixchu
5766480e5b
Merge remote-tracking branch 'origin/master' into worktree/abort-partial-finalize
2026-08-19 10:51:25 +08:00
pku-xht
8d3674695b
docs(i18n): localize Chinese internal links
2026-08-18 19:00:37 +08:00
_Kerman
815b6ce5ad
Merge remote-tracking branch 'origin/master' into feat/pwsh-persistent-pty
2026-08-18 16:47:45 +08:00
_Kerman
b72bd6f5be
merge: bring master into feat/pwsh-persistent-pty
2026-08-18 13:36:46 +08:00
Dudu-0223
3546f595b9
feat(team): add durable Agent Teams runtime
2026-08-18 11:58:11 +08:00
creatixchu
7d19a6c2c7
Merge remote-tracking branch 'origin/master' into worktree/web-file-session-references
2026-08-17 20:46:35 +08:00
creatixchu
741b89963d
Merge remote-tracking branch 'origin/master' into worktree/abort-partial-finalize
2026-08-17 20:38:52 +08:00
imccyu
bb4ca698d6
release(dsh): 0.1.0-rc.7
2026-08-17 18:47:02 +08:00
creatixchu
e4560786f2
Merge remote-tracking branch 'origin/master' into worktree/web-file-session-references
2026-08-17 18:43:23 +08:00
creatixchu
f750213a19
Merge remote-tracking branch 'origin/master' into worktree/abort-partial-finalize
...
# Conflicts:
# apps/web/tests/snapshots/live-interactions/cancel.expected.md
# apps/web/tests/snapshots/queue-actions/preserved.expected.md
# docs/persistence-catalog.i18n.yaml
# docs/persistence-catalog.md
# docs/persistence-catalog.zh.md
# examples/acp-agent/tests/goal-snapshots/goal-round-driver/session.expected.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
# packages/client/runtime/src/client/sessions/request-inspection.ts
# packages/client/runtime/tests/request-inspection.spec.ts
# packages/self-modification/tool-cordis/src/api-catalog.ts
2026-08-17 17:46:57 +08:00
creatixchu
e7bace1c5d
Merge remote-tracking branch 'origin/master' into worktree/web-file-session-references
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
2026-08-17 17:06:35 +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
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
Yichen Jiang
7e95a00c8a
fix(llm): align replay state with assembled content and degrade unusable state
...
A max-tokens response that included a tool call persisted assembler-transformed
content next to replay metadata projected from the untransformed native message,
so the next request died in history reconstruction with INVALID_REPLAY_STATE and
the session stayed permanently stuck.
Write side: the finish chunk's replayState becomes a typed ReplayEnvelope —
opaque response-level metadata plus optional per-block entries aligned with the
emitted block sequence. BlockAssembler computes one keep/drop decision for
blocks and entries together, so stored metadata always describes stored content
and retained blocks keep their signatures. pi-ai splits its state into a
version-2 response half and per-block signature entries.
Read side: durable content is authoritative. toPiAssistant degrades any
unusable state — foreign kind, other versions (including the flat v1 form
already on disk), malformed metadata, or content/block mismatches — to the
existing provider-neutral conversion with an onReplayDegrade diagnostic instead
of failing the request, which un-bricks sessions poisoned before this change.
Covered by assembler and replay unit tests, an agent-loop continuation
regression, keyless real-composition continuation tests (native pruned-envelope
replay and legacy flat-state degrade), and the authored keyless snapshot
scenario max-tokens-continue through the assembled ACP app.
2026-08-15 16:07:30 +08:00
Huanqi Cao
bc6a775a31
merge: bring master into feat/pwsh-persistent-pty
2026-08-15 11:14:45 +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
j-xiang
f34eda53e3
Merge branch 'master' into docs/readme-human-polish-3
2026-08-13 16:59:11 +08:00
j-xiang
9afdf79782
docs(i18n): resolve remaining README review
2026-08-13 16:23:03 +08:00
imccyu
22ab3beac1
release(dsh): 0.1.0-rc.1
2026-08-13 16:22:33 +08:00
j-xiang
9dee1511b7
Merge branch 'master' into docs/readme-human-polish-3
2026-08-13 15:41:43 +08:00
j-xiang
1b03574fb5
docs(i18n): address focused README review
2026-08-13 15:25:00 +08:00
_Kerman
378a662082
Merge remote-tracking branch 'origin/master' into dshw/pr-2458
2026-08-13 15:15:39 +08:00
_Kerman
2be3e12965
fix(apiproxy): harden cold session metadata probing
2026-08-13 15:09:21 +08:00
j-xiang
ab08eb30a2
docs(i18n): human-polish additional Chinese READMEs
2026-08-13 14:21:33 +08:00
Turtle
1540e76598
docs: capitalize Service Provider across repository
2026-08-13 13:31:30 +08:00