Commit Graph
474 Commits
Author SHA1 Message Date
imccyu f2235d6c02 release(dsh): 0.2.1-alpha.4 2026-10-15 20:00:58 +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
Yichen Jiang 36acfb1e88 release(dsh): 0.2.1-alpha.3 2026-10-14 19:38:37 +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
imccyu d7bd68ee7a feat(remote-access): add rbac policies and gate non-owner calls and events 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
turtle1999 e776e2b3d2 refactor(plugin-manager): pass the profile to writePluginEnabled 2026-10-13 17:09:18 +08:00
turtle1999 5a107fdef5 fix(plugin-manager): keep anchors and comment placement when pruning switches 2026-10-13 00:50:54 +08:00
turtle1999 5b4cb3dd4d fix(plugin-manager): drop profile switches the bundles already imply 2026-10-12 19:28:12 +08:00
fz 634d7e96dc fix(plugin-manager): close pnpm logs when preparation fails 2026-10-12 13:05:37 +08:00
imccyu 36779dcf09 fix(web): keep process-specific values out of the system prompt
The harness checkout path and Web GUI URL now reach the model as runtime
context from the new dsh-harness-dev-context plugin, so a process started
on another port, checkout, or installation no longer rewrites a Session's
logged system prompt. A Session whose prompt already embeds the earlier
value-bearing paragraphs keeps them verbatim through a host-only session
projection.

dsh-host-webserver gains WebServer.origin and bindUrlHost(); web-app keeps
only DSH_WEB_URL, the startup URL, and the browser handoff, and its root
declares the webStartup service type. app-boot drops
addHarnessSourceSection and HARNESS_SOURCE_SECTION.
2026-10-11 23:25:19 +08:00
Tianyi Cui 9d385cd0d9 Merge master into persistent PTC
Preserve the persistent runtime package description with master's alpha.2 version and locale exports. Refresh the two PTC prompt snapshots for the current plan-tool result type.

