靠Claude Code写了登录助手AuthDash:一键自动登录,每天节省10分钟——这才是AI编程的降本增效

AuthDash

本地高效登录助手 · MVP 版

AuthDash 是一个运行在 localhost:8000 的极简 Web 面板,帮你一键自动填写网站登录凭据。它利用 Playwright 启动真实浏览器,自动填入账号密码,遇到验证码时你可以手动介入操作。


目录


快速开始

前置要求

  • Python 3.10+
  • Google Chrome 或 Chromium 浏览器

1. 克隆 / 下载项目

bash 复制代码
git clone https://github.com/your-username/AuthDash.git
cd AuthDash

2. 创建虚拟环境(推荐)

bash 复制代码
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate

3. 安装依赖

bash 复制代码
pip install -r requirements.txt

4. 安装 Playwright 浏览器

bash 复制代码
playwright install chromium

5. 配置凭据

bash 复制代码
cp .env.example .env

编辑 .env 文件,填入你的真实账号和密码:

ini 复制代码
GITHUB_USER=your_actual_username
GITHUB_PASSWORD=your_actual_password

6. (可选)调整 config.json 选择器

config.json 中的 CSS 选择器是示例值 ,某些网站可能需要你根据当前页面结构调整。详见 配置指南。

7. 启动

bash 复制代码
python main.py

打开浏览器访问 http://localhost:8000 ,你会看到:


配置指南

config.json --- 网站定义

config.json 定义所有网站条目,不能包含明文密码。每个条目的结构:

json 复制代码
{
  "id": "github",
  "name": "GitHub",
  "url": "https://github.com/login",
  "selectors": {
    "username": "#login_field",
    "password": "#password",
    "login_button": "input[type=\"submit\"][value=\"Sign in\"]"
  }
}
字段 必填 说明
id 是 唯一标识符,用于关联 .env 凭据(自动转为大写)
name 是 面板上显示的名称
url 是 登录页面的完整 URL
selectors.username 推荐 账号输入框的 CSS 选择器
selectors.password 推荐 密码输入框的 CSS 选择器
selectors.login_button 可选 登录按钮的 CSS 选择器。留空则填表后不自动点击

如何获取选择器:

  1. 在浏览器中打开登录页面
  2. 右键账号输入框 → 检查(Inspect)
  3. 找到合适的唯一标识(id、name 或独特的 CSS class)
  4. 填入 selectors 对应字段

.env --- 凭据存储

.env 文件存储真正的账号和密码,命名规则:

复制代码
{SITE_ID_UPPER}_USER=xxx
{SITE_ID_UPPER}_PASSWORD=xxx

例如 config.json 中 id: "github" 对应:

ini 复制代码
GITHUB_USER=my_account
GITHUB_PASSWORD=my_password

添加新网站

以添加第 11 个网站 "Stack Overflow" 为例:

步骤 1:在 config.json 末尾追加

json 复制代码
{
  "id": "stackoverflow",
  "name": "Stack Overflow",
  "url": "https://stackoverflow.com/users/login",
  "selectors": {
    "username": "input[name=\"email\"]",
    "password": "input[name=\"password\"]",
    "login_button": "button[type=\"submit\"]"
  }
}

步骤 2:在 .env 中追加

ini 复制代码
STACKOVERFLOW_USER=your_email@example.com
STACKOVERFLOW_PASSWORD=your_password

步骤 3:重启后端

按 Ctrl+C 停止,然后重新运行 python main.py。

未来版本会加入"热重载 config.json"功能,届时无需重启。


项目结构

复制代码
AuthDash/
├── main.py           # FastAPI 后端 + Playwright 自动化逻辑
├── config.json       # 网站定义(无密码!)
├── .env              # 凭据文件(已加入 .gitignore)
├── .env.example      # 凭据模版(供参考)
├── requirements.txt  # Python 依赖
├── .gitignore
├── README.md
├── templates/
│   └── index.html    # Web 面板
└── static/
    └── style.css     # 面板样式

安全说明

  1. .env 文件不会提交到 GitHub --- .gitignore 已明确禁止
  2. 密码仅存储在本地 --- 不经过任何网络传输(后端在 localhost 运行)
  3. Playwright 完全在本地 --- 浏览器在本地启动,凭据只填入本地浏览器
  4. 建议为本项目创建独立的操作系统用户 或使用虚拟环境
  5. 如果与他人共用电脑,建议使用完毕后关闭浏览器和终端

GitHub 托管注意事项

推送前请确认:

  • ✅ .env 不在 Git 跟踪中(执行 git status 检查)
  • ✅ 没有在 config.json 或代码中硬编码密码
  • ✅ __pycache__/、.venv/ 等目录已被 .gitignore 排除

初始化 Git

bash 复制代码
git init
git add .
git commit -m "feat: Init AuthDash MVP"
git remote add origin https://github.com/your-username/AuthDash.git
git push -u origin main

技术栈

组件 技术
后端框架 FastAPI (Python)
浏览器自动化 Playwright for Python
凭据管理 python-dotenv
前端 原生 HTML + CSS (Jinja2)
运行端口 localhost:8000

相关推荐
古法老登瞎折腾4 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
康小汪4 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
琥珀.4 小时前
mysql中json数组转列表查询
linux·运维·服务器
dawnsky.liu5 小时前
在 RHEL 中使用 goose 实现远程主机管理
linux·运维·ai
金銀銅鐵6 小时前
[Java] 用 GUI 展示 EnumMap 增删键值对时的内部变化
java·后端·ai编程
KaneLogger6 小时前
magpie:让薅到的 AI 羊毛物尽其用
人工智能·ai编程
Linux运维技术栈6 小时前
CVE-2026-91403 高危漏洞修复:Rocky Linux 9 多版本 JDK 环境清理实操
java·linux·运维
云上先途17 小时前
企业 AI 服务部署周期多久,会不会影响原有业务运转?
大数据·运维·人工智能
码哥字节8 小时前
spec-superflow 2.0:小任务快跑,复杂任务不漂移
ai编程
执伞人ONLY8 小时前
AI知识库自动化知识加工没做对,人工整理永远追不上知识产生
运维·人工智能·自动化