Commit Graph
320 Commits
Author SHA1 Message Date
t4we fan dce61554c8 feat(desktop): add profile setup and Windows hardening 2026-08-26 12:19:10 +08:00
JunkaiWang-TheoPhy b7a020d114 Preserve model capabilities across the Host catalog boundary
The Host session catalog previously discarded adapter-owned input modalities, so downstream Desktop consumers could not distinguish image-capable routes even when the provider declared them. Patch the exact published rc.2 bundle and keep schema, runtime projection, and public types aligned.

Constraint: Desktop consumes the published Host bundle and must not modify the pinned Harness submodule.

Rejected: Add model selection or attachment UI here | those are separate presentation concerns from the catalog contract.

Confidence: high

Scope-risk: narrow

Directive: Remove this patch when a future Host release preserves inputModalities natively.

Tested: focused package surface 32 passed, 1 skipped; schema behavior; full yarn check with Market 274 and Desktop 808 passed, 4 skipped; immutable install; three safety review rounds.

Not-tested: Live DeepSeek API catalog response against a packaged Desktop build.

Related: #460, #470
2026-08-26 10:49:55 +08:00
Junkai Wang 3d1cced28d Merge pull request #548 from JunkaiWang-TheoPhy/codex/issue-500-negative-token-projection
fix(runtime): recover negative token-meter projections
2026-08-26 10:48:24 +08:00
Junkai Wang 2439538073 Merge pull request #546 from JunkaiWang-TheoPhy/fix/issue-157-empty-tool-call
fix(agent): stop turns on empty tool-call names
2026-08-26 10:47:59 +08:00
JunkaiWang-TheoPhy 9bd483bfcc Prevent stale token-meter cache rows from bricking session history
Desktop ships the published token-meter package, and that package can persist negative projection totals after compaction drift. Clamp the two O(1) totals and bump their state versions so existing bad cache rows are invalidated and rebuilt from the session log instead of failing history restore.

Constraint: deepseek-harness is a pinned submodule and must stay untouched on desktop branches
Rejected: Patch SessionProjectionRegistry checkpoint validation only | does not self-heal already persisted bad rows
Rejected: Edit deepseek-harness directly | repository policy requires Desktop fixes through the patch layer
Confidence: high
Scope-risk: narrow
Directive: Remove this Desktop token-meter patch once a published @deepseek-ai/dsh-token-meter release includes the clamp and state-version bump
Tested: corepack yarn workspace dsh-plugin-desktop test tests/token-meter-negative-projection.spec.ts
Tested: corepack yarn workspace dsh-plugin-desktop typecheck
Tested: corepack yarn workspace dsh-plugin-desktop build
Tested: corepack yarn install --immutable
Not-tested: Full workspace test suite
Not-tested: Packaged desktop smoke
2026-08-26 09:11:09 +08:00
JunkaiWang-TheoPhy 02d719f888 Stop empty-name tool calls from re-entering the model loop
Desktop ships upstream rc packages through Yarn patch resolutions, so the empty-name guard belongs in the patched agent loop rather than in a desktop-only wrapper. The new regression loads the installed loop implementation, exercises an empty-name tool call directly, and proves the turn now ends after one synthetic error with new-session guidance instead of entering normal unknown-tool dispatch.

Constraint: Desktop consumes upstream Harness rc packages through local Yarn patches
Rejected: Patch dsh-llm-deepseek again | adapter already preserves prior non-empty tool-call deltas, but finalized empty names still need loop-level termination
Rejected: Treat all unknown tools as terminal | would broaden behavior beyond the proxy-corruption case from issue #157
Confidence: high
Scope-risk: narrow
Directive: Keep the empty-name guard in the agent loop until upstream ships an rc that closes the loop at source
Tested: yarn workspace dsh-plugin-desktop vitest run tests/empty-tool-call-loop.spec.ts
Tested: yarn workspace dsh-plugin-desktop vitest run tests/deepseek-streaming-tool-call.spec.ts tests/empty-tool-call-loop.spec.ts
Tested: yarn workspace dsh-plugin-desktop vitest run tests/package.spec.ts -t 'patches the agent loop to stop after one empty-name tool call'
Tested: yarn workspace dsh-plugin-desktop typecheck
Tested: yarn workspace dsh-plugin-desktop build
2026-08-26 09:11:09 +08:00
JunkaiWang-TheoPhy 6c26c4e22a Preserve restart selection until the session baseline is authoritative
Desktop can project a persisted session before the first session.list baseline has arrived. Preserve that durable target only while the list phase is pending; once a successful baseline confirms it missing, clear the stale target and let the existing recent-workspace startup policy select its default.

The runtime fix ships as a Desktop-owned Yarn patch, with paired regressions for the temporary pre-baseline mask and a deleted session missing from an authoritative baseline.

Constraint: deepseek-harness submodule must remain unmodified; compatibility fixes ship through Desktop-owned patches

Rejected: Treat every absent selected id as pending | deleted or permanently invisible sessions would block startup forever

Rejected: Add an elapsed-time timeout | time does not establish session-list authority and would make restoration nondeterministic

Confidence: high

Scope-risk: narrow

Directive: Preserve a missing persisted selection only while session.list phase is pending; ready is the authority boundary for stale-selection cleanup

Tested: corepack yarn workspace dsh-plugin-desktop test tests/client-runtime-startup-restore.spec.ts; corepack yarn check; git diff --check

