Commit Graph

100 Commits

Author SHA1 Message Date
Tianyi Cui
6cd9fefe88 fix(cli): register web prompt context before boot 2026-08-02 00:49:58 +08:00
Tianyi Cui
95e0dc0583 Merge remote-tracking branch 'origin/master' into worktree/default-workspace-write-ui-20260731 2026-08-01 19:55:15 +08:00
Tianyi Cui
b02b7b2e50 Merge remote-tracking branch 'origin/master' into feature/installer-adopt-checkout 2026-08-01 19:44:12 +08:00
Tianyi Cui
cb57ee9fad Merge remote-tracking branch 'origin/master' into worktree/default-workspace-write-ui-20260731 2026-08-01 19:41:42 +08:00
Tianyi Cui
1892d97930 Merge origin/master into worktree/install-interface-choice 2026-08-01 18:06:49 +08:00
Tianyi Cui
d0a0bb92ca Merge remote-tracking branch 'origin/master' into worktree/default-workspace-write-ui-20260731
# Conflicts:
#	apps/cli/README.i18n.yaml
2026-08-01 18:06:19 +08:00
Tianyi Cui
d7289febdb Merge pull request #959 from deepseek-harness/fix/checkout-workdir-prompt
fix(prompt): distinguish checkout from workdir
2026-08-01 17:54:34 +08:00
Turtle
cb1a6c74dc Merge remote-tracking branch 'origin/master' into fix/checkout-workdir-prompt
# Conflicts:
#	packages/ui/app-boot/README.i18n.yaml
#	packages/ui/app-boot/README.md
#	packages/ui/app-boot/README.zh.md
2026-08-01 00:04:49 +08:00
Turtle
2225ad435e test: cover experimental gate through the built bin; fix Agent Note facts 2026-07-31 23:37:53 +08:00
Turtle
20e51abd4e feat: rename experimental-meta/-upgrade to meta/upgrade behind --experimental gate 2026-07-31 23:37:53 +08:00
Tianyi Cui
1f6f1cc32f Merge origin/master into workspace-write default
# Conflicts:
#	apps/cli/README.i18n.yaml
2026-07-31 20:44:15 +08:00
Tianyi Cui
b694c33d18 Default shipped UI sessions to workspace-write 2026-07-31 20:39:53 +08:00
Turtle
dc88440dad Merge remote-tracking branch 'origin/master' into codex/experimental-cli-command-names
# Conflicts:
#	apps/cli/README.i18n.yaml
#	packages/ui/tui/README.i18n.yaml
2026-07-31 20:18:15 +08:00
Turtle
60a0bcd358 feat(cli): mark meta and upgrade commands experimental 2026-07-31 20:16:19 +08:00
Tianyi Cui
4ada0017cf fix(install): build workspace artifacts before web 2026-07-31 19:57:51 +08:00
Tianyi Cui
c83159f1c0 test(cli): acknowledge welcome in composition smoke 2026-07-31 19:48:04 +08:00
Tianyi Cui
0d949cfe67 feat(install): choose web or tui after setup 2026-07-31 19:47:54 +08:00
Tianyi Cui
7d04e4654a Merge remote-tracking branch 'origin/master' into worktree/pr1018-todo-retarget-20260731
# Conflicts:
#	apps/cli/README.i18n.yaml
#	packages/ui/tui/README.i18n.yaml
2026-07-31 19:23:34 +08:00
Tianyi Cui
2abf643326 Merge pull request #1040 from deepseek-harness/feat/recommended-deployment-presets
feat(cli): even out the shipped tool rosters across both surfaces
2026-07-31 19:21:18 +08:00
Tianyi Cui
3aa98ba609 Merge remote-tracking branch 'origin/master' into worktree/pr1018-todo-retarget-20260731
# Conflicts:
#	apps/cli/README.i18n.yaml
#	apps/cli/README.md
#	apps/cli/README.zh.md
2026-07-31 19:17:50 +08:00
hypatiamay
dcc9e50f84 Merge pull request #1026 from deepseek-harness/feat/compaction-progress-visibility
feat(tui): show live compaction progress
2026-07-31 19:17:43 +08:00
Tianyi Cui
c16e33d8db Merge latest master into feat/recommended-deployment-presets
# Conflicts:
#	apps/cli/README.i18n.yaml
#	apps/web/tsconfig.json
#	tsconfig.host.json
2026-07-31 19:16:05 +08:00
Tianyi Cui
1c1a65f208 Merge origin/master into feat/recommended-deployment-presets
# Conflicts:
#	apps/cli/README.i18n.yaml
#	apps/cli/package.json
#	pnpm-lock.yaml
2026-07-31 18:32:24 +08:00
Tianyi Cui
1f8dd72bd9 Merge latest master into manual compaction 2026-07-31 18:28:21 +08:00
Tianyi Cui
e9c040894f fix(cli): align shipped composition contracts 2026-07-31 18:25:03 +08:00
Tianyi Cui
ba43750e68 Merge pull request #1070 from deepseek-harness/agent/memory-mcp-examples
feat(examples): add generic MCP memory examples
2026-07-31 18:18:21 +08:00
Tianyi Cui
6e26f9fd83 Merge latest master into manual compaction
# Conflicts:
#	apps/cli/README.i18n.yaml
#	docs/architecture.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/module-graph.md
#	examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
#	packages/compact/compact-basic/README.i18n.yaml
#	packages/pty/pty-local/tests/index.spec.ts
2026-07-31 17:57:11 +08:00
NI0317
c4d88bc25e Merge latest origin/master into feature/tui-first-run-welcome
# Conflicts:
#	apps/cli/README.i18n.yaml
2026-07-31 17:49:03 +08:00
NI0317
346d1e4c74 fix(tui): address onboarding review feedback 2026-07-31 17:47:07 +08:00
NI0317
d558cb4fd4 feat(cli): even out the shipped tool rosters across both surfaces
The two shipped surfaces offered different tools for no recorded reason:
session checkpoints, tool-result pruning, the goal tools, and Ralph were in
`tui.cordis.yml`; `tool-todo` and web search were in `web.cordis.yml`. Neither
offered session search, a string-replacement editor, or a repeat-tool guard,
though none of the three is surface-specific.

