Commit Graph
7341 Commits
Author SHA1 Message Date
Dudu-0223 7fd0dba80d Add tree-wide names for subagent collaboration 2026-10-16 12:33:15 +08:00
Dudu-0223 dccc3ecf6f Merge origin/master and align the Team upgrade guide with alpha.4 2026-10-15 23:55:38 +08:00
Dudu-0223 3cd0624b8d refactor(subagent): list descendants without a scope switch 2026-10-15 23:40:14 +08:00
Dudu-0223 11479fca13 refactor(team): reuse subagents with id-only addressing 2026-10-15 17:43:51 +08:00
Yichen Jiang a0a04158f8 fix(models): keep reasoning edits with their model and mirror pi-ai refusals
The reasoning-level editor kept the levels it switched off, its row order,
and typed text in component state, while the model list keys rows by
position, so deleting a row handed that state to the next model: turning
the survivor's switch on wrote the deleted model's levels into it. The
editor now renders only from the model; rows follow the stored order,
switching on always starts from the defaults, and only the focused field
keeps its typed text until the field is left.

The reasoning check moves out of the shared model validator into the two
cards whose rows edit it, so DeepSeek and catalog routes are untouched,
and it now mirrors every pi-ai refusal: a valueless field, a missing value
on a level besides off, and an empty value. A refused value marks its
field, and leaving that field repairs it with the level name.

The Providers guide now points custom model API users to the page before
the YAML, and both package READMEs describe the new behavior.
2026-10-15 14:53:56 +08:00
imccyu 5026df8fd1 Merge pull request #6250 from deepseek-harness/worktree-optbundles
feat(webworker): offer optional bundles in the preview and fetch lazy chunks on demand
2026-10-15 12:17:34 +08:00
imccyu 18a22f73b2 Merge pull request #6228 from deepseek-harness/worktree-versionmismatch
feat(client-modules): prompt to reload when the host release changes
2026-10-15 11:31:54 +08:00
turtle1999 434dc116f0 feat(plugin-market-generator): add a reference index generator
Generate a validated format-1 plugin market index from a list of npm package
names and https Git repository URLs, without running package code.

- List every non-deprecated npm bundle version, and Git versions at release
  tags and the default branch, each with its engines.dsh range.
- Read display fields, keywords, homepage, and icons the way DSH reads
  installed plugins; inline small icons up to the format's 32 KiB limit.
- Cache results per immutable input and rewrite output only when it changes.
2026-10-15 05:37:54 +08:00
turtle1999 b227127d62 fix(plugin-market): keep the Installed tab panel and list the markets bundle under More
The Installed tab panel now wraps its loading, unavailable, and empty states.
Custom plugin markets joins the bundles the More page holds back until the
profile enables them, and the repository field and its directory rule are
documented.
2026-10-15 05:37:44 +08:00
turtle1999 ab3bb74550 feat(plugin-market): carry a plugin's source repository
Indexes may give each plugin an optional repository: the web URL of its
source repository and the package directory inside it. The Discover entry
page links it as Source code, and the plugin_market tool returns it.
2026-10-15 05:37:44 +08:00
turtle1999 3de3a977e0 feat(plugin-market): add the Custom plugin markets bundle and Discover tab
Read configured plugin market indexes on the Host, search them with fuzzy
multilingual matching, and install a chosen version from the Plugins page.

- dsh-plugin-market-index validates format-1 indexes and builds install
  arguments; inline icons are capped at 32 KiB.
- The pluginMarket service fetches configured http(s) URLs, parses bodies in
  a Worker Thread, caches documents, and pages filtered, ordered results with
  installation status and engines.dsh compatibility.
- Discover is an opt-in experimental bundle; the Plugins page gains a
  plugins.tab slot and confirmed installs.
