tech官小西

将 Skywork Office Skills 整合进 Hermes Skill Graph 2.0

表面上看,Skywork Office Skills 只是另一个 GitHub 仓库,提供六个面向 AI 办公的 Agent 技能:PPT、文档、Excel、图片、搜索、音乐。但当你构建一个真正可用的技能图谱——能正确路由、安全组合、跨数十个技能维护完整性——整合过程本身就成为了一个有趣的案例研究。

本文将完整记录评估、安全审计、架构适配和最终整合的整个过程。

Skywork Office Skills 是什么?

SkyworkAI/Skywork-Skills 是一个开源(MIT 许可证)的 Agent 技能集合,专为 OpenClaw/Claude Code/Codex CLI 生态设计,提供六种 AI 办公能力:

技能 能力 API
skywork-doc 生成专业文档(docx, pdf, html, md) Skywork Doc API
skywork-ppt 创建/仿照/编辑 PowerPoint Skywork PPT API
skywork-excel 创建/分析电子表格与数据报告 Skywork Excel Agent API
skywork-design 生成/编辑图片(海报、Logo 等) Skywork Image API
skywork-search 实时网络搜索 Skywork Search API
skywork-music 创作歌曲/器乐曲 Mureka AI API

所有技能共享 SKYWORK_API_KEY 认证模式(音乐技能使用独立的 MUREKA_API_KEY),大多数通过 https://api-tools.skywork.ai 网关通信。

多维度评估

1. 价值分析——值不值得整合?

有选择地值得。 以下是具体分析:

  • skywork-search — 高价值。我们现有的 web-research-via-curl 使用 DuckDuckGo HTML 抓取(容易被 CAPTCHA 阻断)。Skywork Search 提供干净的 API 和结构化结果。作为补充值得整合。

  • skywork-doc — 高价值。从提示词生成专业文档,内置网络搜索。我们的技能库中没有对等替代。值得整合。

  • skywork-ppt — 中高价值。我们有 powerpoint 技能但基于 python-pptx(仅本地操作,无 AI 生成)。Skywork PPT 补充了 AI 生成 + 模板仿照。值得整合。

  • skywork-excel — 中等价值。复杂数据分析,内置搜索,多轮对话。有用但执行需 5-25 分钟。适合专门场景。

  • skywork-design — 中等价值。我们有 comfyui 做本地图像生成。Skywork Design 补充云端选项和风格预设。作为备选方案值得保留。

  • skywork-music — 中等价值。我们有 songwriting-and-ai-music(Suno)。Mureka 是不同提供商,带声音克隆能力。作为替代值得整合。

2. 安全审计

我对所有 Python 脚本进行了完整的源代码审查,核心发现:

