DeepSeek Harness (DSH) 采用插件化架构,允许开发者通过注册工具来扩展智能体的能力。在开发涉及账户注册、密钥管理或安全配置的 DSH 插件时,直接在流程中生成高熵值的密码是常见需求。dsh-password 插件通过注册 password_generate 工具,为 DSH 插件环境提供了加密安全的随机密码生成能力。
这是一个由 ZhijiangTang 维护的 DSH 插件。它仅依赖 ESM 模块,无构建步骤,且零外部依赖。核心功能是注册 password_generate 工具,支持两种生成模式:强随机字符串和 Diceware 短语。所有随机性均来自 Node.js 的 crypto.randomInt,保证加密安全。
功能特性¶
该插件提供以下核心能力:
- 工具注册:在 DSH 环境中注册
password_generate工具。 - 强密码生成:生成包含大小写字母、数字和符号的随机字符串,支持排除易混淆字符(如
Il1O0)。 - Diceware 生成:基于内置词表生成易读的英语短语。
- 加密安全:使用
node:crypto.randomInt作为随机源,不依赖不安全的Math.random。 - 无状态与安全:纯内存运行,不落盘、不写日志、不持有持久状态。
安装与启用¶
安装前请确保已配置好 DSH 环境及所需的 peer dependencies(@deepseek-ai/cordis、@deepseek-ai/dsh-tools、@deepseek-ai/dsh-llm)。
通过以下命令安装插件:
# 本地安装
dsh plugin --profile <name> add file:./plugins/dsh-password
# 或发布后安装
dsh plugin --profile <name> add dsh-password
安装完成后,插件会在 DSH 进程中注册 password_generate 工具。
典型用法¶
工具调用¶
调用 password_generate 工具,通过参数控制生成策略。以下是生成 2 个 24 位强密码的示例:
call password_generate with type random, length 24, count 2, avoidAmbiguous true
参数说明¶
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
type |
string | random |
生成类型,可选 random 或 diceware。 |
length |
number | 20 |
密码长度(8–128),仅 type=random 时生效。 |
count |
number | 1 |
生成数量(1–10)。 |
words |
number | 5 |
Diceware 单词数量(4–8),仅 type=diceware 时生效。 |
separator |
string | - |
Diceware 单词连接符。 |
includeSymbols |
boolean | true |
是否包含符号(仅 type=random 时生效)。 |
avoidAmbiguous |
boolean | true |
排除易混淆字符(Il1O0),仅 type=random 时生效。 |
返回值¶
工具返回标准的 JSON 对象,包含生成状态、密码列表、类型、字符集、数量及熵值估算。
{
"ok": true,
"passwords": [
"aB3$xY9#mN2@pL5",
"cD4!zW8*oQ1%pE6"
],
"type": "random",
"entropyBits": 153.8,
"charset": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+-=[]{}|;:,.<>?",
"count": 2,
"error": ""
}
生成规则与安全说明¶
- Random 模式:基于
node:crypto.randomInt从字符集(大小写字母 + 数字 + 符号)中均匀采样。若开启avoidAmbiguous,会剔除Il1O0。生成后会校验每个密码是否包含至少 1 个小写字母、1 个大写字母、1 个数字(以及符号,取决于includeSymbols),不满足则重生成(上限 20 次,超限退化为确定性补类兜底)。 - Diceware 模式:内置 256 个常见英文短词,随机选取
words个并用separator连接。熵估算公式为words × log2(256)bits。 - 安全机制:插件不持有持久状态,所有生成的口令仅在内存中存在,不会写入日志或文件系统。
适用场景与注意¶
- 适用场景:适用于需要自动化生成强密码、API 密钥或 Diceware 短语的 DSH 插件开发场景。
- 注意:插件以 DSH 进程的权限运行,生成结果会出现在工具返回与界面摘要中,请务必在使用后妥善保管,勿与他人分享。
- 源码检查:在安装非官方插件前,建议查阅源码与许可证(MIT)。
结语¶
dsh-password 为 DSH 生态提供了一个轻量级、安全且易用的密码生成方案。通过集成该插件,开发者可以方便地在智能体工作流中处理安全凭证生成逻辑。