59 Commits
Author SHA1 Message Date
LogosVeritas 8b8c9d9eea Merge latest master into feat/python-sdk-slash-commands 2026-10-29 13:21:31 +08:00
LogosVeritas 74ff76d1ff refactor(sdk): simplify slash command input APIs 2026-10-29 12:33:11 +08:00
LogosVeritas 917cf6c267 fix(sdk): validate command lifecycles and normalize strict input 2026-10-28 21:39:54 +08:00
LogosVeritas 0c78c4c710 fix(sdk): return RunResult after native command activity 2026-10-28 21:14:21 +08:00
LogosVeritas 1950259ce1 fix(sdk): keep query internal and return session identity 2026-10-28 17:15:21 +08:00
LogosVeritas ae334bd17e fix(sdk): align builtin routing and query error handling 2026-10-28 15:54:34 +08:00
fz 1c9490b410 fix(sdk): use prepared pnpm for approved plugin management 2026-10-27 23:30:15 +08:00
LogosVeritas 2b9badbc37 docs(sdk): clarify native command input and ordering
Record empty-input migration and canonical-name limits. Verify strict
alias rejection and command notifications preceding query responses.
2026-10-26 14:41:20 +08:00
LogosVeritas dc311ba744 feat(sdk): route content blocks through native commands
Reuse the existing run input for command images and ordinary queue/steer delivery.
Align Unicode command separators, bound goal observation, preserve plan input encoding,
and handle explicitly expected Windows cancellation disconnects in runtime tests.
2026-10-26 12:23:58 +08:00
LogosVeritas 5771a93f2e fix(sdk): harden command examples and run wheel regressions 2026-10-26 10:19:06 +08:00
LogosVeritas e122cfb627 feat(sdk): route native commands through run 2026-10-26 00:53:20 +08:00
LogosVeritas f7379ef366 fix(sdk): tighten slash command observation and regression coverage 2026-10-25 21:55:28 +08:00
LogosVeritas 9c3971618a feat(sdk): support native goal slash commands 2026-10-25 21:55:27 +08:00
LogosVeritas d501108371 feat(sdk): support native plan commands and review dismissal 2026-10-25 21:55:27 +08:00
LogosVeritas 83a0867416 feat(sdk): support session permission commands 2026-10-25 21:55:27 +08:00
LogosVeritas 5cdd2aebed feat(sdk): support compact through unified query input 2026-10-25 21:55:27 +08:00
fz b42e32dbd4 Merge origin/master into feat/sdk-approval-rpc 2026-10-20 11:32:08 +08:00
fz 50fb069e7e fix(sdk): address approval interface review findings 2026-10-19 13:45:50 +08:00
fz 5d3dd1bbb0 feat(sdk): bridge internal approvals to stdio clients 2026-10-19 13:02:20 +08:00
fz b9fb31c2dd fix(sdk): own reminders and bridge native user questions 2026-10-19 11:35:30 +08:00
LogosVeritas b560423995 fix(minimal): configure tools and complete image offload recovery 2026-10-13 11:25:18 +08:00
fz b1d5671038 refactor(sdk): simplify resume acknowledgement and verify Python restoration 2026-10-10 15:21:40 +08:00
fz 0bec9479ae feat(sdk): add explicit persisted session resume 2026-10-10 13:08:00 +08:00
yudshj 89f35fe2e9 fix: download optional Python runtime resources explicitly 2026-10-09 12:06:50 +08:00
Tianyi Cui 79bd3d8da7 feat(session): centralize working directories and directory context 2026-10-06 01:27:54 +08:00
fz 63795eaa5c feat(minimal): remove str_replace_editor from minimal profiles 2026-09-03 16:03:59 +08:00
pku-xht c2fb21d13a Merge commit 'ead58a4a476200de2a2f2549ef6a02e73752b618' into codex/dsh-sdk-dynamic-subagent-routing
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.md
#	.agents/notes/implemented/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.zh.md
#	examples/python-sdk-agent/tests/sdk.snapshot.ts
#	packages/sdk/client/README.i18n.yaml
#	packages/sdk/client/README.md
#	packages/sdk/client/README.zh.md
#	packages/sdk/client/src/types.ts
#	packages/sdk/protocol/README.i18n.yaml
#	packages/sdk/protocol/README.md
#	packages/sdk/protocol/README.zh.md
#	packages/sdk/server/src/server.ts
#	packages/subagent/subagent-dsh-sdk/tests/fixtures/loader/snapshot.cordis.yml
#	packages/subagent/subagent-dsh-sdk/tests/fixtures/loader/snapshot.replay.cordis.yml
2026-08-25 18:01:08 +08:00
Tianyi Cui 4125514a08 refactor(repo): retire top-level examples 2026-08-24 22:02:44 +08:00
pku-xht 1044db218d feat(subagent): carry model routing through DSH SDK 2026-08-24 21:38:28 +08:00
Tianyi Cui dff3e18afd fix(python): budget cold profile initialization
The Windows x64 installed-wheel job timed out while waiting for initialize even though the same head passed on rerun. Exact packaged-runtime VM evidence showed a 6.47-second first cold handshake and 2.69-2.94-second warm fresh-home handshakes, leaving too little variance below the public 10-second default.\n\nRaise the independent initialize default to 30 seconds in both Python SDK configuration layers. Ordinary turn and shutdown timeouts remain unchanged, callers retain an explicit override, and tests plus paired documentation pin the public behavior.
2026-08-24 19:09:40 +08:00
Tianyi Cui e2920f0109 fix(sdk-minimal): make the SDK model argument authoritative
Stop narrowing the standalone DeepSeek adapter to a DSH_MODEL-derived one-entry catalog. The direct adapter already accepts model ids outside its advisory catalog, so retain only the DSH_CONTEXT_WINDOW fallback and let the JSON-RPC initialize model be the single runtime selection.

