Commit Graph

11469 Commits

Author SHA1 Message Date
pku-xht
ebe932e24c fix(subprocess): clean managed processes on host exit 2026-08-11 15:59:43 +08:00
_Kerman
b6cd817aca Merge pull request #2131 from deepseek-harness/fix/web-favicon-dark-mode
fix(web): make the favicon follow the color scheme
2026-08-11 14:58:43 +08:00
Tianyi Cui
e063fc1a89 Merge pull request #2162 from deepseek-harness/worktree/windows-acl-hardening-followup
fix(sandbox): keep Windows ACL temp authority session-private
2026-08-11 14:57:22 +08:00
Chinesezjc
b7ea33ecde Merge pull request #2202 from deepseek-harness/ci/selfhosted-windows-runners
ci: unify Windows CI on native self-hosted runners
2026-08-11 14:49:48 +08:00
Tianyi Cui
a8db48429a Merge remote-tracking branch 'origin/master' into worktree/windows-acl-hardening-followup 2026-08-11 14:43:23 +08:00
Yichen Jiang
104724d866 Merge pull request #2205 from deepseek-harness/worktree/preset-plane-fallout-p1
fix(preset): keep the token meter host-plane and name unjoined agents
2026-08-11 14:41:08 +08:00
Yichen Jiang
ab300feb80 Merge pull request #2245 from deepseek-harness/fix/preset-card-description-clamp
修复 web 端 Agent 预设卡片被长描述顶高
2026-08-11 14:39:29 +08:00
Yichen Jiang
c345d70f82 Merge remote-tracking branch 'origin/master' into worktree/preset-plane-fallout-p1
Only `docs/module-graph.*` conflicted; generated, so taken from master and
regenerated. `api-proxy.ts` auto-merged — this branch's history read
(`historySourceFor` / `presenterScopeFor` / `historyCutOf`, in that order)
is intact.

Hook bypassed as before: the staged-pairing check hands an archived note path
to `verify-translation-pairing`. The full-corpus gate passes.
2026-08-11 14:32:59 +08:00
Tianyi Cui
a3ca7f09b2 Merge remote-tracking branch 'origin/master' into worktree/windows-acl-hardening-followup
# Conflicts:
#	packages/sandbox/sandbox-windows-acl/package.json
2026-08-11 14:32:26 +08:00
Tianyi Cui
c4e7b453eb Merge pull request #2177 from deepseek-harness/feat/web-session-log-export
feat(web): export the session log from the trajectory toolbar
2026-08-11 14:27:52 +08:00
Yichen Jiang
d6d7953ae9 fix(web): flip a tooltip that the viewport has no room for
The bubble clamped horizontally and did nothing vertically, so a long
label under an anchor low on the page ran off the bottom. Preset cards
made that the common case: custom presets sit at the end of the roster
and carry the longest descriptions.

A `top` or `bottom` bubble now flips to the other side, and only into a
side that genuinely fits — an anchor with room on neither keeps the
requested placement rather than oscillating. Sliding the bubble
vertically instead would cover the text being read.
2026-08-11 14:26:18 +08:00
Yichen Jiang
b06969b56f Merge remote-tracking branch 'origin/master' into worktree/preset-plane-fallout-p1
Only `docs/module-graph.*` conflicted, from master's new
`@deepseek-ai/dsh-message-feedback` package; generated, so taken from master
and regenerated.

Hook bypassed as before: the staged-pairing check hands an archived note path
to `verify-translation-pairing`. The full-corpus gate passes.
2026-08-11 14:13:32 +08:00
Yichen Jiang
9f5eb5da8a fix(web): clamp preset card descriptions instead of sizing the roster
A preset publishes its own description, of any length, and `.cards` sizes
rows with `grid-auto-rows: 1fr` — which makes every implicit row the same
height, not just the row holding the tall card. One long description
therefore set the height of the whole roster.

The description now clamps to four lines and offers the rest through the
shared Tooltip, attached only while the element actually overflows. Card
height stays derived: with the description bounded, `grid-auto-rows: 1fr`
already equalizes, and a card carrying the broken-preset reason or a
revealed path still sizes itself.

Tooltip gains an optional `maxWidth`; its default half-viewport cap
renders a description wider than the settings dialog it belongs to.

The failed-shape-check badge reads "Failed to load" rather than "Broken":
discovery reports a composition that is missing, unreadable, or malformed,
which overstates as damage.

Fixes #2238
2026-08-11 14:09:04 +08:00
_Kerman
c2569c3f9d feat(web): include referenced media in the session-log export
The export ZIP now carries every image any included log references under
media/<attachmentId>.<ext>, read and verified from the attachment store with
one entry per shared image. The endpoint requires the attachments service
alongside persistence and session-query; a referenced image that cannot be
read fails the stream like a missing descendant.
2026-08-11 14:08:58 +08:00
_Kerman
c8a201bebd Merge remote-tracking branch 'origin/master' into feat/web-session-log-export 2026-08-11 13:46:46 +08:00
_Kerman
1e22fe459b test(session): cover the readRaw abort-reason fallback branch 2026-08-11 13:39:23 +08:00
Ziya
b0e022c150 Merge pull request #2217 from deepseek-harness/agent/message-feedback-backend
feat(feedback): add durable message feedback backend
2026-08-11 13:29:20 +08:00
hypatiamay
c76570a3b8 Merge pull request #2138 from deepseek-harness/feat/parallel-subagent-calls
feat(subagent): sibling delegations are concurrency-safe
2026-08-11 13:24:43 +08:00
_Kerman
ab0b76d0a3 fix(session): reject readRaw abort with an Error to satisfy contracts lint 2026-08-11 13:20:23 +08:00
ZiyaZhang
682451d001 fix(ci): refresh merged doc pairings 2026-08-10 22:17:08 -07:00
Ziya
d78d4a6189 Merge branch 'master' into agent/message-feedback-backend 2026-08-11 13:10:06 +08:00
Turtle
d8e89e1644 Merge pull request #2198 from deepseek-harness/codex/fix-clone-instructions
docs: replace nonexistent repository references
2026-08-11 13:09:19 +08:00
Terra
346bfd23bf Merge pull request #1866 from deepseek-harness/feature/workspace-picker-composer
feat(web): open workspace picker from the composer
2026-08-11 13:01:38 +08:00
_Kerman
1b8175ddfd Merge remote-tracking branch 'origin/master' into feat/web-session-log-export 2026-08-11 12:59:05 +08:00
Yichen Jiang
cc1cf12cb6 Merge remote-tracking branch 'origin/master' into worktree/preset-plane-fallout-p1
Generated docs (`module-graph`, `event-producer-consumer`) taken from master
and regenerated. The `cordis-inspect-jsdoc` golden likewise: master's copy is
the base, and this branch's `presentAs` per-scope rewording is re-applied on
top, since `cordis_inspect` renders that JSDoc into model-visible output.

Hook bypassed as before: the staged-pairing check hands an archived note path
to `verify-translation-pairing`. The full-corpus gate passes.
2026-08-11 12:57:58 +08:00
_Kerman
96646ce481 chore: regenerate cordis catalog after merging latest master 2026-08-11 12:55:39 +08:00
_Kerman
4724a69476 Merge remote-tracking branch 'origin/master' into feat/web-session-log-export 2026-08-11 12:54:33 +08:00
Yichen Jiang
a40155ad23 Merge pull request #2071 from deepseek-harness/worktree/web-background-tasks-display-258f7e
feat(web): list background tasks in the session header
2026-08-11 12:52:04 +08:00
_Kerman
b701090c4f docs: refresh module graph after merging master 2026-08-11 12:49:47 +08:00
_Kerman
3a6112f641 fix(web): satisfy contracts-ready lint and dedup the stable-file read
Rescope nothing new: drop the needless async from the inherited readRaw
default (reject explicitly on abort), fix the void arrow shorthand in
downloadBlob, and share one revision-stable file-read loop between readRaw
and readPrefix in the JSONL backend.
2026-08-11 12:49:27 +08:00
_Kerman
118b1a8787 Merge remote-tracking branch 'origin/master' into feat/web-session-log-export
# Conflicts:
#	docs/subsystems/persistence.i18n.yaml
#	docs/subsystems/persistence.md
#	docs/subsystems/persistence.zh.md
#	packages/client/ui-trajectory/README.i18n.yaml
#	packages/client/ui-trajectory/README.md
#	packages/client/ui-trajectory/README.zh.md
#	packages/client/ui-trajectory/package.json
#	packages/client/ui-trajectory/src/client/TrajectoryView.tsx
#	packages/client/ui-trajectory/src/client/index.ts
#	packages/client/ui-trajectory/tests/client-bundle.spec.ts
#	packages/client/ui-trajectory/tests/views.spec.tsx
#	packages/host/apiproxy/package.json
#	pnpm-lock.yaml
2026-08-11 12:42:53 +08:00
Yichen Jiang
2895113970 Merge remote-tracking branch 'origin/master' into worktree/web-background-tasks-display-258f7e 2026-08-11 12:42:30 +08:00
Hypatia May
a26d03960a feat(subagent): sibling delegations are concurrency-safe
One assistant message carrying several subagent calls now overlaps them
under the rolling pool (maxParallelToolCalls) instead of serializing each
foreground delegation behind an exclusive barrier; results still commit
in model order.

tool-subagent declares isConcurrencySafe: () => true for every call form:
children work in their own sessions, a run never mutates the parent
session, and sibling workspace coordination already belongs to the model
for background, continuable, and workflow children. The former
serial-execution pin flips to a parallel pin plus a gated genuine-overlap
test, and the authored subagent-parallel snapshot pins the assembled
transcript (tool/call, tool/call, tool/result, tool/result) with
interchangeable twin children, which replay race-free under the existing
first-call binding and createdAt harvest ordering.

