dsh-config-manager 0.1.65 → 0.1.67
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.
- package/README.md +60 -6
- package/README.zh-CN.md +59 -5
- package/lib/adapters/plugins.js +8 -3
- package/lib/client.d.ts +6 -1
- package/lib/client.js +455 -394
- package/lib/core/plugin-cli.d.ts +63 -13
- package/lib/core/plugin-cli.js +139 -17
- package/lib/index.d.ts +15 -1
- package/lib/index.js +54 -21
- package/lib/profiles/dsh-profile-launcher.d.ts +2 -0
- package/lib/profiles/dsh-profile-launcher.js +20 -3
- package/lib/profiles/dsh-profile-manager.d.ts +3 -0
- package/lib/profiles/dsh-profile-manager.js +10 -1
- package/lib/profiles/dsh-profile-shared.d.ts +17 -1
- package/lib/profiles/dsh-profile-shared.js +17 -1
- package/lib/ui/dsh-profiles-view.d.ts +11 -2
- package/lib/ui/dsh-profiles-view.js +12 -4
- package/lib/ui/overview-view.d.ts +12 -0
- package/lib/ui/overview-view.js +10 -0
- package/lib/utils/desktop-carrier.d.ts +54 -0
- package/lib/utils/desktop-carrier.js +60 -0
- package/package.json +15 -15
- package/src/adapters/plugins.ts +8 -3
- package/src/client/config-manager.module.css +5 -0
- package/src/client/locales.ts +12 -2
- package/src/client/overview/OverviewPanel.tsx +12 -1
- package/src/client/profiles/ProfilesPanel.tsx +21 -11
- package/src/core/plugin-cli.test.ts +102 -9
- package/src/core/plugin-cli.ts +146 -15
- package/src/index.facade.test.ts +32 -1
- package/src/index.ts +52 -17
- package/src/profiles/dsh-profile-launcher.test.ts +19 -0
- package/src/profiles/dsh-profile-launcher.ts +22 -3
- package/src/profiles/dsh-profile-manager.test.ts +33 -0
- package/src/profiles/dsh-profile-manager.ts +8 -1
- package/src/profiles/dsh-profile-shared.ts +21 -1
- package/src/ui/dsh-profiles-view.test.ts +15 -4
- package/src/ui/dsh-profiles-view.ts +18 -4
- package/src/ui/overview-view.test.ts +9 -0
- package/src/ui/overview-view.ts +16 -0
- package/src/utils/desktop-carrier.test.ts +55 -0
- package/src/utils/desktop-carrier.ts +82 -0
package/README.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# 🎒 DSH Config Manager
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/dsh-config-manager)
|
|
4
|
+
[](https://www.npmjs.com/package/dsh-config-manager)
|
|
5
|
+
[](https://github.com/xiajiajun516/dsh-config-manager/stargazers)
|
|
6
|
+
[](https://github.com/xiajiajun516/dsh-config-manager/blob/main/LICENSE)
|
|
7
|
+
[](https://github.com/deepseek-ai/deepseek-harness)
|
|
8
|
+
|
|
3
9
|
**DeepSeek Harness Backup, Restore & Migration Plugin.**
|
|
4
10
|
|
|
5
11
|
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.
|
|
@@ -64,6 +70,21 @@ Browse the built-in official market for ready-made configurations (model provide
|
|
|
64
70
|
|
|
65
71
|
---
|
|
66
72
|
|
|
73
|
+
## 🆚 How it differs from the other DSH backup / sync plugins
|
|
74
|
+
|
|
75
|
+
Several DSH plugins live in this space and they solve different problems — pick the one that matches your situation; they can also coexist.
|
|
76
|
+
|
|
77
|
+
| Plugin | Strongest at | Where DSH Config Manager goes further |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| [xiaoyuyu6420/dsh-backup](https://github.com/xiaoyuyu6420/dsh-backup) | One-command `~/.dsh` snapshots from the CLI, plus session doctor / upgrade snapshots / rescue console | Review-before-write GUI flow (dry-run preview, per-item conflict decisions, automatic rollback), cross-machine path remapping, encrypted credential payload, configuration marketplace |
|
|
80
|
+
| [muyifc/dsh-config-sync](https://github.com/muyifc/dsh-config-sync) | Export / import DSH configuration to a portable, password-encrypted file, callable from tool calls | 13–14 sections incl. plugins / MCP / skills / profiles / workspaces, scheduled backups, Git + WebDAV sync per channel, session migration with path rebase |
|
|
81
|
+
| [dickpy/dsh-cloud-sync](https://github.com/dickpy/dsh-cloud-sync) · [weibaohui/dsh-sync](https://github.com/weibaohui/dsh-sync) | Keeping machines consistent through WebDAV / S3 or a private Git mirror | Sync is one of five capabilities here — alongside export/import, scheduling, marketplace and profile instance launch/stop |
|
|
82
|
+
| `cp -r ~/.dsh` (or Git on the home dir) | Free, zero setup, fine for a purely textual config | No secret handling, no path remapping, no capture of `link:` / `file:` plugin installs, no session-log work, no conflict handling or rollback |
|
|
83
|
+
|
|
84
|
+
**Short version**: for a one-command snapshot of everything, `dsh-backup` is excellent. If what you want is *move this working environment to another machine — and keep it in sync — with a review step before anything is written*, that is exactly what this plugin is for.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
67
88
|
## ✨ Highlights
|
|
68
89
|
|
|
69
90
|
| Icon | Feature | In one line |
|
|
@@ -140,12 +161,32 @@ dsh plugin --profile web add dsh-config-manager@latest
|
|
|
140
161
|
|
|
141
162
|
> 💡 Just copy-paste the command: `@latest` ensures you get the newest build.
|
|
142
163
|
>
|
|
143
|
-
> 🐛
|
|
144
|
-
>
|
|
145
|
-
>
|
|
146
|
-
>
|
|
147
|
-
>
|
|
148
|
-
>
|
|
164
|
+
> 🐛 **If `@latest` installed an old version**: that's pnpm's `minimumReleaseAge` supply-chain policy (not a cache issue). The gate is evaluated **per version, at resolution time**: a release younger than the threshold (~30 days) stays invisible to `@latest` until it ages past it — and the clock restarts for every future release. Installing an exact version once fixes *that one version only*; the next release published is invisible to `@latest` again. It is **not** a one-time fix.
|
|
165
|
+
>
|
|
166
|
+
> **Permanent fix (recommended)** — exempt this single package from the age gate. Add to the profile's `pnpm-workspace.yaml` (`~/.dsh/profiles/web/pnpm-workspace.yaml`):
|
|
167
|
+
>
|
|
168
|
+
> ```yaml
|
|
169
|
+
> minimumReleaseAgeExclude:
|
|
170
|
+
> - dsh-config-manager
|
|
171
|
+
> ```
|
|
172
|
+
>
|
|
173
|
+
> After that `@latest` resolves the newest release normally — including every future release.
|
|
174
|
+
>
|
|
175
|
+
> **One-off fix** — ask npm which version is actually latest and install exactly that. Repeat it each time a newer version has been published:
|
|
176
|
+
>
|
|
177
|
+
> ```powershell
|
|
178
|
+
> # Windows (PowerShell)
|
|
179
|
+
> $v = (npm view dsh-config-manager version).Trim(); dsh plugin --profile web add "dsh-config-manager@$v"
|
|
180
|
+
> ```
|
|
181
|
+
>
|
|
182
|
+
> ```bash
|
|
183
|
+
> # macOS / Linux
|
|
184
|
+
> dsh plugin --profile web add "dsh-config-manager@$(npm view dsh-config-manager version)"
|
|
185
|
+
> ```
|
|
186
|
+
>
|
|
187
|
+
> After restarting DSH, **Settings → Backup & Migration → About** shows the version you are actually running (and pops up the release notes whenever it changes).
|
|
188
|
+
>
|
|
189
|
+
> - Or disable the age gate entirely with a one-liner (adds `minimumReleaseAge: 0` at the top of the profile's `pnpm-workspace.yaml`):
|
|
149
190
|
> ```powershell
|
|
150
191
|
> $f = "$env:USERPROFILE\.dsh\profiles\web\pnpm-workspace.yaml"
|
|
151
192
|
> $c = Get-Content $f -Raw
|
|
@@ -156,6 +197,19 @@ dsh plugin --profile web add dsh-config-manager@latest
|
|
|
156
197
|
> Write-Output "Already present, nothing to do"
|
|
157
198
|
> }
|
|
158
199
|
> ```
|
|
200
|
+
>
|
|
201
|
+
> 🐛 **Install rejected for a version you never installed?** Symptom: pnpm logs `+ dsh-config-manager ^0.1.66`, yet DSH reports `Plugin dsh-config-manager@0.1.44 is incompatible with dsh …` and rolls the install back.
|
|
202
|
+
>
|
|
203
|
+
> The cause is neither pnpm nor version resolution. After installing, DSH runs a compatibility check that reads this plugin's `cordis.patch.yml` mount row (`name: 'dsh-config-manager'`) and **resolves that package again** — and Node's resolution chain honours `NODE_PATH`. If your global npm root (`npm root -g`) still holds an **old copy of the same package** (for example a `npm i -g dsh-config-manager` of 0.1.44 from earlier), the check compares **that** copy's `peerDependencies` and reports a version pnpm never installed.
|
|
204
|
+
>
|
|
205
|
+
> Confirm and fix:
|
|
206
|
+
>
|
|
207
|
+
> ```powershell
|
|
208
|
+
> npm ls -g dsh-config-manager # output means a global copy exists
|
|
209
|
+
> npm i -g dsh-config-manager@latest # upgrade it (or npm uninstall -g dsh-config-manager to remove it)
|
|
210
|
+
> ```
|
|
211
|
+
>
|
|
212
|
+
> Then retry the install. As long as that global copy exists and is incompatible with your DSH, every profile (`web` / `desktop` / custom) is rejected the same way.
|
|
159
213
|
|
|
160
214
|
---
|
|
161
215
|
|
package/README.zh-CN.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# 🎒 DSH Config Manager
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/dsh-config-manager)
|
|
4
|
+
[](https://www.npmjs.com/package/dsh-config-manager)
|
|
5
|
+
[](https://github.com/xiajiajun516/dsh-config-manager/stargazers)
|
|
6
|
+
[](https://github.com/xiajiajun516/dsh-config-manager/blob/main/LICENSE)
|
|
7
|
+
[](https://github.com/deepseek-ai/deepseek-harness)
|
|
8
|
+
|
|
3
9
|
**DeepSeek Harness(DSH)配置备份、恢复与迁移插件。**
|
|
4
10
|
|
|
5
11
|
DSH Config Manager 是一个 DeepSeek Harness 配置备份与迁移插件:一键备份、恢复、导出、导入和迁移完整 DSH 配置,包括——
|
|
@@ -66,6 +72,21 @@ DSH 是你的 AI 助手工作台,里面存着你的各种设置:模型配置
|
|
|
66
72
|
|
|
67
73
|
---
|
|
68
74
|
|
|
75
|
+
## 🆚 与其它备份 / 同步插件的区别
|
|
76
|
+
|
|
77
|
+
DSH 生态里这个方向有几个插件,它们解决的问题并不相同——按自己的场景选一个即可,也可以共存。
|
|
78
|
+
|
|
79
|
+
| 插件 | 最擅长 | 本插件更进一步的地方 |
|
|
80
|
+
|---|---|---|
|
|
81
|
+
| [xiaoyuyu6420/dsh-backup](https://github.com/xiaoyuyu6420/dsh-backup) | 一条命令从 CLI 给整个 `~/.dsh` 打快照,另有会话体检 / 升级快照 / 救援控制台 | 写盘前可审阅的 GUI 流程(dry-run 预览、冲突逐项决策、失败自动回滚)、跨机路径重映射、加密凭据载荷、配置市场 |
|
|
82
|
+
| [muyifc/dsh-config-sync](https://github.com/muyifc/dsh-config-sync) | 把 DSH 配置导出/导入成可移植的密码加密文件,可被工具调用 | 13–14 个分区(含插件 / MCP / 技能 / 档案 / 工作区)、定时备份、Git + WebDAV 双通道同步、会话跨机迁移与路径重定基 |
|
|
83
|
+
| [dickpy/dsh-cloud-sync](https://github.com/dickpy/dsh-cloud-sync) · [weibaohui/dsh-sync](https://github.com/weibaohui/dsh-sync) | 通过 WebDAV / S3 或私有 Git 镜像让多台机器保持一致 | 同步只是本插件五项能力之一——另有导出/导入、定时备份、配置市场与档案实例启停 |
|
|
84
|
+
| `cp -r ~/.dsh`(或给 home 目录挂 Git) | 免费、零配置,纯文本配置够用 | 不处理密钥、不做路径重映射、抓不到 `link:` / `file:` 安装的本地插件、不动会话日志、没有冲突处理与回滚 |
|
|
85
|
+
|
|
86
|
+
**一句话**:想要「一条命令把一切打快照」,`dsh-backup` 很好用;想要「把一整套能用的环境搬到另一台电脑、并持续同步,而且写盘前一定先给你看」,那就是本插件。
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
69
90
|
## ✨ 核心亮点
|
|
70
91
|
|
|
71
92
|
| 图标 | 功能 | 一句话说明 |
|
|
@@ -143,11 +164,31 @@ dsh plugin --profile web add dsh-config-manager@latest
|
|
|
143
164
|
|
|
144
165
|
> 💡 照着复制就行:`@latest` 确保装到最新版。
|
|
145
166
|
>
|
|
146
|
-
> 🐛 **`@latest` 装到了旧版?** 这是 **pnpm
|
|
147
|
-
>
|
|
148
|
-
>
|
|
149
|
-
>
|
|
150
|
-
>
|
|
167
|
+
> 🐛 **`@latest` 装到了旧版?** 这是 **pnpm 的 `minimumReleaseAge` 供应链发布年龄策略**(不是缓存)。这个门槛**按版本、在解析时**判定:发布不足阈值(约 30 天)的版本对 `@latest` 不可见,直到它「变老」——而**每个新版本都会重新计一次**。所以「装一次精确版本就永久正常」是错的:它只解决当时那一个版本,之后作者一发新版,`@latest` 又会装到旧版,**不是一次性修复**。
|
|
168
|
+
>
|
|
169
|
+
> **永久解决(推荐)**——只把这一个包排除在年龄门槛之外。在 profile 的 `pnpm-workspace.yaml`(`~/.dsh/profiles/web/pnpm-workspace.yaml`)里加上:
|
|
170
|
+
>
|
|
171
|
+
> ```yaml
|
|
172
|
+
> minimumReleaseAgeExclude:
|
|
173
|
+
> - dsh-config-manager
|
|
174
|
+
> ```
|
|
175
|
+
>
|
|
176
|
+
> 之后 `@latest` 会一直解析到最新发布版,包括以后再发的新版本。
|
|
177
|
+
>
|
|
178
|
+
> **临时解决**——先问 npm「当前真正的最新版本是多少」,再按精确版本安装;每当有新版本发布都要重跑一次:
|
|
179
|
+
>
|
|
180
|
+
> ```powershell
|
|
181
|
+
> # Windows(PowerShell)
|
|
182
|
+
> $v = (npm view dsh-config-manager version).Trim(); dsh plugin --profile web add "dsh-config-manager@$v"
|
|
183
|
+
> ```
|
|
184
|
+
>
|
|
185
|
+
> ```bash
|
|
186
|
+
> # macOS / Linux
|
|
187
|
+
> dsh plugin --profile web add "dsh-config-manager@$(npm view dsh-config-manager version)"
|
|
188
|
+
> ```
|
|
189
|
+
>
|
|
190
|
+
> 重启 DSH 后,可在 **设置 → 备份与迁移 → 关于** 看到实际运行的版本(版本变化时也会自动弹出更新内容)。
|
|
191
|
+
>
|
|
151
192
|
> - 或一行命令彻底关闭年龄门槛(在 profile 的 `pnpm-workspace.yaml` 顶部加 `minimumReleaseAge: 0`):
|
|
152
193
|
> ```powershell
|
|
153
194
|
> $f = "$env:USERPROFILE\.dsh\profiles\web\pnpm-workspace.yaml"
|
|
@@ -159,6 +200,19 @@ dsh plugin --profile web add dsh-config-manager@latest
|
|
|
159
200
|
> Write-Output "已存在,无需修改"
|
|
160
201
|
> }
|
|
161
202
|
> ```
|
|
203
|
+
>
|
|
204
|
+
> 🐛 **安装被拒,但报错的版本你从没装过?** 症状:日志里 pnpm 明明写了 `+ dsh-config-manager ^0.1.66`,DSH 却报 `Plugin dsh-config-manager@0.1.44 is incompatible with dsh …` 并把安装回滚了。
|
|
205
|
+
>
|
|
206
|
+
> 原因既不在 pnpm 也不在版本解析:DSH 安装后还会做一次兼容校验,其中一步会读本插件 `cordis.patch.yml` 里的挂载行(`name: 'dsh-config-manager'`)并**再次解析这个包**,而 Node 的解析链会经过 `NODE_PATH`。若你的全局 npm 目录(`npm root -g`)里留着一份**同名旧版**(例如以前 `npm i -g dsh-config-manager` 装的 0.1.44),校验就会拿**那一份**的 `peerDependencies` 去比对 —— 于是报出一个 pnpm 根本没装的版本号。
|
|
207
|
+
>
|
|
208
|
+
> 确认与修复:
|
|
209
|
+
>
|
|
210
|
+
> ```powershell
|
|
211
|
+
> npm ls -g dsh-config-manager # 有输出 = 全局确实存在一份
|
|
212
|
+
> npm i -g dsh-config-manager@latest # 升到兼容版(或 npm uninstall -g dsh-config-manager 直接删掉)
|
|
213
|
+
> ```
|
|
214
|
+
>
|
|
215
|
+
> 之后重试安装即可。只要全局那份还在且与当前 DSH 不兼容,装哪个 profile(`web` / `desktop` / 自建)都会被同样拒绝。
|
|
162
216
|
|
|
163
217
|
---
|
|
164
218
|
|
package/lib/adapters/plugins.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { isDeepStrictEqual } from 'node:util';
|
|
14
14
|
import { sha256Hex } from '../utils/hashing.js';
|
|
15
|
-
import { installSpecFor,
|
|
15
|
+
import { installSpecFor, resolveProcessProfileName } from '../core/plugin-cli.js';
|
|
16
16
|
import { LOCAL_PLUGIN_DIR } from '../core/local-plugin-pack.js';
|
|
17
17
|
import { msgOf, zhMsg } from '../core/messages.js';
|
|
18
18
|
import { isPathSafe, normalizePath } from '../utils/paths.js';
|
|
@@ -592,7 +592,7 @@ export class PluginsAdapter {
|
|
|
592
592
|
}
|
|
593
593
|
// 执行日志:记录实际将发起的子进程命令行(与宿主 DshPluginsFacade 的
|
|
594
594
|
// dsh plugin --profile <p> add <spec> 一致);仅非敏感文本,渲染前 UI 再 redact 兜底
|
|
595
|
-
ctx.onLog?.(`$ dsh plugin --profile ${ctx.target.profile ??
|
|
595
|
+
ctx.onLog?.(`$ dsh plugin --profile ${ctx.target.profile ?? resolveProcessProfileName()} add ${installSpecFor(name, spec)}`);
|
|
596
596
|
// 透传中止信号:用户「跳过当前插件」→ 宿主 kill 子进程 + 清半装状态 → 抛 ImportUserSkippedError
|
|
597
597
|
const result = await ctx.target.plugins.install(name, spec, ctx.signal);
|
|
598
598
|
const suffix = result.needsRestart ? msg('adapter.pluginRestartSuffix') : '';
|
|
@@ -609,12 +609,17 @@ export class PluginsAdapter {
|
|
|
609
609
|
if (ctx.signal?.aborted)
|
|
610
610
|
throw err;
|
|
611
611
|
const reason = err instanceof Error ? err.message : String(err);
|
|
612
|
+
// 提示里的 profile 必须与**实际安装目标**同源(ctx.target.profile = 宿主解析出的
|
|
613
|
+
// config.profile → profileContext → --profile → env → web)。此前这里单独调
|
|
614
|
+
// resolveProcessProfileName()(只认 argv/env):Desktop 外壳不传 --profile,
|
|
615
|
+
// 真机于是出现「安装用的是 desktop、提示却写 dsh plugin --profile web add …」的自相矛盾。
|
|
616
|
+
const hintProfile = ctx.target.profile ?? resolveProcessProfileName();
|
|
612
617
|
return {
|
|
613
618
|
ok: false,
|
|
614
619
|
warning: true,
|
|
615
620
|
// 保留 warning(§34.17 非致命):一个装不上的插件不得拖垮已成功导入的其余配置;
|
|
616
621
|
// message 附可复制的手动安装命令(profile 解析与 M1 宿主一致)。
|
|
617
|
-
message: (item.kind === 'Update' ? msg('adapter.pluginUpdateFailed', { name, msg: reason, profile:
|
|
622
|
+
message: (item.kind === 'Update' ? msg('adapter.pluginUpdateFailed', { name, msg: reason, profile: hintProfile }) : msg('adapter.pluginInstallFailed', { name, msg: reason, profile: hintProfile })),
|
|
618
623
|
};
|
|
619
624
|
}
|
|
620
625
|
}
|
package/lib/client.d.ts
CHANGED
|
@@ -2830,6 +2830,9 @@ declare const zh$3: {
|
|
|
2830
2830
|
readonly 'overview.activity.empty': '暂无操作记录(执行备份 / 导入 / 同步后在这里显示)';
|
|
2831
2831
|
readonly 'overview.empty.title': '开始保护你的配置';
|
|
2832
2832
|
readonly 'overview.empty.body': '创建第一个备份或快照后,这里会展示配置健康状态与最近活动。';
|
|
2833
|
+
readonly 'overview.empty.step1': '创建第一份备份';
|
|
2834
|
+
readonly 'overview.empty.step2': '导出 ZIP 带走';
|
|
2835
|
+
readonly 'overview.empty.step3': '新机器导入回来';
|
|
2833
2836
|
readonly 'overview.kind.import': '导入';
|
|
2834
2837
|
readonly 'overview.kind.restore': '恢复';
|
|
2835
2838
|
readonly 'overview.kind.rollback': '回滚';
|
|
@@ -3172,7 +3175,7 @@ declare const zh$3: {
|
|
|
3172
3175
|
readonly 'about.diag.profile': 'profile:{profile}';
|
|
3173
3176
|
readonly 'about.diag.pluginCount': '已识别插件:{count} 个';
|
|
3174
3177
|
readonly 'about.diag.manifestUnreadable': '该目录下读不到 package.json —— 插件清单必然为空;请确认 DSH 的 profile 与 DSH_HOME 是否与此处一致。';
|
|
3175
|
-
readonly 'about.diag.hint': '
|
|
3178
|
+
readonly 'about.diag.hint': '若与实际不符,请据此检查当前档案的启动方式(宿主 profileContext / 启动参数 --profile / 环境变量 DSH_PROFILE)与 DSH_HOME 环境变量。';
|
|
3176
3179
|
readonly 'about.releaseNotes.title': '版本更新内容';
|
|
3177
3180
|
readonly 'about.releaseNotes.loading': '正在获取更新内容…';
|
|
3178
3181
|
readonly 'about.releaseNotes.loadingMore': '正在加载更多版本…';
|
|
@@ -3221,6 +3224,7 @@ declare const zh$3: {
|
|
|
3221
3224
|
readonly 'profiles.launching': '启动中…';
|
|
3222
3225
|
readonly 'profiles.launch.hint': '用该档案另起一个独立 DSH 实例(自动挑空闲端口、自动打开浏览器);当前实例不受影响。只支持 Web 形态档案。';
|
|
3223
3226
|
readonly 'profiles.launch.notWeb': '「{name}」不是 Web 形态(bundles 里没有 @deepseek-ai/dsh-web-app),没有浏览器界面,无法作为独立实例启动。请在终端运行:';
|
|
3227
|
+
readonly 'profiles.launch.managed': '「{name}」是 DeepSeek Harness Desktop 应用独占管理的保留档案:普通 dsh 命令行对它一律报错(profile "{name}" is managed exclusively by the Electron application),也无法作为独立实例启动。请直接在桌面端应用里打开它并安装插件。';
|
|
3224
3228
|
readonly 'profiles.launch.started': '已启动档案「{name}」的独立实例(端口 {port})';
|
|
3225
3229
|
readonly 'profiles.launch.pending': '档案「{name}」的进程已启动(端口 {port}),但 {seconds} 秒内未确认就绪 —— 请看日志确认:';
|
|
3226
3230
|
readonly 'profiles.launch.open': '打开新实例';
|
|
@@ -3298,6 +3302,7 @@ declare const zh$3: {
|
|
|
3298
3302
|
readonly 'profiles.error.reservedName': 'DSH 保留名不能手动创建';
|
|
3299
3303
|
readonly 'profiles.error.unknownTemplate': '未知的起步模板';
|
|
3300
3304
|
readonly 'profiles.error.notLaunchable': '该档案不是 Web 形态,没有浏览器界面(请用终端运行 dsh --profile <名>)';
|
|
3305
|
+
readonly 'profiles.error.managedProfile': '「desktop」档案由 DeepSeek Harness Desktop 应用独占管理:删掉或改名会让桌面端下次启动时按 web 模板重建一个空档案(已装插件全部消失)。请在桌面端应用里管理它。';
|
|
3301
3306
|
readonly 'profiles.error.launcherUnavailable': '定位不到 dsh 启动器(非标准启动方式),请手动运行 dsh --profile <名>';
|
|
3302
3307
|
readonly 'profiles.error.launchFailed': '档案实例启动失败';
|
|
3303
3308
|
readonly 'profiles.error.alreadyRunning': '该档案的实例已经在运行(先停止再启动)';
|