# Chrome多端口管理器 **Repository Path**: mrjkchen/chrome-port-manager ## Basic Information - **Project Name**: Chrome多端口管理器 - **Description**: Windows Chrome 独立账号与多端口管理器:批量启动、停止、打开网址与标签页管理,独立数据目录,本机 CDP 控制。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-19 - **Last Updated**: 2026-10-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Chrome 多端口管理器 在一个 Windows 桌面窗口中管理多套 Google Chrome:每个账号使用独立端口和数据目录,可以同时保持不同网站账号登录。 ## 使用 双击 `ChromePortManager.exe`。本机安装目录默认是 `D:\软件\Chrome多端口管理器`,桌面快捷方式为“Chrome多端口管理器”。无需安装 Python、Node 或第三方运行库,依赖 Windows 的 .NET Framework 4.8 与已安装的 Chrome。 1. 默认显示账号 1 / 9222 / `D:\ChromeProfiles\Account1` 与账号 2 / 9223 / `D:\ChromeProfiles\Account2`,兼容已有桌面快捷方式使用的数据。 2. 点击左侧账号,右侧点击“启动浏览器”。已运行时按钮变为“打开窗口”。双击账号也可以启动或打开对应窗口。 3. 在右侧输入网站地址,点击“打开网址”或按 Enter;未运行时自动启动该账号。点击“常用网站”可填入常用地址,然后手动登录。每个账号的数据目录不同。 4. 多账号操作:勾选左侧复选框,在底部确认目标数量后,点击“启动勾选”“停止勾选”或“打开右侧网址”。默认不勾选任何账号,避免误操作。 5. 新增账号时会自动分配未被配置/监听占用的端口和未使用的数据目录;填写名称和启动网址即可。已有登录目录可以填写原路径。校验失败会保留输入。`about:blank` 表示空白页。 6. 当前账号的标签页显示在右侧;可双击激活,也可选择后使用底部按钮或右键菜单激活、刷新、关闭。按 Ctrl / Shift 可多选标签。 7. “刷新勾选网页”会刷新勾选实例中的所有 HTTP/HTTPS 标签页;“停止勾选”会正常关闭对应实例的所有窗口,未保存的网页表单请先处理。已停止实例会跳过;重复批量启动也会跳过已运行实例。 8. 关闭管理器不会关闭 Chrome;下次启动管理器会重新检测仍在运行的账号。操作进行中显示进度,完成后报告成功/跳过/失败数量;错误保留在界面中,可继续处理其他账号。 左侧选中行决定右侧“当前账号”;复选框决定底部“批量操作”目标,目标数量始终可见。批量任务最多并发 3 个,降低瞬间资源占用。 快捷键:`Ctrl+N` 新增账号、`Ctrl+L` 输入网址、`F5` 检测状态。右键账号可复制启动命令、打开数据目录或移除配置。Chrome 程序路径设置收纳在右上角“设置”。 ## v1.1 图标与界面 蓝绿双窗口图标采用可维护的矢量设计,已嵌入 EXE / 窗口标题栏 / 桌面快捷方式。ICO 包含 16、20、24、32、40、48、64、128、256 九种尺寸;较小尺寸使用兼容 .NET Framework 的 DIB,256 尺寸保留 PNG。源文件 `assets/manager.svg`,Windows 导出器 `tools/BuildIcon.cs`。 ## 状态与故障 | 状态 | 含义 / 处理 | | --- | --- | | 未启动 | 点击启动后再打开网址 | | 运行中 | 已核对数据目录、监听 PID、端口,CDP 可用 | | 端口冲突 | 其他进程或其他 Chrome 目录占用端口;本工具不会关闭它,换一个空闲端口 | | 已开但端口未就绪 | 该数据目录的 Chrome 已在其他端口或无调试模式运行;正常关闭对应窗口后再启动 | | 连接未就绪 | 进程存在,但 Chrome 调试服务暂时无法响应;检查首次运行提示并重新检测 | 编辑、移除配置前先停止对应实例。移除配置只移除列表记录,不删除磁盘数据。 每个端口只是连接入口,真正隔离登录的是独立 `user-data-dir`。网址仍使用网站正常地址,不添加 Chrome 调试端口。网站自身的会话过期、扫码选择错误、同一开发者主体/应用权限和服务器端登录限制不由管理器改变;本工具不提供代理 IP、指纹伪装、账号注册、绕过验证或自动输入密码。 调试端口只接受本机连接。请仅让可信的本机工具使用这些端口。管理器不读取密码或真实认证 Cookie,也不把配置、网页内容或账号数据上传到仓库。 ## 配置与维护 - 管理器配置:EXE 同目录下的 `data/config.json`,首次保存设置时创建;写入使用临时文件和原子替换,保留 `.bak`。 - 配置损坏时显示路径并保留原文件,不自动覆盖。可以关闭管理器后,从 `.bak` 复制恢复到 `config.json`。 - 更新程序时替换 EXE;保留 `data` 目录和各 Chrome 账号目录。 - 操作消息仅显示在当前窗口内,不落盘。页面标题和网址只在界面内临时显示。 - 可选开发参数:`ChromePortManager.exe --config "D:\path\config.json"`。不建议普通用户修改配置文件,优先用界面。 ## 源码 / 构建 ``` src/Core.cs 配置验证、进程和端口匹配、本机 CDP 控制 src/Program.cs WinForms 管理器和账号配置窗口 assets/ SVG / PNG / 多尺寸 ICO tools/BuildIcon.cs 可复现图标导出器 tests/Tests.cs 配置、异常情况、独立 Chrome 集成验收 tests/UiTests.cs 窗口构造、图标兼容性、默认批量操作范围回归 build.ps1 系统 C# 编译器构建和测试 docs/validation.md 实测与边界 AGENTS.md 跨 AI 协作规范 ``` Windows PowerShell 中执行 `./build.ps1`。执行 `./build.ps1 -Test` 会创建两套新的临时 Chrome 目录和本地测试页,验证同时运行、Cookie/localStorage 隔离、目标标签页控制、关闭互不影响、持久数据重启保留;不使用现有网站账号。临时数据只保留在 Git 忽略的 `work/` 下。 无 NuGet 包、无第三方脚本服务,无常驻网页后台。CDP 请求有超时,启动/停止按已验证实例操作,不使用全局 taskkill。 协议依据:[Chrome 独立目录](https://www.chromium.org/developers/creating-and-using-profiles/)、[调试端口与非默认数据目录](https://developer.chrome.com/blog/remote-debugging-port)、[Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/)。 源码仓库:https://gitee.com/mrjkchen/chrome-port-manager