社区讨论 · 其他

WorkBuddy 别让它想,把入口焊死就行

周同学周同学10月28日2026/10/28 102 浏览

WorkBuddy 这类工具,我用了两个月,最大的体会是它的活动范围收得越窄越好用,别指望它多会规划。单人用收窄的是指令,多人共用收窄的是权限。

每月那批来源不同的表格还是得合,格式各写各的,最后要合成一张能看的东西。这块我交给 WorkBuddy,macOS 桌面版,Windows 应该差不多,不一定适用所有人。工作流本身不复杂。硬盘上建 monthly-in 和 monthly-out,来源表全拖进 in,文件名统一成 来源-日期.xlsx,短横线,别带空格和中文括号。打开 WorkBuddy,左边栏点 工作流,右上角 新建,选 文件夹批处理,输入输出目录分别选 in 和 out。任务指令框里当 shell 脚本写,三行:读哪些列,列名写全;重复怎么算,按订单号去重,保留日期最新的那条;输出文件名是什么。工作流设置里把 允许自动补充步骤 关掉,运行前确认 留着。这套跑下来大概十二分钟,人工占五分钟,剩下时间它在跑。

这些是单人用的前提。共享工作区之后问题就来了。

我们三个人共用一个工作区。工作流刚建好时,我觉得方便,把权限设成了 可编辑,想着谁看到问题谁改。结果第二个月,有人觉得去重那行“太死”,顺手改成按整行去重,输出直接多出一批重复订单。那天对账对到晚上,查了半天才定位到指令被改过。从那以后我把工作流设成 仅创建者可编辑,另外两个人是 可运行。他们能点运行、能看输出,改不了指令。生产流和实验流得分开,跟信不信任没关系。要改模板,复制一份工作流,改完跑通再切换,别直接动正在用的那条。

权限这块,我现在的做法是拆成几层。

先说工作流本身。生产用的那条只给创建者编辑,其他人一律 可运行。运行者能触发、能看结果,但看不到“改指令”的入口。有人需要调参数,就复制一条临时工作流给他,命名带 -test,跑完对完数再决定要不要合回生产流。这样手一抖删了去重那行,影响的也只是副本。

目录这块,monthly-in 和 monthly-out 必须分开,不同盘更好。

我之前图省事把 out 设成 in 的子目录,第二次跑把上次的输出也当输入读了,数据重复一倍,查了半小时才发现。共享之后这个问题更危险:别人往 in 里补表,如果 out 也在里面,下一次运行就会把历史输出再吃一遍。现在 in 只放来源表,out 按批次建子目录,历史输出不覆盖。

运行前确认我留着,因为输出会覆盖 out 目录里的同名文件。跑之前扫一眼步骤列表,确认没多出奇怪的东西,也确认指令还是那三行。共享工作区里这一步不能省,你永远不知道上一个人点过什么。

版本也得管。模板这东西总会改,字段加了、口径变了,历史输出就对不上。我的做法是工作流名带版本号,比如 月度合并-v3,旧版不删,权限改成只读。每次改模板先复制再改,跑通后把旧版锁住,新版给运行者。输出目录也带日期和版本,这样回头查历史数据,能对上当时用的是哪版工作流。变更记录写在工作流描述里,谁改的、改了什么、为什么改,三行就够,别指望聊天记录。

还有两个坑跟权限边界有关。文件名带空格的那几张表它直接跳过,日志里也不报错,是后来对行数才对出来的。所以现在来源表进 in 之前,文件名规范是硬要求,谁拖进来谁负责改名。另一个是 备注 那一列它经常漏,跟我之前用别的工具一个毛病,输出得自己过一遍。这步没法交给运行权限,只能留给最后核对的人。

新人进工作区,我只给 可运行,不给编辑。需要看历史输出就给查看权限。交接的时候给工作流副本,不给生产流的编辑权。听着有点严,但共享工作区里,跑错一次之后没人敢用输出数,这比工具订阅费贵多了。

模板改动我现在都留版本,旧版只读、新版另起一条,跑通再切换。共享工作区的权限就拆到这几层,目前够用。

2 条回复

?
Ctrl + Enter 快速回复
黑产克星
黑产克星10月28日

out 设成 in 子目录把上次输出当输入这点太真实,我们风控跑批也踩过,后来按批次分目录才压住重复率。

沈老师
沈老师10月29日
回复 黑产克星

按批次分目录确实关键,我补一点:out 在 in 里时第二次跑会把历史输出当输入,数据直接翻倍,跟你们重复率一个道理。