imccyu
4878cdabd8
release(dsh): 0.2.0-rc.1 ( #5387 )
2026-09-28 19:48:10 +08:00
Huanqi Cao
eb1a903a45
Merge pull request #5203 from deepseek-harness/windows-sandbox-acl-diagnosis
...
feat(sandbox-windows-acl): ship a diagnosis skill for ACL denials
2026-09-28 17:58:46 +08:00
imccyu
1ae8857842
Merge pull request #5368 from deepseek-harness/pr-5346-snapshot-refresh
...
style(client): 统一扫光动画 & 调整聊天过程间距
2026-09-28 17:57:04 +08:00
imccyu
00c179c1da
Merge pull request #5359 from deepseek-harness/fix/layout-resolution-cost
...
fix(ci): decide the dual-release install layout by graph scale
2026-09-28 16:59:58 +08:00
imccyu
3366973eea
Merge pull request #5357 from deepseek-harness/turtle/config-inherited-compose
...
perf(settings): reuse composition for unoverridden entries
2026-09-28 16:30:50 +08:00
imccyu
4e25074651
Merge pull request #5310 from deepseek-harness/feat/feedback-device-info
...
feat(web): 反馈问卷预填账号、版本与桌面设备信息
2026-09-28 15:07:50 +08:00
imccyu
1ca4e2af33
Merge pull request #4816 from deepseek-harness/fix/issue-4803-webkit-json
...
fix(web): 修复 Safari 输出中刷新后回复无法恢复
2026-09-28 14:31:14 +08:00
Ziya
4bbfa0884f
Merge pull request #5284 from deepseek-harness/ux/plugin-manager-guidance-preview
...
fix(web): 完善插件管理说明与安装警告
2026-09-28 10:42:00 +08:00
imccyu
78a21f29a9
Merge pull request #5226 from deepseek-harness/worktree-newwhale
...
feat(ui-chat): animate a whale tail below the transcript while the Session runs
2026-09-27 17:19:32 +08:00
imccyu
e9e03abf95
fix(ui-chat): refine running status motion and shimmer
2026-09-27 15:16:20 +08:00
imccyu
69865faf7a
docs(ui-chat): clarify running status placement
2026-09-27 15:16:07 +08:00
imccyu
e44917fc52
test(web): refresh remaining running status snapshots
2026-09-27 15:10:08 +08:00
imccyu
03531c5836
test(web): align running status snapshots
2026-09-27 15:10:08 +08:00
imccyu
cae515d504
feat(ui-chat): restore the complete running status
2026-09-27 15:10:07 +08:00
imccyu
398c2cde25
docs(ui-chat): describe the bottom running status
2026-09-27 15:10:07 +08:00
imccyu
fa3d555cd8
feat(ui-chat): animate a whale tail below the transcript while the Session runs
2026-09-27 15:08:24 +08:00
imccyu
361ac7858f
docs(ui-chat): describe the whale tail shown below the running transcript
2026-09-27 15:08:23 +08:00
imccyu
80fad723f6
Merge pull request #5204 from deepseek-harness/fix/legacy-normal-detailed
...
调整工作过程展示的旧配置映射与 npm Web 默认值
2026-09-27 12:17:30 +08:00
imccyu
cf7c3d9ea5
Merge pull request #5206 from deepseek-harness/worktree-fixbuild
...
fix(build): 将 Desktop 键盘测试并入 Client typecheck
2026-09-26 15:36:46 +08:00
imccyu
a08472e982
fix(build): fold desktop keyboard tests into client typecheck
2026-09-25 14:01:08 +08:00
imccyu
638842895a
docs(desktop): describe keyboard typecheck ownership
2026-09-25 14:00:53 +08:00
imccyu
a64eaf0b5e
Merge pull request #4868 from deepseek-harness/reconciled-pr4839-ux-evidence
...
feat: reconcile timed questions with legacy default
2026-09-24 19:56:56 +08:00
imccyu
b16b1eaea8
Merge pull request #5117 from deepseek-harness/ihsiang/shortcut-sidebar-polish
...
feat(web): refine shortcut editing and sidebar hints
2026-09-24 19:38:09 +08:00
imccyu
13de94764b
Merge pull request #4839 from deepseek-harness/timed-user-questions-two-settlements
...
feat: continue timed user questions as two settlements
2026-09-24 18:00:47 +08:00
imccyu
3eadc9b56c
Merge pull request #5107 from deepseek-harness/fix/desktop-local-markdown-images
...
fix(desktop): 修复本地 Markdown 图片预览
2026-09-24 16:27:11 +08:00
imccyu
55fadaa601
Merge pull request #5030 from deepseek-harness/ihsiang/ui-visual-consistency
...
feat(web): 统一界面圆角与菜单材质,优化文件改动展示
2026-09-24 15:10:55 +08:00
imccyu
c76217a356
Merge pull request #5053 from deepseek-harness/feat/tool-preparing-progress
...
feat(chat): add work detail modes and file preparation progress
2026-09-23 20:28:16 +08:00
imccyu
490f569044
Merge pull request #5067 from deepseek-harness/revert-5062-ihsiang/chat-flow-visual-polish
...
Revert "fix(web): 恢复蓝色深度求索动画并优化过程折叠展示"
2026-09-23 20:22:22 +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
imccyu
9b510d89a5
Merge pull request #5029 from deepseek-harness/feat/chat-image-preview-4941
...
feat(chat): 图片链接悬停预览与内联图片放大
2026-09-23 19:27:02 +08:00
imccyu
7eb9629e0a
Merge pull request #5041 from deepseek-harness/fix-gateway-mem
...
fix(gateway): bound stream cancellation retention
2026-09-23 18:10:58 +08:00
imccyu
e5e9b5b982
Merge pull request #4985 from deepseek-harness/feat/tool-call-preparing
...
feat(chat): show preparing tools during live generation
2026-09-23 16:24:46 +08:00
imccyu
00102833df
Merge pull request #4978 from deepseek-harness/worktree/release-dsh-0.1.7-alpha.2
...
release: [email protected]
2026-09-22 23:25:38 +08:00
imccyu
10ea83bcc3
release(dsh): 0.1.7-alpha.2
2026-09-22 23:12:55 +08:00
imccyu
178ee3a9eb
Merge pull request #4975 from deepseek-harness/worktree/release-vendor-4.0.4
...
release(vendor): cordis 4.0.4, cosmokit 1.8.5, group 1.0.4, hmr 1.0.1…
2026-09-22 23:12:01 +08:00
imccyu
d0dca04e22
release(vendor): cordis 4.0.4, cosmokit 1.8.5, group 1.0.4, hmr 1.0.19, include 1.0.9, loader 1.0.5, logger-console 1.0.4, schemastery 3.18.4, timer 1.1.6
2026-09-22 23:02:28 +08:00
imccyu
3950647caa
Merge pull request #4954 from deepseek-harness/fix/dsh-exact-workspace-dependencies
...
build: 锁定 DSH 版本并将 vendor/native 依赖限制为补丁升级
2026-09-22 22:59:56 +08:00
imccyu
3889e97de0
Merge pull request #4947 from deepseek-harness/fix/chat-groups-followup
...
fix(chat): 稳定滚动控件与嵌套自动跟随
2026-09-22 22:59:36 +08:00
imccyu
4e6028a604
build: use tilde ranges for vendor and native workspaces
2026-09-22 21:14:06 +08:00
imccyu
b9b5f7c58e
fix: complete exact DSH ranges in application and runtime manifests
2026-09-22 21:12:57 +08:00
imccyu
7021420f29
fix: validate dependency ranges across every workspace
2026-09-22 21:12:57 +08:00
imccyu
37372101b5
build: pin internal DSH workspace dependencies
2026-09-22 21:12:56 +08:00
imccyu
3dcfbf2094
Merge pull request #4964 from deepseek-harness/fix-reconnect
...
fix(web): gate reconnects on application readiness
2026-09-22 21:00:21 +08:00
imccyu
b980fdf5df
Merge pull request #4950 from deepseek-harness/worktree/release-dsh-0.1.5-rc.3-history-to-master
...
chore(release): record dsh 0.1.5-rc.3 history on master
2026-09-22 17:07:52 +08:00
imccyu
a4c74a91e0
Merge pull request #4909 from deepseek-harness/worktree/release-dsh-0.1.5-rc.3
...
release: [email protected]
2026-09-22 13:26:23 +08:00
imccyu
1e9c7b410a
Merge pull request #4891 from deepseek-harness/worktree/release-vendor-4.0.2
...
release(vendor): cordis 4.0.3, cosmokit 1.8.4, group 1.0.3, hmr 1.0.1…
2026-09-22 11:31:17 +08:00
imccyu
efa63a7fc4
release(vendor): cordis 4.0.3, cosmokit 1.8.4, group 1.0.3, hmr 1.0.18, include 1.0.8, loader 1.0.4, logger-console 1.0.3, schemastery 3.18.3, timer 1.1.5
2026-09-22 11:21:12 +08:00
imccyu
a68c1f6539
Merge pull request #4852 from deepseek-harness/feat/chat-process-groups-product
...
feat(chat): grouped work details and scoped rendering optimizations
2026-09-22 02:57:17 +08:00
imccyu
b47cef687e
Merge pull request #4863 from deepseek-harness/fix-excel
...
fix(web): 修复含绘图的 XLSX 文件预览
2026-09-22 00:41:02 +08:00
imccyu
d7c238a98d
Merge pull request #4855 from deepseek-harness/fix/client-revisions-server-restart
...
fix(web): preserve sessions across server restarts
2026-09-21 23:24:51 +08:00
imccyu
d1fb051e0f
test(web): stamp bootstrap artifacts before rebuild checks
2026-09-21 22:41:17 +08:00
imccyu
092ae937b7
test(web): cover session recovery across server restarts
2026-09-21 21:47:52 +08:00
imccyu
b1921cf56d
fix(client): keep artifact revisions stable across server restarts
2026-09-21 21:47:52 +08:00
imccyu
85f16860f5
Merge pull request #4758 from deepseek-harness/feat/chat-step-groups
...
feat(web): add definition-owned conversation groups
2026-09-21 15:29:30 +08:00
imccyu
7f382a1e2c
Merge pull request #4757 from deepseek-harness/worktree-npmlink
...
feat(boot): resolve linked plugin peers from the running installation
2026-09-21 14:38:32 +08:00
imccyu
7252e5823b
fix(boot): keep linked-root removal independent of relinking
2026-09-21 14:00:52 +08:00
imccyu
73e9efbbdf
docs(boot): define linked-root removal across generations
2026-09-21 14:00:52 +08:00
imccyu
cf41c158ba
fix(boot): keep host lookups native and fix source smoke fixtures
2026-09-21 14:00:52 +08:00
imccyu
c9d4b7561d
fix(boot): apply linked peers at each native lookup position
2026-09-21 14:00:52 +08:00
imccyu
3e7af9cfbb
feat(boot): resolve linked plugin peers from the running installation
2026-09-21 14:00:51 +08:00
imccyu
a946008275
docs(boot): document linked plugin peer resolution
2026-09-21 14:00:51 +08:00
imccyu
3834da8602
Merge pull request #4754 from deepseek-harness/desktop-browser
...
feat(desktop): retain sidebar webviews and restore saved pages
2026-09-21 11:24:48 +08:00
imccyu
37535cf44a
Merge pull request #4753 from deepseek-harness/fix/pr-4749-review
...
fix(chat): address presentation review findings
2026-09-21 00:46:02 +08:00
imccyu
b173fe1c19
Merge pull request #4749 from deepseek-harness/feat/chat-presentation-channel
...
feat(ui-chat): restore independent work-detail presentation from #4565
2026-09-21 00:10:18 +08:00
imccyu
2411452433
Merge pull request #4707 from deepseek-harness/subagent-catalog
...
perf(session): avoid duplicate cold reads on conversation open
2026-09-20 19:27:13 +08:00
imccyu
068cf03441
Merge pull request #4648 from deepseek-harness/worktree/remote-duplex-stream
...
feat(gateway): let every Remote stream carry a client uplink
2026-09-20 18:32:58 +08:00
imccyu
bc2c9bd11a
Merge pull request #4427 from deepseek-harness/session-actions-slot
...
feat(client): add extensible session menu actions
2026-09-20 13:56:15 +08:00
imccyu
3821dc58e3
Merge pull request #4639 from deepseek-harness/fix-migration-v4
...
fix(session): serve cold forked sessions from the projection cache
2026-09-20 13:04:11 +08:00
imccyu
00dac23ba0
Merge pull request #4621 from deepseek-harness/worktree-fix0919
...
fix: 修复侧边栏 Fork、终端提示与持久 Shell 取消行为
2026-09-19 23:49:59 +08:00
imccyu
3863992e67
Merge pull request #4571 from deepseek-harness/worktree-pluginlocale
...
feat: 插件元信息支持按 export 多语言展示
2026-09-19 22:15:53 +08:00
imccyu
a9f205c584
refactor(plugins): rename PackageMeta to PluginLocalizedMeta
2026-09-19 20:19:08 +08:00
imccyu
acec2ba713
docs(plugins): document PluginLocalizedMeta type name
2026-09-19 20:19:08 +08:00
imccyu
8ceaa725e0
build(plugins): validate locale resources and refresh catalogs
2026-09-19 20:19:07 +08:00
imccyu
0d611ea151
feat(web): display plugin-owned locale metadata
2026-09-19 20:19:04 +08:00
imccyu
0b7cb4102b
feat(plugins): resolve installed metadata through runtime resource exports
2026-09-19 20:19:04 +08:00
imccyu
f8240240fa
docs(plugins): define localized display metadata and fallback rules
2026-09-19 20:19:03 +08:00
imccyu
b3961e06a0
Merge pull request #4608 from deepseek-harness/worktree-removelink-rename
...
refactor(boot): rename the profile resolution generation to the runtime resolution
2026-09-19 17:25:04 +08:00
imccyu
cf3505b88e
docs: call the package table the runtime resolution everywhere it is named
...
The generation note keeps generation for succession only and names the table, the interception, and the routes with the code's words; the CLI reference, Desktop, plugin-package-inventory, and loader-smoke READMEs, the bundled-runtime, agent-teams, plugin-bundles, and source-launch notes, and the client AGENTS guide follow. Pairing records re-recorded.
2026-09-19 17:06:35 +08:00
imccyu
f7f22a6b48
refactor(boot): finish the interception vocabulary in code comments and the app-boot README
...
The Consumer-owned strictness bullet names the Loader subtree that agent presets own instead of the runtime resolution; the service field, its file comment, the dispose JSDoc, and the route JSDoc use interception; the native-after-interception route documents both anchors it can carry; stale module-fallback comments name the runtime resolution; importFromResolution matches its parameter.
2026-09-19 17:06:35 +08:00
imccyu
b605d114bd
docs(boot): finish the runtime resolution terminology in the generation and desktop notes
2026-09-19 17:06:35 +08:00
imccyu
c0f34b4bcd
docs(boot): name both installation anchor sources
...
The CLI derives the installation anchor from import.meta.url and the Desktop Host builds it from its runtime directory; neither is a symlink, so the installation root is kept as given. The note and the traversal comment say so instead of attributing every launcher to import.meta.url.
2026-09-19 17:06:35 +08:00
imccyu
06b0ff9560
docs(boot): describe the installation closure size without point-in-time counts
2026-09-19 17:06:35 +08:00
imccyu
058d1d779b
docs(boot): keep the ancestor chain code block language neutral
...
The numbered chain lists directories only; the legend for ①-⑤ moves into prose so both language sides can read it while the code block stays byte-identical for the pairing gate.
2026-09-19 17:06:35 +08:00
imccyu
9848ac75f2
test(cli): explain the sandbox-unavailable acceptance in the source tool smoke
2026-09-19 17:06:35 +08:00
imccyu
048fc3e580
docs(boot): state that the installation anchor is already a real path
...
The lookup-order note records that the launcher derives the installation anchor from import.meta.url, so bundle discovery and dependency traversal start from the same real directory.
2026-09-19 17:06:35 +08:00
imccyu
15e07d2721
refactor(boot): rename the profile resolution generation to the runtime resolution
...
RuntimeResolution, RuntimeResolutionEntry, RuntimeResolutionOptions, and createRuntimeResolution replace the generation-named table types; installRuntimeInterception returns a RuntimeInterception; PluginPackages takes { resolution }; Worker environment data carries { resolution }; routes are native, interception, and native-after-interception. replace() keeps its successor-generation wording.
2026-09-19 17:06:34 +08:00
imccyu
5f48b2fff6
docs(boot): call the package table the runtime resolution
...
Notes and the app-boot README name the startup package table the runtime resolution and the installed hook the interception; generation remains the word for the additive successor semantics of replace().
2026-09-19 17:06:34 +08:00
imccyu
bffd317c8c
Merge pull request #4570 from deepseek-harness/worktree-removelink
...
fix(boot): keep runtime-only profile resolution and real package anchors
2026-09-19 17:04:22 +08:00
imccyu
109efc7942
test(boot): cover the projection removal edge cases
...
A profile with the legacy directory but no node_modules, and a symlink whose target parent is gone, exercise the remaining branches of removeLinkProjections; the non-ENOENT realpath failure is a host filesystem fault and is excluded from coverage like its siblings.
2026-09-19 16:49:21 +08:00
imccyu
02fec3209e
fix(boot): remove link-backend profile projections on profile load
...
removeLinkProjections unlinks the symlinks under a profile's node_modules whose target lies inside <profile>/.dsh-module-fallback/node_modules and then removes that directory; pnpm-installed packages and every other symlink stay. loadProfile and the Desktop applyRelease call it once per launch. Regression: with bundle A installed but deselected and bundle B selected, B's same-named plugin resolves instead of A's projected copy.
2026-09-19 16:34:07 +08:00
imccyu
0c342a81c4
docs(boot): record the one-time removal of link-backend profile projections
...
The lookup-order note, the cleanup-removal note, and the app-boot and Desktop READMEs state that profile load removes the .dsh-module-fallback projections the dsh 0.1.5 releases wrote into a profile, so a deselected bundle's projected plugin no longer shadows the same-named plugin the generation selects from another bundle.
2026-09-19 16:34:07 +08:00
imccyu
45417197c6
refactor(boot): name routes and collectors after the interception layer
...
Resolution routes are native, generation, and native-after-generation: Node keeps the importer's lookup, answers from the generation entry at the interception layer, or resumes its chain at that layer. The profile module collects installation-scope and profile-scope packages and reads package manifests under those names; the generation types describe the interception layer instead of a fallback table.
2026-09-19 15:34:09 +08:00
imccyu
f34f8ef04d
docs(boot): name the native lookup after the generation in the generation note
2026-09-19 15:34:09 +08:00
imccyu
82337a2e71
test(boot): canonicalize temporary roots with the native realpath
...
Windows tmpdir spells the user directory with an 8.3 short name. Generation anchors and Node's own resolution report the long name, so the resolver, generation, and real-launch fixtures now create their roots through realpathSync.native and compute expected paths the same way.
2026-09-19 15:19:32 +08:00
imccyu
03e3a3bca0
refactor(desktop): note the runtime descriptor validation in applyRelease
...
applyRelease keeps readDesktopRuntime for its fail-loud validation after the cleanup consumer was removed.
2026-09-19 15:06:26 +08:00
imccyu
1c806e5a16
docs(desktop): record the profile cleanup removal
...
A simplification note records why production Desktop no longer cleans core-package copies out of the profile, keeps the 2026-09-15 motivation and rejected alternatives, and names the capability given up and the reintroduction conditions; the superseded 2026-09-15 note is consolidated into it. The bundled-runtime note drops its cleanup qualification paragraph, and the Desktop README describes launch preparation without the cleanup step.
2026-09-19 15:06:26 +08:00
imccyu
71c7f6cc09
refactor(boot): name the interception layer parent and note intentional anchors
...
routeScoped names the profile parent whose node_modules is the interception layer. The installation traversal records why the installation root keeps its caller-supplied directory and why generation construction keeps its Promise return type.
2026-09-19 14:39:45 +08:00
imccyu
0e2097ac18
docs(boot): describe the interception layer in the generation note and README
...
The generation note and the app-boot README no longer claim that runtime lookup hides the shared position or recognizes profile projections: generation entries occupy their package names at $DSH_HOME/profiles/node_modules and every other name sees that directory as an ordinary ancestor. Pairing records re-recorded.
2026-09-19 14:39:44 +08:00
imccyu
81b6934804
docs(boot): add the English lookup-order note and refresh the wrapper note
...
Translate the profile lookup-order Agent Note section for section and record its pairing. The desktop-web-wrapper note names the runtime resolution generation instead of module fallbacks and drops the one-time desktop-runtime-state cleanup that no longer exists.
2026-09-19 14:28:07 +08:00
imccyu
d71b8a2f1c
refactor(boot): narrow legacy-links exports and refresh resolution JSDoc
...
isPackagedExecutable has one caller in its own module; the installation traversal comment names the runtime resolver instead of the removed fallback directory.
2026-09-19 14:12:02 +08:00