- The plugin_market tool lists indexes, plugins, and versions for Creator mode.
- Plugin compatibility reads engines.dsh before DSH peer dependencies.
2026-10-15 05:37:44 +08:00
imccyu 22c51728ed fix(dependencies): check experimental packages under the published dependency policy
verify-package-dependencies now covers every packages/*/* manifest, experimental included, and reads each package's tsdown build entries so Worker and child-process entries count as Host runtime sources. Experimental Client packages no longer declare browser and type relationships as peers.
2026-10-15 03:56:26 +08:00
imccyu b77cc1c0f2 feat(gates): reject module-scope await in package sources
Package modules that other code imports must not suspend evaluation at module scope. A syntax-aware gate scans packages/*/*/src and excludes only executables (a shebang or a package bin target). The SenseVoice worker, the SSH helper entry, and the Inspector worker entry now run an explicit main().
2026-10-15 03:56:25 +08:00
imccyu f52abc04fa feat(client-modules): apply no plugin update from another host release 2026-10-15 00:51:20 +08:00
07akioni 7ba5e3a01f Merge pull request #6197 from deepseek-harness/07akioni/desktop-environment-telemetry
feat(telemetry): attach cached desktop environment to product events
2026-10-14 21:29:33 +08:00
imccyu 7c9e54b3ef feat(client-modules): prompt to reload when the host release changes 2026-10-14 19:11:22 +08:00
ZiyaZhang c1269a8f75 feat(plugins): standardize built-in previews and illustrate voice input 2026-10-14 02:19:42 -07:00
imccyu a941635df3 Merge pull request #5945 from deepseek-harness/worktree/client-control/operator-connect
feat(connection): scope the connect handshake to one operator
2026-10-14 16:56:53 +08:00
07akioni 04c9489065 fix(telemetry): handle native metadata edge cases and scalar failures 2026-10-14 16:10:40 +08:00
Yichen Jiang fedaed7139 Merge pull request #6190 from deepseek-harness/worktree/conversation-hero-options
feat(web): add the New Session options slot
2026-10-14 15:57:04 +08:00
07akioni 4dee41f4bc feat(telemetry): attach cached desktop environment to product events 2026-10-14 15:23:58 +08:00
Tianyi Cui d0286d55d5 Merge pull request #5934 from deepseek-harness/docs/cordis-cleanup-audit
docs(cordis): audit cleanup dependency lifetimes as P0
2026-10-14 15:14:19 +08:00
Yichen Jiang 3f1d5dfcfa feat(ui-conversation): add the New Session options slot
conversation.hero.options seats compact Session options at the right end of
the New Session row, after the workspace and agent-preset controls. It is a
session-scoped list slot rendered only while a Session exists, so plugins can
add choices such as a worktree toggle without displacing the shipped controls.
2026-10-14 14:45:32 +08:00
imccyu b679a3aa32 docs(typert): include Peer interaction participation in type excerpt 2026-10-14 14:44:01 +08:00
imccyu 10672c4c24 Integrate Peer interaction scope with Remote access 2026-10-14 14:44:01 +08:00
imccyu 0f7ac58213 feat(connection): isolate API operators without changing browser identity 2026-10-14 14:44:00 +08:00
creatixchu 220cd03bea Merge master into macOS CUA 2026-10-14 13:51:30 +08:00
lsdsjy cb18185c9d Merge pull request #5532 from deepseek-harness/fix/bonus-notice-onboarding
fix(account): 延后赠金通知并隔离身份补齐通知
2026-10-14 13:27:37 +08:00
lsdsjy 5102f4f715 fix(account): 保留浏览器赠金通知并补齐身份订阅说明 2026-10-14 13:17:17 +08:00
Turtle 56c5cf84a1 Merge pull request #6170 from deepseek-harness/turtle/rescue-profile-overwrite-2aaffdd2f31b
Make --from-default-profile replace an existing custom profile
2026-10-14 12:35:08 +08:00
Magolor 7110b615eb fix(llm): 生成提供方元数据并显示凭据检测状态 (#6106)
* fix(llm): generate provider metadata and clarify credential hints

* fix(settings): shorten credential hints and mark detected sources in green

* fix(llm): verify staged provider metadata and document regeneration

* fix(provider-metadata): reconcile authentication hints and key controls

* test(user-text): calibrate ratio headroom across unmatched workloads

* test(gates): include provider metadata in hygiene expectations

* fix(models): hide authentication hints for entered keys
2026-10-14 12:29:31 +08:00
Turtle 6bf5668e79 Harden profile replacement against case aliases and Windows rename errors
Reject case variants of shipped profile names, detect a concurrent winner by
the target's state instead of errno, warn instead of failing when staging
cleanup fails after a successful replacement, and cover the restore paths with
deterministic tests. Update the profile Agent Note, reference recovery path,
and upgrade-guide migration steps.
2026-10-14 12:12:52 +08:00
Turtle 8843c37e37 Make --from-default-profile replace an existing custom profile
Repeated rescue runs such as `dsh rescue --from-default-profile web` failed
because the target profile already existed. The option now assembles a fresh
template copy in a staging directory, moves it over the target, and deletes the
previous profile; a failed move restores it.
2026-10-14 11:56:17 +08:00
lsdsjy 6514255930 Merge origin/master into fix/bonus-notice-onboarding 2026-10-14 11:20:42 +08:00
imccyu 6aa157a05a perf(session-persistence-jsonl): bound listing reads with a shared concurrency limit
list(), the root encoding check, and historical corpus fingerprints read
project directories, Session directories, headers, and stats one at a time.
On a network filesystem every listing paid the summed round trips. These
reads now run through one p-limit limiter per backend (listConcurrency,
default 3), shared by concurrent listings; results and the first reported
failure keep the sequential order.
2026-10-14 01:32:14 +08:00
imccyu b632f50330 docs: regenerate cordis catalogs 2026-10-14 00:02:56 +08:00
imccyu 0c4a7e3e8c fix(api-gateway): resolve access resources from typert-validated arguments 2026-10-13 23:03:16 +08:00
imccyu a18488955d docs: sync subsystem docs and regenerate catalogs 2026-10-13 23:03:15 +08:00
imccyu d6e408d957 feat(session-controller): record non-owner principals on user message sources 2026-10-13 23:01:37 +08:00
turtle1999 879ad372ac feat(hmr): replace plugins whose package files changed during profile recomposition
With HMR, installing, enabling, disabling and removing bundles take effect live. Each profile recomposition compares
the loaded modules below the profile directory and its linked targets with disk, stops the plugins whose files
changed, and recomposes the profile through app-boot's recomposeProfile(): the rows the next generation drops are
removed first, the latest runtime resolution is published once, and the generation is applied and judged. Afterwards
HMR evicts the modules below the mappings the recomposition dropped.

- app-boot: recomposeProfile(); PluginPackages.resolution; ResolutionRestartRequired; the resolver accepts in-place
  version changes and relinks, and relocates Node's cached link real paths.
- plugin-manager: with HMR, installBundle refuses an installed package (already-installed), so an upgrade is a
  removal and an installation; every restart-required result carries a restartReason; removal uses the registry the
  package was installed from.
- ui-plugin-manager: the Official Update removes and then installs; restart prompts name their reason.
2026-10-13 22:15:57 +08:00
ZiyaandZiyaZhang 9f5bc9669b fix(schedule): 简化自动化任务标题,去除时间与执行备注 (#6105)
* fix(schedule): keep timing and execution notes out of task titles

* fix(schedule): avoid repeating task title guidance

* fix(schedule): keep title guidance examples in English

---------

Co-authored-by: ZiyaZhang <[email protected]>
2026-10-13 05:38:34 -07:00
creatixchu 06e671f143 fix(cua): complete coordinate serialization and projection references 2026-10-13 19:02:50 +08:00
Turtle 8013c1cd07 Merge pull request #6121 from deepseek-harness/turtle/credentials-unknown-key-4538f7b4e481
fix(credentials-local): ignore unknown top-level keys with a warning
2026-10-13 16:29:09 +08:00
Turtle acaed1b782 docs: regenerate config catalog 2026-10-13 15:49:34 +08:00
Dudu-0223 37be39704c docs: refresh subagent config catalog source location 2026-10-13 14:15:14 +08:00
Dudu-0223 b9958b901b Merge master into subagent-agent-presets and resolve integration conflicts 2026-10-13 14:10:56 +08:00
Dudu-0223 ea5ae3a7ef Merge pull request #6098 from deepseek-harness/fsy/team-runtime-context
fix(agent-team): inject identity through required runtime context
2026-10-13 13:56:54 +08:00
LogosVeritas 9f68f9be4a Merge pull request #6032 from deepseek-harness/feature/minimal-compact-image
Enable image reading and automatic context compaction in Minimal GUI and SDK profiles, with /compact in the GUI and per-tool filesystem configuration. Include image-budget recovery, cancellation handling, documentation, and updated runtime snapshots.
2026-10-13 13:56:25 +08:00
creatixchu 4203741099 refactor(cua): use native Harness tool results and attachment admission 2026-10-13 11:59:14 +08:00
LogosVeritas b560423995 fix(minimal): configure tools and complete image offload recovery 2026-10-13 11:25:18 +08:00