local-resume-autofill
by LKRCharon
README.md
# Local Resume Autofill
本地优先、隐私边界明确的 Edge/Chrome 简历自动填写扩展。简历使用口令派生密钥加密,页面适配器是可审查的声明式 JSON,Codex 等 Agent 只能处理脱敏页面结构和合成测试数据。
> [!WARNING]
> 当前版本是开发者预览。腾讯、阿里、字节、京东、美团、拼多多、快手适配器均为 `fixture-verified`,尚未在真实投递账号上完成逐站填写验证。扩展只保存附件的本地路径引用,不读取或上传文件,也永远不会自动提交申请。


## 核心边界
- 生产扩展仅申请 `storage`、`activeTab`、`scripting`。
- 没有 `<all_urls>`、常驻 content script、遥测、云同步或远程规则。
- 简历使用 PBKDF2-SHA-256(310,000 次)与 AES-256-GCM 加密。
- PDF/Word 简历、成绩单、作品集等附件只保存“名称 + 本地路径”,与其他资料一起加密。
- 口令不保存;会话密钥仅放在 `chrome.storage.session`,浏览器重启后失效。
- 页面脚本无法通过 `window.postMessage` 或外部消息读取保险库。
- 每个网站首次填写前按 exact hostname 确认授权。
- 只发送当前页面计划使用的字段,不把完整简历交给 content script。
- 附件路径不进入字段匹配、填写计划、脱敏捕获或 MCP;弹窗只在用户点击时复制路径。
- 填写结束后由用户检查并手动提交。
完整边界见 [SECURITY.md](SECURITY.md) 和 [架构说明](docs/architecture.md)。
## 安装开发版
需要 Node.js 20+ 和 Microsoft Edge 或 Google Chrome。
```powershell
npm ci
npm run check
npm run build
```
1. 打开 `edge://extensions` 或 `chrome://extensions`。
2. 启用“开发人员模式”。
3. 选择“加载解压缩的扩展”,指向 `dist/extension`。
4. 打开扩展的“简历与权限”,创建保险库并录入资料。
## 使用
1. 在“简历与权限”的“附件位置”中添加附件名称和 Windows 绝对路径,例如 `D:\Documents\resume.pdf`。
2. 在招聘表单页点击扩展图标,再点击“预览”,检查字段引用。
3. 点击“填写”。新 hostname 会先显示授权确认。
4. 需要附件时,在弹窗的“附件位置”中复制对应路径,将它粘贴到系统文件选择器后人工确认文件。
5. 检查页面结果,手动处理验证码和提交。
浏览器不会向网页暴露所选文件的真实绝对路径,因此路径需要手动录入。扩展不会检查文件是否存在,也不会打开资源管理器或操作 `<input type="file">`。
“捕获”会导出不含输入值、选中项、附件名或截图的 `*.capture.json`。捕获文件仍可能包含页面标签和结构,默认不会进入 Git。
## 当前适配器
| 站点 | Hostname | 驱动 | 验证状态 |
|---|---|---|---|
| 腾讯招聘 | `join.qq.com`, `careers.tencent.com` | Native, TDesign | `fixture-verified` |
| 阿里巴巴招聘 | `talent.alibaba.com`, `campus.alibaba.com` | Native, Ant Design | `fixture-verified` |
| 字节跳动招聘 | `jobs.bytedance.com`, `job.bytedance.com` | Native, Arco | `fixture-verified` |
| 京东招聘 | `campus.jd.com`, `zhaopin.jd.com` | Native, Element | `fixture-verified` |
| 美团招聘 | `zhaopin.meituan.com`, `campus.meituan.com` | Native, MTD | `fixture-verified` |
| 拼多多招聘 | `careers.pinduoduo.com`, `pdd.zhiye.com` | Native, Ant Design | `fixture-verified` |
| 快手校招 | `campus.kuaishou.cn` | Native, Ant Design | `fixture-verified` |
状态含义和新增适配器流程见 [适配器开发](docs/adapter-authoring.md)。
## 连接 Codex 或其他 Agent
本项目提供本地 STDIO MCP server。它只能访问仓库中的 adapters、脱敏 captures 和 fixtures,不能读取浏览器保险库、简历值或附件路径。
```powershell
npm run build
Copy-Item .codex/config.toml.example .codex/config.toml
codex mcp list
```
项目级 MCP 配置需在受信任仓库中使用。Codex 的 STDIO、项目级配置和客户端共享行为以 [OpenAI 官方 MCP 文档](https://learn.chatgpt.com/docs/extend/mcp?surface=cli) 为准。其他支持 MCP 的 Agent 可以连接同一个 `dist/mcp/server.js`。
详细工具和确认流程见 [MCP 联动](docs/mcp.md)。
## 验证
```powershell
npm run typecheck
npm run test:unit
npm run test:integration
npm run test:e2e
npm run audit:extension
```
当前回归范围:
- 44 个单元测试:保险库迁移、附件路径校验与复制、篡改检测、脱敏、唯一 selector、DOM 扫描与驱动、7 个站点 fixture、MCP 路径和两阶段安装。
- 1 个真实 STDIO MCP 集成测试:握手、工具发现、适配器枚举和 fixture 执行。
- 2 个 Edge 扩展端到端测试:MV3 加载、扫描脱敏、附件路径密文/显示/复制、file 控件隔离、页面填写、hostname 授权、无提交和零外部 HTTP(S) 请求。
- 生产包静态审计:权限、常驻注入、页面消息桥、网络 API 和 content-script 存储访问。
## 开发
- [架构与威胁模型](docs/architecture.md)
- [v0.4.0 发布前安全自审](docs/2026-08-25_security-local-resume-autofill-v0.4.0-report.md)
- [适配器开发](docs/adapter-authoring.md)
- [MCP 联动](docs/mcp.md)
- [贡献说明](CONTRIBUTING.md)
- [版本记录](CHANGELOG.md)
项目采用 [MIT License](LICENSE)。第三方招聘网站名称仅用于兼容性描述,本项目与这些公司无隶属或背书关系。
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues