Commit Graph

4667 Commits

Author SHA1 Message Date
Chinesezjc
ae6b20ac14 Merge remote-tracking branch 'origin/master' into ci/serial-drill-concurrency 2026-08-12 21:51:07 +08:00
07akioni
62a437c082 review: address ds-review-bot findings on session-stats
- stateVersion starts at 1: the package is new, no persisted rows predate it
- pendingCalls pairs by own key so a provider callId naming a prototype
  property cannot fold toolMs to NaN on an unmatched crash-recovery result
- StatsLine folds the window fallback only when no sessionStats value is
  served, and gates the token group on actual token activity instead of
  steps, so failed-only sessions drop the zero-token group
- correct the crash-step counting semantics in the README and Agent Note:
  recovery closes interrupted steps with a synthetic step/end on reload
- reword the window-scoped alternative as a plain rejected option and name
  isTokenDelta's home beside the StreamChunk type
2026-08-12 21:43:35 +08:00
ZiyaZhang
bf9eb7b538 docs: repair merged translation records 2026-08-12 06:37:56 -07:00
07akioni
ae3f89e772 Merge remote-tracking branch 'origin/master' into fix/stats 2026-08-12 21:29:00 +08:00
Ziya
85c9aac5e9 Merge branch 'master' into feat/web-plugin-settings-tabs 2026-08-12 21:24:52 +08:00
07akioni
efb1857853 Merge remote-tracking branch 'origin/master' into fix/stats 2026-08-12 21:22:05 +08:00
xjt
23e09ec08e Merge master into docs/post-v3-release-proofreading 2026-08-12 20:48:08 +08:00
07akioni
dabe6207f5 fix: 分页问题 2026-08-12 20:26:47 +08:00
Ziya
f418d534a2 Merge branch 'master' into feat/web-plugin-settings-tabs 2026-08-12 20:23:43 +08:00
NI0317
648dc66e50 Merge remote-tracking branch 'origin/master' into rewrite/session-export-on-master 2026-08-12 20:18:04 +08:00
CreatixChu
a995fc2706 Merge pull request #2346 from deepseek-harness/fix/web-max-tokens-turn-end-notice
fix(web): surface max-tokens turn ends as a localized truncation notice
2026-08-12 20:07:35 +08:00
ZiyaZhang
5ed98d2da9 fix(docs): restore static gate consistency 2026-08-12 03:54:02 -07:00
NI0317
785f41daed fix(session-export): preserve streamed browser downloads 2026-08-12 18:44:04 +08:00
Ziya
8019949fc7 Merge branch 'master' into feat/web-plugin-settings-tabs 2026-08-12 18:40:38 +08:00
NI0317
8c7dab8755 fix(docs): repair current master gates 2026-08-12 18:19:25 +08:00
Chinesezjc
1caca08301 docs: narrow the push-exemption guarantee, unbreak two static gates
cancel-in-progress is evaluated against the newly triggered run, so
exempting push means one master merge does not cancel the drill still
running from the previous one — not that a drill always finishes. A
benchmark dispatched on master shares the group and does cancel a
mid-flight drill. Record that bound in the runbook and drop the
overstated wording from the workflow comment and the spec name.

Also repair two gates that fail on master and block every pull request:
the telemetry note referenced an SDK proposal deleted in 408721954a,
and the ui-settings-general README pair carried stale recorded hashes
after both sides were updated together in aa1ec02bc6.
2026-08-12 18:16:24 +08:00
Chinesezjc
0ef7f48802 Merge remote-tracking branch 'origin/master' into ci/serial-drill-concurrency 2026-08-12 18:03:42 +08:00
Chinesezjc
ba1b0e15fc ci: exempt only push from concurrency cancellation
The two self-hosted standby drills each run their complete unsharded
aggregate with one gate worker, which takes longer than the interval
between master merges, so unconditional cancel-in-progress supersedes a
drill before it reaches a verdict and the lane yields no readiness
evidence for the failover runbook to point a responder at.

Exempt push and nothing else. This has to be decided at workflow level:
cancellation applies to the whole superseded run, so a job-level
concurrency group cannot exempt its job. The negated form is
load-bearing — naming pull_request alone would also stop cancelling
workflow_dispatch, and each runner benchmark fans out to twelve larger
runners for up to fifteen minutes in this same group on master, so a
re-dispatch would queue ahead of a drill instead of replacing a stale
measurement. It does not promise every push run finishes: a newer
pending run still displaces an older one, only that the lanes
periodically reach a verdict.

