Feishu Evolver Wrapper:进化循环的飞书管家,安全等级 D

Feishu Evolver Wrapper 是 capability-evolver 的飞书外挂:把原本静默运行的进化循环接上飞书,用富卡片把成功率、周期数、运行时长、趋势推到群里,再配一个每 10 分钟巡查一次的守护进程。它拿了办公榜第 1、281.8k 安装,但同时也拿到了 CLS 的 D 级(危险)评级——这是本榜单里少见的组合。

整包 62.7 kB,版本 v1.8.0,index.js 一个文件就占了 83.8 kB(未压缩),lifecycle.js 33.5 kB,report.js 18.9 kB。体积说明它是真在干活的重型封装,而不是薄薄一层胶水。这也正是它风险偏高的原因:代码越多,可出问题的地方越多。

百度网盘下载:https://pan.baidu.com/s/14N6F-FpWpC0Dwan_RsA0TQ?pwd=oyhr(提取码:oyhr)

通过网盘分享的文件:autogame-17-feishu-evolver-wrapper-1.8.0.zip
链接: https://pan.baidu.com/s/14N6F-FpWpC0Dwan_RsA0TQ?pwd=oyhr 提取码: oyhr 复制这段内容后打开百度网盘手机App,操作更方便哦

一、基本信息

项目 内容
技能名称 Feishu Evolver Wrapper(feishu-evolver-wrapper)
维护方 autogame-17(个人开发者)
定位 capability-evolver 的飞书集成封装层(生命周期管理 + 卡片报表)
版本 v1.8.0
社区数据 安装 281.8k · 下载 68.7k · 办公榜 #1
安全认证 ⚠️ CLS 评级 D 级(危险),2026-07-10
运行环境 Node.js + 飞书 SDK,依赖 capability-evolver 本体
核心入口 index.js、lifecycle.js、visualize_dashboard.js
包体大小 整包 62.7 kB(index.js 83.8 kB、lifecycle.js 33.5 kB)
下载安装 autogame-17-feishu-evolver-wrapper-1.8.0.zip(网盘,提取码 oyhr)
标签 gep、evolution-algorithm、feishu-integration、daemon-management、monitoring

二、它解决什么问题

capability-evolver 的问题不是能力不够,而是「看不见」。它扫描日志、定位问题、生成补丁、执行修复,整个过程在后台静默跑完。跑成功了没人知道,跑失败了也没人知道——直到几天后你发现某个服务慢了,才回头看日志。

这种「黑箱自动化」在个人环境里还能忍,一旦放到团队场景就不行了。团队需要三样东西:进度可见、异常可告警、历史可回溯。飞书是国内团队最常用的协作工具,把这三样东西推到飞书里,是最省事的路径。

Feishu Evolver Wrapper 做的就是这件事:注入 EVOLVE_REPORT_TOOL 环境变量,把进化过程中的指标打包成飞书富卡片,按周期推送。同时补上了一个原版没有的能力——进程守护。

它的定位可以概括为:给一个沉默的自动修复引擎,装上一块仪表盘和一个看门人。

三、核心功能

3.1 进化循环生命周期管理

lifecycle.js 提供四个动作,覆盖守护进程的完整生命周期:

动作 命令 行为
start node lifecycle.js start 拉起进化循环,写入 pid 文件
stop node lifecycle.js stop 优雅停止,清理运行状态
status node lifecycle.js status 输出运行状态、pid、运行时长、最近周期
ensure node lifecycle.js ensure 幂等检查:没跑就拉起,卡住就重启

ensure 是核心。它被注册成 OpenClaw 的 Cron 任务 evolver_watchdog_robust,每 10 分钟执行一次。相比直接用系统 crontab,这个方案的好处是日志统一、配置跟着 Agent 走、不会在容器重建后消失。

3.2 飞书富卡片报表

卡片内容设计得比较克制,一眼能看完的关键指标都在这:

  • 成功率:最近周期的成功比例,按 80% / 50% 两档染色,绿橙红三色。
  • 总周期数:累计跑了多少轮进化。
  • 运行时长:进程 uptime,自动格式化成 s / m / h。
  • 趋势:把最近事件分前后两半对比,算出 up / down / stable 三档。
  • 意图分布饼图:Innovate(创新)、Repair(修复)、Optimize(优化)三类的占比。
  • 异常告警:有错误时卡片头部变红,并把错误信息放到最上方。

