dsh-config-manager 0.1.44 → 0.1.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/README.md +38 -3
  2. package/README.zh-CN.md +40 -5
  3. package/lib/adapters/plugins.js +9 -2
  4. package/lib/adapters/plugins.js.map +1 -1
  5. package/lib/adapters/self.js +1 -0
  6. package/lib/adapters/self.js.map +1 -1
  7. package/lib/client.d.ts +71 -3
  8. package/lib/client.js +339 -146
  9. package/lib/client.js.map +1 -1
  10. package/lib/core/analyzer.d.ts +9 -0
  11. package/lib/core/analyzer.js +123 -6
  12. package/lib/core/analyzer.js.map +1 -1
  13. package/lib/core/exporter.d.ts +7 -0
  14. package/lib/core/exporter.js +24 -0
  15. package/lib/core/exporter.js.map +1 -1
  16. package/lib/core/ghost-sweep.d.ts +19 -0
  17. package/lib/core/ghost-sweep.js +52 -0
  18. package/lib/core/ghost-sweep.js.map +1 -0
  19. package/lib/core/importer.d.ts +10 -0
  20. package/lib/core/importer.js +2 -0
  21. package/lib/core/importer.js.map +1 -1
  22. package/lib/core/messages.d.ts +9 -0
  23. package/lib/core/messages.js +18 -0
  24. package/lib/core/messages.js.map +1 -1
  25. package/lib/core/model-tools.d.ts +80 -0
  26. package/lib/core/model-tools.js +330 -0
  27. package/lib/core/model-tools.js.map +1 -0
  28. package/lib/core/plugin-cli.d.ts +16 -1
  29. package/lib/core/plugin-cli.js +49 -4
  30. package/lib/core/plugin-cli.js.map +1 -1
  31. package/lib/core/restore.d.ts +6 -0
  32. package/lib/core/restore.js +42 -0
  33. package/lib/core/restore.js.map +1 -1
  34. package/lib/core/run-registry.d.ts +11 -2
  35. package/lib/core/run-registry.js +22 -1
  36. package/lib/core/run-registry.js.map +1 -1
  37. package/lib/core/types.d.ts +36 -2
  38. package/lib/core/types.js +8 -0
  39. package/lib/core/types.js.map +1 -1
  40. package/lib/index.d.ts +8 -1
  41. package/lib/index.js +109 -10
  42. package/lib/index.js.map +1 -1
  43. package/lib/market/my-repo.d.ts +4 -0
  44. package/lib/market/my-repo.js +2 -0
  45. package/lib/market/my-repo.js.map +1 -1
  46. package/lib/market/prepare.d.ts +3 -0
  47. package/lib/market/prepare.js +44 -7
  48. package/lib/market/prepare.js.map +1 -1
  49. package/lib/market/types.d.ts +11 -0
  50. package/lib/market/types.js.map +1 -1
  51. package/lib/schema/tombstones.d.ts +46 -0
  52. package/lib/schema/tombstones.js +64 -0
  53. package/lib/schema/tombstones.js.map +1 -0
  54. package/lib/security/secret-scanner.d.ts +25 -2
  55. package/lib/security/secret-scanner.js +41 -14
  56. package/lib/security/secret-scanner.js.map +1 -1
  57. package/lib/security/vault.d.ts +59 -0
  58. package/lib/security/vault.js +151 -0
  59. package/lib/security/vault.js.map +1 -0
  60. package/lib/sync/backup-schedule-config.d.ts +34 -0
  61. package/lib/sync/backup-schedule-config.js +131 -0
  62. package/lib/sync/backup-schedule-config.js.map +1 -0
  63. package/lib/sync/backup-scheduler.d.ts +88 -0
  64. package/lib/sync/backup-scheduler.js +189 -0
  65. package/lib/sync/backup-scheduler.js.map +1 -0
  66. package/lib/sync/transport.d.ts +8 -0
  67. package/lib/sync/transport.js +20 -0
  68. package/lib/sync/transport.js.map +1 -1
  69. package/lib/sync/webdav/webdav-transport.d.ts +2 -1
  70. package/lib/sync/webdav/webdav-transport.js +19 -8
  71. package/lib/sync/webdav/webdav-transport.js.map +1 -1
  72. package/lib/ui/i18n.d.ts +1 -0
  73. package/lib/ui/i18n.js +2 -0
  74. package/lib/ui/i18n.js.map +1 -1
  75. package/lib/ui/import-wizard.d.ts +13 -0
  76. package/lib/ui/import-wizard.js +48 -0
  77. package/lib/ui/import-wizard.js.map +1 -1
  78. package/lib/ui/report.js +5 -0
  79. package/lib/ui/report.js.map +1 -1
  80. package/lib/ui/test-helpers.d.ts +2 -1
  81. package/lib/ui/test-helpers.js +2 -2
  82. package/lib/ui/test-helpers.js.map +1 -1
  83. package/package.json +7 -4
  84. package/src/adapters/plugins.ts +8 -2
  85. package/src/adapters/self.ts +1 -0
  86. package/src/client/api.ts +12 -0
  87. package/src/client/common/progress-view.ts +2 -0
  88. package/src/client/config-manager.module.css +43 -0
  89. package/src/client/import/ImportWizardView.tsx +77 -5
  90. package/src/client/locales.ts +10 -0
  91. package/src/client/market/MarketPanel.tsx +41 -45
  92. package/src/client/market/MyConfigsView.tsx +192 -180
  93. package/src/client/market/market-locales.ts +9 -0
  94. package/src/client/market/my-configs-view.test.ts +3 -3
  95. package/src/client/market/my-configs-view.ts +4 -1
  96. package/src/client/run-store.test.ts +65 -5
  97. package/src/client/run-store.ts +9 -2
  98. package/src/core/analyzer.ts +132 -9
  99. package/src/core/exporter.ts +30 -0
  100. package/src/core/ghost-sweep.test.ts +94 -0
  101. package/src/core/ghost-sweep.ts +67 -0
  102. package/src/core/importer.ts +7 -0
  103. package/src/core/messages.ts +18 -0
  104. package/src/core/model-tools.test.ts +291 -0
  105. package/src/core/model-tools.ts +416 -0
  106. package/src/core/plugin-cli.ts +49 -3
  107. package/src/core/restore.ts +51 -0
  108. package/src/core/run-registry.test.ts +34 -1
  109. package/src/core/run-registry.ts +27 -3
  110. package/src/core/smoke.test.ts +81 -1
  111. package/src/core/types.ts +41 -2
  112. package/src/index.ts +122 -13
  113. package/src/market/my-repo.test.ts +18 -0
  114. package/src/market/my-repo.ts +6 -1
  115. package/src/market/prepare.test.ts +108 -0
  116. package/src/market/prepare.ts +50 -8
  117. package/src/market/types.ts +12 -0
  118. package/src/schema/tombstones.test.ts +131 -0
  119. package/src/schema/tombstones.ts +89 -0
  120. package/src/security/secret-scanner.ts +69 -16
  121. package/src/security/security.test.ts +101 -2
  122. package/src/security/vault.test.ts +164 -0
  123. package/src/security/vault.ts +198 -0
  124. package/src/sync/backup-schedule-config.ts +152 -0
  125. package/src/sync/backup-scheduler.test.ts +181 -0
  126. package/src/sync/backup-scheduler.ts +249 -0
  127. package/src/sync/git/git-transport.test.ts +18 -0
  128. package/src/sync/sync-engine.test.ts +74 -0
  129. package/src/sync/transport.ts +18 -0
  130. package/src/sync/webdav/webdav-transport.test.ts +125 -8
  131. package/src/sync/webdav/webdav-transport.ts +19 -8
  132. package/src/ui/i18n.ts +2 -0
  133. package/src/ui/import-wizard.test.ts +51 -0
  134. package/src/ui/import-wizard.ts +52 -0
  135. package/src/ui/report.ts +5 -0
  136. package/src/ui/test-helpers.ts +3 -3