Move the rows that are not surface-specific into `base.cordis.yml` and add
those three. Web search moves there too — the TUI decision the change that
made it a Web default deferred. Both surfaces now assemble the same 27 tools.

This adds only. No row is removed from either surface and no existing row's
configuration is edited: executors, sandbox composition, access defaults,
`tools.mode`, and the workflow tool are exactly what they were. Two rows stay
surface-specific: `tmux-context` (no terminal multiplexer in a browser) and
`session-reference` (its index has one writer owner).

Ship `dsh-mcp-client` as a dependency without a row: the plugin mounts one
server per instance and `command` is required, so a default would name a
third-party server and spawn it outside `ctx.bash` on every launch. The CLI
README carries the YAML for mounting one from a personal config.
2026-07-31 17:45:49 +08:00
ZiyaZhang
dc7f3253f6 fix(examples): keep memory configs provider-owned 2026-07-31 02:34:52 -07:00
ZiyaZhang
7e929d3d50 feat(examples): add generic memory MCP overlays 2026-07-31 02:00:14 -07:00
Turtle
ce0aa90c1e feat(cli): dsh --dump-config / --dump-default-config print the composed tree
dsh --dump-config and dsh web --dump-config compose the shipped base,
the surface overlay, and the --config or personal overlay — exactly the
layers that surface boots — and print the entry list as YAML without
booting; --dump-default-config stops at the surface overlay so the two
outputs diff to precisely the user layer's effect.

The dump shares the mounting code: the vendored include exports its
patch algorithm as applyEntryPatches() and its !!js dialect as
entryListSchema (logged in vendor/README.md), dsh-app-boot's
renderConfigDump() composes and renders through both (and now imports
the dialect instead of duplicating it), and the CLI adds a thin
dump-config mode. !!js expressions print verbatim; unmatched patches
warn on stderr; boot-only flags are rejected alongside the dump flags.

