Commit Graph
337 Commits
Author SHA1 Message Date
xipian-air 42e1f7b443 refactor(beta): isolate desktop distribution identity 2026-09-02 13:49:00 +08:00
xipian-air c0ebd012e5 chore(beta): update runtime to dsh 0.1.2-alpha.4 2026-09-02 10:53:41 +08:00
xipian-air e225b0fb7d chore(beta): prepare 2.0.5-beta.1 2026-09-01 11:59:05 +08:00
xipian-air 5b093e16cb chore: update beta runtime to 0.1.2-alpha.3 2026-09-01 10:22:03 +08:00
t4we fan 6dec4ec888 fix(runtime): retain alpha.1 settings plugin compatibility 2026-08-30 22:53:37 +08:00
t4we fan 17ad0d0802 fix(runtime): adapt desktop integration to dsh alpha.2 2026-08-30 22:32:40 +08:00
t4we fan e036488d37 chore(runtime): vendor dsh v0.1.2-alpha.2 2026-08-30 22:21:15 +08:00
t4we fan f4dbf6d8c8 chore(desktop): prepare 2.0.4 2026-08-28 23:30:05 +08:00
t4we fan 2553277bdf feat(desktop): add hot LAN HTTPS access 2026-08-28 17:18:10 +08:00
t4we fan 588bef5dec feat(desktop): migrate renderer to alpha runtime 2026-08-28 15:43:12 +08:00
t4we fan 57c77e5de7 chore(runtime): pin Electron 43.3.0 2026-08-28 14:36:18 +08:00
t4we fan b3fd6415bd chore(upstream): prepare alpha runtime baseline 2026-08-28 14:12:10 +08:00
t4we fan d0c814b7ba chore(upstream): add source runtime packing commands 2026-08-28 12:55:23 +08:00
Hanabi e89cc6e998 Merge branch 'anywhere-labs:master' into master 2026-08-26 21:47:21 +08:00
t4we fan a4b5f11c52 feat(ui): distinguish desktop settings and market icons 2026-08-26 19:24:01 +08:00
kid 12e88bf129 fix(desktop): fix the conflict between sidebar and chat interface mask layer. 2026-08-26 16:47:28 +08:00
JunkaiWang-TheoPhy 9f6270f7d6 Preserve model input modalities in custom model settings
The published model settings bundle already supports model search and filtered bulk selection. Extend that same patched artifact so custom model rows can explicitly inherit text-only or text-and-image input modalities, and preserve provider-discovered modalities during adoption.\n\nConstraint: The patch must retain the existing model-search behavior\nRejected: Add a separate model settings surface | the published bundle already owns this editor and its validation path\nConfidence: medium\nScope-risk: moderate\nDirective: Keep image attachment transport validation separate from capability editing\nTested: Built client artifact and package surface tests\nNot-tested: Live multimodal request against a provider
2026-08-26 12:48:58 +08:00
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