🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

MySQL 凭据保险库 sandersyao/dsh-credentials-mysql

DeepSeek Harnessv0.1.2
sandersyao55 天前有提交已提供中文文档扫描:未发现敏感能力

把凭据持久化到 MySQL 并支持字段级加密

30/100
综合分
1
GitHub 星标
41
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @sandersyao/dsh-credentials-mysql
npm 源 · @sandersyao/dsh-credentials-mysql 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · security
暂无时间戳·判据 →
装得上吗[实装验证]✓
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
数据截至 2026/10/25·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 55 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@sandersyao/dsh-credentials-mysql @ 0.1.2
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/8 06:34:15

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-brand@deepseek-ai/dsh-credentials@deepseek-ai/dsh-invariants@deepseek-ai/dsh-launch-environment
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 凭据持久化到MySQL
  • 字段级加密

DeepSeek Harness 基于 MySQL 的后端凭证库插件 (ctx.credentials)

v0.1.22026-09-10
· v0.1.2 · 对齐 dsh v0.1.5-rc.1:peerDependencies / devDependencies 的四个 dsh-* 接缝包由 0.1.2-rc.1 升到 ^0.1.5-rc.1,使插件随该 RC 宿主正确去重加载,规避 semver 预发布规则导致的嵌套双份 dsh-credentials / cordis。 · 接缝零改动:dsh-credentials 的 lib/ 在 0.1.2-rc.1 → 0.1.5-rc.1 间逐字节相同;dsh-launch-environment 仅新增 launchedThroughSsh(纯增量),故未改动源码或测试。 · 两份 README 的 peer 说明同步到 v0.1.5-rc.1。 验证:pnpm typecheck / pnpm lint / pnpm test(58/58,含集成与 e2e,运行于真实 MySQL)全绿。
v0.1.12026-09-04
· v0.1.1 · 对齐 dsh v0.1.2-rc.1:peerDependencies / devDependencies 的四个 dsh-* 接缝包由 0.1.1-rc.2 系列升到 ^0.1.2-rc.1,使插件随该 RC 宿主正确去重加载,规避 semver 预发布规则导致的嵌套双份 dsh-credentials / cordis。 · 测试基境与开发者本地 .env 解耦:自动化测试只读 .env.test / CREDENTIALS_TEST_* / 内置默认,基境默认明文、指向独立测试库;不再继承本地 .env 的真实加密密钥与连接。 · 新增 test/helpers/test-config.ts 权威测试基境与 .env.test.example 模板;.env.test 已加入 .gitignore。 验证:pnpm typecheck / pnpm lint / pnpm test(58/58,含集成与 e2e)全绿。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
@sandersyao/dsh-credentials-mysql DeepSeek Harness 的 MySQL 凭据保险库提供方——dsh-credentials 能力接缝的一个具体 Provider。以插件加载后注册 ctx.credentials,把 refs 与 records 两空间的凭据持久化到 MySQL,与 dsh-credentials-local 行为契约等价,并支持可选的字段级 AES-256-GCM 加密。 配套插件(分布式 dsh 部署) 本保险库是共享 MySQL 的分布式 dsh 部署中的凭据组件,设计与三个配套插件协同——dsh-workspace-bootstrap / dsh-storage-mysql / dsh-session-persistence-mysql 把默认工作区、存储与会话持久化后端切到共享 MySQL(本插件则切换凭据后端): | 插件 | GitHub 仓库 | npm 包页面 | | @sandersyao/dsh-workspace-bootstrap | https://github.com/sandersyao/dsh-workspace-bootstrap | https://www.npmjs.com/package/@sandersyao/dsh-workspace-bootstrap |
展开完整文档(README 剩余 1 节)
@sandersyao/dsh-credentials-mysql

DeepSeek Harness 的 MySQL 凭据保险库提供方——dsh-credentials 能力接缝的一个具体 Provider。以插件加载后注册 ctx.credentials,把 refs 与 records 两空间的凭据持久化到 MySQL,与 dsh-credentials-local 行为契约等价,并支持可选的字段级 AES-256-GCM 加密。

配套插件(分布式 dsh 部署)

本保险库是共享 MySQL 的分布式 dsh 部署中的凭据组件,设计与三个配套插件协同——dsh-workspace-bootstrap / dsh-storage-mysql / dsh-session-persistence-mysql 把默认工作区、存储与会话持久化后端切到共享 MySQL(本插件则切换凭据后端):

| 插件 | GitHub 仓库 | npm 包页面 |
| @sandersyao/dsh-workspace-bootstrap | https://github.com/sandersyao/dsh-workspace-bootstrap | https://www.npmjs.com/package/@sandersyao/dsh-workspace-bootstrap |
| @sandersyao/dsh-storage-mysql | https://github.com/sandersyao/dsh-storage-mysql | https://www.npmjs.com/package/@sandersyao/dsh-storage-mysql |
| @sandersyao/dsh-session-persistence-mysql | https://github.com/sandersyao/dsh-session-persistence-mysql | https://www.npmjs.com/package/@sandersyao/dsh-session-persistence-mysql |

安装与使用

import { MysqlCredentialProvider } from '@sandersyao/dsh-credentials-mysql'

await ctx.plugin(MysqlCredentialProvider, {
connection: { tablePrefix: process.env.CREDENTIALS_TABLE_PREFIX },
})
// ctx.credentials 现在由 MySQL 保险库支撑。

指南

- 在 dsh profile 中试用且不影响现有凭据 —— docs/DSH_PROFILE_TRIAL.md。
- 生产 / npm 安装与 cordis.patch.yml 集成(替换默认文件提供方) —— docs/DEPLOYMENT.md §8。