package/README.md CHANGED
@@ -4,6 +4,17 @@
4
4
 
5
5
  Backup, restore, export, import, migrate and sync your complete DeepSeek Harness (DSH) configuration — settings, model providers, plugins, MCP servers, skills, agent presets and workspaces — and restore your whole environment on a new machine with one click.
6
6
 
7
+ - 🔄 **Backup & Restore** DeepSeek Harness configuration
8
+ - 📦 **Export / Import** complete DSH configuration
9
+ - 🚚 **Migrate** DSH to another machine
10
+ - ⏰ **Scheduled full backups** — automatic, on your own cadence (6h / 12h / 24h / 7d), secrets never included
11
+ - 🔌 Backup installed **plugins** and plugin configuration
12
+ - 🧩 Backup **MCP servers** and **Skills**
13
+ - 🔐 Encrypted backups with optional credentials
14
+ - ☁️ **Git / WebDAV** configuration sync
15
+ - 🛒 **Configuration market** — browse & one-click install shared configs
16
+ - ↩️ Automatic snapshot and rollback before restore
17
+
7
18
  [English](README.md) · [简体中文](README.zh-CN.md)
8
19
 
9
20
  ---
@@ -43,6 +54,14 @@ Move your complete DeepSeek Harness setup without manually reinstalling plugins,
43
54
 
44
55
  Keep portable configuration synchronized between machines through a private Git repository or WebDAV — secrets never sync.
45
56
 
57
+ ### Schedule automatic full backups
58
+
59
+ Turn on scheduled backups (6h / 12h / 24h / 7d) and DSH quietly keeps a fresh full backup of your configuration in the background — secrets are never included, so it stays safe on disk without a password.
60
+
61
+ ### Discover & install configurations from the marketplace
62
+
63
+ Browse the built-in official market for ready-made configurations (model providers, plugins, MCP servers, skills, agent presets…), preview what would be imported (dry-run), and install with one click — supply-chain warnings are always shown and every section must be explicitly approved before anything is written.
64
+
46
65
  ---
47
66
 
48
67
  ## ✨ Highlights
@@ -58,6 +77,8 @@ Keep portable configuration synchronized between machines through a private Git
58
77
  | ↩️ | **Automatic rollback** | Failed import restores everything automatically |
