dsh-credentials-system
by khiqwq
以操作系统用户绑定秘钥保护为后端的 DeepSeek Harness 凭据 provider;0.1 版支持 Windows x64/ARM64(DPAPI CurrentUser)
DeepSeek Harness credential provider backed by the operating system's user-bound secret protection. Version 0.1 supports Windows x64/ARM64 through DPAPI CurrentUser .
安装
dsh plugin --profile web add github:khiqwq/dsh-credentials-systemGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
目录
DeepSeek Harness credential provider backed by the operating system's user-bound secret protection. Version 0.1 supports Windows x64/ARM64 through DPAPI CurrentUser.
Security properties
$DSH_HOME/.credentials.system.jsoncontains only versioned DPAPI ciphertext and reference names.- A blob is bound to the current Windows user, this store id, and its exact credential reference.
- There is no plaintext-file, environment-variable, machine-wide, or local-key fallback.
describe()returns onlyconfigured,source, andwritable; there is no reveal API.- Wrong user, damaged ciphertext, unavailable native backend, and malformed storage fail loudly.
- Explicit portable exports use
scryptplus AES-256-GCM; the passphrase and plaintext are never written beside the export.
This protects a copied credential file and prevents routine configuration views from disclosing values. It cannot protect secrets from malicious code already executing as the Harness process, memory inspection, a compromised Windows account, or a proxy that necessarily receives its own authentication credential.
DeepSeek Harness composition
Replace the built-in plaintext provider; never run it as an automatic fallback:
- id: credentials
name: '@deepseek-ai/dsh-credentials-local'
disabled: true
- insert:
- id: credentials-system
name: dsh-credentials-system
Consumers store only references, for example:
proxies:
office:
url: http://proxy.example:8080
username: alice
passwordRef: DSH_PROXY_OFFICE_PASSWORD
The Harness plugin configuration UI should submit a new value through the write-only credentials API. It must render an empty password field plus “configured/not configured”, never a decrypted value or ciphertext.
Migrating the legacy plaintext file
provider.migrateLegacy({ refs?, archive? }) performs an explicit Host-side migration from $DSH_HOME/.credentials.yaml:
- strictly parse the bounded YAML mapping;
- list/select refs without returning values to a browser;
- DPAPI-encrypt each selected value;
- resolve and compare it in memory to verify the write;
- optionally rename the source to
.credentials.yaml.migratedonly when every entry migrated.
The renamed file is still plaintext. Delete it after verifying the new provider; it is retained rather than automatically destroyed so an interrupted migration cannot cause credential loss. Partial migration never renames or deletes the source.
Portable export
Portable export is an explicit backup/migration operation, not the runtime backend. The complete payload—including reference names—is encrypted using scrypt (N=131072, r=8, p=1) and AES-256-GCM. A wrong passphrase and a damaged file intentionally return the same error.
Important DSH distinction
@deepseek-ai/dsh-credentials-local stores plaintext in $DSH_HOME/.credentials.yaml. Owner-only file permissions and role("secret") redaction are useful boundaries, but they are not encryption. This provider must not silently fall back to it.
原始 README: https://github.com/khiqwq/dsh-credentials-system/blob/main/README.md ↗
同类插件
查看全部 →
k8e
k8e.sh — 开源 Agentic AI 沙箱矩阵

hol-guard
开源AI代理防病毒:运行时拦截风险工具、秘密访问、提示注入、恶意软件包、MCP服务器、插件和技能。

anolisa
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture):具备运行时、安全性、可观测性和 Tokenless 响应压缩能力的 Agentic OS,可降低 Token 使用量与成本。

mobius
首个自我演进的开源 Agent OS:连接你的团队、AI agent、设备与算力

deepseek-harness-desktop
DeepSeek Harness Tauri 桌面版 | Only 5mb installer, zero environment setup. Windows / macOS / Linux.

open-managed-agents
开源Claude管理代理API实现和自托管Claude标签式代理运行时。即插即用;在Cloudflare Workers/Durable Objects或Node.js上运行。Apache 2.0。