Skip to content

dromara/key-dock

Repository files navigation

钥栈 KeyDock logo

钥栈 · KeyDock

面向多环境 Web 系统的 Chrome 账号管理与登录填充插件

把散落在各个系统、各套环境里的账号「钥匙」,统一停靠、随取随填。

License: MIT Version Chrome MV3 React 18 TypeScript 5

🌐 官网 · 🧩 Chrome 应用商店 · 💻 GitHub · 🦊 Gitee


✨ 简介

如果你也常年穿梭在 开发 / 测试 / 预发 / 生产 多套环境之间,手里攥着一大把账号密码—— 复制粘贴、来回切换、记不住哪个环境用哪组账号……钥栈 KeyDock 就是为此而生。

它是一款独立的 Chrome Manifest V3 插件:在你打开登录页的那一刻,自动识别出「这是哪个项目的哪个环境」,弹出对应的账号列表,一键填充、一键复制,让登录这件小事彻底不再分心。

  • 🧱 技术栈:React 18 + TypeScript 5 + Vite 5,Chrome MV3 Service Worker,lucide-react 图标,三层 Design Token 主题体系。
  • 🗄️ 数据存储:默认使用 Chrome 本地存储(storage.local),无需任何服务端即可完整使用;可选接入 MinIO 做多端同步。
  • 🔓 定位:一款顺手的「多环境登录助手」,而非加密保险箱。本版本以明文存储 + 敏感字段默认隐藏 + 风险提示为安全策略(详见下文)。
  • 📜 开源协议MIT,自由使用与二次开发。
  • 🌐 官网https://keydock.asgc.fun/

🧭 命名的由来 取自「钥匙」,象征你手中的每一组账号密钥; 既是栈房、栈道——存放与中转之所,也呼应技术语境里的「栈(stack)」。 英文名 KeyDock = Key(钥匙 / 账号)+ Dock(船坞 / 停靠坞 / 工具坞)。 合在一起:让所有账号钥匙都有一个井然有序的「停靠坞」,需要时随手取用。 这正是这款插件想为你做的事。


🎯 核心功能

它解决了什么痛点?

痛点 钥栈的解法
多环境账号记不住、找不到 打开登录页自动识别项目 + 环境,弹出对应账号列表
反复复制粘贴账号密码 一键填充 / 一键复制,敏感字段点一下临时显示、10 秒自动隐藏
默认账号每次都要手点 标记默认账号后,匹配页面自动填充
账号字段五花八门(不止账号/密码) 自定义字段模型:输入型 / 展示型、敏感、必填、可复制、列宽自适应
配置散乱、换设备难迁移 单一「完整配置 JSON」+ 导入导出 + 可选 MinIO 多端同步
本地调试版和商店版傻傻分不清 内置 DEV 角标 + 专用构建,开发与日常使用互不干扰

功能一览

  • 🔍 智能页面识别:按 host(支持子域)+ path 关键字双重匹配,命中才出现,不打扰其他页面。
  • 🪟 登录页账号浮窗:展示当前项目 / 环境的全部账号;支持拖动定位、9 锚点自动停靠、列宽自适应。
  • 自动填充与重试:写入后派发 input/change/blur 事件,兼容 React / Vue / Angular 受控组件;按环境重试延迟逐次查找元素。
  • 🖱️ 输入框账号选择器:点击输入框即弹出账号候选,支持 ↑/↓/Enter/Esc 键盘操作。
  • 🗂️ 配置管理面板(七大模块):全局配置 · 项目分组 · 项目管理 · 字段配置模板 · 账号管理 · 配置导入导出 · 数据同步。
  • 🎨 三套主题 + 字号 + 动效:科技黑 / 简约白 / 灵动炫彩,全局生效(配置页、popup、登录页浮窗一致)。
  • ☁️ 可选 MinIO 同步:远程 ↔ 本地按稳定标识增量合并或整体覆盖;不启用则零外联,纯本地可用。
  • 🛡️ 登录页解密容错:在 /login 路径对宿主页 CryptoJS.AES.decrypt 做兜底补丁,避免个别站点登录脚本异常中断。

🚀 快速上手

1. 安装

前往 Chrome 应用商店 一键安装(推荐):

👉 钥栈 KeyDock · Chrome 应用商店详情页

也可以下载源码自行构建后「加载已解压的扩展程序」,详见 开发指南

2. 配置

  1. 点击工具栏的钥栈图标,打开 Popup,再进入 管理面板
  2. 项目管理 中新建项目:填写项目名、所属分组,配置 字段(账号、密码、备注……可自定义)与 环境(Host、Path 关键字)。
  3. 账号管理 或直接在登录页浮窗里 新增账号,按需标记默认账号。
  4. (可选)在 数据同步 配置 MinIO,实现多端共享同一份配置。

3. 使用

打开任意已配置环境的登录页 → 钥栈自动识别并弹出账号浮窗 → 点击填充 / 复制,或让默认账号自动填好。完成。✅


🖼️ 运行示例


登录页浮窗 & 输入框账号选择器

工具栏 Popup

项目管理

字段配置

环境配置

账号管理

数据同步(MinIO)

全局配置 & 主题

更多截图见 asset/run-example/:项目分组、字段配置模板、配置导入导出等。


🛠️ 开发指南

想参与共建或本地二次开发?欢迎 👏。详细文档收纳在 docs/ 下,按主题分册阅读:

常用命令(包管理器为 pnpm):

pnpm install      # 安装依赖
pnpm dev          # 启动 Vite 开发服务
pnpm check        # tsc --noEmit 类型检查
pnpm build        # 构建正式版(用于上架)到 dist/
pnpm build:dev    # 构建本地开发版([DEV] 名称 + 红色图标,便于与商店版区分)

提交前请至少跑通 pnpm checkpnpm build


🔐 安全与隐私

钥栈定位为「多环境登录助手」,非加密保险箱,请知悉本版本的安全边界:

  • 本地配置、导出 JSON、云端配置及 MinIO 连接信息均以明文形式存储
  • 敏感字段默认以 •••••• 隐藏,临时显示后 10 秒自动恢复
  • 账号辅助仅在你配置过的匹配页面生效;page-guard 仅在 /login 路径介入。
  • 是否启用 MinIO 完全由你决定;不启用即零外联,数据只留在本地浏览器。

请勿在公共 / 不受信设备上存放高敏感账号。


🤝 联系我们

钥栈是一个开源项目,欢迎 Issue、PR、Star 与建议 🌟


用 ❤️ 打造 · 基于 MIT 协议开源 · 钥栈 KeyDock

About

钥栈 KeyDock 是一款面向多环境 Web 系统的 Chrome 账号管理与登录填充插件。它默认使用 Chrome 本地配置,支持登录页账号浮窗、输入框账号选择器、字段自定义、JSON 导入导出和可选 MinIO 同步。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors