RPA自动化降本实录:我写了一套店群系统,帮工作室砍掉80%人力成本

我是林焱RPA,一个靠代码帮老板“减人”的独立开发者。
去年底,一个做拼多多店群的老哥提了两瓶茅台来找我,
把财务报表往桌上一摊:
运营团队14人,月薪加社保十二万,
工位、水电、管理费再加四万,
每月硬支出十六万。
他手里两百六十多家店,
每天的工作就是切号、登录、上架、对账,
人困马乏,错误频出,
封店罚款还得另算。

他说:“我不是在开店,是在开福利院。
你能不能做个软件,
把这些重复到恶心的事全自动了,
我不想再养那么多人了。”

我花了三个半月,
从Python底层搭了一套 Alien 店群自动化管理系统
用影刀RPA搭流程,
PyQt6做桌面UI,
打包成双击即用的exe。
上线稳定运行两个月后,
他的运营团队从14人裁到2个兼职,
月度人力支出从十六万压到两万出头,
砍了将近九成。
店铺存活率反而从70%飙到接近100%。

今天这篇复盘,
我就把“省人省钱”这件事,
从环境隔离、批量配置、自动化流程到并发调度,
逐块拆开讲清楚。
没有高深理论,
全是一线趟坑换来的真金白银。


picture.image

一、14个人的工作室,80%的工作都是机械动作

picture.image 我进到那个工作室的第一天,
搬了把椅子坐在角落,
观察了整整一天。
14个人,分成三组,

picture.image 一组管食品店,一组管百货店,
还有一组专门养新店。

picture.image 早上8点半,全员开机,
打开一排指纹浏览器,
对着Excel表格挨个登录店铺。
掉线的重新输密码,

picture.image 代理不通的去后台切IP,
Cookie过期的清理了再登。
光“切号验号”这个环节,
14个人里有6个是从早上做到中午的。

picture.image 下午1点开始铺货上架,
从Excel复制标题、价格、库存、图片链接,
粘贴到拼多多后台,
一个商品快则两分钟,慢则五分钟,
每天两百多个店要上近千个商品,
7个人从下午干到晚上,
中间几乎没停。

晚上还要做活动报名、领券、回消息、对账。
一天下来,所有人都在忙,
但80%的动作是重复的、机械的、毫无创造力的。
更致命的是,
这种工作枯燥到反人性,
新人培训两周刚上手就想跑,
老板几乎每个月都在招人。

我算了一笔账:
如果能把环境配置、切号、上架这些纯操作交给软件,
人只做异常处理和策略决策,
人力至少能砍掉八成。
而且软件不会手抖串号,
不会漏掉活动,
不会因为疲劳被封店。

带着这个目标,我开始搭建Alien系统。


二、环境管理中心:一口吃掉“配置”和“切号”两个岗

我砍下的第一刀,
对准了最占人的两个环节:环境配置和切号。
在这个工作室里,
专门有3个人负责新店初始配置,
还有6个人每天花大量时间切窗口、验登录。
Alien的 “环境管理中心”
直接把这两块吞掉了。

2.1 从手动配一天,到拖个Excel就完事

以前每开一家新店,
运营要手动打开指纹浏览器,
填代理IP、端口、账号密码,
设置时区、语言、屏幕分辨率,
还要单独导入Cookie,
搞完一个店至少15分钟。
一百个新店,三个人要忙一整天,
还容易填错参数导致封店。

在Alien里,
我设计了一个 批量导入模板
老板下载一个Excel,
按列填入店铺ID、账号、密码、代理IP,
然后直接拖进软件窗口。
后台就会调用环境工厂,
为每个店铺自动创建独立的磁盘文件夹,
随机生成指纹参数,
分配代理,
一百个新店的环境,
十分钟全部就绪。
这3个配置岗的人力,直接归零。

2.2 物理隔离,让“切错号”成为历史

那6个负责切号和验登录的运营,
每天最怕的就是手抖。
十几个长得几乎一样的浏览器窗口,
切来切去,错一次就可能引发关联封店,
几个店连带遭殃。

Alien的环境管理中心,
从底层杜绝了这种可能。
每个店铺的环境,
都是一个完全独立的物理文件夹
里面存着浏览器缓存、Cookie、LocalStorage、
指纹配置、代理信息。
我用工厂类动态生成这些目录,
保证任意两个环境绝不交叉。
启动浏览器时,
强制挂载 --user-data-dir 指向独享路径,
连GPU着色器缓存都物理分开。
这意味着,一个环境就是一个独立的“虚拟电脑”,
它只能登入它自己的店铺,
想串号都串不了。

下面是创建独立环境的核心类,
它让每个店铺都住进了独栋别墅:

import uuid, json, random
from pathlib import Path

class AlienEnvironment:
    """为每个店铺创建物理隔离的独立运行环境"""
    def __init__(self, shop_id, proxy, geo):
        self.shop_id = shop_id
        self.env_id = f"env_{shop_id}_{uuid.uuid4().hex[:8]}"
        self.root = Path(f"./envs/{self.env_id}")
        self.root.mkdir(parents=True, exist_ok=True)

        # 独立浏览器数据目录,物理隔离核心
        self.browser_data = self.root / "browser_data"
        self.browser_data.mkdir(exist_ok=True)

        # 随机化指纹,防止批量同特征
        self.fingerprint = {
            "screen_width": random.choice([1920, 1366, 1536]),
            "screen_height": random.choice([1080, 768, 864]),
            "timezone": geo.get("tz", "UTC"),
            "language": geo.get("lang", "en-US"),
            "webgl_vendor": random.choice(["Google Inc.", "Intel Inc."]),
            "fonts": random.sample(["Arial","Verdana","SimSun","Microsoft YaHei"], 3)
        }
        self.proxy = proxy

        with open(self.root / "config.json", "w") as f:
            json.dump({
                "proxy": proxy,
                "fingerprint": self.fingerprint
            }, f, indent=2)

有了这套物理隔离,
你要操作哪个店,
就在环境卡片上双击,
弹出一个带完整指纹的独立浏览器,
用完关闭,资源自动回收。
那6个负责切号的人,
发现自己的工作被一个“双击”彻底取代了。

2.3 分组管理与状态监控,一眼看完三百店

Alien的环境管理中心,
左侧是自定义分组树,
“食品店”、“百货店”、“美区TK”,
右侧是环境卡片流,
每张卡片实时显示代理IP、地区、指纹版本,
还有绿红状态灯。
绿灯代表正常,红灯代表代理断了或登录失效。
运营只需扫一眼,
就知道哪些店需要关注,
不用再到几十个窗口里翻找。

光这一套环境管理,
就直接干掉了9个纯操作岗——
3个配置,6个切号。
剩下5个人,
我们再用自动化流程进一步压缩。


三、自动化编排流:把剩下的运营从“操作工”变成“监督员”

环境稳了,
下一步就是让店铺自动干活。
店群的日常任务,
无非是领券、签到、做活动、上架、回消息。
这些完全可以用自动流程来跑。
我选择让影刀RPA充当流程设计器,
Alien系统做底层执行和资源调度。

3.1 多对多匹配,一拖搞定

在Alien的 “自动化编排流” 界面,
上方是影刀搭好的流程模板,
比如“拼多多批量上架”、“TikTok活动全自动”。
下方是环境列表。
老板勾选一个流程,
再勾选要执行的环境,
设置一个最大并发数,比如22,
点击开始,
系统就会自动完成多对多匹配,
同一个流程分发到几十个独立环境里同时跑,
每个店铺在自己的独栋里干活,
互不干扰。

3.2 并发调度与资源回收:无人值守的基石

并发跑得稳不稳,
直接决定能不能省下盯屏幕的人力。
我第一次压测时,
开了30个并发窗口跑上架,
十分钟后内存从35%飙到98%,
服务器直接卡死。
查日志发现,
每个窗口关闭后,
浏览器驱动子进程还赖在后台,
一个吃300多兆内存,
30个泄漏近10G。
这就是典型的“资源没回收”,
逼得人必须半夜盯着。

我重写了调度器,
在任务结束的 finally 块里,
强制扫描系统进程,
把跟这个环境ID相关的所有进程全杀掉。
下面这版调度核心,
用线程池卡住并发上限,
实现了稳定无人值守:

import psutil
from concurrent.futures import ThreadPoolExecutor, wait, FIRST_COMPLETED
from queue import Queue

class AlienScheduler:
    """槽位式并发调度器,强制进程回收"""
    def __init__(self, max_workers=22):
        self.max_workers = max_workers
        self.queue = Queue()

    def add_batch(self, envs, flow):
        for env in envs:
            self.queue.put((env, flow))

    def run(self):
        with ThreadPoolExecutor(max_workers=self.max_workers) as pool:
            futures = set()
            while not self.queue.empty() or futures:
                while len(futures) < self.max_workers and not self.queue.empty():
                    env, flow = self.queue.get()
                    futures.add(pool.submit(self._execute_with_cleanup, env, flow))

                if futures:
                    done, futures = wait(futures, return_when=FIRST_COMPLETED)

    def _execute_with_cleanup(self, env, flow):
        try:
            AlienFlowRunner(env).execute(flow)
        finally:
            for proc in psutil.process_iter(['cmdline']):
                try:
                    if proc.info['cmdline'] and env.env_id in str(proc.info['cmdline']):
                        proc.kill()
                except:
                    pass