可接受:

  • 认证令牌从环境变量读取(SKYWORK_API_KEYMUREKA_API_KEY),绝不硬编码
  • skywork_auth.py 仅 8 行,通过 os.environ 读取
  • 所有 API 通信使用 HTTPS(https://api-tools.skywork.ai
  • 无遥测、追踪或分析代码
  • 无混淆或压缩代码——全部可读 Python
  • MIT 许可证允许整合

关注点——已缓解:

  • 所有内容上传到 Skywork 服务器——用户文件(PDF、Excel、图片)发送到 api-tools.skywork.ai。这是云端 AI 服务的固有特性。缓解措施:在 SKILL.md 中添加清晰的隐私警告
  • 无本地降级——没有 API Key 时,大多数技能不可用(PPT Layer 3 本地操作除外)。缓解措施:技能路由中明确标注
  • Mureka 使用独立 API——不同的 key、不同的端点(api.mureka.ai)。缓解措施:文档中清晰分离

安全审计结论:通过,需附带文档要求。所有技能必须包含数据上传隐私警告。

3. 架构适配——Skill Graph 2.0 兼容性

原始 Skywork Skills 使用 OpenClaw 格式(扁平的 SKILL.md + scripts/ + references/)。我们的 Skill Graph 2.0 使用带有显式依赖声明的分层系统:

原始格式 Skill Graph 2.0 层级
skywork-doc(调用 web_search) 分子(依赖: skywork-search)
skywork-ppt(调用 web_search + parse_file) 分子(依赖: skywork-search)
skywork-search(独立) 原子(能力型,无依赖)
skywork-excel(独立) 原子(能力型,无依赖)
skywork-design(独立) 原子(能力型,无依赖)
skywork-music(独立) 原子(能力型,无依赖)

外加一个顶层编排器:

  • skywork-office(剧本/Playbook)——根据用户意图路由到对应子技能

依赖图谱

skywork-office (PLAYBOOK)
  ├── skywork-doc (MOLECULE)
  │     └── skywork-search (ATOM)
  ├── skywork-ppt (MOLECULE)
  │     └── skywork-search (ATOM)
  ├── skywork-excel (ATOM)
  ├── skywork-design (ATOM)
  ├── skywork-search (ATOM)
  └── skywork-music (ATOM)

结构清晰——无循环依赖、无断边、层次分明。

关键适配决策

  1. 分离 API Key 文档——SKYWORK_API_KEYMUREKA_API_KEY 明确区分
  2. 添加隐私警告——每个技能的 SKILL.md 包含数据流向警告
  3. 脚本原样保留——从 GitHub 直接下载(MIT 许可),不做修改
  4. 描述精简——原始 Skywork 描述是 1000+ 字符的关键词列表;缩短为可操作的触发描述
  5. 层级扁平化——OpenClaw 嵌套替换为 Skill Graph 2.0 分层

整合过程

步骤 1:仓库研究

使用 GitHub API 确认正确项目(125 星、MIT 许可、Python)。确认无名称冲突。

步骤 2:深度源代码审查

阅读全部 6 个 SKILL.md 文件、所有 Python 脚本(auth、constant、create_doc、run_ppt_write、local_pptx_ops、excel_api_client、generate_image、web_search、mureka)和所有参考文档。对每个脚本执行安全审计。

步骤 3:架构设计

将原始扁平结构映射到 Skill Graph 2.0 层级。以 skywork-office 为剧本编排器设计依赖图谱。

步骤 4:SKILL.md 重写

每个 SKILL.md 从零重写(不是复制)以遵循我们的约定:

  • Frontmatter 包含 metadata.hermes.skill_typerequires_skillsfeeds_into
  • 触发式描述("Use when...")
  • 编号工作流步骤
  • 错误处理表格
  • 常见陷阱部分
  • 验证清单

步骤 5:脚本下载

所有 Python 脚本直接从官方 GitHub 仓库下载,零修改——确保可以跟踪上游变更。

步骤 6:验证

  • Frontmatter YAML 解析并验证通过
  • 技能层级一致性检查(原子=无依赖、分子=有依赖、剧本=编排)
  • 图完整性验证(所有 requires_skills 引用存在的技能)
  • 确认无循环依赖
  • 所有 feeds_into 边指向前方

潜在风险

API 可用性

Skywork 的 API 是云服务。如果 api-tools.skywork.ai 宕机,技能 1-5 将不可用。仅 PPT 的本地操作(Layer 3)可离线工作。

缓解: 剧本文档清晰标注了这一点。用户应当理解这些是云依赖能力。

速率限制与定价——决定性因素

整合后,我确认了 README 未明确提及的定价结构:

方案 价格 额度
免费版 $0 500/天(仅首月)
月度专业版 $19.99/月 7,000/月
年度专业版 $149.99/年 同月度,加优先支持

全部 7 个技能都需要 SKYWORK_API_KEY。 免费层仅首月提供每日 500 额度——之后即遇付费墙。这意味着:

  • 技能在首月后无付费订阅即不可用
  • 即使免费期间,500 额度/天可能无法覆盖高效工作流
  • 音乐技能需要一个额外 MUREKA_API_KEY(增加供应商依赖)

决策:从技能库移除全部 7 个 Skywork 技能。 我们的原则明确——技能应零成本运行。付费 API 依赖是脆弱的单点故障源。

现有免费栈已完全覆盖

Skywork 能力 我们的免费替代方案
AI 文档生成 浏览器工具(browser-harness + OpenCLI)
AI PPT 生成 python-pptx(powerpoint 技能,本地)
AI 表格分析 OpenCLI 结构化抽取 + browser-harness
AI 图片生成 ComfyUI(本地 GPU)
网页搜索 OpenCLI(628 条命令)+ browser-harness + DuckDuckGo curl
AI 音乐 Suno(songwriting-and-ai-music 技能)

browser-harness + OpenCLI 组合尤其强大——628 条预建命令覆盖已知站点的确定性数据提取,加上未知站点的截图驱动可视化提取,完全无需 API 密钥或订阅费。

密钥管理

6 个技能跨 2 个独立 API 密钥。SKYWORK_API_KEYMUREKA_API_KEY 之间的混淆是可预期的。

缓解: 剧本前置条件部分使此关系明确。

整合经验总结

  1. 始终审计源代码——不要只信 README 声称。阅读每个脚本。Skywork 脚本是干净的,但你不看不会知道。

  2. 认证与业务逻辑分离——Skywork 做得很好(微小的 skywork_auth.py + constant.py),安全审查变得简单。

  3. 记录数据流向——用户有权知道数据去了哪里。为每个云依赖技能添加隐私章节。

  4. 谨慎扁平化层级——原始 OpenClaw 格式不区分原子、分子和剧本。这种区分必须在适配时重新建立。

  5. 保持上游脚本不变——从源仓库逐字复制。当上游项目发布更新时,可以无冲突地 diff 和应用。

  6. 整合前先查定价——这是本项目最重要的教训。7.9/10 的技术评分在技能需要 $19.99/月时毫无意义。成本模型评估维度应从一开始就给予更高权重。我们更新后的评估框架现在包含三层评级:免费 SaaS(-1)、免费增值 SaaS(-2)、纯付费 SaaS(自动 SKIP)。

  7. 评估全栈,不只是新工具——我们已有 browser-harness、OpenCLI、ComfyUI 和 python-pptx。初始评估中的"无可替代"判断是错误的——它遗漏了这些工具,因为它们在不同的技能类别中。

最终决策:移除

全部 7 个 Skywork 技能被整合、验证、然后移除,原因是付费 API 依赖:

skywork-office(剧本) — 已移除
  ├── skywork-doc(分子) — 已移除
  ├── skywork-ppt(分子) — 已移除
  ├── skywork-excel(原子) — 已移除
  ├── skywork-design(原子) — 已移除
  ├── skywork-search(原子) — 已移除
  └── skywork-music(原子) — 已移除

原因:所有技能均依赖付费云 API(最低 $19.99/月)。免费层仅首月 500 额度/天——对任何实际工作流都不可持续。

保留了什么:评估框架被永久改进。framework-and-tool-research 技能现在包含完整的 SaaS/API 评估章节,带三层定价惩罚;web-research-via-curl 现在记录了 browser-harness 和 OpenCLI 作为搜索替代方案。references/skywork-office-integration.md 中的案例研究作为未来技能评估的警示故事。

有时,整合项目最有价值的产出是学会为什么不整合。