(cherry picked from commit 1fdbebfa8a5dc7df840d53666320064a7e3dae59)
2026-07-31 16:20:54 +08:00
Hypatia May
85cef9de6f fix(tui): unify compaction progress presentation 2026-07-31 15:27:10 +08:00
NI0317
dbb87f02bf copy(tui): disclose Session Log upload in Chinese welcome 2026-07-31 15:15:14 +08:00
Tianyi Cui
7a92f23ad4 Merge finalized manual compaction parent 2026-07-31 13:44:34 +08:00
Tianyi Cui
98f48fd83a Merge finalized Web transcript parent
# Conflicts:
#	apps/cli/README.i18n.yaml
#	packages/client/runtime/README.i18n.yaml
#	packages/client/ui-trajectory/README.i18n.yaml
#	packages/client/ui-trajectory/README.zh.md
2026-07-31 13:42:47 +08:00
NI0317
e73fa2ec9f copy(tui): refine first-run welcome message 2026-07-31 13:34:55 +08:00
NI0317
ac19ba2da3 copy(tui): use 粗糙 in first-run welcome 2026-07-31 13:28:07 +08:00
NI0317
f30579dbaa refactor(tui): own overlay terminal primitives 2026-07-31 12:36:24 +08:00
NI0317
1b4c11e7d7 fix(tui): await mounted welcome overlay service 2026-07-31 12:02:13 +08:00
Hypatia May
949b9fba8d feat(tui): add transcript compaction progress marker 2026-07-31 11:46:43 +08:00
NI0317
f7355e4e8e Merge latest origin/master into feature/tui-first-run-welcome
# Conflicts:
#	apps/cli/README.i18n.yaml
2026-07-31 10:58:48 +08:00
NI0317
436e557275 Merge origin/master into feature/tui-first-run-welcome
# Conflicts:
#	apps/cli/README.i18n.yaml
#	apps/cli/README.md
#	apps/cli/README.zh.md
#	apps/cli/src/tui.ts
#	apps/cli/tests/tui-keyless-smoke.e2e.ts
2026-07-31 10:58:00 +08:00
NI0317
cd23acb366 test(tui): force-stop resumed PTY acceptance 2026-07-31 10:25:02 +08:00
Hypatia May
afe8d49691 Merge finalized manual compaction parent 2026-07-31 10:11:54 +08:00
Hypatia May
01e64c6350 Merge finalized Web transcript parent 2026-07-31 09:46:32 +08:00
imccyu
2e034bbbd3 Merge remote-tracking branch 'origin/master' into mergebot/pr711
# Conflicts:
#	apps/cli/README.i18n.yaml
#	docs/module-graph.md
#	packages/client/connection/README.i18n.yaml
#	packages/client/runtime/README.i18n.yaml
#	packages/host/apiproxy/README.i18n.yaml
#	packages/host/apiproxy/src/api-proxy.ts
2026-07-31 02:02:47 +08:00
imccyu
d802364651 feat(cli): move the telemetry row into the shared base — every surface reports
The row moves from web.cordis.yml to base.cordis.yml, so the TUI reports
too (its exit paths already drain: disposeRootAndExit on normal exit, root
dispose before the /resume execve). The TUI launcher applies the same
resolveTelemetryPatch opt-out, judged against the tree actually booting via
configHasTelemetryRow so a --config-replace tree without the row is not
failed by a switch with nothing to disable. The TUI keyless smoke disables
telemetry in its child env; README (en/zh) and the Agent Note pair updated
to the every-surface stance.
2026-07-31 01:34:43 +08:00
imccyu
bd1c69149d fix(web): review round 1 — loud opt-out, headless drain, scaffold isolation, docs
- resolveTelemetryPatch: extracted pure switch resolution (unit-tested);
  fails loud when DSH_TELEMETRY_DISABLED is set but the row is absent, and
  documents that ANY non-empty value (including '0'/'false') disables.
- runHeadless: SIGINT/SIGTERM now dispose the tree before exit so the
  telemetry tail and shutdown marker drain (Node's default signal exit
  skips disposal).
- web.cordis.yml: explicit maxQueueSize beside maxExportBatchSize (the
  single-batch drain invariant no longer leans on an SDK default), comment
  covers exportTimeoutMillis's role and links the Agent Note.
- apps/web scaffold: disable telemetry-otel — fixture sessions must never
  leave the process.
- apps/cli README (en/zh + pairing): document the default endpoint, both
  env seams, and the no-redaction disclosure.
2026-07-31 01:34:42 +08:00