用独立 DSH_HOME 复现全新实例,隔离凭据与会话
28.4/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add baihejiangnan/dsh-home-isolation-guide该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 76 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0⚪ 扫描:无法判定尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。
- · 包内无可扫 JS
- · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/3(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 隔离凭据与会话
- 附多语言示例
可复现的 DSH_HOME 隔离指南,附 PowerShell、Node.js 和 Rust 示例
README
由 DeepSeek 最新模型翻译生成DSH_HOME 隔离与全新实例复现指南
本仓库说明如何为 DeepSeek Harness(DSH)创建一个真正全新的状态环境,使它不共享已有 API Key、会话、设置、存储和用户 Agent 预设,并提供 PowerShell、Node.js 与 Rust 的可运行示例。
核心结论
隔离单位是 DSH_HOME,不是 profile 名称。
旧实例 新实例 C:\Users\you\.dsh D:\dsh-instances\desktop-a
|-- .credentials.yaml |-- profiles\tauri\package.json
|-- sessions\ -- profiles\tauri\cordis.patch.yml
-- .agent-presets\
启动新实例时设置:
DSH_HOME=D:\dsh-instances\desktop-a
dsh --profile tauri --host 127.0.0.1 --port 3081
DSH 之后产生的凭据、会话和预设都会落到新目录,不会从 C:\Users\you\.dsh 读取。
前置条件
- 已安装可用的 dsh 命令,或者知道 DSH CLI 的完整路径。
- Windows PowerShell 5.1+ 或 PowerShell 7+。
展开完整文档(README 剩余 1 节)
DSH_HOME 隔离与全新实例复现指南
本仓库说明如何为 DeepSeek Harness(DSH)创建一个真正全新的状态环境,使它不共享已有 API Key、会话、设置、存储和用户 Agent 预设,并提供 PowerShell、Node.js 与 Rust 的可运行示例。
核心结论
隔离单位是 DSH_HOME,不是 profile 名称。
旧实例 新实例 C:\Users\you\.dsh D:\dsh-instances\desktop-a
|-- .credentials.yaml |-- profiles\tauri\package.json
|-- sessions\ -- profiles\tauri\cordis.patch.yml
-- .agent-presets\
启动新实例时设置:
DSH_HOME=D:\dsh-instances\desktop-a
dsh --profile tauri --host 127.0.0.1 --port 3081
DSH 之后产生的凭据、会话和预设都会落到新目录,不会从 C:\Users\you\.dsh 读取。
前置条件
- 已安装可用的 dsh 命令,或者知道 DSH CLI 的完整路径。
- Windows PowerShell 5.1+ 或 PowerShell 7+。
- Node.js 20+(仅 Node.js 示例需要)。
- Rust 1.77+(仅 Rust 示例需要)。
先确认:
dsh --help
node --version
rustc --version
最快复现:PowerShell
从仓库根目录运行:
.\examples\powershell\new-dsh-home.ps1
-DshHome "D:\dsh-instances\desktop-a"
-Profile "tauri"
-Port 3081
脚本会:
1. 拒绝任何已经存在的目标目录。
2. 创建 profiles\tauri。
3. 写入 dsh-base 与 dsh-web-app bundle 清单。
4. 仅对子进程设置 DSH_HOME。
5. 启动 http://127.0.0.1:3081。
只初始化、不启动:
.\examples\powershell\new-dsh-home.ps1
-DshHome ".\.DSH_HOME\desktop-a"
-InitializeOnly
如果 dsh 不在 PATH:
.\examples\powershell\new-dsh-home.ps1
-DshHome "D:\dsh-instances\desktop-a"
-DshCommand "C:\path\to\dsh.cmd"
Node.js 示例
node .\examples\node\launcher.mjs "D:\dsh-instances\node-a" tauri 3082
可以通过 DSH_BIN 指定 CLI:
$env:DSH_BIN = "C:\path\to\dsh.cmd"
node .\examples\node\launcher.mjs "D:\dsh-instances\node-a"
Rust 示例
cargo run --manifest-path .\examples\rust-launcher\Cargo.toml --
"D:\dsh-instances\rust-a" tauri 3083
Rust 版本只使用标准库,可直接嵌入 Tauri 或其他桌面应用的后端。
验证隔离
验证两个根目录解析结果不同,并查看各状态入口是否存在:
.\scripts\verify-isolation.ps1
-FirstHome "C:\Users\you\.dsh"
-SecondHome "D:\dsh-instances\desktop-a"
重要:验证脚本不会读取 API Key、会话内容或设置内容,只检查路径与文件是否存在。
本机实际案例
在一次 Windows 桌面端集成中,原有 CLI 使用:
C:\Users\\.dsh
桌面应用改为使用其 AppData 专属目录:
C:\Users\\AppData\Roaming\\data\dsh
应用启动 DSH 前执行等价逻辑:
let dsh_home = app_data_dir.join("data").join("dsh");
std::fs::create_dir_all(&dsh_home)?;
Command::new(dsh_binary)
.args(["--profile", "tauri", "--host", "127.0.0.1", "--port", "3081"])
.env("DSH_HOME", &dsh_home)
.spawn()?;
结果:桌面端第一次打开时没有旧 API Key、旧会话或旧用户 Agent 预设。这不是数据丢失,而是新 DSH_HOME 正常隔离的证据。
Profile 清单为什么这样写
templates/tauri-profile/package.json 使用:
{
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app"
]
}
}
}
这两个 bundle 来自 DSH 发行包。清单只是引用程序模块,不会复制 web profile,也不会复制任何用户状态。
数据是否共享
| 数据 | 同一 DSH_HOME、不同 profile | 不同 DSH_HOME |
| API Key | 共享 | 隔离 |
| settings.yaml | 共享 | 隔离 |
| 会话 | 共享 | 隔离 |
| 用户 Agent 预设 | 共享 | 隔离 |
| profile bundle/patch | 隔离 | 隔离 |
更多设计细节见 docs/architecture.md。
面向未来版本升级
对于可能包含破坏性变化的 DSH 新版本,不应让新旧二进制直接共享正式 DSH_HOME。推荐同时隔离 DSH 安装目录、DSH_HOME 和端口,将升级变成并行候选环境测试。
可以只把稳定环境的 profile 定义复制到新的候选 DSH_HOME:
.\scripts\copy-profile-for-upgrade-test.ps1
-SourceHome "D:\dsh\stable"
-TargetHome "D:\dsh\candidate-v2"
-Profile "tauri"
脚本不会复制 API Key、会话、设置、Agent 预设或旧 node_modules。目标 DSH 版本重新安装插件后,可在独立端口验证兼容性。兼容则提升候选版本;不兼容则停止候选进程并重新启动原 DSH_HOME,无需反向迁移或恢复备份。
完整理念、适用场景、兼容性判定和蓝绿升级流程见 docs/version-isolation.md。
清理测试实例
先停止对应 DSH 进程,再明确检查路径,最后手动删除测试目录。不要把递归删除命令写成依赖未验证环境变量的脚本。
本仓库有意不提供自动删除工具,避免错误路径导致数据损失。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
baihejiangnan/dsh-home-isolation-guide
用独立 DSH_HOME 复现全新实例,隔离凭据与会话
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,210已汉化MCP
71.7
AI 架构文档生成器sopaco/deepwiki-rs
🚀 Litho 已进化为 Terrain —— 给你的 AI 智能体一张会呼吸的代码库地图。
★ 3,157已汉化DSH
70.8
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9
原生编程智能体paean-ai/deeptide
由 DeepSeek 打造,为 DeepSeek 而生。
★ 1,107已汉化DSH
67.7