dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DeepSeek Harness 插件:TPM/DPAPI 封存的凭据提供器,取代明文凭据文件 · TPM/DPAPI-sealed credential provider plugin for DeepSeek Harness
跨平台硬件级凭据存储插件(DSH bundle)。引用值与记录在落盘前用本机最强的密钥保护者封存(AES-256-GCM 信封加密),只在 resolve 时解封:
声明了 dsh.bundle.patch,装完即生效,无需手工编辑任何配置文件:
plugin_manager { action: "install_bundle", target: "<本仓库绝对路径>" }
命令行等价形式:
dsh plugin --profile web add link:<本仓库绝对路径>
安装后重启 dsh web 生效。本补丁会按 id 覆盖默认的 credentials 行(置 disabled: true)——一个上下文只能提供一个 credentials 服务。
$DSH_HOME/.credentials.dpapi.json(权限 0600,staging + 原子 rename 落盘)凭据服务在本机只有一个实现槽位:本插件与官方 @deepseek-ai/dsh-credentials-local(明文 .credentials.yaml)互斥占位,消费方(设置页、各插件)只认标准接口,不关心背后是谁。因此换引擎只影响存在凭据服务里的值。
完全不受影响:
.env 文件里的值(见下方解析顺序,这两层在密库之外)受影响、需重录一次:凭据服务里的引用值——包括在设置页输入的模型 API Key(如 DeepSeek 提供器把 Key 存为凭据引用 DEEPSEEK_API_KEY,插件配置里只留引用名,真值在凭据服务)。
解析顺序(与官方提供方一致,process → 密库 → .env):
.credentials.yaml).env(启动目录)→ 用户 .env($DSH_HOME/.env)两个方向都无迁移,刻意设计:
.credentials.yaml 里的旧值不会被读取;设置页这些 Key 显示未配置,重新录入一遍即入封存库。旧文件原样保留,确认无用后可自行删除。优先级陷阱:进程环境变量压过密库——同名变量存在时解析直接用它,密库值被遮蔽;此时 set/unset 也会拒绝写入该引用(防误改)。症状「在设置里改了 Key 但不生效」先查启动环境里有没有旧变量,而不是反复重录。
tests/ 是本机集成测试(离线端到端 + 模块解析钩子),依赖本机 D:\dsh 安装环境(路径硬编码),不能直接在 CI 运行:
node --import ./tests/resolve-hook.mjs tests/offline.mjs
MIT,见 LICENSE。