Dudu-0223
8da063441b
Merge remote-tracking branch 'origin/master' into fix/web-fetch-ssrf
2026-08-25 15:17:09 +08:00
creatixchu
d978d6f90c
Merge remote-tracking branch 'origin/master' into worktree/2848-image-token-pressure
2026-08-25 15:04:56 +08:00
pku-xht
13f373f0ce
Merge master into codex/acp-minimal-diagnostics
2026-08-25 14:49:59 +08:00
Dudu-0223
8e681a66b9
Merge origin/master into fix/web-fetch-ssrf
2026-08-25 14:46:26 +08:00
_Kerman
38355623a2
Merge remote-tracking branch 'origin/master' into xtr/projection-per-session-cache
...
# Conflicts:
# packages/bundle/web-app/README.i18n.yaml
# packages/bundle/web-app/README.md
# packages/bundle/web-app/README.zh.md
2026-08-25 14:45:03 +08:00
Dudu-0223
aaf0924b48
Merge origin/master into fix/web-fetch-ssrf
2026-08-25 14:40:51 +08:00
_Kerman
b588675ccf
Merge remote-tracking branch 'origin/master' into xtr/projection-per-session-cache
...
# Conflicts:
# pnpm-lock.yaml
2026-08-25 14:40:22 +08:00
pku-xht
8bab9d1731
Merge commit '7ef7175ff0c16623ab4e43187d1ecc29820b3909' into codex/acp-minimal-diagnostics
2026-08-25 14:31:14 +08:00
pku-xht
f7a885a522
Merge commit '4b592eb90df20dc53dd12215921d5a9137214777' into codex/acp-minimal-diagnostics
...
# Conflicts:
# apps/cli/tests/profiles/acp/tests/snapshots/subagent-acp-diagnostic/input.json
# apps/cli/tests/profiles/acp/tests/snapshots/subagent-acp-diagnostic/replay.override.json
# apps/cli/tests/profiles/acp/tests/snapshots/subagent-acp-diagnostic/session.jsonl
# apps/cli/tests/profiles/acp/tests/snapshots/subagent-acp-diagnostic/stdout.expected.jsonl
# apps/cli/tests/profiles/acp/tests/snapshots/subagent-acp-diagnostic/tool-schemas.expected.json
# examples/acp-agent/tests/acp.snapshot.ts
# packages/subagent/subagent-acp/src/run.ts
# packages/subagent/subagent-acp/tests/mock-acp-server.ts
2026-08-25 14:28:36 +08:00
Dudu-0223
797c711e11
refactor(web): remove fetch approval policy
2026-08-25 14:25:12 +08:00
Tianyi Cui
3b3b493a96
fix(web): retain launch token across reloads
2026-08-25 14:23:46 +08:00
Tianyi Cui
3e24087bfa
fix(web): authenticate the browser Host API
2026-08-25 14:23:45 +08:00
creatixchu
718dd4d1b4
Merge remote-tracking branch 'origin/master' into worktree/2848-image-token-pressure
2026-08-25 14:19:37 +08:00
creatixchu
0d9bdccb7b
Merge remote-tracking branch 'origin/master' into worktree/2848-image-token-pressure
2026-08-25 14:03:24 +08:00
Yichen Jiang
152d949f3e
Merge remote-tracking branch 'origin/master' into worktree/system-prompt-order-bands
2026-08-25 13:53:44 +08:00
creatixchu
bcdbd85d15
Merge remote-tracking branch 'origin/master' into worktree/2848-image-token-pressure
2026-08-25 13:43:45 +08:00
_Kerman
2664200844
Merge remote-tracking branch 'github/master' into xtr/session-format-migration
2026-08-25 13:04:23 +08:00
_Kerman
e5a41d164b
Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2781
2026-08-25 13:04:04 +08:00
_Kerman
d385dfb3e3
Merge remote-tracking branch 'github/master' into xtr/session-format-migration
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# packages/session/session-persistence-jsonl/src/index.ts
# packages/session/session-persistence/src/coordinator.ts
# packages/session/session-persistence/src/index.ts
2026-08-25 12:41:23 +08:00
Tianyi Cui
43f0f07f9b
refactor(prompt): remove unused complete-persona config
2026-08-25 12:21:50 +08:00
Tianyi Cui
d35459e3c1
refactor(sdk): remove unused root tool filter
2026-08-25 12:21:50 +08:00
creatixchu
1c065f3cd4
Merge remote-tracking branch 'origin/master' into worktree/2848-image-token-pressure
...
# Conflicts:
# apps/cli/tests/profiles/acp/image-compaction.cordis.snapshot.yml
# apps/cli/tests/profiles/acp/image-compaction.cordis.yml
# apps/cli/tests/profiles/acp/tests/snapshots/image-compaction/input.json
# apps/cli/tests/profiles/acp/tests/snapshots/image-compaction/session.jsonl
# apps/cli/tests/profiles/acp/tests/snapshots/image-compaction/stdout.expected.jsonl
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# examples/acp-agent/tests/acp.snapshot.ts
# packages/llm/token-meter/README.i18n.yaml
# packages/llm/token-meter/README.md
# packages/llm/token-meter/README.zh.md
# packages/llm/token-meter/src/index.ts
# packages/llm/token-meter/src/surface-fold.ts
2026-08-25 11:15:35 +08:00
Yichen Jiang
43ac97b554
fix(system-prompt): centralize sparse section orders
2026-08-25 11:06:01 +08:00
_Kerman
3c8b5a26a4
Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2781
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# docs/subsystems/session-projection.i18n.yaml
# docs/subsystems/session-projection.md
# docs/subsystems/session-projection.zh.md
# packages/api/session-controller/src/history.ts
# packages/api/session-controller/tests/session-cold.host.spec.ts
# packages/extensions/tool-cordis/src/api-catalog.ts
# packages/session/session-projection-cache/src/index.ts
# packages/session/session-projection-cache/tests/cache.spec.ts
# packages/session/session-projection/src/index.ts
# scripts/run-gates.ts
2026-08-25 10:52:45 +08:00
Dudu-0223
8bf8e42b63
Merge remote-tracking branch 'origin/master' into fix/web-fetch-ssrf
2026-08-25 09:38:28 +08:00
Dudu-0223
070a180a10
Merge remote-tracking branch 'origin/master' into fix/web-fetch-ssrf
...
# Conflicts:
# examples/acp-agent/tests/acp.snapshot.ts
# examples/acp-agent/tests/snapshots/web-fetch/input.json
# examples/acp-agent/tests/snapshots/web-fetch/stdout.expected.jsonl
# knip.json
# packages/test-support/session-snapshot/tests/fixtures/web-fetch-network.ts
# snapshots/sdk/subagent-mixed/session.1.jsonl
# snapshots/sdk/subagent-mixed/session.2.jsonl
# snapshots/session/advanced-toolchain-runtime/session.1.jsonl
# snapshots/session/advanced-toolchain-runtime/session.2.jsonl
# snapshots/session/subagent-depth-two-rejection/session.1.jsonl
# snapshots/session/subagent-depth-two-rejection/session.2.jsonl
# snapshots/session/subagent-multi/session.1.jsonl
# snapshots/session/subagent-multi/session.2.jsonl
# snapshots/session/subagent-parallel/session.1.jsonl
# snapshots/session/subagent-parallel/session.2.jsonl
# snapshots/session/web-fetch/session.jsonl
# snapshots/session/web-fetch/web-fetch-fixture-server.mjs
2026-08-25 09:14:36 +08:00
imccyu
08ed5a54a8
refactor(webserver): minimize HTTP gzip integration
2026-08-25 06:43:24 +08:00
imccyu
1229292497
docs(session): refresh architecture and generated contracts
2026-08-25 06:10:25 +08:00
Dudu-0223
3b6cb9e83d
Merge remote-tracking branch 'origin/master' into fix/web-fetch-ssrf
...
# Conflicts:
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-parallel/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-parallel/session.2.jsonl
2026-08-24 21:42:27 +08:00
Dudu-0223
709e5edaba
fix(web): enforce approval before DNS resolution
2026-08-24 21:39:24 +08:00
pku-xht
0aafe0f8f8
test(subagent): align DSH SDK route evidence with profiles
2026-08-24 21:38:28 +08:00
Tianyi Cui
6ea8a52e22
fix(test): harden snapshot corpus invariants
2026-08-24 21:37:57 +08:00
Tianyi Cui
6ca682733f
refactor(test): drive sessions through owning profiles
2026-08-24 21:37:13 +08:00
Tianyi Cui
30762b63c9
refactor(test): make session snapshots transport neutral
2026-08-24 21:36:31 +08:00
Dudu-0223
357d9749d1
Merge remote-tracking branch 'origin/master' into fix/web-fetch-ssrf
...
# Conflicts:
# apps/web/tests/preview-boot.e2e.ts
2026-08-24 21:13:00 +08:00
Dudu-0223
a0c1f7a6a7
Merge remote-tracking branch 'origin/master' into codex/pr-365-fixes
2026-08-24 20:31:27 +08:00
creatixchu
9f2ba9f5aa
Merge origin/master (regenerate config catalog)
2026-08-24 19:51:16 +08:00
creatixchu
5183bc2b65
fix(compaction): 摘要收缩改按路由价并补齐定价访问路径
...
ds-review-bot 首轮意见修复:
- 摘要收缩比较改用所选节点的路由价 shadowedRouteTokenCount,修复图片消息启发式价低于带框摘要时压缩被误拒;日志影子价仍为启发式
- DeepSeek 定价经序列化器同一套 access 解析构建句柄与占位文本,消除逐图数十 token 的低估;uncatalogued 分支 JSDoc 指明复现 projectImagesForTextModel 替换
- llm-replay 在加载时拒绝纯文本模型上的 imageRequestTokens 声明
- contextBreakdown 的 README 与 JSDoc 改为等于 heuristicTokens 之和,不再声称等于路由价 surfaceTokens
2026-08-24 19:48:52 +08:00
creatixchu
42164508c8
feat(llm): 在 compaction 中按路由为图片请求压力计价
...
Closes #2848 .
- dsh-llm 新增 LlmAdapter.imageRequestPricing 同步钩子与 LlmImageRequestPricing/LlmImageRequestPrice 词汇,ctx.llm 按路由解析
- llm-deepseek 用官方公布的 v4 视觉计算器逐句移植(14px patch、3:1 降采样、384 上限、最坏对齐 pad)实现该钩子,复现请求投影的最旧优先 offload 与像素预算缩放;纯几何 requestImageDimensions 上移到 dsh-attachment
- token-meter 表层 fold 存储与路由无关的节点事实,measure() 按生效 envelope 的路由为图片出现处定价;锚点存快照并按同一路由重定价;TokenSurfaceNode 同时携带路由价 tokens 与固定启发式 heuristicTokens
- compaction 触发、保留与选段读取同一套路由价,记录的 shadowedTokenCount 保持启发式以维持 O(1) 投影 fold 一致
- llm-replay 支持按模型的 imageRequestTokens 声明;新增 keyless 的 image-compaction ACP 快照场景端到端验证装配应用
2026-08-24 19:15:30 +08:00
pku-xht
fe8a961348
feat(subagent): configure Codex provider models
2026-08-24 18:31:02 +08:00
pku-xht
a043395c2d
feat(subagent): configure Claude Code provider models
2026-08-24 18:30:49 +08:00
Dudu-0223
f76a225a7d
Merge pull request #2663 from deepseek-harness/feat/subagent-provider
...
让 subagent 按需发现并选择子 Agent 模型
2026-08-24 18:23:42 +08:00
Tianyi Cui
7a11f5fde3
docs(python): define the standalone minimal profile
...
Record sdk-minimal as the narrow repository-owned exception to base-first profile composition: callers still launch only dsh and cannot provide an arbitrary Cordis tree, while the shipped bundle may own a complete explicit roster. Cross-link the launcher, profile-bundle, Python-runtime, minimal-agent, snapshot, and telemetry decisions; the supersession audit keeps each older note active because its remaining rationale is independent.
Update the CLI, architecture, Python tutorial/reference, example, runtime-wheel reference, and bundle documentation. The docs distinguish the full sdk profile from sdk-minimal, explain explicit-home/plugin/patch customization, state the minimal permission and persistence choices, and retain the separately packaged web profile and frontend assets for direct dsh use.
Correct dsh-base descriptions to cover base-backed profiles, make SDK startup configuration visible in the generated config catalog, add sdk-minimal to the module graph, and regenerate the base-composition graph. English and Chinese pairs are re-recorded at the exact reviewed contents.
2026-08-24 17:28:29 +08:00
Tianyi Cui
c2ad69344f
fix(python-sdk): make the minimal profile an explicit allowlist
...
Give the SDK JSON-RPC server a per-root tool filter and let deployments mark the configured persona as the complete system prompt. The checked-in minimal overlay now names only bash and str_replace_editor, so later global tools and unrelated guidance from dsh-base cannot appear implicitly.
Keep the shared SDK host services and packaged Web capability intact. Only workspace instructions, compaction, and the conflicting one-shot Bash row remain disabled. Unit coverage pins the configuration paths, and a real dsh profile smoke proves the assembled prompt and exact two-tool request.
2026-08-24 17:28:28 +08:00
Tianyi Cui
f0f9b294dd
docs(python): make the dsh profile runtime current
...
Document dsh as the only application launcher across architecture, CLI, SDK, app-boot, Python package, contributor, tutorial, and example references. Explain explicit home selection, profile and patch precedence, persistent external plugin installation, the Node-free runtime path, and the absence of complete-config or ~/.dsh fallbacks.
Record the Python profile-runtime decision and update the active naming, installed-wheel, and SEA packaging notes with precise supersession. Regenerate the configuration catalog and module graph after deleting the carrier, update both reviewed languages and pairing records, and classify the retained standalone Cordis files as lower-level test fixtures rather than launch interfaces.
2026-08-24 17:28:27 +08:00
creatixchu
30704dc1df
fix(attachment): budget master pixels and share the encoding ladder
...
Master dimensions move from a 2048 long-edge rule to a total-pixel
budget (normalizedImageMaxPixels, default 2048x2048) with an 8192
long-edge cap, so extreme aspect ratios keep short-edge resolution.
The shared quality ladder and lazy execution move to encoding.ts,
review-round doc fixes land across attachment and llm packages, and
the superseded facts in the unified-image-pipeline note now describe
the shipped routing.
2026-08-24 17:10:59 +08:00
Dudu-0223
32d7092c84
Merge remote-tracking branch 'origin/master' into codex/pr-365-fixes
2026-08-24 16:33:31 +08:00
Dudu-0223
a268aada8c
fix(spill-local): harden startup cleanup
2026-08-24 16:33:15 +08:00
creatixchu
ebb8010b56
Merge remote-tracking branch 'origin/master' into worktree/2885-image-compression
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# packages/llm/llm-deepseek/README.i18n.yaml
# packages/llm/llm-deepseek/README.md
# packages/llm/llm-deepseek/README.zh.md
# packages/llm/llm-deepseek/src/adapter.ts
2026-08-24 16:23:34 +08:00
creatixchu
4863890535
fix(attachment): route image encoding by alpha over shared quality ladders
...
Delete the 5-bit colour-count classifier and palette PNG branch that
misrouted high-frequency photographic JPEGs (issue #2885 images 23/24)
into an encoder 100x slower with 4x larger output. Both normalization
and request-image encoding now route by the decoded alpha fact alone:
opaque sources down a JPEG ladder and alpha sources down a WebP
effort-0 ladder, each at qualities 85/75/60. Byte budgets become ladder
targets: the downscale retry loop is gone and a ladder-exhausted encode
keeps its smallest output, while provider byte caps stay enforced at
the transmitting route. Request transforms move to request-image-v5.
2026-08-24 16:14:32 +08:00