这版上线后,
22窗口并发,
内存稳定在60%以内,
可以连续跑好几天不崩。
夜班盯屏幕的岗位,
直接被砍掉了。

3.3 傻瓜式拖拽,剩下的运营只做两件事

留下的运营,
工作内容彻底变了。
以前她们手动复制粘贴上架,
现在只需在影刀里搭好流程,
导入Alien,绑定环境,设好并发数,
点执行。
剩下的时间,
她们只做两件事:
看看监控面板上有没有红色异常方块,
偶尔处理一下验证码。
从“操作工”变成了“监督员”,
而且一个人就能监督近三百个店。

实际跑起来的场景:
拼多多批量上架,
以前7个运营干一下午,
现在Alien并发20,
一个晚上近千个商品全上完。
人力成本就是这样一层层被削掉的。


四、真实账本:从16万到2万,砍掉近九成人力成本

Alien系统稳定运行两个月后,
那个老板给我拉了一张前后对比表。
数据比任何技术描述都有说服力。

实施前(月均):

  • 运营团队14人,月薪+社保:12万
  • 管理、工位、水电:4万
  • 代理IP等工具费用:2万
  • 人工失误封店损失:约3万(波动)
  • 月总运营成本约21万

实施后(月均):

  • 保留2人(兼职监控异常):1.5万
  • 管理及基础设施(远程为主):0.5万
  • 代理IP(整合优化):1万
  • 封店损失:几乎为零(环境隔离彻底)
  • 月总运营成本降至3万左右
  • 实际每月节省约18万,降幅超过85%

更关键的是,
店铺存活率从70%提升到接近100%,
因为再没有出现过环境关联。
老板把省下的钱投入开新店和选品,
三个月后店铺数从260家扩张到500家,
利润翻了两倍。
他说:“以前我觉得养人是必须的,
现在发现,
软件比人稳定,比人快,还不闹情绪。
我只需要两个聪明人做决策就够了。”


五、工程封装:让老板双击exe,直接告别高人力成本

技术再牛,
如果需要客户装Python、配环境,
那一切都是白扯。
我的交付标准只有一条:双击exe就能用

5.1 PyQt6 极简界面

我用PyQt6手写了整个GUI,
分组树、环境卡片流、流程编辑区、实时日志,
全在一个窗口里。
配色沉稳,按钮有状态反馈,
执行时卡片有呼吸灯,
出错变红并一键定位日志。
老板第一次打开,
自己摸索十分钟就上手了,
培训成本几乎为零。
这也是降本的一部分——
连学习成本都帮你省了。

5.2 黑盒打包与安全授权

我用PyInstaller把Python环境、
浏览器内核、影刀流程解析器、指纹库,
全部打成一个exe,
客户拿到手,拷到电脑上双击就能打开。
授权验证在GUI引导页完成,
绑定机器码,安全又简单。
这意味着,
老板拿到的是一个完整的商业产品,
而不是需要技术员维护的半成品。

交付后,
那个老板几乎没找我售后,
因为系统太稳了。
他自己又买了台服务器复制了一套,
把新店也纳入了自动化。
他的运营工作室,
以前挤满十几个人,
现在安安静静,
只有两台服务器的风扇在转,
近三百个店铺在自动运转。
他终于在晚上十点前关手机睡觉了。


六、写在最后:降本不是目的,释放人才是

我经常在凌晨维护完代码,
看着Alien控制台上一排排绿色的“执行成功”,
想起那个曾经被14个人挤得满满当当的工作室,
现在只剩两个人偶尔看下屏幕,
老板终于有时间去跑供应链、看新品,
而不是天天盯着员工别切错号。

很多人误解自动化,
觉得它是抢人饭碗。
但真正好的自动化,
是让机械的事交给机器,
让人去做人该做的事——
选品、策划、创意、决策。
那个老板把省下来的运营,
一部分转去做内容和小店精细化运营,
员工工资反而涨了。
这才是良性的降本增效。

我是林焱RPA,
还在继续迭代Alien,
下一步准备做分布式多机调度和智能异常预警,
让上千个店铺也能高效运转。
如果你也在做店群,
或者被高人力成本和低稳定性折磨,
欢迎在评论区交流。
用底层代码,
把一群人从重复劳动里解放出来,
这是我作为一个独立技术人的骄傲。

本文所有代码均为脱敏后的工程片段,
完整架构设计与商业合作欢迎私信。
技术最有温度的时刻,
是让人终于能活得像人。

0
0
0
0
评论
未登录
暂无评论