Not-tested: Packaged Windows GUI restart on a live machine
2026-08-25 00:03:53 +08:00
t4we fan ae8efcc1dc fix(desktop): restore 2.0.2 enhanced window boundaries 2026-08-24 23:52:15 +08:00
t4we fan 02f0361886 fix(desktop): restore continuous advanced drag strip 2026-08-24 23:29:35 +08:00
t4we fan 8d5b9e2108 feat(desktop): own extended sidebar and refine inner corner 2026-08-24 23:20:26 +08:00
t4we fan 18f43cfa32 feat(desktop): refine extended glass command bar 2026-08-24 20:00:21 +08:00
t4we fan def1dababb feat(desktop): add extended window materials 2026-08-24 19:25:47 +08:00
t4we fan d7e8320dac chore(desktop): bump product version to 2.0.3 2026-08-24 18:08:43 +08:00
ZP 80e01ed123 Revert "build: add macOS and Linux release artifacts"
This reverts commit cf5e4a2cc3.
2026-08-23 11:29:14 +08:00
ZP cf5e4a2cc3 build: add macOS and Linux release artifacts 2026-08-23 03:53:29 +08:00
Qiuner 6201080cfa fix(desktop): skip unreadable directory picker entries 2026-08-22 10:04:03 +08:00
t4we fan 5dadbdff37 build: migrate desktop patches to dsh rc2 2026-08-21 23:16:04 +08:00
Qiu 8dbb94428e fix(desktop): localize trajectory zh labels (#451) 2026-08-21 18:26:28 +08:00
t4we fan 8790eaec51 feat(desktop): add settings and selectable markets 2026-08-21 16:38:44 +08:00
t4we fan 70fc0a3cff feat(desktop): support DeepSeek Harness 0.1.1-rc.1 2026-08-21 15:29:43 +08:00
t4we fan 2df5875e71 chore(runtime): integrate DeepSeek Harness rc.8 2026-08-21 04:41:23 +08:00
Qiu 365134a419 Merge branch 'master' into architecture/desktop-architecture-gates 2026-08-20 22:35:10 +08:00
Qiuner 63ecb58c32 fix(desktop): allow api selection after baseURL override 2026-08-20 19:52:48 +08:00
xCss 05b9d2ab20 chore(runtime): upgrade DSH packages to rc.8 2026-08-20 12:56:32 +08:00
Qiuner 944f92302c ci(architecture): enforce Market dependency direction 2026-08-19 23:42:38 +08:00
Qiuner 40ee9140c2 ci(docs): validate all bilingual records 2026-08-19 23:42:38 +08:00
Qiuner 695ca61e6f fix(desktop): accept empty machine patch layers 2026-08-19 10:35:35 +08:00
Qiu 749a231275 Merge pull request #268 from KurobaKaitou/workspace
feat(desktop): support drag directory to create workspace.
2026-08-18 16:59:53 +08:00
kid ac39d71833 feat(desktop): support drag directory to create workspace. 2026-08-18 15:35:24 +08:00
kid ac62e42eef fix(desktop): preserve complete unpacked runtime. 2026-08-18 15:33:34 +08:00
Qiuner aa58549d57 test(repo): include market workspace in root test 2026-08-18 14:22:02 +08:00
Qiu 1a697bcbb0 Merge pull request #258 from anywhere-labs/codex/windows-portable-release
feat(desktop): add Windows portable ZIP packaging
2026-08-18 14:20:30 +08:00
Qiuner 08a892f0f5 test(repo): include market workspace in root typecheck 2026-08-18 13:55:43 +08:00
Qiuner dd8bca8834 ci(desktop): verify Windows portable packaging 2026-08-18 13:19:49 +08:00
Qiuner 89d59be94f build(deepseek): apply streaming identity patch 2026-08-18 11:14:17 +08:00
Qiuner bc9772ffc6 feat(desktop): add Windows workspace folder picker 2026-08-18 10:48:14 +08:00
t4we fan 86cc471c83 chore(runtime): upgrade DSH packages to rc.7 2026-08-17 20:57:28 +08:00
Qiuner 887e81f245 Merge remote-tracking branch 'origin/master' into codex/market-contract-runtime
# Conflicts:
#	dsh-plugin-desktop/tests/package.spec.ts
#	package.json
2026-08-17 16:04:33 +08:00
Qiuner e9bb96179a feat(desktop): integrate community marketplace 2026-08-17 15:59:46 +08:00
t4we fan e2db7d4e4b ci(mac): add universal DMG packaging smoke 2026-08-17 12:58:11 +08:00
t4we fan 9c2d915154 docs(market): initialize community market shell 2026-08-17 01:41:05 +08:00
t4we fan 68b9352955 docs(fabric): define compatibility framework draft 2026-08-17 01:31:34 +08:00
Qiuner 1bd1c1a310 fix(windows): upgrade Koffi runtime
Use Koffi 3.1.5's native-compiled Windows binary for every DSH consumer to avoid access-violation crashes from the 3.1.4 cross-compiled build. Add a packaging regression assertion.

Fixes #145.

Fixes #149.
2026-08-17 01:13:19 +08:00
t4we fan 9b33e0b3f8 chore(desktop): bump product version to 2.0.1
The desktop package and root workspace move to 2.0.1 ahead of the next
publish; the packaging docs reflect the 2.0.1 NSIS artifact name.
2026-08-16 20:33:25 +08:00
t4we fan 51016a3aec feat(desktop): add native Windows NSIS packaging 2026-08-15 18:57:31 +08:00
t4we fan 5d04e03391 fix(desktop): hide confined Windows shells 2026-08-15 15:00:12 +08:00
t4we fan a6b3dee96b feat(release): add macOS signing and artifact gates 2026-08-15 08:24:24 +08:00
t4we fan 7743d8ad99 chore(release): set desktop version to 2.0.0 2026-08-15 08:02:25 +08:00
t4we fan 4e3eb911fd refactor(repo): isolate upstream and desktop workspace 2026-08-15 01:07:13 +08:00
imccyu abe560f81e release(dsh): 0.1.0-rc.5 2026-08-13 18:49:33 +08:00