饼图那块用了 VChart 规格,说明它是认真做过可视化,而不是把数字堆在文本里。对需要长期盯盘的人来说,趋势箭头和颜色比绝对值更有用。

3.3 仪表盘与历史导出

visualize_dashboard.js 从 assets/gep/events.jsonl 读历史事件,生成 Markdown 版仪表盘,可以直接贴进文档或周报。export_history.js 负责把原始历史导到飞书文档,方便长期归档。

这两个能力的价值在复盘。当你想回答「过去一个月进化系统到底改了什么、效果如何」时,靠翻 jsonl 是不现实的,靠卡片截图也不完整。生成一份结构化报告是最实际的答案。

3.4 健康检查与自修复

check_health.js、self-repair.js、cleanup.js 是一组辅助脚本:检查进程状态、尝试自愈、清理临时文件。skills_monitor.js 监控技能目录变化,weekly_insight.js 生成周报摘要。功能铺得很全,这也是它体积大的原因。

四、真正有价值的地方

把「静默」变成「可见」。这是它最核心的贡献。一个能自我修改代码的系统,如果过程不可观测,本质上是不敢用的。飞书卡片把成功率、趋势、异常推到人眼前,至少让「要不要介入」变成一个有依据的判断。

watchdog 用对了地方。进化循环是长驻进程,最怕的就是悄悄死掉。每 10 分钟 ensure 一次,配合幂等设计,能覆盖大部分崩溃和僵死场景。用 OpenClaw Cron 而不是系统 crontab,容器化环境下更稳。

零侵入的封装思路。它是 wrapper,不改 evolver 核心逻辑,只通过环境变量注入报告能力。这意味着上游升级时,它大概率还能用——这比 fork 一份改代码要聪明得多。

指标选得准。成功率、周期数、趋势、意图分布,四个指标覆盖了「跑得好不好」和「在往哪个方向跑」。没有堆一堆好看但没用的数字,这一点比很多监控面板强。

事件溯源可回溯。events.jsonl 按行追加,任何时刻的状态都能还原。配合 dashboard 生成,等于自带审计日志。

五、绕不开的问题

安全评级 D,不是误判。CLS 报告点名了五个问题:index.js:1144 用 new Function() 做 JSON 解析回退(代码注入面)、广泛读写 .claude/memory/(可篡改 Agent 运行状态)、自动执行 git commit/push/pull(未审查代码可能进远程仓库)、扫 /proc 并 SIGKILL 其他进程(可能误杀)、把系统负载与日志外传飞书(数据外泄面)。这五条里任何一条,在企业环境都足以否决。

单点依赖飞书。飞书 API 抖动,报表就断。而报表正是它存在的理由——报表断了,它就退化成一堆看不出在干什么的脚本。

events.jsonl 无限增长。按行追加,没有内置轮转或压缩。跑几个月之后,这个文件会成为磁盘和解析性能的负担。cleanup.js 能做清理,但不是自动的,需要你自己配。

守护逻辑可能掩盖根因。ensure 每 10 分钟重启一次,好处是服务不断,坏处是「一直在重启」这件事本身可能被忽略。你得配独立日志监控,否则崩溃原因永远查不清。

依赖 Node 版本与 SDK 兼容性。飞书 SDK 版本迭代不算慢,Node 运行时也有要求。升级环境时,这套脚本是容易出问题的一环。

把这五条放在一起看,问题的性质就清楚了:它不是一个「有 bug 的工具」,而是一个按「单人全权环境」假设写成的工具。作者默认你信任它、也信任自己跑的东西,所以没做沙箱、没做权限隔离、没做审批流。这个假设在个人实验里成立,在团队协作里不成立。判断能不能用,本质上就是判断你所处的环境符不符合这个假设。

六、官方风险表与解读

