Commit Graph

3832 Commits

Author SHA1 Message Date
Turtle
2a5dfb7d35 feat(tui): session resume — /resume command, exit hint, and dsh --resume <id>
Squashes feat/tui-resume-command, fix/tui-resume-desc, and
feat/tui-resume-flag.
2026-07-22 14:29:52 +08:00
Turtle
87899ae161 feat(workspace-context): load all instruction candidates, dedup by trimmed content, follow symlinks
Squashes feat/instruction-load-all-dedup and feat/allow-instruction-symlink.
2026-07-22 14:29:52 +08:00
Turtle
dd55b2cc62 feat(tui): verbose turn-phase status line with elapsed timing and cache hit rate
Squashes feat/tui-cache-hit-rate and feat/tui-verbose-status: the footer
shows cache hit rate and the running status line reports turn phase with
elapsed timing.
2026-07-22 14:29:28 +08:00
Turtle
ea93166e57 feat(tui): auto-title the terminal pane from the first user message 2026-07-22 14:29:28 +08:00
Turtle
9c8994f65a feat(tui): experimental dev-only /reload command for loader configs
Squashes feat/tui-reload-command and fix/reload-idle-only: /reload requires
an idle agent.
2026-07-22 14:29:28 +08:00
Turtle
19f9a509aa feat(cli): tell the agent where its own source lives and invite it to extend dsh
Squashes feat/dsh-system-prompt-source-path and feat/dsh-source-extend-hint.
2026-07-22 14:29:28 +08:00
Turtle
0e06d0691d feat(examples): default agent configs to DeepSeek Pro Max Thinking 2026-07-22 14:29:28 +08:00
Turtle
7dbe99f008 feat(tui): badge queued steering count on the running status line 2026-07-22 14:29:28 +08:00
Turtle
c8cc087e05 feat(workspace-context): load .local. instruction overlays by default
Load a per-directory local overlay in addition to the base instruction
file, matching the Claude Code AGENTS.local.md / CLAUDE.local.md
convention for git-ignored personal guidance.

- New config `localInstructionFileCandidates`, default
  `['AGENTS.local.md', 'CLAUDE.local.md']`; empty disables the overlay.
  The default lives in the plugin Config schema, so every front door
  (TUI/ACP/headless) reads .local. files consistently.
- Per project directory the plugin loads the first-existing base
  candidate, then additively the first-existing local candidate,
  rendered after the base so it takes precedence within the byte budget.
- Base and local tiers get distinct scope keys via a NUL sentinel
  (scopeKey/decodeScopeKey) so they never collide in the baseline map,
  pending window, or version cache.
- The fixed user-global $DSH_HOME/AGENTS.md stays base-only.

Docs: README (config, lifecycle, Known Limitations), regenerated
config-catalog, and a new bilingual Agent Note cross-linked to the
owning workspace-context note. 100% per-file coverage retained.
2026-07-22 14:29:28 +08:00
Turtle
45868b940f feat(tui): startup banner iterations — slogans, sweep reveal, then no banner
Squashes three linearized steps (feat/tui-startup, feat/banner-reveal,
feat/remove-banner): the banner experiment converged on removing the
startup banner entirely; later commits restore it borderless and add the
brand gradient.
2026-07-22 14:29:28 +08:00
Turtle
6baa030594 feat(cli): dsh CLI with personal config overlays from ~/.config/dsh 2026-07-22 14:29:28 +08:00
Turtle
a2f17d71ed fix(vendor/include): config hot-reload keeps the last good tree and its patches 2026-07-22 14:29:28 +08:00
Turtle
a409f8b4ba feat(tui): detect terminal color scheme and apply light-optimised palette
Squash of the linearized fix/tui-color-scheme-v2 merge and the follow-up
catalog regeneration. Renders error cause chains at every diagnostic seam
(origin/fetch-failed-diagnostics) and adds color scheme detection with a
light-terminal palette.
2026-07-22 14:29:27 +08:00
Turtle
0c9a4d7c28 Retire the readline front door and the repl-agent example
Delete packages/ui/stdio and examples/repl-agent; rename stdio-demo to
@deepseek-ai/dsh-tui-demo (TUI-only, refuses pipes before Loader boot).
tui-agent owns the coding composition inline; echo-agent and the CI demo
smoke move to the one-shot cli-demo bin, which gains -p/--prompt. The
UI-independent with-key e2es move verbatim to tui-agent. SDK wizard's
'stdio' interface becomes 'tui'. PTY testing stays confined to TUI
surfaces; all other subprocess tests ride pipes.