Remove model mirroring from minimal.py and the packaged smoke. The keyless process now initializes deepseek-v4-pro without DSH_MODEL, while the packaged scenario continues to use its unlisted smoke-model; together they prove both cataloged and arbitrary SDK model arguments reach the adapter directly.

Update the bundle, tutorial, SDK/example references, and owning Agent Notes to keep DSH_MODEL only as minimal.py's optional default input, never as a second value callers must synchronize.
2026-08-24 17:28:29 +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 9edf1b9f10 fix(python-sdk): harden profile runtime startup
Resolve packaged profile proxies with Node ESM import conditions from each package installation, and fail loud when an explicit runtime export or legacy main entry is missing. Serialize the shared profile fallback under the existing cross-process writer lock so concurrent dsh processes cannot observe partial proxies; either carrier now replaces the other carrier’s managed entry without manual cleanup.

Give Python initialize its own 10-second default bound and name the selected profile in timeout diagnostics, while leaving ordinary agent turns unbounded by default. Package the dynamically resolved web frontend and skill-badge assets so the runtime wheel’s normal dsh profiles do not depend on pkg static-discovery accidents.

Rewrite the root launch rule and every active stale SDK-runtime note to the shipped dsh profile architecture in both languages. Focused tests prove import-only and transitive package exports, lock contention, cross-carrier transitions, missing-entry failures, asset inventory, and bounded initialization.
2026-08-24 17:28:27 +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
Tianyi Cui a6447db01c refactor(sdk): name the private Python runtime carrier explicitly
Rename the relocated npm workspace to @deepseek-ai/dsh-sdk-python-runtime and the runnable example to python-sdk-agent, then update every owning English/Chinese document, test, and packaged-runtime reference. Remove the obsolete standalone bin while retaining the carrier entrypoints used to assemble the wheel runtime.