风险项 严重程度 说明
动态代码执行 🔴 关键 index.js:1144 使用 new Function() 作为 JSON 解析回退,存在代码注入漏洞
Agent 上下文越权 🔴 关键 广泛读写 .claude/memory/ 私有目录,可篡改 Agent 运行状态
Git 自动推送 🟠 高 自动执行 commit/push/pull,未审查代码可能进入远程仓库
进程强制终止 🟠 高 具备扫描 /proc 并 SIGKILL 其他进程的能力
数据外泄 🟡 中 系统负载、进程信息、日志经飞书 API 外传

合规层面,报告给出的结论是:GDPR 数据最小化、用户同意机制、敏感数据访问限制、权限最小化四项均未通过。这不是「有点瑕疵」,是设计取向不同——它假设你在一台完全属于自己的机器上跑,不考虑多租户和合规边界。

一条实用纪律:只在容器或虚拟机里跑,禁止在有其他业务的生产机上跑。原因很直接:它会 SIGKILL 别人的进程,也会自动 push 代码。

3.5 卡片之外:日志、导出与周报

富卡片解决的是「一眼看现状」,但三个问题它答不了:过去一个月怎么样、某次失败的具体上下文是什么、要不要给老板汇报。这三个问题由另外三个文件负责。

export_history.js 把 events.jsonl 里的原始事件导到飞书文档。原始数据的价值在于完整:每一条都有时间戳、触发信号、变更文件、置信度、结果状态。排查「为什么第 37 次进化失败了」时,这份数据是唯一能还原现场的材料。

weekly_insight.js 生成周报摘要,把一周的成功率、意图分布、异常次数压成几段话。它的定位不是给人看的报表,而是给「不想天天盯盘的人」一个周期性的交代。实际用下来,周报比实时卡片更容易被忽略——这反而是它的价值:一周看一次,能看出趋势,又不会被噪声干扰。

commentary.js 和 issue_tracker.js 是两个更细的工具:前者把事件翻译成人话注释,后者把失败记录整理成待办条目。后者对团队协作有用——失败不再是日志里的一行红字,而是变成一条可分配的 issue。

这四样东西合起来,才是完整的可观测性:卡片管当下、导出管追溯、周报管趋势、issue 管跟进。只装卡片而不用后面三个,等于把仪表盘当成了黑匣子。

七、适合谁,不适合谁

类型 是否适合 理由
能审计 Node.js 代码的个人开发者 适合 能自己确认那几处高危调用是否可接受
隔离环境(容器 / VM)里的实验 适合 爆炸半径可控,风险可接受
飞书重度用户 + evolver 用户 适合 集成价值最大,省掉自建报表的功夫
企业生产环境 不适合 D 级评级 + 四项合规未通过,过不了评审
有敏感代码仓库的团队 不适合 自动 git push 可能把未审查代码推到远程
不想读代码的用户 不适合 风险点分散在多个文件,不理解就上等于赌博

八、落地路径

  1. 先隔离。准备一台容器或虚拟机,不要用主开发机,更不要用生产机。
  2. 读三个文件。index.js 的 1144 行附近、lifecycle.js 的进程扫描逻辑、self-repair.js 的 git 调用。不读就别跑。
  3. 关掉危险功能。改掉 new Function() 回退为 JSON.parse,禁掉自动 push,限定 /proc 扫描范围。
  4. 配飞书机器人。建群、加机器人、拿 webhook 或应用凭证,先把卡片推送打通。
  5. 注册 watchdog。把 lifecycle.js ensure 挂到 OpenClaw Cron,10 分钟一次,观察一周。
  6. 配轮转。给 events.jsonl 设按大小切分,避免几个月后磁盘告警。

九、文件构成与安装

文件 大小 作用
index.js 83.8 kB 主流程,串起进化循环与飞书报告(含高危 new Function 调用)
lifecycle.js 33.5 kB start/stop/status/ensure 四动作与守护逻辑
report.js 18.9 kB 卡片内容组装、指标计算
feishu-helper.js 9.7 kB 飞书 API 封装、token 管理
visualize_dashboard.js 7.2 kB 从 events.jsonl 生成 Markdown 仪表盘
utils/dashboard-generator.js 6.8 kB VChart 饼图与趋势计算
skills_monitor.js 5.8 kB 技能目录变更监控
export_history.js 3.4 kB 历史导出到飞书文档
check_health.js / self-repair.js / cleanup.js 2.4 / 2.0 / 1.6 kB 健康检查、自修复、临时文件清理

