🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

配置同步 limbo1996/dsh-config-transfer

DeepSeek Harness
limbo199611 天前有提交已提供中文文档扫描:含敏感能力

导出并导入本机插件、设置、MCP 与技能配置

29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/23 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add limbo1996/dsh-config-transfer
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · security
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 29 处,展示前 27 条)
  • 发起网络请求
    client.js:211
    const response = await fetch(path, {
  • 读取本地文件
    lib/snapshot.js:65
    const text = await readFile(join(profileDir, 'package.json'), 'utf8')
  • 读取本地文件
    lib/plan.js:75
    await stat(path)
  • 读取本地文件
    lib/pending.js:28
    const text = await readFile(pendingPath(homes), 'utf8')
  • 写入本地文件
    lib/pending.js:48
    await mkdir(dirname(path), { recursive: true })
  • 写入本地文件
    lib/pending.js:63
    await writeFile(temp, body, { mode: 0o600, flag: 'wx' })
  • 写入本地文件
    lib/pending.js:67
    await rename(temp, path)
  • 删除本地文件
    lib/pending.js:75
    await rm(temp, { force: true })
  • 删除本地文件
    lib/pending.js:80
    await rm(pendingPath(homes), { force: true })
  • 读取本地文件
    lib/skills.js:54
    entries = await readdir(current.dir, { withFileTypes: true })
  • 读取本地文件
    lib/skills.js:83
    info = await stat(fullPath)
  • 读取本地文件
    lib/skills.js:98
    buffer = await readFile(fullPath)
  • 读取本地文件
    lib/skills.js:121
    await stat(path)
  • 读取本地文件
    lib/skills.js:145
    entries = await readdir(root.path, { withFileTypes: true })
  • 读取本地文件
    lib/skills.js:173
    info = await stat(fullPath)
  • 写入本地文件
    lib/skills.js:229
    await mkdir(targetRoot, { recursive: true })
  • 写入本地文件
    lib/skills.js:234
    await mkdir(tempTarget, { recursive: true })
  • 写入本地文件
    lib/skills.js:242
    await mkdir(dirname(destination), { recursive: true })
  • 写入本地文件
    lib/skills.js:244
    await writeFile(destination, content, { mode: 0o644 })
  • 写入本地文件
    lib/skills.js:247
    await mkdir(tempRoot, { recursive: true })
  • 写入本地文件
    lib/skills.js:251
    await writeFile(tempTarget, content, { mode: 0o644 })
  • 删除本地文件递归
    lib/skills.js:256
    await rm(tempRoot, { recursive: true, force: true })
  • 写入本地文件
    lib/patch.js:61
    await mkdir(dirname(path), { recursive: true })
  • 写入本地文件
    lib/patch.js:63
    await writeFile(temp, text, { mode: 0o600, flag: 'wx' })
  • 写入本地文件
    lib/patch.js:67
    await rename(temp, path)
  • 删除本地文件
    lib/patch.js:75
    await rm(temp, { force: true })
  • 读取本地文件
    lib/patch.js:85
    text = await readFile(path, 'utf8')
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

导出和导入 DSH Desktop 配置,包括插件、设置、MCP 条目和用户技能。凭据不会导出。

README

由 DeepSeek 最新模型翻译生成
dsh-config-transfer 为 DeepSeek Harness Desktop(DSH Desktop)提供的配置迁移插件。设置页中显示为 配置同步。 DSH Desktop 的登录只同步账号,不会同步本机配置。dsh-config-transfer 在旧电脑上导出配置,在新电脑上导入,从而恢复插件、插件设置、MCP 条目和用户技能。 功能 在 设置 → 配置同步 中: 1. 保存配置:下载一个 JSON 文件。 2. 导入配置:选择文件,先查看将要发生的变更,再点击“开始导入”。 导入会: - 按文件中记录的来源和版本安装缺失的第三方插件; - 恢复插件的启用/停用状态; - 恢复每个插件的配置(包括第三方插件); - 通过 insert 行恢复 MCP 服务器等自定义插件条目; - 恢复用户技能(~/.dsh/skills 与 ~/.agents/skills); - 对暂时无法应用的配置排队,重启后自动继续应用; - 永远不会安装、停用或改写 dsh-config-transfer 自身。 安装 要求 DSH Desktop / Web 0.2.1-rc.1 以上、0.3.0 以下,Node.js 20.18 以上。
展开完整文档(README 剩余 1 节)
dsh-config-transfer

为 DeepSeek Harness Desktop(DSH Desktop)提供的配置迁移插件。设置页中显示为 配置同步。

DSH Desktop 的登录只同步账号,不会同步本机配置。dsh-config-transfer 在旧电脑上导出配置,在新电脑上导入,从而恢复插件、插件设置、MCP 条目和用户技能。

功能

在 设置 → 配置同步 中:

1. 保存配置:下载一个 JSON 文件。
2. 导入配置:选择文件,先查看将要发生的变更,再点击“开始导入”。

导入会:

- 按文件中记录的来源和版本安装缺失的第三方插件;
- 恢复插件的启用/停用状态;
- 恢复每个插件的配置(包括第三方插件);
- 通过 insert 行恢复 MCP 服务器等自定义插件条目;
- 恢复用户技能(~/.dsh/skills 与 ~/.agents/skills);
- 对暂时无法应用的配置排队,重启后自动继续应用;
- 永远不会安装、停用或改写 dsh-config-transfer 自身。

安装

要求 DSH Desktop / Web 0.2.1-rc.1 以上、0.3.0 以下,Node.js 20.18 以上。

从 npm 安装(推荐)

dsh plugin --profile desktop add dsh-config-transfer
Web profile:
dsh plugin --profile web add dsh-config-transfer

然后在 DSH 中重启或刷新页面。

在 Desktop 中安装

打开 Plugins → Add plugin,输入包名 dsh-config-transfer,或选择本目录 / 本地 tarball。

从本地目录安装(开发)

dsh plugin --profile desktop add /path/to/dsh-config-transfer

从 tarball 安装

dsh plugin --profile desktop add ./dsh-config-transfer-1.0.6.tgz

安装后可在 设置 → 配置同步 找到本插件。

使用步骤

旧电脑

1. 安装并启用 dsh-config-transfer。
2. 打开 设置 → 配置同步。
3. 点击 保存到文件,得到 dsh-config-transfer-YYYYMMDD-HHmm.json。

新电脑

1. 下载并登录 DSH Desktop。
2. 安装并启用 dsh-config-transfer。
3. 打开 设置 → 配置同步。
4. 点击 选择文件…,选中旧电脑导出的 JSON。
5. 检查“确认导入”页面中的安装、配置和手动步骤。
6. 点击 开始导入。
7. 若提示需要重启,重启 DSH Desktop。重启后插件加载完成,排队中的配置会自动应用。

Bundle 与插件的区别

DSH 里一个 bundle(组合包) 是一个 npm 包,它带一份 cordis.patch.yml,告诉 DSH 要挂哪些插件行;一个 bundle 里可以有一行或多行插件。bundle 是“安装单元 + 接线图”,plugin 是真正导出 apply(ctx) 的模块。

同步时会区分两类 bundle:

- 第三方 / 额外安装的 bundle:从 npm、Git、tarball 或本地路径安装进 profile 的插件包。dsh-config-transfer 会记录它们的安装 spec、版本和启用状态,在新电脑上重新安装。
- DSH 自带的 bundle:随 DSH 安装包提供(availability: "installation"),例如 @deepseek-ai/dsh-base、@deepseek-ai/dsh-web-app,以及官方可选插件。dsh-config-transfer 不会重复安装它们,只恢复启用状态。

保存页会分别显示 第三方插件 和 DSH 自带 的数量;导入计划会说明有多少 DSH 自带 bundle 已存在、不会被重复安装。

会同步的内容

- 第三方 / 额外安装 bundle 的清单、版本、安装来源、启用状态;
- DSH 自带 bundle 的启用状态(不重复安装);
- 每个插件行的启用/停用状态;
- 配置层(cordis.patch.yml)中的插件配置;
- 配置层中的 insert 条目(例如 MCP 服务器定义);
- 设置命名空间;
- 用户技能目录中的技能文件;
- 工作区列表不写入导出文件,避免本机路径泄漏;导入也不会创建工作区。

不会同步的内容

- 凭据与 API 密钥:.credentials.yaml 不读取;配置中名称或形态像密钥的值会被脱敏;
- 会话、轮次、目标、定时任务记录;
- 附件、缓存、日志、插件运行时数据(例如费用统计账本);
- 插件本体和 link: / 本地路径插件;
- 机器级 .env 和 home 级 cordis.patch.yml;
- 应用更新状态、窗口状态等非 DSH 配置。

安全与权限

dsh-config-transfer 会:

- 读取 $DSH_HOME 下的 profile、patch、settings 和用户技能;
- 写入 $DSH_HOME/dsh-config-transfer/pending.json(权限 600)和用户技能目录;
- 通过 Host 已认证的 /api 通道与当前页面通信;
- 从导入文件记录的 npm / Git 来源安装插件。

它不会:

- 读取 .credentials.yaml;
- 把 API 密钥写入导出文件;
- 在导入时清空新电脑上已有的同名凭据;
- 暴露 agent 工具来执行导入(导入会安装包、改配置,保持为需要用户明确确认的 UI 操作)。

脱敏覆盖常见字段名(apiKey、token、secret、password、authorization 等)、常见密钥格式(sk-…、ghp_…、JWT、Bearer 等)、URL 用户信息和敏感查询参数、env/headers 中的凭据。脱敏是启发式的,不能替代人工检查;分享导出文件前请自行确认。

导入行为与限制

- 不删除新电脑上多出来的插件或配置;导入是恢复/合并,不是镜像覆盖。
- 第三方插件按文件记录的版本安装;已安装但版本不同的插件不会自动降级或升级,会在计划中提示。
- link:、绝对路径、file: 插件无法跨机器安装,计划中会列出手动步骤。
- 需要构建脚本授权的包不会自动授权,请在 Plugins 页面手动处理。
- 部分插件安装后需要重启才会出现 Host 条目;相关配置会写入 ~/.dsh/dsh-config-transfer/pending.json,重启后自动应用。
- 用户技能不会覆盖新电脑上已有的同名技能。
- 工作区路径不导出,避免把本机目录名带进配置文件。
- 插件 bundle 的启用顺序可能因新机器安装顺序不同而略有差异;如果多个 bundle 之间存在覆盖关系,请在 Plugins 页面确认顺序。
- 带条件表达式(disabled: !!js …)的插件行不会被自动改写,计划中会提示需要手动确认。
- 被停用 bundle 内部的单行启用状态不会单独导出;重新启用该 bundle 后会使用其默认行状态。
- 如果导入文件来自不同的操作系统,插件配置中的绝对路径(命令、工作目录等)需要手动调整,导入计划会给出提示。
- 同一 bundle 内多个插件共用 settings 时,导入使用 merge 语义,不会删除目标端已有字段;这是为了不误删凭据。

插件市场与索引

- 第三方市场:公开 GitHub 仓库 dsh-config-transfer,加 dsh-plugin topic;仓库名与 npm 包名一致,市场可以直接一键安装。
- 官方 Discover / 社区索引:添加索引源 https://limbo1996.github.io/dsh-config-transfer/index.json (部署 market/ 目录后可用)。
- 社区目录:DSH Plugin Hub、Open Plugin Market、realoiyo 索引等;详见 PUBLISHING.md。

官方 DSH 0.2.x 没有默认市场索引;Discover 需要用户添加索引源 URL。

文件格式

导出文件写入 format: "dsh-config-transfer"。

导出文件为 JSON,顶层包含(format 使用 dsh-config-transfer):

{
"format": "dsh-config-transfer",
"version": 1,
"exportedAt": "2026-10-20T10:00:00.000Z",
"source": { "profile": "desktop", "platform": "darwin", "node": "26.0.0" },
"profile": {
"bundles": [],
"plugins": [],
"inserts": [],
"disabled": [],
"configs": [],
"settings": [],
"dependencies": {},
"bundleOrder": []
},
"skills": { "skills": [] },
"workspaces": []
}

redacted 数组记录被脱敏的字段路径,导入时用于保留新机器上已有的值。

故障排查

- 提示需要重启:关闭并重新打开 DSH Desktop。pending.json 中的应用项会在启动后自动重试。
- 配置同步页面不存在:确认插件已安装并启用;Settings 中有「配置同步」一项。若刚安装,请重启。
- 插件安装失败:检查网络、npm registry 和 pnpm;查看导入报告中的安装诊断。
- 本地插件未恢复:link: / 本地路径插件不会被复制。请在新电脑上重新安装该插件,然后重新导入配置。
- 导入后页面消失:如果旧配置停用了 Settings 插件,导入会忠实恢复该状态。可在 Plugins 页面重新启用。

开发

npm install
npm test
npm pack --dry-run

测试覆盖密钥脱敏、配置恢复、cordis.patch.yml 插入行读写、导入计划、自身包跳过、导入执行、pending 重试、技能导入和 Host 路由。

发布

见 PUBLISHING.md。

许可证

MIT
预览分享卡片长什么样 ↓limbo1996/dsh-config-transfer
分享 · DeepSeek Harness Hub
limbo1996/dsh-config-transfer

导出并导入本机插件、设置、MCP 与技能配置

回到顶部