apify-actorization – Apify Actor 标准化封装 Skill

3周前更新 8 0 0 0

Apify Actorization 是用于指导 AI Agent 将现有代码、脚本或工作流封装成 Apify Actor 的开发型 Skill,适合需要把爬虫或自动化程序发布到 Apify 平台并按次运行或按量计费的开发者。

Skill 安装

多 Agent 安装
npx skills add https://github.com/apify/agent-skills --skill apify-actorization

使用 npx skills 快速安装,支持将 Skill 添加到多个兼容的 AI Agent。

Skill 调研报告

Skill 详细介绍

apify/agent-skills#apify-actorization 是 Apify 官方 agent-skills 仓库中的一个 Skill,来源于 GitHub 上的 apify/agent-skills 项目。从名称和归属来看,它聚焦于把已有的代码、脚本或工作流Actor 化——也就是包装、改造成可以在 Apify 平台上运行的 Actor。

它不是一个可以独立运行的程序,也不是一个独立的命令行工具。它本质上是一份面向 AI Agent 的开发指南 / 工作流指令集,作用是在你让 Agent 处理把某个脚本或项目改造成 Apify Actor这类任务时,给 Agent 提供结构化的步骤、约定和最佳实践。

Apify 平台的核心概念是 Actor:一种可部署、可调度、可对外提供 API 的云函数式应用。Actor 通常有一个输入 schema、一个运行入口,以及结构化输出。把普通代码 Actor 化,意味着要补齐入口、输入输出定义、依赖声明、运行时配置、Docker 打包等环节。这个 Skill 要解决的,就是把这一段通常需要反复查文档的工作,交给 Agent 按规范完成。

核心用途可以概括为:

– 帮助 Agent 理解 Apify Actor 项目应具备的结构
– 把已有的抓取脚本、数据处理脚本或自动化流程,按照 Actor 规范进行改造
– 生成或调整 Actor 所需的输入 schema、配置文件和入口文件
– 让 Agent 在编写 Actor 时遵循 Apify 的约定,而不是凭空发挥

典型任务:

– 把一个 Playwright / Puppeteer 抓取脚本改造成可部署的 Apify Actor
– 为一个已有 Actor 项目补充输入字段定义和输出结构
– 按 Apify 规范整理项目文件,让它可以被平台识别并运行
– 帮助排查 Actor 项目结构不符合平台要求的地方

适合的用户:

– 已经在用 Apify、需要批量把内部脚本迁移到平台的开发者
– 想用 AI Agent 辅助编写 Apify Actor 的抓取 / 自动化工程师
– 需要把重复性数据采集流程标准化、可调度化的团队

不太适合的需求:

– 只是想在本地跑一个一次性脚本,不打算部署到 Apify
– 需要的是完全通用、与 Apify 无关的代码生成
– 完全不使用 Apify 平台的场景

需要注意的一点:这个 Skill 提供的,是指导 Agent 如何做 Actor 化的能力,而不是 Apify 平台本身。Actor 能否真正运行、能否访问目标网站、抓取是否成功,取决于 Apify 平台、你的代码逻辑和相关第三方服务,而不取决于这个 Skill 本身。Skill 与平台能力要分开看待。

Skill 安全评估

总体判断:apify/agent-skills#apify-actorization 来自 Apify 官方 GitHub 组织下的 agent-skills 仓库,来源可信度较高。作为一份 Agent 指令 / 指南类 Skill,它本身不会主动执行危险操作,真正的风险主要来自它引导 Agent 做什么以及你给了 Agent 多大权限。

需要关注的点:

– 来源与供应链:确认你安装的是 Apify 官方仓库下的版本,而不是第三方 fork 或重新发布版本。同名 Skill 可能被他人复制后改动内容。
– 文件写入:Actor 化过程通常需要生成或修改项目中的文件(入口文件、配置、输入 schema 等)。这意味着 Agent 可能会写文件,甚至覆盖已有文件。
– Shell 权限:Actor 化往往伴随安装依赖、构建、测试等命令。如果 Agent 具备自动执行 Shell 的权限,它会运行这些命令。
– 网络访问:Actor 项目常涉及抓取外部网站、拉取依赖,网络访问是常见需求。
– 依赖安装:可能引入 npm / Python 依赖,存在正常的供应链风险。
– 凭证:如果目标 Actor 需要访问 Apify 平台或第三方服务,可能涉及 API Token。这类凭证的配置和使用属于你项目的需求,不是 Skill 本体强制要求。

