Back to home@534119219

chicheng-quickinput

DSH 便捷输入保险箱插件:输入栏「用量」与「发送」之间一键展开,自动收录会话中的密钥/网址/服务器/手机号等;点击填入或 Ctrl+点击直接发送;私密内容密码保护 + WebDAV 备份。

Stars
1
Language
JavaScript
Created
Aug 17, 2026
Updated
Aug 17, 2026
GitHub repo

Introduction

chicheng-vault — DSH 便捷输入保险箱

在 DeepSeek Harness Web 界面的输入栏「用量」与「发送」按钮之间添加一个灰色圆形快捷按钮(与发送按钮同尺寸同圆角),点击展开「保险箱」面板:

  • 收录密钥、服务器、地址、手机号、网址等常用信息,点击单条记录直接填入输入框Ctrl(或 )+ 点击直接发送
  • 自动识别:会话中出现敏感信息时(密钥/JWT/PEM、URL、SSH 服务器、中国大陆手机号、IP、中文地址),按钮上出现红点脉冲提示(不自动弹出面板),点击按钮后可在面板顶部逐条收录;手机号仅识别中国手机号(11 位、1[3-9] 开头,可带 +86/86 前缀),不识别外国号码与座机;
  • 打开面板免密码:面板直接展示所有非私密记录;点击私密记录(或编辑私密记录 / 使用加密的 WebDAV 配置)时才验证主密码;验证一次持续有效,无操作超过设定时长(默认 10 分钟,可配置,0 = 关闭)后私密内容自动重新锁定,也可在面板头部手动锁定;
  • 首次使用设置主密码与安全词;忘记密码可用安全词重置
  • 每条记录支持名称、分类、标签、是否私密,并记录创建时间;支持编辑/删除、全局模糊搜索(名称/标签/分类);
  • WebDAV 备份/恢复(经宿主端代理转发,规避 CORS)。

数据安全(v2)

  • 保险箱 store 分为两层:非私密记录为明文(仅含常用信息,方便免密查看),私密记录内容WebDAV 配置在浏览器内以 WebCrypto(PBKDF2-SHA256 15 万轮 + AES-256-GCM) 加密;
  • 随机保险箱密钥 K 分别被主密码派生密钥安全词派生密钥包裹后持久化;密文由宿主端存于 $DSH_HOME/vault/store.json私密明文只存在于解锁后的浏览器内存,锁定即清空;
  • 自动识别只保存内容哈希用于去重,不落明文;
  • 忘记主密码时,只有安全词能解出 K 并重置密码;若两者皆失,数据不可恢复(加密设计使然)。

功能对照

需求实现
用量与发送之间灰色按钮conversation.input.right slot 取 props,按钮本体通过 DOM 锚点插入输入栏「用量」与「发送」之间;34×34 圆钮,灰底
点击展开 + 过渡动画浮动面板(fixed 定位,fade + slide 动画,Esc/外部点击关闭)
打开面板免密码面板直接加载 store,非私密记录可见;仅私密内容触发密码验证
验证一次持续有效解锁后 K 保留在内存;无操作超过 autoLockMinutes 自动重新锁定(pointerdown/keydown 刷新活跃时间,15 秒轮询)
私密记录二次验证点击/编辑私密记录 → 密码弹窗 → 全局解锁(不再逐条验证)
安全词重置密码设置内「忘记密码」→ 安全词验证 → 设置新密码(可换安全词)
自动记录会话中的密钥/服务器/地址/手机号/网址宿主端监听 session/event,模式识别后按钮红点提示;手机号仅识别中国大陆手机号并归一化为 11 位
每条记录名称/分类/标签/私密新增/编辑表单完整支持;私密记录加密存储
记录创建时间每条记录保存 createdAt,列表展示
WebDAV 备份设置分区内配置地址/账号/密码(配置加密存储)→ 立即备份/从备份恢复
左侧分类栏密钥/服务器/地址/手机号/网址/其他 + 动态新增分类
点击填入、Ctrl+点击发送inputActions.setDraft / setDraft + submit
全局搜索,搜索时分类不选中名称/标签/分类模糊匹配,搜索中侧栏无选中态
每条记录编辑/删除按钮行内图标按钮 + 删除确认
右上角「新增」按钮面板头部右侧,打开新增表单
设置界面分区 + 圆角卡片自动识别 / 自动锁定 / WebDAV / 修改密码 四个圆角边框分区,顶部对齐、可关闭
旧版本数据迁移检测到 v1 store 时展示迁移页,输入原密码升级为 v2(私密内容改加密、非私密改明文);兼容历史 KDF 参数(PBKDF2 迭代数/哈希),vault 密文缺失时按空库迁移;忘记密码可用安全词重置并完成迁移

安装(以 web profile 为例)

cd /d/Harness/chicheng-vault
dsh plugin --profile web add file:D:/Harness/chicheng-vault
# 若 pnpm 生成了快照副本,执行 relink 指向源码目录:
powershell -File D:/Harness/relink-plugins.ps1 -Name chicheng-vault

修改插件源码后无需重新安装,但宿主端改动需要手动重启 dsh web,客户端改动刷新页面即可(Ctrl+F5 硬刷新)。

测试

node test/matcher.test.mjs     # 模式识别纯函数
node test/host.smoke.mjs       # 宿主端 API + 监听 + WebDAV 代理(临时 DSH_HOME)
node test/crypto.test.mjs      # 加密方案全链路(v2:setup/unlock/lock/reset/change/迁移)
node test/client.load.mjs      # 客户端 bundle 结构

数据位置

  • $DSH_HOME/vault/store.json — v2 store(密钥包装 + 私密记录密文 + WebDAV 配置密文 + 非私密明文 + 开关)
  • $DSH_HOME/vault/suggestions.json — 待收录建议与去重哈希
  • 备份文件由 WebDAV 目标地址决定(默认 chicheng-vault-backup.json

License

MIT