将 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_KEY、MUREKA_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)
结构清晰——无循环依赖、无断边、层次分明。
关键适配决策
- 分离 API Key 文档——
SKYWORK_API_KEY和MUREKA_API_KEY明确区分 - 添加隐私警告——每个技能的 SKILL.md 包含数据流向警告
- 脚本原样保留——从 GitHub 直接下载(MIT 许可),不做修改
- 描述精简——原始 Skywork 描述是 1000+ 字符的关键词列表;缩短为可操作的触发描述
- 层级扁平化——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_type、requires_skills、feeds_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_KEY 和 MUREKA_API_KEY 之间的混淆是可预期的。
缓解: 剧本前置条件部分使此关系明确。
整合经验总结
-
始终审计源代码——不要只信 README 声称。阅读每个脚本。Skywork 脚本是干净的,但你不看不会知道。
-
认证与业务逻辑分离——Skywork 做得很好(微小的
skywork_auth.py+constant.py),安全审查变得简单。 -
记录数据流向——用户有权知道数据去了哪里。为每个云依赖技能添加隐私章节。
-
谨慎扁平化层级——原始 OpenClaw 格式不区分原子、分子和剧本。这种区分必须在适配时重新建立。
-
保持上游脚本不变——从源仓库逐字复制。当上游项目发布更新时,可以无冲突地 diff 和应用。
-
整合前先查定价——这是本项目最重要的教训。7.9/10 的技术评分在技能需要 $19.99/月时毫无意义。成本模型评估维度应从一开始就给予更高权重。我们更新后的评估框架现在包含三层评级:免费 SaaS(-1)、免费增值 SaaS(-2)、纯付费 SaaS(自动 SKIP)。
-
评估全栈,不只是新工具——我们已有 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 中的案例研究作为未来技能评估的警示故事。
有时,整合项目最有价值的产出是学会为什么不整合。