Commit Graph
184 Commits
Author SHA1 Message Date
turtle1999 14abe9543c feat(plugin-market-generator): record the source repository and parse options with commander
Copy each plugin's manifest repository as its web page and package
directory, converting shorthands and Git URLs with hosted-git-info. Parse
options and generate help with commander.
2026-10-15 05:37: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 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 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
Yichen Jiang 40f9bccd78 Merge remote-tracking branch 'origin/master' into worktree/pi-ai-1.1.0
# Conflicts:
#	apps/desktop/tests/prepare-runtime-patches.spec.ts
2026-10-12 20:56:10 +08:00
kingwl 01283f1fdd perf(desktop): compress macOS DMGs with LZMA 2026-10-12 18:06:00 +08:00
Yichen Jiang d79f13a4d4 feat(llm-pi-ai): adopt pi-ai 1.1.0 and Azure provider rename 2026-10-12 17:33:47 +08:00
yudshj b6fc04f403 Merge latest master into Office progressive skills 2026-10-12 12:50:33 +08:00
imccyu 989a52d427 build(hooks): stop regenerating third-party notices on pre-commit
Browser inputs make every package source file a generator input, so the
pre-commit job ran the 16-second generator on nearly every commit while
few commits change its output. gen-third-party-notices.spec.ts already
asserts the committed bytes in the test lane, including the required
node 24 / coverage pull-request lane, and names the regeneration command
when they are stale. The generated preamble, the notices decision, and
the development guide now describe that ownership.

Refs #5852
2026-10-12 11:06:51 +08:00
yudshj 379f9cd47b feat(office): add progressive skills and direct dsoffice commands 2026-10-09 19:14:55 +08:00
Yichen Yan ac080346f0 Support native HTTPS Web listeners 2026-10-08 19:49:01 +08:00
Tianyi Cui 21fe89affe build(llm-pi-ai): upgrade @earendil-works/pi-ai to 1.0.2
pi-ai 1.0.1 and 1.0.2 bring model catalog updates and adapter fixes:
Anthropic native tool changes define later tools inline, Bedrock binds
replayed thinking blocks, OpenAI-compatible requests can pick sampling
parameters by thinking level, and "model is at capacity" is retried.
The runtime dependencies change only in @anthropic-ai/sdk (0.124.0 to
0.129.0) and @earendil-works/pi-telemetry (^1.0.2).