This is intentionally a naming and ownership change, not a Python SDK migration. The public deepseek_harness_sdk and deepseek_harness_runtime module, wheel, executable, environment, and wire behavior remain unchanged. Documentation records that this private carrier is the temporary sole non-dsh application exception and will move to profile launch later.
2026-08-23 10:59:01 +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
Yichen Jiang 8d51ee9b97 Merge remote-tracking branch 'origin/master' into worktree/python-pypi-release-prep
# Conflicts:
#	docs/user/guide/python-sdk.i18n.yaml
#	docs/user/guide/python-sdk.md
#	docs/user/guide/python-sdk.zh.md
#	python/sdk/README.i18n.yaml
#	python/sdk/README.md
#	python/sdk/README.zh.md
2026-08-12 13:49:15 +08:00
Turtle 04fe477e7e docs: make Web UI the primary onboarding path 2026-08-12 11:44:33 +08:00
Yichen Jiang 49768e1f8d fix: address Python release review feedback 2026-08-11 20:09:33 +08:00
Yichen Jiang 4445de9921 Prepare Python SDK public PyPI publication 2026-08-11 17:16:35 +08:00
_Kerman dbbe55fdb1 fix(python): reject malformed finish reasons 2026-08-11 16:48:41 +08:00
_Kerman 6896fd1545 fix(python): report run finish reason 2026-08-11 16:25:59 +08:00
Yichen Jiang 6dabf0ea99 docs(python): generalize SDK guide 2026-08-10 19:53:51 +08:00
Yichen Jiang 299cafad01 fix(python): rename SDK distribution 2026-08-10 19:45:54 +08:00
Yichen Jiang 20139a3fb7 docs(sdk): add minimal Python example 2026-08-10 19:30:46 +08:00
_Kerman 7a463dbe44 Merge branch 'master' of https://github.com/deepseek-harness/deepseek-harness into xtr/react-loop-simplification
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-17-dedicated-full-screen-tui-front-door.i18n.yaml
#	docs/architecture.i18n.yaml
#	docs/cookbook/extension-cookbook.i18n.yaml
#	docs/cordis-catalog/events.md
#	docs/cordis-catalog/services.md
#	docs/core-data-structures/core.i18n.yaml
#	docs/core-data-structures/core.md
#	docs/core-data-structures/core.zh.md
#	docs/core-data-structures/llm-streaming.i18n.yaml
#	docs/core-data-structures/llm-streaming.md
#	docs/core-data-structures/llm-streaming.zh.md
#	docs/core-data-structures/session.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/persistence-catalog.md
#	packages/cordis/tool-cordis/src/api-catalog.ts
#	packages/core/agent-loop/README.i18n.yaml
#	packages/core/agent-loop/src/agent.ts
#	packages/core/agent/README.i18n.yaml
#	packages/core/session/README.i18n.yaml
#	packages/core/session/src/types.ts
#	packages/llm/llm/README.i18n.yaml
#	packages/llm/llm/README.md
#	packages/llm/llm/README.zh.md
#	packages/llm/llm/src/index.ts
#	packages/llm/llm/tests/service.spec.ts
#	packages/sdk/sdk-client/README.i18n.yaml
#	packages/sdk/sdk-protocol/README.i18n.yaml
#	packages/sdk/sdk-protocol/README.md
#	packages/sdk/sdk-protocol/README.zh.md
#	packages/subagent/subagent-dsh-sdk/README.i18n.yaml
#	packages/ui/jsonrpc/README.i18n.yaml
#	packages/ui/jsonrpc/README.md
#	packages/ui/jsonrpc/README.zh.md
#	packages/ui/tui/src/index.ts
#	python/sdk/README.i18n.yaml
#	scripts/gen-cordis-catalog.ts
2026-07-31 10:16:14 +08:00
_Kerman a6baddaaac refactor: remove per-followup result attribution 2026-07-30 16:48:28 +08:00
Yichen Jiang fee12f1af0 refactor(llm-deepseek)!: rename the provider route to deepseek-official
The native adapter's route was named deepseek, colliding with pi-ai's
catalog provider of the same name, so the two DeepSeek paths could never
be mounted side by side. The web settings page needs both configurable at
once. Compositions, fixtures, goldens, scaffolding defaults, and docs all
move together (pre-release, no shim); TUI/session-query-spill/
missing-credential goldens re-recorded through their keyless refresh
modes because provider-name length shifts box padding and spill
truncation points.
2026-07-29 16:36:07 +08:00
Yichen Jiang 5358168787 feat(sdk): support max output tokens 2026-07-28 17:36:44 +08:00
Yichen Jiang b9f8eca10c fix(python-sdk): track recursive subagent notifications 2026-07-24 11:23:16 +08:00