Validation: full build, 434 focused tests (one skipped), two built-runtime tests, two selected snapshots, package metadata, and all 43 doc-sync checks passed.
2026-10-10 21:55:44 +08:00
ZiyaandZiyaZhang c7d61ecc11 fix(i18n): 补充内置插件中文文案并精简清单展示 (#5506)
* fix(i18n): add Chinese names and descriptions for built-in plugins

* fix(i18n): keep built-in plugin localization metadata-only

---------

Co-authored-by: ZiyaZhang <[email protected]>
2026-10-09 17:18:26 +00:00
07akioni deb90c38e6 Merge pull request #5576 from deepseek-harness/fix/desktop-dependency-alignment
perf(deps): align desktop dependencies and share client libraries
2026-10-09 17:52:53 +08:00
kingwl 226ae8d2fd Merge master and resolve integration conflicts for #5576 2026-10-09 16:14:10 +08:00
07akioni e2c410ef84 release(dsh): 0.2.1-alpha.2 2026-10-09 15:13:40 +08:00
creatixchu 42cf8c5ee0 Merge remote-tracking branch 'origin/master' into codex/ptc-review-policy
# Conflicts:
#	apps/desktop/tests/ptc-runtime.spec.ts
#	docs/config-catalog.md
#	docs/config-catalog.zh.md
#	packages/ptc-runtime/ptc-runtime-node/README.i18n.yaml
#	packages/ptc-runtime/ptc-runtime-node/README.md
#	packages/ptc-runtime/ptc-runtime-node/README.zh.md
#	packages/ptc-runtime/ptc-runtime-node/src/index.ts
#	packages/ptc-runtime/ptc-runtime-node/src/launch.ts
#	packages/ptc-runtime/ptc-runtime-node/tests/launch.spec.ts
2026-10-09 15:10:13 +08:00
creatixchu 244ca73755 fix(ptc): keep policy cleanup waits inside PTC 2026-10-09 15:02:01 +08:00
07akioni 544fe59fbd Merge pull request #5909 from deepseek-harness/07akioni/electron-44-7-addon-019
chore(deps): upgrade Electron, electron-builder, and native loader
2026-10-09 13:26:18 +08:00
07akioni a33f16057c chore(deps): upgrade Electron to 44.7.0 and native loader to 0.1.9 2026-10-09 11:22:14 +08:00
creatixchu b7dbd7bb03 Merge master into feat/persistent-ptc 2026-10-08 20:58:22 +08:00
Yichen Yanandliukx0205 cb9a590c86 Support concrete Web listener bind addresses
Co-authored-by: liukx0205 <[email protected]>
2026-10-08 18:25:43 +08:00
creatixchu 49f7919762 test(ptc): cover policy changes during nested tool execution 2026-10-08 16:55:32 +08:00
creatixchu 6885d662d2 refactor(ptc): move mode-change coordination into sandbox policy 2026-10-08 16:43:00 +08:00
Turtle cdf2f4c4b6 Merge pull request #5839 from deepseek-harness/turtle/revert-preset-insert-80a9ec3a652f
revert(plugin): drop preset-scoped profile patches; ship optional tools as global Host rows
2026-10-08 15:36:24 +08:00
kingwl 0bfc4b97f2 Merge master and resolve integration conflicts for #5576 2026-10-08 14:57:40 +08:00
Turtle a8e9e9b546 fix(plugin): address review on the preset-patch revert
Let a title provider replace one that is still draining, so switching the
titles bundle during an in-flight request no longer leaves no provider.
Omit group container rows from bundle inventories, since they have no
plugin entry to switch. Drop the obsolete preset-target product-use case,
fix the Claude Code row id example, and refresh stale Agent Note text.
2026-10-07 21:27:38 +08:00
Turtle b173f3e2a2 revert(plugin): drop preset-scoped profile patches; ship optional tools as global Host rows
Remove the `{ preset, insert }` / `{ preset, id, ...override }` profile patch
operation added in #5773, together with the app-boot compiler and reload drain,
config-editor filtering, plugin-manager preset row inventory and retained-module
removal checks, the read-only preset rows on the Plugins page, and the
agent-preset-registry row identities that served them.

Session search, Ralph, persistent terminals, Codex, and Claude Code bundles now
insert ordinary Host rows whose tools register in the global tool layer, like the
earlier optional bundles. Every preset, including minimal, sees them, and toggling
a bundle updates live Agents without new composition generations.
2026-10-07 20:46:37 +08:00
Tianyi Cui 1150a874fc chore(deps): update protocol and image security dependencies 2026-10-07 19:07:44 +08:00
Tianyi Cui e99d38af9d chore(deps): update source and build tools 2026-10-07 18:08:01 +08:00
Tianyi Cui 5969359dc4 chore(deps): update mature runtime utilities 2026-10-07 16:41:17 +08:00
Tianyi Cui b9bea234ce fix(plugin-manager): record ignored build scripts reported by a non-interactive pnpm
pnpm writes allowBuilds placeholders for blocked dependency scripts only when
it can prompt, so a managed run that always captures output left
pendingBuilds empty and the approval flow could not offer anything. The failed
run's own report is the surviving record: the profile policy now records those
names, which keeps approval, persistence, and the wildcard and decision guards
unchanged.
2026-10-07 12:58:25 +08:00
Tianyi Cui f7e5b6d354 fix(plugins): install official source bundles from the running checkout 2026-10-07 01:26:01 +08:00
Tianyi Cui e9a68b2484 fix(plugin): clarify on-demand recovery and preserve package diagnostics 2026-10-07 01:26:00 +08:00
Tianyi Cui f730199b94 test(plugin): classify on-demand composition and document mock events 2026-10-07 01:26:00 +08:00
Tianyi Cui a453218aff fix(plugins): retain unreadable official catalog entries 2026-10-07 01:26:00 +08:00
Tianyi Cui c135bdf483 test(plugin): refresh official discovery browser and API evidence 2026-10-07 01:26:00 +08:00
Tianyi Cui 8ed0b530ed feat(plugins): offer official bundles through on-demand installation 2026-10-07 01:26:00 +08:00
Tianyi Cui 55dfd3bab1 fix(plugins): narrow optional bundles and create fresh session agents 2026-10-06 23:48:59 +08:00
Tianyi Cui ee0ead1a61 test(plugin): keep runtime carrier fixed across resolution generations 2026-10-06 23:48:59 +08:00
Tianyi Cui d68ae3bf51 fix(plugin): preserve bundled resource identity in executables 2026-10-06 23:48:59 +08:00
Tianyi Cui 1f8debb552 fix(plugin): validate explicit preset host activation targets 2026-10-06 23:48:59 +08:00
Tianyi Cui 7e65d1119b fix(plugin): preserve scoped identities across inspection consumers 2026-10-06 23:48:59 +08:00
Tianyi Cui 996007e103 fix(plugin): retain scoped row identity and source diagnostics 2026-10-06 23:48:59 +08:00
Tianyi Cui 599b9f45d4 fix(plugins): preserve scoped patches during Host edits 2026-10-06 23:48:59 +08:00
Tianyi Cui 15ae753dcd fix(plugin): inspect preset contributions before profile activation 2026-10-06 23:48:59 +08:00
Tianyi Cui b6ef9d5503 fix(plugin): identify retained scoped bundle rows precisely 2026-10-06 23:48:59 +08:00
Tianyi Cui 55dc8cea67 test(plugin): cover nested preset bundle ownership 2026-10-06 23:48:59 +08:00
Tianyi Cui 8a9767c25e feat(plugin): validate optional bundle lifecycles and session output 2026-10-06 23:48:58 +08:00