dsh-info-records
Manifest validEncrypted local credential vault for DeepSeek Harness: sidebar record management, an info_records tool for pre-sign-in lookups, opt-in chat capture, per-record manual-only mode, and AES-256-GCM storag
信息记录 · dsh-info-records
为 DeepSeek Harness 准备的本机加密账密库:你维护记录,智能体在登录前按站点取用。
English at a glance — An encrypted, local-first credential vault for DeepSeek Harness. Manage website/app logins in a native sidebar panel; the
info_recordstool lets the agent look up the right account before signing in. Capturing credentials from chat is opt-in, every record can be marked manual-only, and the vault is AES-256-GCM encrypted with the data key kept in Windows DPAPI, the macOS Keychain, or the Linux Secret Service. Requires DSH ≥ 0.2.1-rc.2 and Node ≥ 22.19.

它解决什么问题
用 DSH 打开网页、登录后台、处理工单时,账号密码常常要重复输入;把密码直接发进对话,又会留在会话记录里。
信息记录把账号密码集中保存在本机,并按站点组织:
- 你可以在侧边栏 技能中心 → 信息记录 里新增、编辑、搜索、删除记录;
- 智能体在登录前调用
info_records工具,按站点/网址取用正确的账号密码; - 你可以在对话里明确给出「账号:… 密码:…」,让插件自动收录(默认关闭,需手动开启);
- 每条记录都可以标记为 仅手动使用:智能体既读不到、也改不了、删不掉。
功能
记录管理
- 站点/应用、网址、用户名、密码、备注、标签。
- 搜索站点、网址、用户名、备注与标签。
- 密码默认掩码,逐条显示/复制;用户名一键复制;网址一键打开。
- 删除有就地二次确认;显示使用次数、最近更新与来源(手动 / 自动 / 智能体)。
- 支持深色/浅色主题,跟随 DSH 的
--dsw-alias-*设计令牌。
智能体工具 info_records
| action | 行为 |
|---|---|
list | 列出记录(站点、用户名、标签、id;不返回密码) |
search | 按站点/网址/用户名/标签/备注搜索(不返回密码) |
get | 按 id / 站点 / 网址取完整记录;返回密码(可被设置关闭);自动标记「已使用」 |
save | 新增或合并记录(需要开启自动收录) |
delete | 按 id 删除,或删除唯一的站点匹配 |
used | 补记一次使用 |
工具描述会要求模型:登录前先 get、不要向无关工具转发密码、除非用户明确要求否则不要在回复里打印密码。
自动收录(默认关闭)
开启后,当一条用户消息同时包含「账号/用户名…」和「密码/口令…」以及网址时,自动保存或合并成一条记录,来源标记为「自动」。同一消息只处理一次;关闭后智能体的 save 也会被拒绝。
默认关闭是有意的:密码进入对话本身就是一个需要用户明确同意的动作。 记录页会在关闭时显示提示与一键开启入口。

逐条权限
每条记录有一个 允许智能体使用 开关(默认开)。关闭后:
get、save覆盖、delete、used全部拒绝;list/search只显示站点、用户名等元数据,并标记「仅手动」,备注也不返回;- 你自己仍然可以在面板里查看、复制、编辑、删除。

安装
插件市场(推荐)
DSH 的插件目录来自 awesome-dsh-plugin。本插件已提交 PR #7950,合并后可在 设置 → 插件市场 搜索「信息记录」或 dsh-info-records 安装。合并前可直接用下面的 GitHub 方式。
GitHub(当前可用)
dsh plugin --profile web add github:xiezouqu12/dsh-info-records
或安装 v1.0.0 的预打包 tarball:
dsh plugin --profile web add "https://github.com/xiezouqu12/dsh-info-records/releases/download/v1.0.0/dsh-info-records-1.0.0.tgz"
npm
npm 包 dsh-info-records 发布后可用:
dsh plugin --profile web add dsh-info-records
web 换成你自己的 profile 名;官方 Desktop 版请在应用内的 设置 → 插件 中安装。
本地目录
dsh plugin --profile web add /absolute/path/to/info-records
安装后打开任意会话,侧边栏 技能中心 下方会出现 信息记录。
快速上手
- 打开 信息记录 → 新增记录,填入站点、用户名、密码,按需加网址/备注/标签。
- 让 DSH 帮你登录时,它会调用
info_records取用;你可以要求它「登录前先查信息记录」。 - 想自动收录时,在 设置 → 自动收录 打开开关;不想让智能体碰的记录,编辑时关闭 允许智能体使用。
安全模型
加密存储
- 数据文件使用 AES-256-GCM 加密,随机 256 位数据密钥只用于本机。
- 数据密钥的保护方式(设置页会显示当前方式):
- Windows DPAPI(CurrentUser):密钥包裹后存进文档,只有当前 Windows 用户能解开。
- macOS 钥匙串:通过
security写入/读取登录钥匙串。 - Linux Secret Service:通过
secret-tool使用系统密钥环。 - 本地密钥文件(回退):
vault.key,权限 0600;这是弱回退,设置页会给出警告。
- 旧版 v1 明文文档会在首次读取时自动迁移为 v2 加密文档,明文被原子替换。
- 密钥保护只调用系统自带命令(
powershell.exe、security、secret-tool),参数仅包含随机密钥或包裹后的密钥,不含用户输入;失败信息不会回显密钥。 - 解密失败、密钥指纹不匹配或文件损坏时,不会覆盖原文件;损坏文件会另存为
store.json.corrupt-<timestamp>。 - 原子写入(临时文件 + rename),写入串行化;POSIX 上目录 0700、文件 0600。
诚实的边界
- 同一 OS 用户下的进程仍可解密:智能体自己的 shell 以你的账户运行,也能调用同一个系统密钥接口。加密保护的是「文件被复制/备份/其他用户读取/磁盘被翻看」,不是「账户已被攻破」。
- DPAPI/钥匙串绑定了用户与机器:把
store.json单独拷到另一台电脑或另一个 Windows 用户,通常无法解密。当前版本还没有便携备份/导出,迁移前请先在旧机器上手动抄录或等待后续版本。若使用本地密钥文件回退,复制整个info-records目录(含vault.key)可以迁移,但保护也更弱。 get的密码会进入该会话记录:这是让模型代替你输入的代价。设置里的「向智能体显示密码明文」可以关闭,让智能体只看到掩码。- 自动收录是显式选项:默认关闭;开启后,带标签的账密会被保存,普通提及登录页不会触发。
- 不是硬件密码库:没有主密码、硬件密钥或防内存取证能力。高价值账号建议继续使用专用密码管理器。
网络面
- 浏览器只通过一个同源 POST 路由
/api/info-records/rpc读写,注册在ctx.connection.fetch上,由 DSH 连接层负责浏览器认证。 - 没有遥测、没有外部请求、没有 CDN 资源;所有数据留在本机。
- 面板不读取其他插件的 DOM、样式或私有状态。
设置
| 设置 | 默认 | 作用 |
|---|---|---|
| 允许智能体使用记录 | 开 | 关闭后 info_records 全部拒绝;逐条开关仍然生效 |
| 向智能体显示密码明文 | 开 | 关闭后 get 返回掩码,页面仍可显示/复制 |
| 自动收录对话中的账密 | 关 | 开启后才自动保存对话中的账密,也才允许智能体 save |
设置页同时显示记录数、最近写入、存储加密方式与数据文件路径(可复制)。同一组开关也注册在 设置 → 信息记录,不需要先找到侧边栏入口。

存储位置
<DSH home>/info-records/store.json # AES-256-GCM 密文
<DSH home>/info-records/vault.key # 仅 fallback 方式出现
默认 DSH home 是 ~/.dsh,也可由 DSH_HOME 指定。卸载插件不会删除数据文件。
兼容性
- 已在 DSH 0.2.1-rc.2(官方 Desktop)验证:侧边栏入口、主面板、设置页、
info_records工具、v1 → v2 加密迁移。 - 需要 Node.js 22.19+。
- 插件是纯 JavaScript,无构建步骤、无运行时 npm 依赖。
- 使用
sidebar.panellist/main/settings.section插槽与ctx.connection.fetch、ctx.tools、ctx.on等稳定扩展点。 - 加密回退与钥匙串路径做了跨平台实现;Windows DPAPI 已实测,macOS/Linux 的具体密钥环行为取决于系统策略(可能弹一次授权提示)。
已知限制
- 自动收录只识别带标签的账密(
账号:… 密码:…,最多 3 组),不支持自由散文;其余情况可以让智能体save或手动添加。 - 没有便携导出/导入;DPAPI/钥匙串加密与当前用户、当前机器绑定。
- 没有主密码、二次验证或自动锁定。
list/search会向模型暴露站点、用户名等元数据(密码与仅手动记录的备注除外),这是让模型选对账号所需的最小信息。
开发
index.js 宿主:路由、info_records 工具、自动收录、存储编排
vault.js AES-256-GCM + DPAPI/Keychain/Secret Service/密钥文件
client.js Web:侧边栏入口、记录页、设置页、编辑弹窗、中英文文案
cordis.patch.yml 插入 info-records 行
locale/*.json 插件管理器标题与描述
docs/screenshots/ README 截图
插件没有构建步骤:index.js、vault.js、client.js 直接加载。client.js 通过
window.__ModuleLoader__.load({ id: 'dsh-info-records', ... }) 注册,React 来自浏览器
模块表。
License
MIT。见 LICENSE。
Comments
Loading…
Similar plugins
by Ox0400
Encrypted credential vault for DeepSeek Harness — AES-256-GCM + TOTP, model tools + Settings UI
★ 12
↓ 708/wk
MIT
TypeScript
Oct 16, 2026
dsh plugin --profile web add dsh-vaultby yauntyour
DeepSeek Harness 凭据加密插件,通过设置密码使用AES-256-GCM+SHA3-256实现的全流程加密+校验,运行时临时解密,内存安全。
★ 8
MIT
TypeScript
Aug 18, 2026
dsh plugin --profile web add dsh-encryptby revive
DeepSeek Harness plugin: GitLab and GitHub API tokens stay out of the model context — encrypted at rest (AES-256-GCM), tools on demand, web settings panel.
★ 3
↓ 92/wk
MIT
TypeScript
Oct 9, 2026
dsh plugin --profile web add dsh-git-credentialsby YYfather
Secure credential vault for DeepSeek Harness: tokens never leave the host — the agent runs gh/npm/npx/node/git with the token injected in the environment. Manage from 设置 → 凭证库 / 市场 → 已安装.
★ 0
MIT
JavaScript
Aug 23, 2026
dsh plugin --profile web add @yyfather/dsh-token-vaultby HLhhh
Bilingual DeepSeek Harness changelog, security-advisory and storage panel — version timeline, CVE/GHSA records and disk usage in one sidebar panel.
★ 0
MIT
JavaScript
Oct 17, 2026
dsh plugin --profile web add dsh-changelog-panelby re-ITRT
DeepSeek Harness 密钥保险箱插件:自动捕获与脱敏密钥/凭据,settings 界面管理,支持会话级与全局级存储。
★ 0
MIT
TypeScript
Aug 22, 2026
dsh plugin --profile web add dsh-keyring