降低风险的建议:

– 只从 Apify 官方来源安装,避免来源不明的同名 Skill。
– 如果只是想让它生成代码和文件结构,可以关闭 Agent 自动执行 Shell 的权限,由你手动执行安装、构建、测试命令。
– 在真实项目上使用前,先在测试目录或副本上运行,确认 Agent 的改动范围。
– 涉及 Apify Token、第三方 API Key 时,不要在提示词里直接粘贴长期有效的凭证;用环境变量或平台提供的凭证管理方式。
– 审查 Agent 生成的改动,尤其是删除、覆盖类操作。

不使用100% 安全这类绝对表述。是否安全,很大程度上取决于你给 Agent 的权限边界和你对生成结果的把关。

Skill 使用要求

一、Agent / 客户端

该 Skill 属于 Apify 官方 agent-skills 仓库,面向支持 Skill / 指令加载机制的 AI Agent。官方并未公布完整的第三方 Agent 兼容列表。从 Agent Skill 的一般工作方式看,在支持 Skills、自定义指令或类似机制的环境中,通常可以尝试在 Claude Code、Codex、Cursor、Trae、OpenClaw、WorkBuddy 等主流 Agent 中使用。不同 Agent 的 Skill 加载方式和兼容程度可能不同,具体以对应 Agent 当前版本为准。

二、运行环境 / 依赖

这部分取决于你让它处理的 Actor 项目本身。Skill 本体通常不额外要求特定运行时,但 Actor 化涉及的项目往往需要:

| 项目 | 要求 |
|—|—|
| Agent | 支持 Skill / 指令加载的 Agent |
| 项目语言运行时 | 取决于你的项目(如 Node.js 或 Python) |
| 包管理器 | 与项目对应(如 npm、pip 等) |
| Git | 管理项目改动时常用 |
| Apify 平台 | 部署 / 运行 Actor 时需要 |
| 网络 | 抓取任务和安装依赖时需要 |

具体的 Node.js / Python 版本,官方未在此 Skill 层面统一规定,以你的项目与 Apify 平台当前要求为准。

三、权限

– 文件读取:必需,Agent 需要读取现有项目
– 文件写入:通常必需,生成 / 修改 Actor 文件
– Shell:可选,用于安装依赖、构建、测试(可关闭改为手动执行)
– 网络:抓取、拉依赖时需要
– Apify 凭证:可选,仅在需要操作 Apify 平台或部署时

四、账号 / API Key

区分两件事:

– Skill 本体:通常不需要额外的账号或 API Key 才能使用。
– 你生成的 Actor 项目:如果要部署到 Apify 平台运行,通常需要 Apify 账号及其凭证;如果 Actor 抓取的目标服务需要 Key,也由你的项目决定。

最小使用条件

1. 一个支持 Skill / 指令加载的 Agent
2. 你要 Actor 化的项目或代码
3. 对 Apify Actor 概念有基本了解
4. 需要部署运行时,准备 Apify 账号

Skill 安装、使用与卸载教程

一、安装

可以直接复制本页面提供的 Skill 安装指令,粘贴到你使用的 Agent 或终端中执行。

如果你不确定自己的 Agent 如何安装 Skill,可以直接问当前 Agent:

如何安装 apify/agent-skills#apify-actorization?

如何在 Claude Code 中安装 apify/agent-skills#apify-actorization?

如何在 Cursor 中安装 apify/agent-skills#apify-actorization?

让当前 Agent 根据自己的 Skill 加载 / 管理机制指导你完成安装。不同 Agent 的安装位置和方式不同,以对应 Agent 当前版本为准。

二、安装后如何使用

安装后,当你的任务涉及把脚本 / 项目改造成 Apify Actor时,可以明确调用这个 Skill。适合交给它的任务类型:把抓取脚本 Actor 化、按 Apify 规范整理项目结构、补充输入输出定义。