A master push carries only wine-apt-cache and the two drills; every other
job is pull-request-gated, workflow_dispatch-gated, or if: false. The
spec pins that set and classifies by exact condition, since a negated
event test mentions the event it excludes.
2026-08-12 17:55:56 +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
NI0317
8940282aee feat(session-export): add command and Header action 2026-08-12 17:41:36 +08:00
ZiyaZhang
de0d16d3d1 fix(web): complete plugin tab accessibility 2026-08-12 02:41:29 -07:00
Chinesezjc
0dfca0ba21 Merge pull request #2169 from deepseek-harness/codex/disable-telemetry-default
feat(telemetry): require explicit opt-in
2026-08-12 17:32:17 +08:00
xjt
bbc75b38b2 Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading
# Conflicts:
#	.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
2026-08-12 17:31:28 +08:00
Yichen Jiang
372b0a12ca Merge pull request #2370 from deepseek-harness/worktree/python-sdk-required-ci
fix(ci): require Python runtime release path
2026-08-12 17:28:04 +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
7325036d50 Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading
# Conflicts:
#	docs/subsystems/feedback.i18n.yaml
#	docs/subsystems/feedback.zh.md
2026-08-12 17:10:13 +08:00
Ziya
7f058284fa Merge branch 'master' into feat/web-plugin-settings-tabs 2026-08-12 16:54:18 +08:00
Chinesezjc
d11df1825c Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 16:48:46 +08:00
xjt
947798948e Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading
# Conflicts:
#	.agents/notes/implemented/architecture/2026-08-03-pi-ai-declared-provider-catalog.i18n.yaml
#	.agents/notes/implemented/architecture/2026-08-03-pi-ai-declared-provider-catalog.zh.md
#	packages/llm/llm-pi-ai/README.i18n.yaml
#	packages/llm/llm-pi-ai/README.zh.md
2026-08-12 16:48:14 +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
xjt
0a8c9fb1f9 docs(i18n): address final proofreading feedback 2026-08-12 16:43:38 +08:00
Chinesezjc
e0e43f40c2 Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 16:39:15 +08:00
Chinesezjc
c55fca5eda Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui
Keep both Remote contributions master and this branch add: the mount loop
now carries commandsRemote, goalsRemote, pluginInventoryRemote, and
messageFeedbackRemote, with both new tsconfig references retained.
2026-08-12 16:36:10 +08:00
Yichen Jiang
b77033d8b3 Merge master into worktree/custom-model-image-input-0185de 2026-08-12 16:32:49 +08:00
Yichen Jiang
08941c71e3 fix(ci): require Python runtime release path 2026-08-12 16:30:35 +08:00
Yichen Jiang
50edee2dab review: sync the note this supersedes, gate the schema paths, export the modality type
The declared-provider-catalog note still recorded modalities as closed
because "nothing reads them: context.ts keeps only text blocks" — the
same reasoning this change disproves. Rewrite that fact in place, keep
pricing closed for its own still-current reason, and cross-link both
directions.

The new resolver cases never crossed the config schema, so neither
acceptance path this change adds had an executable gate: config.spec.ts
now refuses an unknown modality at both levels, pins the empty route
list to the namespace validator the settings seam actually runs, and
pins the `[]` materialization the inheritance rule depends on. A
catalog.spec.ts case re-asserts every rung through a written settings
section and `ctx.llm`, which is what the note's Testing section claimed.

Also export PiAiModality from the package entry — it types two public
config fields and consumers could not name it — record the unverified
declaration as a Known Limitation, and stop sharing one fallback array
across a route's models.
2026-08-12 16:18:52 +08:00
Yichen Jiang
94289d057e fix(llm-pi-ai): let a model declare the request modalities it accepts
A model the installed pi-ai catalog does not describe was reported as
text-only with no way to say otherwise, so a vision model added through
the custom-provider form was refused at every image admission point.
The justification in the source described the DeepSeek chat-completions
serializer, which does reject image blocks; the pi-ai request converter
and every wire protocol it speaks carry images.

Modalities now resolve entry `input` -> installed catalog entry -> route
`defaultInput`, the chain the two capacity fallbacks already use, so the
route value is a fallback and never narrows a catalog model. Its default
stays `[text]`: nothing can interrogate a gateway for its modalities, and
over-claiming admits an image the provider rejects mid-turn, after prompt
admission has already committed the message.
2026-08-12 16:18:52 +08:00
creatixchu
7c8ec67102 Merge remote-tracking branch 'origin/master' into worktree/attachment-alignment-2 2026-08-12 16:14:56 +08:00
ZiyaZhang
4f5c730032 feat(web): combine plugin settings into tabs 2026-08-12 01:06:01 -07:00
pku-xht
91a2c0bd68 Merge origin/master into codex/bounded-background-tasks-v2 2026-08-12 15:58:57 +08:00
pku-xht
21b316de23 Merge origin/master into codex/bounded-background-tasks-v2 2026-08-12 15:54:49 +08:00
Turtle
b423ed15d7 Merge pull request #2319 from deepseek-harness/codex/separate-dsh-build
Keep pnpm dsh separate from the repository build
2026-08-12 15:53:57 +08:00
Yichen Jiang
d133987d75 Merge pull request #2246 from deepseek-harness/worktree/python-pypi-release-prep
Prepare Python SDK public PyPI publication
2026-08-12 15:47:24 +08:00
Turtle
baf2bc6dc3 docs: clarify missing artifact failures 2026-08-12 15:41:53 +08:00
creatixchu
b108c6c1c9 Merge remote-tracking branch 'origin/master' into worktree/attachment-alignment-2 2026-08-12 15:41:01 +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
creatixchu
e4ca03cb85 fix(web): surface max-tokens turn ends as a localized truncation notice
A turn the provider ends at its per-request output cap previously produced
no visible sign in the Web chat flow: only error-kind turn/end events built
a conversation node, so the truncated answer read as a normal completion.

Add a turn-max-tokens conversation node Definition over the durable
turn/end event, a warning-styled localized notice row distinct from
turn-error, a fixture max-tokens sample turn, and an assembled keyless
snapshot pinning the dot state, title, and hint.

Closes #1522
2026-08-12 15:36:27 +08:00
pku-xht
b1c13b5ca3 Merge pull request #2254 from deepseek-harness/codex/subprocess-process-exit-cleanup-v2
fix(subprocess): clean managed processes on host exit
2026-08-12 15:27:03 +08:00
creatixchu
2014d354e3 Merge remote-tracking branch 'origin/master' into worktree/attachment-alignment-2 2026-08-12 15:19:32 +08:00