1.0.2 still re-parses the whole accumulated tool-argument JSON on every
stream delta (earendil-works/pi#9265), so the patch is regenerated
against the 1.0.2 sources: it removes the same six per-delta parses as
the 1.0.0 patch, and only the bedrock-converse-stream.js hunk moves, by a
line.
2026-10-05 06:40:08 +08:00
Tianyi Cui f1f18bce98 build(llm-pi-ai): upgrade @earendil-works/pi-ai to 1.0.0
Move the pi-ai provider adapter from 0.87.1 to 1.0.0 and re-create the
local tool-argument patch for the new dist files. pi-ai 1.0.0 still
re-parses the whole accumulated argument JSON on every stream delta in
the Anthropic, Bedrock, Mistral, OpenAI Completions, OpenAI Responses,
and pi-messages adapters (upstream earendil-works/pi#9265), so the patch
removes the same six per-delta parses; arguments are still parsed once at
toolcall_end.

The release-age exemption moves to the exact 1.0.0 pi-ai and
pi-telemetry versions, and the generated third-party notices and README
links name the new patch file.
2026-10-04 02:09:17 +08:00
imccyu 7b658a9e94 Merge pull request #5597 from deepseek-harness/inspector-devtools-source
build(inspector): compile DevTools locally from npm sources
2026-10-01 17:29:45 +08:00
imccyu ad22e6c80f build(inspector): compile DevTools from pinned npm sources 2026-10-01 16:51:21 +08:00
yudshj d0916a8f90 chore(office): bump LibreOffice Kit to 0.1.5 2026-10-01 09:27:11 +08:00
imccyu 732dd913cf feat(inspector): embed Chrome DevTools and bundle optional diagnostics 2026-10-01 00:14:13 +08:00
Tianyi Cui 6ed596f71b chore(deps): upgrade pi-ai to 0.87.1 2026-09-29 13:04:11 +08:00
07akioni 746b9eb753 fix(telemetry): cancel product exports at shutdown deadline 2026-09-28 13:47:55 +08:00
07akioni 7b8c7dfff2 feat(telemetry): upload session log events through byte-bounded OTLP 2026-09-25 17:29:15 +08:00
Chinesezjc 7a362b263b Merge pull request #4335 from deepseek-harness/feat/schedule-storage-phase1
feat(schedule): persist tasks and resume due sessions
2026-09-23 23:33:33 +08:00
imccyu 7c8a44ac31 Revert "feat(web): restore the process-row polish on the grouped work details"
This reverts commit 036d53fb612c785a17d9e6068f58b155d87120c1.
2026-09-23 20:21:46 +08:00
ihsiang b09dd94827 feat(web): restore the process-row polish on the grouped work details
* feat(web): restore the process-row polish on the grouped work details

The sweep highlight, shared row colors, expanded-row spacing, and the
12–24px font-size range were developed against the pre-revert work-details
implementation. Re-apply them to the grouped implementation that replaced it.

- TextShimmer keeps its active-driven span and now paints a masked sweep
  overlay in the theme's `--dsw-alias-label-shimmer` color, so the base text
  inherits the caller's color and hover changes.
- DisclosureRow owns the row color: tertiary at rest, secondary on hover,
  with glyphs, titles, and summaries inheriting it; tool, skill, command,
  reasoning, and workflow rows drop their own hover darkening.
- ChatView spaces process rows 8px apart and keeps 16px beside Assistant
  responses; the grouped header sits 8px above its first member.
- The Settings font-size stepper accepts 12–24px, and the grouped header's
  leading box and glyph scale with the content font-size delta.

* fix(web): restore blue running status and refine process disclosures

* fix(web): finalize running snapshots and whale animation

* fix(web): preserve disclosure layout and repair CI fixtures
2026-09-23 20:10:50 +08:00
Yudong Han 34a0a8e81d fix(web): preserve Excel previews across OPC paths and XML encodings (#4872)
* fix(web): resolve XLSX part relationships and namespace aliases

* fix(web): keep Excel browser scenario in the host test program

* fix(excel): preserve XML encodings and relocated workbook parts

* fix(excel): exclude installed launchers from dependency patch

* fix(excel): restore Strict and case-equivalent workbook previews
2026-09-22 08:04:13 +00:00
lsdsjy d5db0ff0c4 merge: sync master into desktop welcome branch 2026-09-21 19:53:28 +08:00
07akioni 535cb4aae3 fix(telemetry): isolate collector transport and address review 2026-09-21 17:45:19 +08:00
07akioni 8b89200324 Merge remote-tracking branch 'origin/master' into otel/product-telemetry 2026-09-21 17:33:03 +08:00
Turtle 4eb26f0e71 feat(cli): export JSON Schema for Cordis configuration (#4705)
* feat(cli): dump native Cordis config schemas

* test(cli): include schema dump in launcher help snapshot

* feat(cli): export JSON Schema for Cordis configuration

* fix(cli): preserve config schema discovery and annotations

* fix(cli): conservatively project effectful config validation

* refactor(boot): encapsulate profile config schema generation

* fix(cli): follow Loader disabling and native writeback in config schema

- Dormant group/include rows (disabled without group: true) may omit
  config and are recorded as childless trees; the entry schema skips
  their child declarations, matching the Loader, which never creates them.
- Lazy builders run once per document, and a wrapped null-only projection
  keeps a deduplicated type list so the document stays compilable.
- Union widening applies only when an earlier branch can write adapted
  values back through a container; +Infinity max and -Infinity min
  without a step are treated as the native no-ops they are.
- Projection limitations repeat at every entry sharing a Config, and the
  entry schema documents the boolean/expression domain of disabled.
- Record the schema-dump validation policy as an Agent Note.
2026-09-21 09:19:24 +00:00
07akioni 910d52f717 feat(telemetry): add explicit product event OTLP exporter 2026-09-21 16:28:18 +08:00
yudshj 57bcfac402 Merge remote-tracking branch 'origin/master' into web/excel-frontend-preview 2026-09-21 15:54:49 +08:00
Yichen Jiang 080bea0b85 Merge remote-tracking branch 'origin/master' into worktree/experimental-voice-input
# Conflicts:
#	scripts/gen-cordis-catalog.ts
2026-09-21 15:39:45 +08:00
yudshj 15415600d1 fix(preview): render spreadsheet values as literal text 2026-09-21 13:20:45 +08:00
yudshj e70fa89400 feat(preview): support xls csv and tsv 2026-09-21 13:20:45 +08:00
yudshj 087dc65e89 feat(preview): render Excel workbooks in the browser 2026-09-21 13:20:44 +08:00
Turtle a0f59aac40 fix(llm-pi-ai): stop re-parsing streamed tool-call arguments on every delta (#4740)
pi-ai 0.85.1 runs parseStreamingJson over the whole accumulated argument
JSON on every tool-call delta, so one large tool call costs O(n²) CPU on
the event loop and a multi-megabyte argument stream stalls every session
in the process. Patch the six stream adapters to parse once at
toolcall_end, document the patch, and cover both OpenAI protocols.

Fixes #4739
2026-09-21 03:53:37 +00:00
Yichen Jiang b3ff0f5dc7 Merge remote-tracking branch 'origin/master' into worktree/experimental-voice-input
# Conflicts:
#	packages/client/ui-plugin-manager/tests/components.client.spec.tsx
#	packages/client/ui-primitives/README.i18n.yaml
#	packages/client/ui-primitives/README.md
#	packages/client/ui-primitives/README.zh.md
#	packages/client/ui-primitives/tests/icons.client.spec.tsx
#	packages/client/ui-primitives/tests/state-dot.client.spec.tsx
2026-09-21 10:56:23 +08:00
Yichen Jiang c6bc1a2fab Merge remote-tracking branch 'origin/master' into worktree/experimental-voice-input
# Conflicts:
#	apps/desktop/electron-builder.config.mjs
#	apps/desktop/tests/macos-signature.spec.ts
#	apps/desktop/tests/main-startup.spec.ts
#	apps/web/tests/expected/plugin-config/official.expected.md
#	apps/web/tests/expected/plugin-manager/live-enabled.expected.md
#	apps/web/tests/expected/plugin-manager/manager.expected.md
#	apps/web/tests/plugin-config.e2e.ts
#	apps/web/tests/plugin-manager.e2e.ts
#	apps/web/tsconfig.json
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
#	packages/client/ui-plugin-manager/src/client/locales.ts
#	packages/client/ui-plugin-manager/src/client/presentation.ts
#	packages/client/ui-plugin-manager/tests/components.client.spec.tsx
#	packages/client/ui-primitives/README.i18n.yaml
#	packages/client/ui-primitives/README.md
#	packages/client/ui-primitives/README.zh.md
#	packages/client/ui-primitives/src/StateDot.tsx
#	packages/client/ui-primitives/src/icons/index.tsx
#	packages/client/ui-primitives/tests/icons.client.spec.tsx
#	packages/experimental/README.i18n.yaml
#	packages/experimental/README.md
#	packages/experimental/README.zh.md
#	packages/extensions/cordis-client-runner/src/client/slot-catalog.ts
#	pnpm-lock.yaml
#	scripts/gen-cordis-catalog.ts
#	tsconfig.host.json
2026-09-20 13:22:11 +08:00
lsdsjy 048297321a feat(desktop,credentials,client): integrate DeepSeek account sign-in and Platform pages 2026-09-20 11:31:40 +08:00
fz b16b116408 Merge origin/master into feat/workspace-dependencies-package 2026-09-18 14:41:15 +08:00
fz 4d34cd87dd fix(skill): address shared runtime review findings 2026-09-18 11:52:04 +08:00
zhc caaaf89b1e fix(client): separate developer tool policy and harden static previews 2026-09-18 11:03:06 +08:00
fz 8fad9ccd8c feat(skill): complete shared Office runtime builds for SDK carriers 2026-09-17 21:10:12 +08:00
imccyu 81e05abaab Revert "feat(client): optimize code block previews and source highlighting" 2026-09-17 16:31:47 +08:00
winewill 064d8f8670 Merge origin/master into feat/desktop-update 2026-09-17 16:11:00 +08:00
yudshj 9b9a60f439 fix(client): size chat previews from diagrams and defer source rendering 2026-09-17 15:33:58 +08:00
Yichen Jiang 8d62caf7fa Merge remote-tracking branch 'origin/master' into worktree/experimental-voice-input 2026-09-17 12:40:38 +08:00
Yichen Jiang 47ae64ee68 feat(voice-input): add optional local SenseVoice dictation 2026-09-17 12:39:53 +08:00
winewill 6f79f40892 Merge remote-tracking branch 'origin/master' into feat/desktop-update 2026-09-17 11:36:18 +08:00
yudshj 9d2a3bf2b7 feat(document): decouple shared Office conversion from preview 2026-09-17 11:15:21 +08:00
winewill c06d2719d0 merge: sync latest master into desktop updates 2026-09-17 10:48:32 +08:00