The provider seam now requires concurrent starts and continuable
preparations for distinct children to isolate operation-local state,
cancellation, settlement, and cleanup; a continuable gate test proves a
cancelled preparation leaves no Agent or durable Session while its
sibling persists independently.

Closes deepseek-harness/deepseek-harness#1489
2026-08-11 12:41:24 +08:00
ZiyaZhang
c61be60737 fix(feedback): address backend review gaps 2026-08-10 21:40:03 -07:00
ZiyaZhang
c3d0fe1bf9 fix(feedback): harden backend consistency 2026-08-10 21:40:03 -07:00
ZiyaZhang
3cffc77719 feat(feedback): add durable message feedback backend 2026-08-10 21:40:03 -07:00
Turtle
d00590c707 docs: replace nonexistent repository references 2026-08-11 12:35:38 +08:00
CreatixChu
aaef105b7b Merge pull request #2148 from deepseek-harness/feat/read-image-context
feat(fs): add a minimal read_image tool over the attachment and fs seams
2026-08-11 12:31:39 +08:00
Chinesezjc
f7745a35e1 test(subagent-codex): use async rm for real-product temp cleanup
Switch the afterEach cleanup from rmSync to the async rm with 10
retries, matching subagent-claude-code. On native Windows the
synchronous rmSync retry window (5 x 100ms) is too short for the
real Codex subprocess to release its directory handles after exit,
so cleanup repeatedly fails with EPERM; the async variant with a
wider retry window drains the handles before removing the tree.
2026-08-11 12:28:50 +08:00
creatixchu
10d9fd21f2 Merge remote-tracking branch 'origin/master' into feat/read-image-context 2026-08-11 12:08:33 +08:00
Turtle
a9852a2b5b Merge pull request #2152 from deepseek-harness/codex/remove-source-installer
cleanup: simplify source execution around pnpm dsh
2026-08-11 12:07:29 +08:00
creatixchu
a3e448ee5d docs(fs): document bounded byte reads 2026-08-11 12:07:21 +08:00
Yichen Jiang
58cdf3d7f7 fix(client): adopt the renamed client plugin manifest key
Master moved the browser-half declaration from a top-level `dshClient` to
`dsh.client`, and the new package still carried the old key. The Loader row
resolved, the host half applied, and the bundle built — the browser simply
never mounted the entry, so the session header rendered no task control at all
while `ctx.tasks` held a running task. Nothing reported it; the web e2e is
what caught it.

Also carried the merged tree onto master's current package rules: the release
manifest shape (version, repository, workspace-protocol peers, no `private`)
and `@deepseek-ai/cordis` in place of the old `cordis` specifier, plus the
connection handle the locale plugin's settings scope now reads in tests.
2026-08-11 12:03:30 +08:00
Chinesezjc
8424a73cd8 docs: extend failover runbook with Windows pool
Cover the hosted Windows-pool outage in scope, add the dsh-win-ci pool description (32 scheduled-task runner instances, 96-core machine, Git Bash on PATH prerequisite), and update the switch to retarget all five jobs (three Linux workers, native Windows, all-checks-passed).
2026-08-11 12:00:19 +08:00
Turtle
67ef355800 refactor(cli): inline source launch script 2026-08-11 11:58:47 +08:00
Yichen Jiang
34b28f757d Merge remote-tracking branch 'origin/master' into worktree/web-background-tasks-display-258f7e 2026-08-11 11:57:40 +08:00
Yichen Jiang
1a1c81f309 Merge remote-tracking branch 'origin/master' into worktree/web-background-tasks-display-258f7e
# Conflicts:
#	docs/subsystems/tasks.i18n.yaml
#	docs/subsystems/tasks.md
#	docs/subsystems/tasks.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/tasks/tasks-local/src/index.ts
#	packages/tasks/tasks/README.i18n.yaml
#	packages/tasks/tasks/README.md
#	packages/tasks/tasks/README.zh.md
#	packages/tasks/tasks/src/index.ts
2026-08-11 11:57:33 +08:00
creatixchu
2a755f2863 Merge remote-tracking branch 'origin/master' into feat/read-image-context 2026-08-11 11:54:22 +08:00
NI0317
53f3f4b14b Merge remote-tracking branch 'origin/master' into feature/workspace-picker-composer 2026-08-11 11:53:49 +08:00
_Kerman
2076c43442 fix(web): keep trajectory toolbar Duration/Turns/Calls/Export untranslated
Show the four toolbar terms in English even in the Simplified Chinese
dictionary, including their tooltips, aria labels, and the export failure
message, and update the pinned-zh specs to match.
2026-08-11 11:53:32 +08:00