配置

连接凭据、表前缀与加密密钥来自环境变量 / .env(见 .env.example)。独立 CREDENTIALS_ 优先,缺省回退到共享 MYSQL_ —— 与 dsh-session-persistence-mysql 同库共存时可复用连接,也可独立配置。插件 Config 全部可选——凭据只来自环境变量(绝不硬编码密码)。

| 环境变量 | 回退 | 默认 | 作用 |
| CREDENTIALS_HOST | MYSQL_HOST | 127.0.0.1 | MySQL 主机。 |
| CREDENTIALS_PORT | MYSQL_PORT | 3306 | 端口。 |
| CREDENTIALS_USER | MYSQL_USER | —(必需) | 最小权限 DB 用户。 |
| CREDENTIALS_PASSWORD | MYSQL_PASSWORD | —(必需) | 密码。 |
| CREDENTIALS_DATABASE | MYSQL_DATABASE | —(必需) | 目标数据库。 |
| CREDENTIALS_TABLE_PREFIX | MYSQL_TABLE_PREFIX | —(必需) | 表前缀,校验 ^[A-Za-z0-9_]+$;基名与 session 表不同,规避冲突。 |
| CREDENTIALS_ENCRYPTION_KEY | ENCRYPTION_KEY | (空) | 字段加密密钥;空 = 明文(启动告警)。 |
| CREDENTIALS_SSL_REQUIRED | MYSQL_SSL_REQUIRED | false | 预留 TLS 强制位(暂缓)。 |
| CREDENTIALS_POOL_SIZE | MYSQL_POOL_SIZE | 10 | 连接池大小。 |
| CREDENTIALS_SCHEMA_AUTO_MIGRATE | MYSQL_SCHEMA_AUTO_MIGRATE | true | 启动自动迁移 schema;false 仅校验。 |

测试隔离:自动化测试(vitest)运行在独立测试库上,避免触碰生产库——CREDENTIALS_TEST_DATABASE(默认 test)在测试期间覆盖 CREDENTIALS_DATABASE;MYSQL_ROOT_PASSWORD 仅由测试引导建库/授权使用。见 docs/MANUAL_TEST_PLAN.md。

存储布局

三张表,均带 CREDENTIALS_TABLE_PREFIX 前缀:

- ${prefix}credential_refs —— refs 空间:ref_name(PK) + value。
- ${prefix}credential_records —— records 空间:rec_key(/, PK) + kind + payload(JSON)。
- ${prefix}credential_meta —— 已应用的 schema 版本。

表基名刻意不同于 dsh-session-persistence-mysql 的 sessions/events/_meta,即使同库同前缀也不冲突。

取值分层(与 dsh-credentials-local 契约等价)

继承的进程环境(只读, 始终优先)
MySQL 受管存储(可写) project .env → user .env

- 空存储值 = 不存在:MySQL 里空串不允许写入;resolve 跳过、describe 报告未配置。
- 遮蔽规则:set/unset 在进程环境只读提供该引用时显式拒绝,describe().writable=false。
- 进程环境按次覆盖代表本次运行意图;写入 MySQL 后立即生效。

并发与崩溃语义

- modifyRecord 跨进程互斥:SELECT … FOR UPDATE + InnoDB 事务实现"读—决定—替换",token 刷新并发安全——这是相对文件提供方(跨进程文件写锁)的结构性优点。
- 事务原子:写入单事务,无撕裂行;ER_LOCK_DEADLOCK(1213) 有限退避重试。
- 崩溃恢复:InnoDB 保证已提交写入不丢失。

Schema 与迁移

启动执行连接测试 + 幂等 CREATE TABLE IF NOT EXISTS,再读 ${prefix}credential_meta;已应用版本高于期望则 fail-closed(不支持降级)。CREDENTIALS_SCHEMA_AUTO_MIGRATE=false 时版本不匹配即失败。

字段加密(本保险库特性)

配置 CREDENTIALS_ENCRYPTION_KEY(32 字节 hex 或任意字符串,经 SHA-256 导出密钥)时:
- ref 值、record 的 key/env/payload 在写入前以 AES-256-GCM 加密(每行随机 IV + auth tag),密钥永不落库、绝不进日志。
- 存储为带版本前缀的信封串(v1:.),非加密数据不受影响。
- 未配置密钥 = 明文模式(启动告警);加密开关不破坏与本地提供方的行为契约(值往返仍一致)。

模型体验

经由消费它的 LLM 适配器间接生效:解析出的值为适配器的提供方请求授权,所有模型可见接口都由适配器负责。凭据绝不进入请求前缀。

已知限制与待办

- 外部编辑不热发布——无文件 watcher;MySQL 中直接修改的行需由消费者按操作 re-resolve(接缝本就按操作解析,通常无感)。
- set/unset 被进程环境遮蔽时拒绝(接缝规则,与本地提供方一致)。
- 无 $DSH_HOME/.credentials.yaml 自动迁移——切换提供方后旧文件不会自动导入 MySQL(见 docs/DEPLOYMENT.md §8.3)。
- TLS/传输暂缓——CREDENTIALS_SSL_REQUIRED 为预留位。
- peer 范围对齐 dsh v0.1.5-rc.1(^0.1.5-rc.1)——官方接缝版本前移时需同步调 peerDependencies。
预览分享卡片长什么样 ↓sandersyao/dsh-credentials-mysql
分享 · DeepSeek Harness Hub
sandersyao/dsh-credentials-mysql

把凭据持久化到 MySQL 并支持字段级加密

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部