59
78
  | 📸 | **Snapshot restore** | Undo an import: whole-file restore + uninstall added plugins (CLI & GUI) |
60
79
  | 🔄 | **Remote Sync** | Push/pull portable config via **Git private repo or WebDAV** (secrets never sync) |
80
+ | ⏰ | **Scheduled backups** | Full backup on a fixed cadence (6h / 12h / 24h / 7d) — set-and-forget, secrets never included |
81
+ | 🛒 | **Config Marketplace** | Browse & one-click install community configs — supply-chain warnings + per-section approval |
61
82
  | 🗂️ | **Profiles** | Save multiple setups (Work / Personal) and switch anytime |
62
83
  | 🌐 | **Bilingual UI** | Interface, reports and error details follow the DSH app language (中文 / English) |
63
84
 
@@ -73,6 +94,10 @@ Keep portable configuration synchronized between machines through a private Git
73
94
  |:---:|:---:|
74
95
  | ![Snapshot Restore](assets/screenshot-snapshots.png) | ![Remote Sync](assets/screenshot-sync.png) |
75
96
 
97
+ | Configuration Market |
98
+ |:---:|
99
+ | ![Configuration Market](assets/screenshot-market.png) |
100
+
76
101
  ---
77
102
 
78
103
  ## 🔄 How it works?
@@ -103,17 +128,17 @@ It's a standard **DSH plugin** — two steps:
103
128
 
104
129
  ```bash
105
130
  # ① Install the plugin
106
- dsh plugin --profile web add dsh-config-manager@latest --config.auto-install-peers=false
131
+ dsh plugin --profile web add dsh-config-manager@latest
107
132
 
108
133
  # ② Restart DSH (a "Backup & Migration" entry appears in Settings)
109
134
  ```
110
135
 
111
- > 💡 Just copy-paste the command: `--config.auto-install-peers=false` skips a few DSH core packages that aren't on the public registry yet (the DSH runtime provides them), and `@latest` ensures you get the newest build.
136
+ > 💡 Just copy-paste the command: `@latest` ensures you get the newest build.
112
137
  >
113
138
  > 🐛 **`@latest` installed an old version?** That's pnpm 11's `minimumReleaseAge` supply-chain policy, not a cache issue: versions published less than ~30 days ago are excluded from resolution until whitelisted. Two fixes:
114
139
  > - Install an exact version once (it auto-whitelists, then `@latest` works):
115
140
  > ```bash
116
- > dsh plugin --profile web add dsh-config-manager@0.1.8 --config.auto-install-peers=false
141
+ > dsh plugin --profile web add dsh-config-manager@0.1.8
117
142
  > ```