用自然语言描述需求即可:

使用 apify-actorization,帮我把这个 Playwright 抓取脚本改造成可部署的 Apify Actor,并生成对应的输入 schema。

使用 apify-actorization,检查我这个 Actor 项目的目录结构和配置文件是否符合 Apify 规范。

使用 apify-actorization,帮我把这个数据处理流程包装成一个带输入参数的 Apify Actor。

建议在提示词中提供项目结构、语言、入口文件等信息,Agent 的改动会更准确。

三、卸载

保持简单即可:

– 使用对应 Agent / Skill 管理器提供的删除方式,移除该 Skill
– 或直接询问当前 Agent:如何卸载 apify/agent-skills#apify-actorization?

不同 Agent 的 Skill 安装位置和管理方式可能不同,如果没有统一卸载命令,直接询问当前 Agent 如何移除 apify/agent-skills#apify-actorization 通常更稳妥。

常见问题

这个 Skill 和 Apify 平台是什么关系?

它是 Apify 官方仓库下的一个 Agent 指南类 Skill,指导 Agent 按 Apify 规范做 Actor 化。它会用到 Apify 平台,但 Skill 本身不等于平台,也不包含平台能力。

不使用 Apify 平台,能用这个 Skill 吗?

意义不大。它的核心目标就是产出符合 Apify 规范的 Actor,脱离 Apify 平台,价值会明显下降。

安装后 Agent 没识别这个 Skill 怎么办?

先确认安装位置和加载机制是否与你的 Agent 匹配,再重启或重新加载 Skill。不同 Agent 差异较大,可直接让当前 Agent 检查 Skill 是否已正确加载。

这个 Skill 会不会直接修改我现有的项目文件?

Actor 化通常需要生成和修改文件。为降低风险,建议先在测试目录或项目副本上运行,确认改动范围后再应用到正式项目。

可以关闭 Agent 的 Shell 自动执行权限吗?

可以。如果你只需要它生成代码和文件结构,关闭 Shell 自动执行,由你手动运行安装、构建和测试命令,是更稳妥的做法。

中国大陆使用有网络要求吗?

涉及访问 GitHub、Apify 平台或拉取依赖时,中国大陆网络环境可能需要相应的网络条件。具体取决于你的网络和所访问的服务。

多个 Agent 可以同时安装吗?

可以。Skill 通常按 Agent 各自的目录管理,你可以在多个 Agent 中分别安装。是否都生效,取决于各 Agent 对 Skill 的加载情况。

Skill 更新日志