See .agents/notes/implemented/simplification/2026-07-20-retire-readline-front-door.md
2026-07-22 14:29:27 +08:00
Tianyi Cui
4267076407 Merge pull request #493 from deepseek-harness/worktree/disable-deepseek-web-search-e2e
test(ci): stabilize real-API and Windows coverage gates
2026-07-22 13:55:35 +08:00
Tianyi Cui
450e1fff6a test(windows): exclude deferred coverage paths 2026-07-22 13:47:24 +08:00
Tianyi Cui
6f16715299 test(windows): skip process-group disposal race 2026-07-22 13:37:44 +08:00
Tianyi Cui
cfdc6fcdfb test(windows): skip remaining unstable coverage cases 2026-07-22 13:28:52 +08:00
Tianyi Cui
1ac85eefee Merge remote-tracking branch 'origin/master' into worktree/disable-deepseek-web-search-e2e 2026-07-22 13:11:00 +08:00
Tianyi Cui
4643e0de10 test(windows): make coverage fixtures portable 2026-07-22 13:10:48 +08:00
Tianyi Cui
86f115a07c Merge pull request #263 from deepseek-harness/scoped-layers-store
refactor(scope): shared scoped-layer storage
2026-07-22 13:04:16 +08:00
Tianyi Cui
d1236963bf docs(config): refresh catalog after Windows merge 2026-07-22 12:37:51 +08:00
Tianyi Cui
48395a937c test(web): disable unreliable DeepSeek search smoke 2026-07-22 12:37:42 +08:00
Tianyi Cui
8d6a677a07 Merge remote-tracking branch 'origin/master' into scoped-layers-store
# Conflicts:
#	docs/architecture.md
2026-07-22 12:34:27 +08:00
Tianyi Cui
0180cdecd0 fix(scope): detach drained entry generations 2026-07-22 12:06:42 +08:00
Tianyi Cui
6646ef04ac Merge pull request #335 from deepseek-harness/worktree-windows-runtime
feat(windows): extend runtime and test portability
2026-07-22 10:30:32 +08:00
Tianyi Cui
c92c24667d Merge pull request #431 from deepseek-harness/fix/tui-color-scheme-v2
fix(tui): detect terminal color scheme; harden the flaky sandbox probe-timeout test
2026-07-22 10:29:35 +08:00
Tianyi Cui
f8008b571d fix(tui): preserve footer truncation after merge 2026-07-21 23:47:14 +08:00
Tianyi Cui
53615c91e7 Merge master into worktree-windows-runtime 2026-07-21 23:39:14 +08:00
Tianyi Cui
f90b64ac26 Merge pull request #479 from deepseek-harness/worktree/scoped-layers-implementation 2026-07-21 23:34:15 +08:00
Tianyi Cui
562a7f9da2 Merge pull request #451 from deepseek-harness/codex/session-title
feat: add log-backed asynchronous session titles
2026-07-21 23:30:31 +08:00
Tianyi Cui
d710259263 Merge master into fix/tui-color-scheme-v2 2026-07-21 23:21:44 +08:00
Tianyi Cui
2c36792b6c docs(architecture): synchronize Chinese pair 2026-07-21 23:10:47 +08:00
Tianyi Cui
3176d232b8 Merge master into codex/session-title 2026-07-21 22:59:41 +08:00
Tianyi Cui
0cd8424d46 Merge pull request #462 from deepseek-harness/feat/xdg-single-root-home
refactor(paths): collapse harness home resolution into one resolver
2026-07-21 22:42:17 +08:00
Tianyi Cui
04d7b435d2 docs(scope): record shared scoped-layer decision 2026-07-21 22:24:45 +08:00
Tianyi Cui
e56bcb4d5c refactor(commands): use shared scoped layers 2026-07-21 22:16:06 +08:00
Tianyi Cui
1d209932d6 refactor(scope): migrate tool and prompt layers 2026-07-21 22:14:49 +08:00
Tianyi Cui
57cd9ce2bf Merge master into feat/xdg-single-root-home 2026-07-21 22:14:45 +08:00
Tianyi Cui
8351cdbe65 feat(scope): add scoped-layer storage 2026-07-21 22:09:19 +08:00
Tianyi Cui
d80dc21387 docs(agent-note): refresh shared scoped-layer proposal 2026-07-21 21:54:37 +08:00
Tianyi Cui
e4c5d4d6d8 Merge remote-tracking branch 'origin/master' into scoped-layers-store
# Conflicts:
#	.agents/notes/proposed/architecture/2026-07-12-scoped-layers-store.i18n.yaml
#	.agents/notes/proposed/architecture/2026-07-12-scoped-layers-store.md
#	.agents/notes/proposed/architecture/2026-07-12-scoped-layers-store.zh.md
#	docs/rfc/INDEX.md
2026-07-21 21:42:32 +08:00
Tianyi Cui
26b3717419 Merge pull request #399 from deepseek-harness/codex/enforce-tool-cancellation
fix(tools): enforce cooperative cancellation
2026-07-21 21:25:53 +08:00
Tianyi Cui
af1e40e7c6 Merge master into feat/xdg-single-root-home 2026-07-21 21:20:43 +08:00
Tianyi Cui
3a895ce815 Merge master into codex/session-title 2026-07-21 21:11:32 +08:00
Tianyi Cui
2c6c565647 Merge remote-tracking branch 'origin/master' into codex/enforce-tool-cancellation 2026-07-21 20:40:52 +08:00
Tianyi Cui
717fa47535 Merge pull request #455 from deepseek-harness/chore/doc-sync-single-pass
chore(gates): route doc-sync through the run-gates scheduler
2026-07-21 20:37:37 +08:00
Tianyi Cui
5acd0c6305 Merge commit 'refs/codex/unblock/master-current' into HEAD
# Conflicts:
#	package.json
2026-07-21 20:31:42 +08:00
Tianyi Cui
5d2f6da843 Merge remote-tracking branch 'origin/codex/enforce-tool-cancellation' into codex/enforce-tool-cancellation
# Conflicts:
#	packages/core/scope/tests/invariant.spec.ts
#	packages/ui/tui/tests/harness.ts
2026-07-21 20:27:58 +08:00
Tianyi Cui
70e50cd9be Merge commit 'refs/codex/unblock/master-current' into HEAD
# Conflicts:
#	docs/event-producer-consumer.md
#	examples/acp-agent/tests/snapshots/bash-spill/session.jsonl
#	examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
#	examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
#	examples/acp-agent/tests/snapshots/fs-escalation-approved/session.jsonl
#	examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
#	packages/context/workspace-context/tests/workspace-context.spec.ts
#	packages/core/agent/src/index.ts
#	packages/support/invariants/tests/invariants.spec.ts
#	packages/ui/acp/src/index.ts
#	packages/ui/tui/tests/harness.ts
#	packages/ui/tui/tests/tui.spec.ts
2026-07-21 20:20:53 +08:00