导出并导入本机插件、设置、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🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
limbo1996/dsh-config-transfer
导出并导入本机插件、设置、MCP 与技能配置
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 415,267已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,414已汉化MCP
71.9
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
破甲一键通z91772524-ai/pojia-next
十五个 AI…
★ 967已汉化DSH
71.6
AI 代理虚拟终端strukto-ai/mirage
Mirage 是给 AI 智能体用的虚拟终端:一层 shell,统管数据、命令行和运行时。Unix…
★ 3,756已汉化DSH
70.8
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 649已汉化DSH
70.7