版本列表
无版本号
docs(skills):为 Actor 开发 CLI 调用添加 --user-agent 标记 为 Actor 开发技能添加遥测归因标志,沿用 apify-ultimate-scraper 中现有的 apify-agent-skills/ 约定: - apify-actor-development:新增“Telemetry attribution (required)”章节, 并在模板/快速开始命令、命令参考块以及远程 Actor 调用流程中加上该标志 - apify-actorization:同样的章节,并在快速开始、检查清单和步骤命令中的 init/run/push 上加上该标志 - commands/create-actor.md:新增核心原则,并在本地 测试和部署步骤中加上该标志 - apify-generate-output-schema:在其唯一一处 apify run 提及中加上该标志 --user-agent 是每个 apify 命令都接受的全局标志(已对照 apify-cli 1.10.1 验证),尽管它在 --help 中是隐藏的。
无版本号
docs(skills):在 actor-development 和 actorization 中同步 AGENTS.md 更新 使 Actor 开发和 Actorization 技能与 apify/actor-templates#766 保持一致: 扩展了 CLI 命令参考(包括通过 `apify actors search` 发现 Apify Store)、对 `APIFY_TOKEN` 的澄清,以及一个新增 Playwright MCP 用于调试的 MCP 工具章节。 Co-Authored-By: Claude Opus 4.7 (1M context)
无版本号
chore:使文档符合 Apify 写作风格指南 对标题应用句首大写,将 Actor 作为名词时大写,去掉 “Apify Console” / “Apify Store” 前的冠词,在 “the Apify platform” 前加上冠词,并修正几处拼写错误(“confirms” -> “conforms”, “javascript” -> “JavaScript”)。代码块、CLI 命令、文件路径 和 JSON 值保持不变。
无版本号
合并来自 lukas-bekr/feat/ultimate-scraper-cli-migration-and-workflow-upgrade 的拉取请求 #33 feat:ultimate-scraper 的 CLI 迁移 + 渐进式披露重新设计
无版本号
fix:移除 Related Actors 章节,并为 README 最佳实践添加参考 Actors 从 README 指南中移除“Related Actors”章节(为竞争对手做宣传) 并在所有技能文件中添加 Instagram Scraper 和 Google Maps Scraper 作为参考示例。 Co-Authored-By: Claude Opus 4.6 (1M context)
无版本号
feat:为开发和 actorization 技能添加 Actor README 指南 确保 README.md 始终作为 Actor 工作流的一部分生成, 而不是事后才想到。添加涵盖 必需结构、SEO 最佳实践和内容期望的全面指南。 Co-Authored-By: Claude Opus 4.6 (1M context)
无版本号
feat:将技能迁移到 CLI + 添加设计文档 - 在所有技能中统一为 OAuth 优先的认证方式 - 修复 actorization 中的安全矛盾(移除 -t 标志) - 删除旧版 Node.js 脚本(由 CLI 命令替代) - 将版本提升至 2.0.0 - 添加设计规范和实现计划 Co-Authored-By: Claude Opus 4.6 (1M context)
无版本号
fix:将安全修复迁移到 actorization 技能 应用与 actor-development 技能相同的安全加固:将 curl|bash 安装替换为包管理器,通过环境 变量/交互式登录进行安全令牌处理,并添加涵盖不可信 内容、提示注入、供应链和凭据隔离的安全章节。 Co-Authored-By: Claude Opus 4.6 (1M context)
无版本号
fix:引用带有 ubi 工具的 cli-start 模板 Dockerfile Co-Authored-By: Claude Opus 4.5
无版本号
refactor:按照最佳实践重构 actorization 技能 - 将 SKILL.md 拆分为主文件(约 185 行)+ 参考文件 - 添加 references/js-ts-actorization.md 用于 JavaScript/TypeScript 细节 - 添加 references/python-actorization.md 用于 Python 细节 - 添加 references/cli-actorization.md 用于基于 CLI 的包装脚本 - 添加 references/schemas-and-output.md 用于 schema 配置 - 在顶部添加 Quick Start 章节 - 添加带有可复制复选框的 Actorization Checklist - 改进描述,加入触发词(actorize、migrating、wrapping) - 添加 Apify MCP Tools 章节 - 用改进后的描述更新 marketplace.json Co-Authored-By: Claude Opus 4.5 (1M context)
无版本号
fix:澄清输出是 dataset,而不是泛指的“output” Co-Authored-By: Claude Opus 4.5 (1M context)
无版本号
fix:使用 Actor.charge() 进行 PPE 变现 Co-Authored-By: Claude Opus 4.5 (1M context)
无版本号
fix:处理 actorization 技能的 PR 反馈 - 引用 @apify/json_schemas npm 包用于 schema 验证 - 扩展键值存储章节,加入公共 URL 示例和集合 - 扩展请求队列章节,加入消费示例和非抓取用例 - 对 apify run 使用内联输入参数,而不是 INPUT.json 文件 - 澄清基于 CLI 的 actors 测试限制 - 在 Crawlee 模式中加入带上下文辅助函数(pushData)的输入处理示例 - 添加包含按事件付费(PPE)策略的变现章节 - 扩展检查清单,加入输出 schema 和 JSON schema 验证项 - 简化环境变量检测说明 Co-Authored-By: Claude Opus 4.5 (1M context)
无版本号
feat:添加用于将项目转换为 Apify Actors 的 actorization 技能 添加新技能,指导用户将现有项目 转换为 Apify Actors,支持: - JavaScript/TypeScript(使用 Actor.init/exit 的 SDK) - Python(使用异步上下文管理器的 SDK) - 其他语言(基于 CLI 的包装脚本) Co-Authored-By: Claude Opus 4.5 (1M context)

暂无评论

none
暂无评论...