118
143
  > - Or disable the age gate with a one-liner (adds `minimumReleaseAge: 0` at the top of the profile's `pnpm-workspace.yaml`):
119
144
  > ```powershell
@@ -217,6 +242,16 @@ Push / pull your portable config between machines through **either of two channe
217
242
  - **WebDAV auth** uses HTTP Basic: the `username` is stored in the config and may be echoed back into the UI, while the `password` is read live from the DSH credentials slot `DSH_CONFIG_MANAGER_SYNC_WEBDAV_PASSWORD` — it never appears in any sync file or log.
218
243
  - **Plugins auto-install**: when pulling diffs, plugins that are new in the backup are **installed automatically** on confirm — no manual per-item ticking in the diff list. Only **version-conflict** plugins still ask you to pick "Keep Current / Use Imported".
219
244
 
245
+ ### 🛒 Configuration Marketplace
246
+
247
+ Browse and install ready-made configurations (model providers, plugins, MCP servers, skills, agent presets…) shared by the community:
248
+
249
+ - **Built-in official market** — read-only, bound to the official public repo (official badge shown, not editable); first open auto-refreshes, manual refresh also available
250
+ - **Search & filter** — keyword search, category filter, source filter (Official / Community), sorting (recently updated / most starred / name A–Z), and a ⭐ badge showing the **source repo's** star count (queried anonymously, no token involved)
251
+ - **Supply-chain warnings always shown** — source repo URL, "not officially reviewed", download time; **per-section approval** — high-risk sections (sessions / arbitrary files) are banned from listing outright, and every remaining section must be explicitly approved before the import is confirmed
252
+ - **Install reuses the safe import pipeline** — analyze → preview → auto-backup → apply → rollback; nothing is written before you confirm
253
+ - **"My Configs"** — sign in with GitHub (device flow), upload a config to **your own public repo** in one click, and an **auto listing PR** is opened against the official market repo; manage your listings (status badges: not listed / PR pending / listed), update in one click, install back locally, or delist (auto de-listing PR)
254
+
220
255
  ### 🗂️ Profiles
221
256
 
222
257
  Save multiple configurations (Work / Personal) and switch anytime; switching includes preview + auto-backup + rollback.
package/README.zh-CN.md CHANGED
@@ -1,8 +1,19 @@
1
1
  # 🎒 DSH Config Manager
2
2
 
3
- **DeepSeek Harness(DSH)备份 / 恢复 / 迁移插件。**
3
+ **DeepSeek Harness(DSH)配置备份、恢复与迁移插件。**
4
4
 
5
- 一键备份、恢复、导出、导入、迁移和同步你的完整 DSH 配置——设置、模型供应商、插件、MCP 服务器、技能、Agent 预设与工作区;换台电脑,环境一键恢复。
5
+ DSH Config Manager 是一个 DeepSeek Harness 配置备份与迁移插件:一键备份、恢复、导出、导入和迁移完整 DSH 配置,包括——
6
+
7
+ - DSH 设置
8
+ - 模型 / Provider 配置
9
+ - 已安装插件及插件配置
10
+ - MCP Servers
11
+ - Skills
12
+ - Agent Presets
13
+ - Profiles(配置档案)
14
+ - Workspace / AGENTS.md
15
+
16
+ 把当前 DeepSeek Harness 环境导出为可移植备份,在另一台电脑上一键恢复;也支持通过 Git / WebDAV 跨机同步(密钥永不参与同步);还能通过内置**配置市场**浏览、一键安装社区分享的现成配置。
6
17
 
7
18
  [English](README.md) · [简体中文](README.zh-CN.md)
8
19
 
@@ -43,6 +54,14 @@ DSH 是你的 AI 助手工作台,里面存着你的各种设置:模型配置
43
54
 
44
55
  通过私有 Git 仓库或 WebDAV 在多台电脑间保持可移植配置同步——密钥永不参与同步。
45
56
 
57
+ ### 定时自动全量备份
58
+
59
+ 开启定时备份(6h / 12h / 24h / 7d),DSH 会在后台按固定周期悄悄保留一份全新的全量配置备份——密钥永不包含,无需密码也能安心躺在磁盘上。
60
+
61
+ ### 从配置市场发现并安装共享配置
62
+
63
+ 在内置官方市场浏览现成配置(模型 / Provider、插件、MCP、技能、Agent 预设……),先 dry-run 预览再一键安装——供应链警示恒展示,确认导入前每个分区都须显式批准。
64
+
46
65
  ---
47
66
 
48
67
  ## ✨ 核心亮点
@@ -58,6 +77,8 @@ DSH 是你的 AI 助手工作台,里面存着你的各种设置:模型配置
58
77
  | ↩️ | **自动回滚** | 导入失败自动恢复原样,不会弄坏现有配置 |
59
78
  | 📸 | **快照恢复** | 撤销一次导入:整文件还原 + 卸载新增插件(CLI 与 GUI 均支持) |
60
79
  | 🔄 | **远程同步** | 通过 **Git 私有仓库或 WebDAV** 推送 / 拉取可移植配置(密钥永不参与同步) |
80
+ | ⏰ | **定时全量备份** | 按固定周期(6h / 12h / 24h / 7d)自动全量备份,一劳永逸,密钥永不包含 |
81
+ | 🛒 | **配置市场** | 浏览并一键安装社区分享的配置——供应链警示 + 逐分区批准 |
61
82
  | 🗂️ | **配置档案 Profiles** | 保存多套配置(工作 / 个人),随时切换 |
62
83
 
63
84
  ---
@@ -72,6 +93,10 @@ DSH 是你的 AI 助手工作台,里面存着你的各种设置:模型配置
72
93
  |:---:|:---:|
73
94
  | ![快照恢复](assets/screenshot-snapshots.png) | ![远程同步](assets/screenshot-sync.png) |
74
95
 
96
+ | 配置市场 |
97
+ |:---:|
98
+ | ![配置市场](assets/screenshot-market.png) |
99
+
75
100
  ---
76
101
 
77
102
  ## 🔄 它是怎么工作的?
@@ -102,17 +127,17 @@ DSH 是你的 AI 助手工作台,里面存着你的各种设置:模型配置
102
127
 
103
128
  ```bash
104
129
  # ① 安装插件
105
- dsh plugin --profile web add dsh-config-manager@latest --config.auto-install-peers=false
130
+ dsh plugin --profile web add dsh-config-manager@latest
106
131
 
107
132
  # ② 重启 DSH(设置页就会出现「备份与迁移」入口)
108
133
  ```
109
134
 
110
- > 💡 照着复制就行:`--config.auto-install-peers=false` 跳过几个尚未公开发布的 DSH 核心依赖(运行时由 DSH 自己提供),`@latest` 确保装到最新版。
135
+ > 💡 照着复制就行:`@latest` 确保装到最新版。
111
136
  >
112
137
  > 🐛 **`@latest` 装到了旧版?** 这是 **pnpm 11 的 `minimumReleaseAge` 供应链发布年龄策略**(不是缓存):发布不足约 30 天的新版本会被排除出版本解析,直到进入白名单。两种解决办法:
113
138
  > - 装一次精确版本即可自动白名单,之后 `@latest` 正常:
114
139
  > ```bash
115
- > dsh plugin --profile web add dsh-config-manager@0.1.8 --config.auto-install-peers=false
140
+ > dsh plugin --profile web add dsh-config-manager@0.1.8
116
141
  > ```
117
142
  > - 或一行命令彻底关闭年龄门槛(在 profile 的 `pnpm-workspace.yaml` 顶部加 `minimumReleaseAge: 0`):
118
143
  > ```powershell
@@ -216,6 +241,16 @@ dsh plugin --profile web add dsh-config-manager@latest --config.auto-install-pee
216
241
  - **WebDAV 认证**采用 HTTP Basic:`username` 存配置、可在界面回显;`password` 则实时从 DSH credentials 槽位 `DSH_CONFIG_MANAGER_SYNC_WEBDAV_PASSWORD` 读取——绝不出现于任何同步文件或日志。
217
242
  - **插件自动安装**:拉取差异时,备份里新增的插件会在确认导入时**自动安装**,无需在差异列表里逐项手动勾选;只有**版本冲突**的插件仍需要你决定「保留当前 / 采用备份」。
218
243
 
244
+ ### 🛒 配置市场(Marketplace)
245
+
246
+ 浏览并一键安装社区分享的现成配置(模型 / Provider、插件、MCP、技能、Agent 预设……):
247
+
248
+ - **内置官方市场**——只读、绑定官方公开仓库(官方徽章,不可编辑);首次打开自动刷新,也支持手动拉取最新
249
+ - **搜索与筛选**——关键词搜索、类别过滤、来源筛选(官方 / 个人)、排序(最近更新 / ⭐ 最多 / 名称 A–Z),并显示**来源仓库**的 ⭐ star 数(匿名查询,不触碰任何 token)
250
+ - **供应链警示恒展示**——来源仓库 URL +「未经官方审核」+ 下载时间;**逐分区批准**——高风险分区(历史会话 / 任意文件)直接禁止上架,其余分区确认导入前须逐项显式勾选
251
+ - **安装复用安全导入管道**——分析 → 预览 → 自动备份 → 执行 → 回滚;确认前零写入
252
+ - **「我的配置」**——GitHub 登录(device flow)后一键上传到**你自己的公开仓库**,并自动向官方市场仓库提交**收录 PR**;管理已上传条目(收录状态徽章:未收录 / PR 待审核 / 已收录)、一键更新、装回本地、删除(自动下架 PR)
253
+
219
254
  ### 🗂️ 配置档案(Profiles)
220
255
 
221
256
  保存多套配置(如「工作」「个人」),随时切换;切换同样带预览 + 自动备份 + 回滚。
@@ -6,7 +6,7 @@
6
6
  * patch 行导入(用户自定义行:启用/禁用/插入)写回 cordis.patch.yml,同样 needsRestart。
7
7
  */
8
8
  import { isDeepStrictEqual } from 'node:util';
9
- import { resolveProfileNameFromArgv } from "../core/plugin-cli.js";
9
+ import { installSpecFor, resolveProfileNameFromArgv } from "../core/plugin-cli.js";
10
10
  import { msgOf, zhMsg } from "../core/messages.js";
11
11
  export const USER_PATCH_FILE = 'cordis.patch.yml';
12
12
  /** pnpm-workspace.yaml 相对 $DSH_HOME 的路径(plugins 分区内按「插件安装配置」管理)。 */
@@ -219,7 +219,11 @@ export class PluginsAdapter {
219
219
  // 非 registry 来源(github:/file: 等)按来源 spec 安装,registry 包按裸包名装 npm 最新版
220
220
  const data = ctx.sections.get('plugins');
221
221
  const spec = data?.plugins.find((p) => p.name === name)?.spec;
222
- const result = await ctx.target.plugins.install(name, spec);
222
+ // 执行日志:记录实际将发起的子进程命令行(与宿主 DshPluginsFacade
223
+ // dsh plugin --profile <p> add <spec> 一致);仅非敏感文本,渲染前 UI 再 redact 兜底
224
+ ctx.onLog?.(`$ dsh plugin --profile ${ctx.target.profile ?? resolveProfileNameFromArgv()} add ${installSpecFor(name, spec)}`);
225
+ // 透传中止信号:用户「跳过当前插件」→ 宿主 kill 子进程 + 清半装状态 → 抛 ImportUserSkippedError
226
+ const result = await ctx.target.plugins.install(name, spec, ctx.signal);
223
227
  const suffix = result.needsRestart ? msg('adapter.pluginRestartSuffix') : '';
224
228
  return {
225
229
  ok: true,
@@ -230,6 +234,9 @@ export class PluginsAdapter {
230
234
  };
231
235
  }
232
236
  catch (err) {
237
+ // 用户跳过:原样上抛(引擎 applyOne 捕获 → skipped + skippedByUser,不触发回滚)
238
+ if (ctx.signal?.aborted)
239
+ throw err;
233
240
  const reason = err instanceof Error ? err.message : String(err);
234
241
  return {
235
242
  ok: false,
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/adapters/plugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/adapters/plugins.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ export const SELF_CONFIG_FILES = [
31
31
  'sync/sync-autosync.json',
32
32
  'sync/sync-selection.json',
33
33
  'sync/ui-prefs.json',
34
+ 'sync/backup-schedule.json',
34
35
  'market/market-config.json',
35
36
  ];
36
37
  export class SelfAdapter extends FileCollectionAdapter {
@@ -1 +1 @@
1
- {"version":3,"file":"self.js","sourceRoot":"","sources":["../../src/adapters/self.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,gEAAgE;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,uBAAuB;IACvB,yBAAyB;IACzB,0BAA0B;IAC1B,oBAAoB;IACpB,2BAA2B;CAC5B,CAAC;AAEF,MAAM,OAAO,WAAY,SAAQ,qBAAqB;IAC3C,EAAE,GAAG,MAAe,CAAC;IACrB,WAAW,GAAG,oBAAoB,CAAC;IACnC,eAAe,GAAG,IAAI,CAAC;IACvB,WAAW,GAAG,UAAmB,CAAC;IAC3C,kEAAkE;IACzD,OAAO,CAAS;IAEzB,YAAY,OAAO,GAAG,oBAAoB;QACxC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;iGAC6F;IACpF,KAAK,CAAC,MAAM,CAAC,GAAgB,EAAE,QAAuB;QAC7D,MAAM,KAAK,GAA0B,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;YACpC,oEAAoE;YACpE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACnF,IAAI,IAAI,KAAK,IAAI;gBAAE,SAAS,CAAC,0BAA0B;YACvD,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE;YAC3B,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE;YAC/B,QAAQ;SACT,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"self.js","sourceRoot":"","sources":["../../src/adapters/self.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,gEAAgE;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,uBAAuB;IACvB,yBAAyB;IACzB,0BAA0B;IAC1B,oBAAoB;IACpB,2BAA2B;IAC3B,2BAA2B;CAC5B,CAAC;AAEF,MAAM,OAAO,WAAY,SAAQ,qBAAqB;IAC3C,EAAE,GAAG,MAAe,CAAC;IACrB,WAAW,GAAG,oBAAoB,CAAC;IACnC,eAAe,GAAG,IAAI,CAAC;IACvB,WAAW,GAAG,UAAmB,CAAC;IAC3C,kEAAkE;IACzD,OAAO,CAAS;IAEzB,YAAY,OAAO,GAAG,oBAAoB;QACxC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;iGAC6F;IACpF,KAAK,CAAC,MAAM,CAAC,GAAgB,EAAE,QAAuB;QAC7D,MAAM,KAAK,GAA0B,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;YACpC,oEAAoE;YACpE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACnF,IAAI,IAAI,KAAK,IAAI;gBAAE,SAAS,CAAC,0BAA0B;YACvD,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE;YAC3B,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE;YAC/B,QAAQ;SACT,CAAC;IACJ,CAAC;CACF"}
package/lib/client.d.ts CHANGED
@@ -6,7 +6,6 @@ window.__ModuleLoader__.load({
6
6
 
7
7
  import { ClientContext } from "@deepseek-ai/dsh-client-runtime/client";
8
8
  import { PropsRuntime, TranslateNS } from "@deepseek-ai/dsh-client-ui-slots";
9
-
10
9
  //#region src/schema/types.d.ts
11
10
  /**
12
11
  * 核心领域类型(Export Schema v1 的纯类型定义)。
@@ -58,6 +57,24 @@ interface Manifest {
58
57
  };
59
58
  }
60
59
  //#endregion
60
+ //#region src/schema/tombstones.d.ts
61
+ /**
62
+ * 删除墓碑(tombstone)机制(F4):记录用户明确删除的条目,
63
+ * 导入/恢复时据此过滤,防止「旧备份复活已删条目」。
64
+ *
65
+ * 设计(借鉴 uagent-sync workspace-state-codec):墓碑按 kind+id 去重,
66
+ * 过滤时把恢复数据里的条目映射为 {kind, id} 键,命中墓碑的条目剔除。
67
+ *
68
+ * 持久化:<dataDir>/tombstones.json(self 分区数据目录 $DSH_HOME/dsh-config-manager/ 下)。
69
+ * 本模块零依赖(不 import node 模块 / 核心层类型),fs 由调用方注入,
70
+ * 纯逻辑可独立测试;dataDir 与文件名形态由调用方保持一致。
71
+ *
72
+ * 安全语义:墓碑文件缺失/损坏一律安全降级为空列表(尽力而为的过滤,
73
+ * 绝不因墓碑文件问题阻塞导入主流程)。
74
+ */
75
+ /** 墓碑条目类型:插件 / 技能(skills 分区文件)/ 整个分区 / 其他文件(agentPresets 等文件类分区) */
76
+ type TombstoneKind = 'plugin' | 'skill' | 'section' | 'file';
77
+ //#endregion
61
78
  //#region src/core/types.d.ts
62
79
  interface ExportOptions {
63
80
  /** 是否包含真实秘密(必须配合 encryption 提供者;缺省 false = 只导状态) */
@@ -134,12 +151,23 @@ interface ImportPlan {
134
151
  }[];
135
152
  needsRestart: boolean;
136
153
  estimatedActions: Record<SectionId, number>;
154
+ /** F4:被删除墓碑(tombstone)过滤掉的计划项(缺省/空数组 = 无过滤;UI 据此提示用户) */
155
+ skippedTombstoned?: SkippedTombstone[];
156
+ }
157
+ /** F4:被墓碑过滤的计划项记录(条目级:kind+id;分区级:kind='section',id=分区 id) */
158
+ interface SkippedTombstone {
159
+ kind: TombstoneKind;
160
+ id: string;
161
+ adapter: SectionId;
137
162
  }
138
163
  interface ExecutedItem {
139
164
  itemId: string;
140
165
  /** warning = 未应用但非致命(目标不可达等),不计入失败、不触发回滚 */
141
166
  status: 'ok' | 'skipped' | 'warning' | 'failed';
142
167
  message?: string;
168
+ /** 用户主动跳过(导入中点击「跳过当前插件」):status 为 skipped 且此标记为 true。
169
+ * 结果页据此区分「用户跳过」与「引擎跳过」,并提供重试入口。 */
170
+ skippedByUser?: boolean;
143
171
  }
144
172
  interface ImportResult {
145
173
  ok: boolean;
@@ -149,6 +177,8 @@ interface ImportResult {
149
177
  warnings: string[];
150
178
  rollback: RollbackReport | null;
151
179
  snapshotId: string | null;
180
+ /** F4:本次导入被删除墓碑过滤掉的条目(缺省/空 = 无过滤;UI 据此提示用户) */
181
+ skippedTombstoned?: SkippedTombstone[];
152
182
  }
153
183
  /** 快照生命周期状态(M1 增强;旧快照无此字段,视为未知/兼容) */
154
184
  type SnapshotStatus = 'pending' | 'done' | 'rolled-back';
@@ -172,6 +202,8 @@ interface ExportReport {
172
202
  containsSecrets: boolean;
173
203
  encrypted: boolean;
174
204
  redactedHits: number;
205
+ /** 本次导出镜像到本机 vault 的敏感文件数(文件级 vault;0 或缺失 = 未镜像) */
206
+ vaultRefreshed?: number;
175
207
  };
176
208
  file: {
177
209
  name: string;
@@ -231,6 +263,12 @@ interface RestoreReport {
231
263
  }[];
232
264
  /** 跳过项(无动作 / 离线无法处理) */
233
265
  skipped: string[];
266
+ /**
267
+ * 幽灵会话(F5 失效归档清理):快照记录的 sessions 分区会话在磁盘 sessions 目录
268
+ * 已无任何文件(备份有记录、磁盘无文件)。DSH 官方无归档会话 API,降级本地校验,
269
+ * 仅供报告、需人工在 DSH 确认清理;无会话分区/无幽灵时为缺省或空数组。
270
+ */
271
+ ghostSessions?: string[];
234
272
  }
235
273
  interface SnapshotMeta {
236
274
  id: string;
@@ -243,8 +281,8 @@ interface SnapshotMeta {
243
281
  }
244
282
  //#endregion
245
283
  //#region src/core/run-registry.d.ts
246
- /** run 类型:导出 / 导入 / 自动同步 / 一键同步逐项应用。 */
247
- type RunKind = 'export' | 'import' | 'autosync' | 'sync-apply';
284
+ /** run 类型:导出 / 导入 / 自动同步 / 一键同步逐项应用 / 定时备份。 */
285
+ type RunKind = 'export' | 'import' | 'autosync' | 'sync-apply' | 'backup-schedule';
248
286
  /** run 状态:进行中 / 完成 / 失败。 */
249
287
  type RunStatus = 'running' | 'done' | 'failed';
250
288
  /** 单个 run 的实时状态(/progress 返回体;纯 JSON 可序列化)。 */
@@ -263,6 +301,9 @@ interface RunState {
263
301
  itemTotal: number | null;
264
302
  /** 非敏感进度摘要(当前分区 / 当前计划项 id)。 */
265
303
  detail: string | null;
304
+ /** 执行日志行(导入为逐计划项操作 + 子进程命令;append-only,封顶 MAX_RUN_LOG_LINES)。
305
+ * 只存非敏感文本(命令/操作摘要),绝不写入密钥、密码、秘密补录值。 */
306
+ log: string[];
266
307
  /** 完成时的业务结果(仅 JSON 可序列化、不含秘密值)。 */
267
308
  result?: unknown;
268
309
  /** 失败时的错误消息(非敏感)。 */
@@ -303,6 +344,7 @@ declare const uiZh: {
303
344
  readonly 'report.backupCreated': "备份已创建";
304
345
  readonly 'report.importComplete': "导入完成";
305
346
  readonly 'report.importFailed': "导入失败";
347
+ readonly 'report.tombstonedSkipped': "已按删除记录跳过 {count} 项(tombstone)";
306
348
  readonly 'report.included': "已包含:";
307
349
  readonly 'report.excluded': "未包含:";
308
350
  readonly 'report.security': "安全:";
@@ -661,6 +703,11 @@ declare class ConfigManagerApi {
661
703
  progress(runId: string): Promise<RunState>;
662
704
  /** m1:列出当前活跃(running)的 run(刷新后重新订阅进行中任务的入口) */
663
705
  runs(): Promise<RunState[]>;
706
+ /** 导入中「跳过当前插件」:宿主 abort 当前计划项的中止控制器(kill 子进程 + 清半装状态)。
707
+ * 404 = run 不在执行(已完成/无进行中导入)。 */
708
+ skipExecute(runId: string): Promise<{
709
+ skipped: boolean;
710
+ }>;
664
711
  /** 列出全部快照元信息(createdAt 倒序;含 status/条目数/宿主文件数/插件数) */
665
712
  snapshots(): Promise<SnapshotMeta[]>;
666
713
  /** 快照恢复:dryRun=true 只取动作计划(零写入);false 执行并返回诚实报告 */
@@ -1066,6 +1113,13 @@ declare class SyncApi {
1066
1113
  }
1067
1114
  //#endregion
1068
1115
  //#region src/market/types.d.ts
1116
+ /**
1117
+ * 发布模式(F6 迁移/分享双模式,借鉴 dsh-packer config.personalPatterns 同源设计):
1118
+ * - 'migrate'(缺省):迁移模式,同一份数据全带(只受 BANNED 分区与字面量凭据扫描约束);
1119
+ * - 'share':分享模式,自动排除设备/平台相关分区(deviceSpecific/platformSpecific),
1120
+ * 并对隐私内容**强制拦截**(发现任何敏感痕迹直接拒绝打包,而不是仅警告)。
1121
+ */
1122
+ type MarketPublishMode = 'migrate' | 'share';
1069
1123
  /** index.json 中的单条目摘要(浏览卡片数据源;仅展示,不直接作为导入依据) */
1070
1124
  interface MarketIndexItem {
1071
1125
  /** 条目 id —— 对应 items/<itemId>/,必须过 SAFE_ITEM_ID_RE */
@@ -1183,6 +1237,8 @@ interface MarketPreparePayload {
1183
1237
  /** 作者托管仓库 URL(可选;非空须过 validateRepoUrl) */
1184
1238
  repoUrl?: string;
1185
1239
  categories?: string[];
1240
+ /** 发布模式:'migrate'(缺省,迁移全带)| 'share'(分享:自动排除敏感分区 + 强制隐私拦截) */
1241
+ mode?: MarketPublishMode;
1186
1242
  }
1187
1243
  /** POST /market/prepare 响应:条目包生成结果(manifest 文本 + 校验摘要 + 发布目录) */
1188
1244
  interface MarketPrepareResponse {
@@ -1237,6 +1293,9 @@ interface MyRepoForm {
1237
1293
  id?: string;
1238
1294
  description?: string;
1239
1295
  categories?: string[];
1296
+ /** 发布模式(F6 迁移/分享双模式):'share' 时 prepare 走分享强制拦截(排除设备/平台分区 + 保守档隐私扫描);
1297
+ * 缺省 undefined = migrate(迁移全带,行为与历史一致)。 */
1298
+ mode?: MarketPublishMode;
1240
1299
  }
1241
1300
  /** 收录流程状态:pending=已提交、后台处理中;done=已提交收录(PR 已开/复用);failed=收录失败可重试 */
1242
1301
  type ListingState = 'pending' | 'done' | 'failed';
@@ -1465,6 +1524,11 @@ declare const zh$2: {
1465
1524
  readonly 'import.confirm.encrypted': "将用备份密码解密并恢复 {count} 个凭据。";
1466
1525
  readonly 'import.rollbackOnError': "失败时整体回滚(推荐)";
1467
1526
  readonly 'import.importing': "正在导入…(插件安装较多时可能需要几分钟,请勿关闭页面)";
1527
+ readonly 'import.log.title': "导入日志";
1528
+ readonly 'import.log.empty': "等待命令输出…";
1529
+ readonly 'import.skipCurrent': "跳过当前插件";
1530
+ readonly 'import.skipPending': "正在跳过…其余项将继续导入";
1531
+ readonly 'import.retrySkipped': "重试失败/跳过的项 ({count})";
1468
1532
  readonly 'import.secrets.title': "补录密钥";
1469
1533
  readonly 'import.secrets.hint': "以下凭据未随备份导出(安全设计)。如需在目标 DSH 使用,请手动补录;留空将跳过。";
1470
1534
  readonly 'import.secrets.optional': "(可选)";
@@ -1806,6 +1870,10 @@ declare const zh: {
1806
1870
  readonly 'myconfigs.upload.form.description': "描述(可选)";
1807
1871
  readonly 'myconfigs.upload.form.categories': "类别(可选,逗号分隔)";
1808
1872
  readonly 'myconfigs.upload.form.autoHint': "以下字段由系统自动生成:";
1873
+ readonly 'myconfigs.upload.mode.title': "发布模式";
1874
+ readonly 'myconfigs.upload.mode.migrate': "迁移(保留全部内容)";
1875
+ readonly 'myconfigs.upload.mode.share': "分享(自动排除敏感内容)";
1876
+ readonly 'myconfigs.upload.mode.shareHint': "分享模式将自动排除设备/平台相关分区(凭据状态 / 会话 / MCP / 工作区等),并对隐私内容强制拦截——发现任何敏感痕迹将拒绝发布,而不是仅警告。";
1809
1877
  readonly 'myconfigs.upload.run': "一键上传";
1810
1878
  readonly 'myconfigs.upload.running': "上传中…";
1811
1879
  readonly 'myconfigs.update.title': "更新配置";