简历与附件在多个平台反复上传,同一个人一天要重复几十次相同动作
项目概览
项目背景
这个项目包含两个代码库:一个用 TypeScript 写的图床(图片托管)服务,一个用 JavaScript 写的浏览器插件,用于在招聘平台上批量上传简历与附件。两个仓库最后一次提交都在 2025 年 8 月。
客户当时的状态
招聘场景的日常动作高度重复:同一个人要在多个平台投递或维护简历,每上传一次附件就要点一遍选文件、等一遍上传。动作本身不难,但一天做几十次就是纯消耗。这类重复动作适合交给工具,问题在于怎么交——直接对目标网站做改动既不可行,也不该那么做;而把简历托管到自己控制的服务上,又会带来存储与访问策略的选择。
我们的做法与取舍
第一个取舍是把文件托管单独做成一个服务,而不是让插件自己存。插件是短生命周期的东西,宿主站点一改版就可能失效,把数据放在插件里等于把数据放在了一个不稳定的载体上。
第二个取舍是用浏览器插件而不是脚本注入。插件是浏览器提供的正规扩展形态,权限边界清楚,安装与卸载由用户控制。代价是每个宿主站点的页面结构都要单独适配。
第三个取舍是如实说明插件类项目的固有风险:插件依赖目标网站的页面结构,对方改版就可能导致上传动作失效,需要跟进维护。这一点在交付时我们就跟客户讲清楚了,没有把它包装成「一次开发永久可用」。
系统怎么承载这条链路
图床服务负责文件的接收、存储与访问地址分发,用 TypeScript 实现,对外提供稳定的文件地址;浏览器插件负责在招聘平台页面上完成批量选取与上传的自动化,把用户的操作次数压下来。两者通过接口衔接——文件先进图床,插件再把地址提交到目标页面,职责不重叠。
交付状态与边界
两个代码库的最后一次提交都在 2025 年 8 月,目前没有新的更新。边界说明:图床服务承载的是文件的存储与访问,不承担内容的合规审查,上传内容的责任在使用方;浏览器插件依赖目标网站的页面结构,目标网站改版可能导致功能失效,这一点在交付时就已书面说明,后续适配属于维护范围;插件不绕过任何平台的账号与权限机制,使用的是用户自己的登录态。
项目信息
某招聘流程自动化项目
未披露
TypeScript / JavaScript / 浏览器插件
图床服务与浏览器批量上传插件
CHALLENGES
客户当时面对的现实
文件如果存在插件本地,宿主站点一改版数据就没有稳定载体
直接改动目标网站不可行,也不该那么做,需要正规的扩展形态
插件依赖目标平台页面结构,对方改版就可能导致功能失效
CAPABILITIES
我们交付的能力
插件类项目的风险要提前讲清楚
图床服务
以 TypeScript 实现的文件托管服务,负责接收、存储与访问地址分发,对外提供稳定的文件地址。
浏览器插件
以 JavaScript 实现的浏览器扩展,在招聘平台上完成批量选取与上传的自动化,压缩重复操作次数。
职责分离
文件先进图床,插件再提交地址到目标页面,存储与操作互不重叠。
风险如实说明
交付时明确告知:插件依赖目标网站的页面结构,对方改版可能导致失效,后续适配属于维护范围。
SCOPE
交付范围
以下范围按本项目实际交付内容与边界整理,不属于这次范围的部分一并列出。
已交付
- 图床服务(文件的接收、存储与访问地址分发)
- 浏览器插件(批量选取与上传自动化)
- 两者之间的接口衔接
- 插件失效风险的书面说明
不在本次范围
- 上传内容的合规审查:图床提供存储与访问能力,内容责任在使用方
- 目标招聘平台的账号与权限:插件使用用户自己的登录态,不绕过任何机制
- 目标网站改版后的适配时效:属于维护范围,具体响应按约定执行
ARCHITECTURE
分层技术架构
公开口径归纳为两层:服务层是 TypeScript 实现的图床;操作层是 JavaScript 实现的浏览器插件;两者通过接口衔接,职责不重叠。
存储服务层
提供稳定的文件载体与地址
浏览器操作层
把重复操作收敛成一次动作
接口衔接
文件与页面操作解耦,各自演进
DELIVERY
交付过程
分阶段推进,每个阶段都有可验收的产出,客户在早期就能看到实际效果。
重复动作梳理
拆解上传流程,确定可自动化的环节与人工判断的边界。
图床服务
实现文件的接收、存储与访问地址分发。
浏览器插件
插件在目标平台上完成批量选取与上传。
衔接与风险交底
打通图床与插件的接口,书面说明插件失效风险。
FACTS
可核验的交付事实
以下内容来自本项目实际交付物;未经验证的指标不予展示。
图床服务 + 浏览器插件
TypeScript 实现
JavaScript 实现
TRANSFER
这套做法适不适合你
案例的用处不是证明"我们做过",而是让你判断"在我们这种条件下能不能做成"。下面三句是我们对这一单的判断,写下来供你对照自己的情况。
适合什么情况
适合存在大量重复上传/提交动作、且动作发生在浏览器页面上的场景。
什么情况下别照搬
若重复量不大,做插件不划算;若目标是抓取或绕过平台限制,本项目的方式不适用。
如果要试,第一步做什么
先把重复动作流程拆开,标出可自动化的那一段。
RELATED SERVICES
相关服务
从实际业务问题出发,查看对应服务的适用场景、交付物与不含项;具体范围仍需单独确认。
FAQ
常见问题
以下是同类项目沟通中出现频率最高的问题,答案就是我们实际的做法。
为什么要把图床单独做成一个服务?
插件会不会违反平台规则?
平台改版了怎么办?
这套东西现在还在用吗?
做这类自动化工具第一步做什么?
本页最后更新:2026年9月24日