12410 Commits

Author SHA1 Message Date
Turtle
66c6059ca8 Merge pull request #2376 from deepseek-harness/human-doc
docs: rework the architecture map and sync its Chinese pair
2026-08-12 21:13:47 +08:00
Yichen Jiang
4cf285c26e Merge remote-tracking branch 'origin/master' into feat/plugin-owned-settings-surface
# Conflicts:
#	packages/host/apiproxy/README.i18n.yaml
#	packages/host/apiproxy/README.zh.md
2026-08-12 21:13:02 +08:00
Yichen Jiang
4366528a38 feat(settings): serve every registered namespace and key plugin cards on it
A plugin that registered a settings namespace could not reach the browser
configuration page: the api-proxy filtered every read and gated every
write through two hardcoded namespace lists, and the plugin configuration
section rendered an unordered list of cards carrying an opaque id rather
than the namespace they edit. Both gates lived in this repository, so a
user-authored plugin was configurable only by hand-editing settings.yaml.

The proxy now serves whatever ctx.settings.describe() returns and adds no
boundary of its own; a name no registration answers folds into the seam's
own settings-rejected, and the settings-not-exposed code retires. The
settings seam is untouched: which client may read a namespace, and which
page renders it, are facts about consumers.

settings.plugin.item becomes a keyed slot whose key is the namespace a
card edits, following tool.call.toolview. The section reads describe once
and dispatches the intersection of the slot ledger and the served set, so
a namespace another surface owns renders nothing without declaring
anything, and a card for an uncomposed plugin is never dispatched.
2026-08-12 21:07:57 +08:00
Yichen Jiang
4bc526f40b test(web): realign the scaffold welcome-notice version mirror
The e2e scaffold pre-acknowledges the welcome notice by mirroring
WELCOME_NOTICE_VERSION from ui-settings-general. The client bumped it to
2026-08-11.1 while the mirror stayed at 2026-07-30.7, so the stale
acknowledgement stopped suppressing the notice and its overlay covered
the page: every settings-touching web e2e timed out clicking Settings.
2026-08-12 21:07:48 +08:00
Turtle
30b2a04b69 docs: correct the turn-flow event order and dispatch modes
turn/start precedes the first claim and pre-step, a rejected or empty first claim closes a zero-step turn, llm/stream and tools/* are their own domains, and agent/turn-stopping is serial. Regenerates the lifecycle diagram from the same facts and names --patch overlays exactly.
2026-08-12 21:03:15 +08:00
Turtle
a204970725 test: refresh the translation-prompt snapshot for the clone URL
The reviewed example pair embeds README.md verbatim, so the deepseek-ai clone URL moves the expected request.
2026-08-12 21:01:58 +08:00
Turtle
7af0b8f6df docs: fix grammar and sync Chinese counterparts
Correct the reworked English wording in the CLI profile section, architecture map, and llm-streaming cross-reference, then bring every edited pair's Chinese side along and re-record the pairing hashes.
2026-08-12 21:01:45 +08:00
Turtle
988f4ad117 update architeture.md 2026-08-12 21:01:11 +08:00
Turtle
09981bf948 human touch 2026-08-12 21:00:46 +08:00
Turtle
d8ef7785fd update readme 2026-08-12 21:00:46 +08:00
Turtle
e091593866 replace url 2026-08-12 21:00:46 +08:00
Turtle
737c433036 Merge pull request #2305 from deepseek-harness/docs/post-v3-release-proofreading
docs(i18n): apply release proofreading updates
2026-08-12 21:00:12 +08:00
xjt
23e09ec08e Merge master into docs/post-v3-release-proofreading 2026-08-12 20:48:08 +08:00
Terra
e7dbf6b9cf Merge pull request #1103 from deepseek-harness/feature/session-export-command
feat(session-export): add /export command and Web UI
2026-08-12 20:36:19 +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
NI0317
a3cea842d0 test(web): pin full telemetry in scaffold 2026-08-12 20:14:43 +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
NI0317
7110f0f52b test(web): acknowledge current welcome notice 2026-08-12 20:02:58 +08:00
Tianyi Cui
d322206246 fix(ci): stabilize latest-master acceptance gates 2026-08-12 19:41:06 +08:00
ZiyaZhang
be693f3bc7 test(plugin-inventory): avoid assuming loader sibling order 2026-08-12 04:23:03 -07:00
ZiyaZhang
5ed98d2da9 fix(docs): restore static gate consistency 2026-08-12 03:54:02 -07:00
Chinesezjc
fb0fae65a8 test(ci-workflow): name the cancellation assertion literally
Replace 'kill' with 'cancel' in the test name to match the mechanism and
the runbook wording.
2026-08-12 18:51:38 +08: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
Tianyi Cui
238e7f456a fix(docs): repair latest-master pairing drift 2026-08-12 17:48:17 +08:00
Tianyi Cui
6e64f77030 test(plugin-inventory): avoid randomized id order 2026-08-12 17:48:17 +08:00
Tianyi Cui
f3bfcf33bb fix(ci): budget native Windows coverage timing 2026-08-12 17:48:17 +08:00
Tianyi Cui
de17206051 fix(attachment): type failure codes 2026-08-12 17:48:17 +08:00
Tianyi Cui
fdd1050510 test(snapshot): refresh code-mode image prompt 2026-08-12 17:48:17 +08:00
Tianyi Cui
adf4878b4a fix(acp): isolate prompt admission from agent work 2026-08-12 17:48:17 +08:00
Tianyi Cui
57fc6bc539 fix(attachment): distinguish admission from storage failures 2026-08-12 17:48:17 +08:00
Tianyi Cui
32c584561a ci: refresh pull request merge ref 2026-08-12 17:48:17 +08:00
Tianyi Cui
ee5111841a docs: refresh module graph for rich content bridges 2026-08-12 17:48:17 +08:00
Tianyi Cui
4f87c1fe6d feat(acp): bridge durable image prompts and replies 2026-08-12 17:48:17 +08:00
Tianyi Cui
49426cae02 fix(mcp): project image results through durable attachments 2026-08-12 17:48:17 +08:00
Tianyi Cui
e00146be73 fix(tools): forward nested image results in code mode 2026-08-12 17:48:17 +08:00
Tianyi Cui
219d2a1fb9 feat(attachment): add ordered image batch admission 2026-08-12 17:48:17 +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
185a1f7da3 Merge pull request #2381 from deepseek-harness/fix/translation-snapshot-telemetry-text
fix(snapshot): regenerate translation-prompt-v4 snapshot with updated telemetry text
2026-08-12 17:40:03 +08:00
Chinesezjc
0dded8e7e9 fix(snapshot): regenerate translation-prompt-v4 snapshot with updated telemetry text
The merge conflict resolution kept the master-side snapshot which had
the old DSH_TELEMETRY_DISABLED=1 text. Regenerated to match the current
README.md which uses DSH_TELEMETRY_MODE=FEEDBACK_ONLY/FULL.
2026-08-12 17:38:23 +08:00
pku-xht
caf7d48f88 fix(subagent): preserve startup cleanup failures 2026-08-12 17:38:06 +08: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