DevPortal Chrome 扩展 (Credential Matcher) v1.1
专为 DevPortal 开发的辅助工具,用于在浏览器侧边栏自动匹配并展示当前网站的相关凭据(账号/密码)。
✨ 功能特性
- 自动匹配:自动读取当前激活标签页的域名,从后端 API 获取对应的凭据信息。
- 双视图模式:
- 列表模式 (List):以卡片形式展示账号密码,支持点击直接复制。
- 文本模式 (Text):解析富文本描述,智能提取账号、密码、链接等敏感信息,支持高亮显示和点击复制。
- 现代化 UI:
- 固定头部,清晰展示所属项目/模块名称。
- 侧边栏 (Side Panel) 交互,不占用页面空间。
- 自动沉浸式体验:切换标签页时自动收起,保持专注。
- 全中文界面:操作指引和提示信息均已本地化。
📦 安装指南
由于本扩展是内部工具,暂未发布到 Chrome 商店,需通过“加载已解压的扩展程序”方式安装。
- 下载代码:确保你已经拉取了
DevPortal的完整代码。 - 打开扩展管理页:在 Chrome 地址栏输入
chrome://extensions/并回车。 - 开启开发者模式:打开右上角的 “开发者模式” (Developer mode) 开关。
- 加载扩展:
- 点击左上角的 “加载已解压的扩展程序” (Load unpacked)。
- 选择本项目中的
chrome-extension目录。
- 固定图标:安装完成后,建议将插件图标固定在浏览器工具栏,方便快速通过点击图标打开侧边栏 (Side Panel)。
📤 打包与发布
本项目已集成全自动打包与版本管理流程,只需一个命令即可完成版本更新与发布。
1. 执行打包命令
bash
pnpm extension:pack2. 交互式流程
脚本会引导你进行以下两步操作:
- 确认版本:脚本读取当前
manifest.json版本,你可以输入新版本号(如1.2)或直接回车保持不变。 - 自动归档:脚本会自动更新
manifest.json,清理无用文件,并生成以下两个文件到public/extension/目录:chrome-extension-v{version}.zip(版本存档)chrome-extension-latest.zip(最新版永久链接)
同时,脚本还会额外复制一份到 artifacts/extension/,方便本地归档与发版留存,而不会再把 zip 直接堆在仓库根目录。
3. 在线更新机制 (Zero Config)
插件内置了版本自检功能,当你将生成的文件部署到服务器后:
- 服务端:
public/extension/chrome-extension-latest.zip始终指向最新版。 - 自动检测:API 接口 (
/api/extension-version) 会自动读取服务器上的manifest.json版本。 - 无需配置:如果你未在系统配置中指定下载链接,API 会自动返回当前服务器的
latest.zip地址。 - 用户感知:当用户打开插件时,若发现服务器版本高于本地版本,会自动弹出更新提示,点击即可通过
latest.zip链接下载。
⚙️ 配置说明
默认情况下,扩展配置连接本地后端 API:
- API 地址:
http://localhost:3000/api/match-credentials
为避免接口在内网被随意调用,建议后端开启 API Key 校验,并在扩展里配置 Key。
如需连接远程服务器,请修改 chrome-extension/popup.js 文件顶部的配置:
javascript
const API_URL = "http://YOUR_REMOTE_SERVER_IP:3000/api/match-credentials";
const API_KEY = "YOUR_SHARED_KEY";🖥 使用方法
- 启动后端服务:确保 DevPortal 的 Next.js 后端服务已启动 (
pnpm dev)。 - 浏览目标网站:在浏览器中打开你需要查找凭据的网站(例如内网测试环境)。
- 打开侧边栏:点击浏览器工具栏上的扩展图标。
- 查看凭据:
- 侧边栏会自动滑出,并显示当前域名下的所有凭据。
- 点击 账号或密码的文本区域即可复制到剪贴板。
- 切换到 “文本” 标签页可查看更详细的备注信息。