Commit Graph
8057 Commits
Author SHA1 Message Date
Huanqi Cao c29246ae31 fix(pwsh): resolve Store app execution aliases 2026-08-13 15:16:12 +08:00
Huanqi Cao 22d30852f7 test(app-boot): unlink hmr alias junctions before removing the target 2026-08-13 15:16:12 +08:00
Huanqi Cao 9e9073da24 fix(boot): unlink stale profile fallback links instead of rmSync 2026-08-13 15:16:11 +08:00
Huanqi Cao 4ed036da1c fix: Windows-native CI findings on latest master
Local run of check:ci:windows-complete (the windows-native gate) on
latest master surfaced five Windows-only failures, all unreachable by
current CI because the native windows job is disabled and the wine gate
only covers build+site.

- install-lefthook/translation-pairing-merge specs junctioned the real
  scripts/ and tsx package into fixtures; Windows recursive deletion
  (Node rmSync and git worktree remove) follows MOUNT_POINT junctions and
  deleted the repository's own directories mid-run. Fixtures now unlink
  their reparse points before any recursive removal (shared helper in
  scripts/test-fixture-cleanup.ts).
- workflow-workerthread spawned its worker with an empty env; on Windows
  os.tmpdir() then degrades to the literal relative path undefined\temp,
  so tsx wrote its transform cache into a cwd-relative undefined/
  directory inside the repo. The worker env now injects the host temp
  path on win32 (workerSpawnEnv, platform-parameterized and unit-tested
  on both arms).
- workspace-context spec did not stub USERPROFILE (win32 homedir) or a
  set DSH_HOME, leaking the developer machine's real ~/.dsh/AGENTS.md
  into discovery.
- ui-trajectory client-bundle spec mounted the built artifact without the
  remote/settingsScope provides the locale plugin needs, so the plugin
  never activated and no view registered.
- subagent temp-fixture cleanup lacked the maxRetries Windows handle
  release needs under load (EPERM); added retries to the three affected
  specs and the fixture-cleanup helper.
2026-08-13 15:16:11 +08:00
creatixchu 45f417fb6a Merge remote-tracking branch 'origin/master' into worktree/drop-beta-welcome-notice 2026-08-13 14:18:54 +08:00
creatixchu 37247ea705 Merge remote-tracking branch 'origin/master' into worktree/drop-beta-welcome-notice 2026-08-13 14:14:55 +08:00
imccyu a213befd0f build(release): publish the vendored framework and the native packages publicly
The three release sequences shipped with publishConfig.access: restricted, so
nothing in the @deepseek-ai scope was installable from outside the organization.

A restricted dependency is what actually blocks a public consumer: every harness
package declares the vendored framework as a peerDependency, and
dsh-sandbox-local declares the Landlock entry as a dependency. Those two
sequences therefore go public first — the nine vendor/* packages and the three
native/landlock-run packages — while the dsh family stays restricted until its
own sequence is opened deliberately. No public package requires a restricted one
in this arrangement.

Access is now per sequence, so no publish path can pass --access: one flag
cannot express two levels and would override the manifest that owns the fact.
publish.ts stops passing it, matching the native workflow, and
check-workspace-constraints holds each manifest to its own sequence's level,
which is what stops the scope from drifting one package at a time.

Harness consumers reference the Landlock entry as workspace:^ instead of
workspace:*, so a published harness package accepts the entry's patch and minor
releases. The entry keeps workspace:* for its platform packages, where the
binary must match the entry version exactly.

Two rationales that named a private registry no longer describe the vendored
sequence; they now state the durable reason, which is that the verification must
not depend on the registry already carrying matching versions.
2026-08-13 14:05:48 +08:00
imccyu 1646b7617e fix(bundle): exclude product subagents from base
The Codex and Claude Code subagent providers were production dependencies of
@deepseek-ai/dsh-base and mounted by its Cordis composition, so every install of
the base bundle carried two providers that only some products want.

Drop both from the base bundle's dependencies and composition. The examples keep
them as explicit dependencies, base's tests lock their absence, and the product
preset e2e mounts the providers it needs explicitly.

Cherry-picked from #2387 (two commits squashed into one).
2026-08-13 14:05:46 +08:00
Turtle a312675d10 Merge pull request #2454 from deepseek-harness/codex/capitalize-service-provider
docs: capitalize Service Provider across repository
2026-08-13 14:03:57 +08:00
creatixchu b37243a317 Merge remote-tracking branch 'origin/master' into worktree/drop-beta-welcome-notice 2026-08-13 14:01:24 +08:00
creatixchu 5061ec2ef0 feat(web): 移除首启内测声明,遥测保持默认关闭 2026-08-13 13:47:09 +08:00
Turtle 1540e76598 docs: capitalize Service Provider across repository 2026-08-13 13:31:30 +08:00
Yichen Jiang 914344d253 Merge branch 'master' into fix/withhold-oauth-only-providers 2026-08-13 13:20:44 +08:00
Yichen Jiang a5a83bd1d9 fix(llm-pi-ai): withhold OAuth-only providers from the configurable directory
pi-ai resolves an OAuth provider from a stored OAuth credential alone, and
this adapter builds its Models collection with no credential store and runs
no login flow. `openai-codex` — the one installed provider declaring
`auth.oauth` with no `auth.apiKey` — was therefore offered on the Models page
with the keyless placeholder every pi-ai route carries, and every request on
it failed `Provider is not configured` before going out.

`catalogProviderTakesApiKey()` answers whether pi-ai's installed provider for
a route declares the one method this adapter can supply, and the directory
skips the catalog routes that fail it. Catalog membership is unchanged, so
`declared` still answers what pi-ai ships; the profile half of the union stays
unconditional, so a route a settings document already names keeps its entry
and can be edited or deleted.

Resolution is untouched: a profile naming `apiKeyEnv` on such a route still
builds a working provider.
2026-08-13 13:15:47 +08:00
Tianyi Cui c905c4694e Adopt MIT for DSH packages 2026-08-13 13:07:24 +08:00
j-xiang 99f9b1dec0 Merge branch 'master' into docs/readme-human-polish-2 2026-08-13 12:01:22 +08:00
Hypatia May b6b6a72df7 feat(session-query): ship full-text session search opt-in via openAt never
The shipped bundles keep ctx.sessionQuery mounted but set the new
session-query-sqlite `openAt: never` phase: searchSessions/searchEvents
fail with the typed SESSION_QUERY_SEARCH_DISABLED code before any request
normalization, node:sqlite is never imported or opened, and no source
observation or reconciliation runs. Every inherited exact read, filter,
and trace — session export descendants, subagent-fork Workspace
inheritance, title reads — keeps working, and the Web sidebar search
degrades to its designed local title/workspace matching. Enabling content
search is a one-line openAt override in a later patch layer; the web e2e
scaffold keeps it enabled as the assembled opt-in coverage.
2026-08-13 11:46:37 +08:00
j-xiang bb14c60226 Merge remote-tracking branch 'origin/master' into docs/readme-human-polish-2 2026-08-13 11:28:25 +08:00
Tianyi Cui 137c3c9254 Merge pull request #2428 from deepseek-harness/fix/run-code-description-contract
让 run_code 的模型面说明点名必填的 description 参数
2026-08-13 11:17:48 +08:00
j-xiang 715bcce739 Merge remote-tracking branch 'origin/master' into docs/readme-human-polish-2
# Conflicts:
#	apps/cli/README.i18n.yaml
#	apps/cli/README.zh.md
#	packages/core/tools/README.i18n.yaml
#	packages/core/tools/README.zh.md
#	python/sdk/README.i18n.yaml
#	python/sdk/README.zh.md
#	scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-08-13 10:44:52 +08:00
Yichen Jiang 3bcc1a0bf7 Merge remote-tracking branch 'origin/master' into worktree/minimal-no-runtime-context
# Conflicts:
#	packages/core/system-prompt/README.i18n.yaml
#	packages/core/system-prompt/README.md
#	packages/core/system-prompt/README.zh.md
#	packages/examples/agent-spine-demo/README.i18n.yaml
#	packages/examples/agent-spine-demo/README.md
#	packages/examples/agent-spine-demo/README.zh.md
#	packages/self-modification/tool-cordis/src/api-catalog.ts
2026-08-13 10:24:29 +08:00
Yichen Jiang a135df8be6 Merge remote-tracking branch 'origin/master' into fix/run-code-description-contract
# Conflicts:
#	examples/headless-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
#	examples/headless-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
#	examples/headless-agent/tests/snapshots/advanced-toolchain/session.jsonl
2026-08-13 10:13:53 +08:00
imccyu 3e8a1cfa33 release(dsh): 0.0.1-rc.5 2026-08-13 06:14:27 +08:00
imccyu a90d9af1b2 release(dsh): 0.0.1-rc.4 2026-08-13 05:16:02 +08:00
imccyu ee35505f81 chore(session-query): refresh client slot catalog 2026-08-13 05:16:01 +08:00
imccyu 34dd480ae5 fix(session-query): rename session log export package 2026-08-13 05:02:00 +08:00
imccyu 57abe62a83 Merge pull request #2438 from deepseek-harness/release/dsh-0.0.1-rc.3
Release: dsh@0.0.1-rc.3
2026-08-13 04:18:26 +08:00
imccyu 77f9c4fa0a fix: test 2026-08-13 04:02:29 +08:00
imccyu 499d397631 feat: optimze skill and tool 2026-08-13 03:46:20 +08:00
imccyu 1e99f20963 release(dsh): 0.0.1-rc.3 2026-08-13 03:24:38 +08:00
imccyu 96d8f9516b feat: optimize prompt 2026-08-13 03:18:04 +08:00
imccyu 11a55092e8 fix: rebase 5 2026-08-13 02:51:52 +08:00
imccyu 1ff62760d1 fix: rebase 3 2026-08-13 02:29:17 +08:00
imccyu 45dfff0cdd fix: rebase 2 2026-08-13 02:22:10 +08:00
imccyu 39f55a049f fix: rebase 2026-08-13 01:59:32 +08:00
imccyu 4563086a94 fix: ci 2026-08-13 01:35:47 +08:00
imccyu 5a0283b04f fix: ci and static 2026-08-13 01:34:55 +08:00
imccyu a7d4cd8e1b fix: ci 2026-08-13 01:33:31 +08:00
imccyu 978e573605 fix: test/docs 2026-08-13 01:30:49 +08:00
imccyu ffcc8e299b fix: pkg version 2026-08-13 01:29:36 +08:00
imccyu 4064198560 • feat(self-modification): add dynamic Cordis plugin runtime and UI 2026-08-13 01:29:36 +08:00
imccyu 0367506471 feat: slot system + entries/priority/errorreport + typert generator 2026-08-13 01:24:12 +08:00
Tianyi Cui a2d0f7f411 refactor: apply repository naming contract
Apply the accepted pre-release package, service, type, directory, and role renames as one repository-wide change.
2026-08-13 00:54:38 +08:00
j-xiang 486c872381 docs(i18n): address focused README review 2026-08-13 00:42:11 +08:00
j-xiang 7e4b8b1676 docs(i18n): human-polish key Chinese READMEs 2026-08-13 00:12:44 +08:00
Ziya 8d8992c1c9 Merge branch 'master' into agent/web-file-reference-prompt 2026-08-12 23:48:30 +08:00
fz b14c40bc04 Merge pull request #2411 from deepseek-harness/feat/2406-rename-code-preset-ptc-mode
feat: 将代码模式预设更名为 PTC 模式
2026-08-12 23:47:00 +08:00
Yichen Jiang 63fecf2534 fix: name run_code's required description argument in its model-facing prose
The transport schema requires both `code` and `description`, but the tool
description and both SDK instruction flavors described the call as passing a
program. `description` was reachable only through the parameter schema, so a
model following the prose emitted `{code}` alone and lost the whole written
program to an INVALID_ARGS rejection.

The length and format guidance stays in RUN_CODE_DESCRIPTION_PARAM_DESCRIPTION
alone, so the schema and the prompt cannot drift.

Fixes #2426
2026-08-12 23:30:51 +08:00
Yichen Jiang ece8645080 fix: suppress runtime context in minimal profiles 2026-08-12 23:28:15 +08:00
Ziya e5e0b47cf2 Merge branch 'master' into agent/web-file-reference-prompt 2026-08-12 23:19:35 +08:00