安装前提是先有 capability-evolver 本体。解压到技能目录,npm install 拉飞书 SDK,配好 EVOLVE_REPORT_TOOL 与飞书凭证,再 node lifecycle.js start。不需要编译,但需要你有 Node 环境和一定调试耐心。

十、常见问题

D 级评级还能用吗?

能,但要在隔离环境里用,并且先读代码改掉高危点。D 级不等于「一定出事」,等于「在不受控环境里出事的概率不可接受」。

它会杀我的其他进程吗?

有这个能力。它扫 /proc 找目标进程并发 SIGKILL,判断逻辑一旦出错就可能误杀同名的 Node 进程。建议改掉匹配规则,或者干脆只在自己独占的机器上跑。

不装飞书能用吗?

不能,飞书是它的核心输出通道。不想要卡片报表,直接用 capability-evolver 原版就行,没必要套这层。

为什么事件文件会越来越大?

按行追加、不做压缩,这是事件溯源的常规做法。定期跑 cleanup.js 或自己加 logrotate 即可。

watchdog 一直重启说明什么?

说明循环起不来。常见原因是飞书凭证失效、Node 依赖缺失、assets/gep 目录权限不对。别只看「服务还活着」,要看重启次数。

能同时守护多个 evolver 实例吗?

没有内置多实例支持。ensure 按单实例设计,跑多份需要自己改 pid 文件路径和日志路径。

卡片能自定义吗?

可以,改 utils/dashboard-generator.js 里的 card 结构即可。指标计算逻辑在 report.js,要加指标得改两处。

能推到多个群吗?

没有内置多目标支持。想推多个群,最省事的做法是在飞书侧建一个机器人转发规则,或者部署两份实例、各配一个 webhook。后者成本更高但隔离更彻底——两个群的报表互不影响。

停掉服务后历史还在吗?

在,assets/gep/events.jsonl 是本地文件,不会因为进程停止而消失。只要不删目录,随时可以用 visualize_dashboard.js 重新生成历史报告。

它和 Prometheus + Grafana 那套比呢?

不是一回事。Prometheus 面向指标采集与告警规则,配置重、能力强;这套是「把已有的 jsonl 渲染成卡片」,轻量、零额外组件。团队已有监控体系的话,更适合把指标导出去,而不是再建一套孤立的看板。

能自定义告警条件吗?

卡片本身按固定阈值染色(80% / 50%)。要更复杂的规则,得改 report.js 里的判断逻辑,或者把数据导出后用自己的告警系统处理。

不装飞书能不能只做仪表盘?

可以,走 visualize_dashboard.js 直接生成 Markdown,不依赖飞书接口。但 lifecycle 的守护逻辑仍然会尝试推送,需要在配置里关掉报告通道,否则会持续报错。

结语

Feishu Evolver Wrapper 是一个能力扎实、风险同样扎实的工具。它把沉默的进化引擎接上了仪表盘和看门人,指标设计克制、守护逻辑到位,办公榜第 1 不是白拿的。但 D 级评级也不是白给的:动态代码执行、Agent 上下文越权、自动 git push、进程误杀,每一条都值得认真对待。

如果你在隔离环境里跑实验、又正好用飞书,它值得一试——前提是先花两小时读代码。如果你要在生产环境部署,那答案很简单:先做安全加固,否则不要上。

通过网盘分享的文件:autogame-17-feishu-evolver-wrapper-1.8.0.zip
链接: https://pan.baidu.com/s/14N6F-FpWpC0Dwan_RsA0TQ?pwd=oyhr 提取码: oyhr 复制这段内容后打开百度网盘手机App,操作更方便哦

飞书机器人 进化引擎 守护进程 监控告警 GEP

百度网盘下载:https://pan.baidu.com/s/14N6F-FpWpC0Dwan_RsA0TQ?pwd=oyhr(提取码:oyhr)

THE END
喜欢就支持一下吧
点赞35 分享
评论 抢沙发
头像-知了AI
欢迎您留下宝贵的见解!
提交
头像-知了AI

昵称

取消
昵称表情代码快捷回复

    暂无评论内容